Sylvia Moss
96e3def294
Add pause_before_ssm config to pause before establishing the Session Manager session ( #9988 )
2020-09-25 10:19:19 +02:00
Megan Marsh
d66b358100
Merge pull request #9991 from hashicorp/b-amazon-ssm-infinite-loop
...
amazon/ssm_driver: Update log polling logic
2020-09-24 09:55:39 -07:00
Wilken Rivera
2f2b5683a2
amazon/ssm_driver: Update log polling logic
...
This change checks for closed iochans related to the log polling
function and will break out of the loop when both channels are closed.
Which is an indicator that the SSM session has been terminated by some
external process. This fixes an issue where Packer hangs, due to the
infinite loop, when an SSM session is killed outside of Packer.
Related to #9442
2020-09-24 10:19:37 -04:00
Megan Marsh
429d431365
Implement assume_role for Packer. This functionality is copied shamelessly
...
from the Terraform AWS provider
2020-09-23 13:18:26 -07:00
Sylvia Moss
d347bbec4c
Retry fleet creating only on invalid IAM instance profile ( #9946 )
2020-09-18 17:05:36 +02:00
Anthony Dong
eca9b2f30d
aws ebs_surrogate: fix unhonored kms_key_id ( #9959 )
2020-09-18 12:39:07 +02:00
catsby
7a7d3ff350
Remove comments about sharing with catsby
2020-09-03 09:14:40 -05:00
Rae Krantz
ab23e839c8
update sharing test to req aws account id
2020-09-02 11:44:38 -04:00
Adrien Delorme
0d0bd9ce75
name fields of PolicyDocument correctly in HCL ( #9812 )
...
withouth this fix we would have had to do
```hcl
temporary_iam_instance_profile_policy_document {
statement {
action = ["*"]
effect = "Allow"
resource = ["*"]
}
version = "2012-10-17"
}
```
instead of the same document but with capitalised fields
2020-08-25 10:53:56 +02:00
Adrien Delorme
a0c09e85df
retry spot instance creation when an "Invalid IAM Instance Profile name" error pops up ( #9810 )
...
PutRolePolicy & AddRoleToInstanceProfile are eventually consistent but it is not possible to wait for them to be done here: 0785c2f6fc/builder/amazon/common/step_iam_instance_profile.go (L117-L134)
which was causing the `CreateFleet` to fail (100% for me). So for now we retry a bit later. Waiting 5 seconds after the previously linked code also fixed this.
Test file:
```json
{
"builders": [
{
"type": "amazon-ebs",
"region": "eu-west-1",
"ami_name": "ubuntu-16.04 test {{timestamp}}",
"ami_description": "Ubuntu 16.04 LTS - expand root partition",
"source_ami_filter": {
"filters": {
"virtualization-type": "hvm",
"name": "ubuntu/images/*/ubuntu-xenial-16.04-amd64-server-*",
"root-device-type": "ebs"
},
"owners": [
"099720109477"
],
"most_recent": true
},
"spot_price": "0.03",
"spot_instance_types": [
"t2.small"
],
"encrypt_boot": true,
"ssh_username": "ubuntu",
"ssh_interface": "session_manager",
"temporary_iam_instance_profile_policy_document": {
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"*"
],
"Resource": "*"
}
]
},
"communicator": "ssh"
}
]}
```
2020-08-25 10:10:32 +02:00
sylviamoss
1a0d5a93ee
fix max_attempts typo
2020-08-17 17:58:22 +02:00
sylviamoss
788dc32598
add aws_polling config option to override env variables
2020-08-17 17:15:32 +02:00
Megan Marsh
8b4993e44c
fix docs for kms key ids ( #9766 )
2020-08-14 11:35:35 +02:00
Megan Marsh
54469c4728
Add all of the custom AWS template engines to GeneratedData for use b… ( #9751 )
2020-08-12 10:43:15 +02:00
Megan Marsh
8f362656ee
Update builder/amazon/ebs/step_create_ami.go
...
Co-authored-by: Wilken Rivera <dev@wilkenrivera.com>
2020-08-07 08:02:57 -07:00
Megan Marsh
484dbfe6ad
improve error handling when waiting for image so that the resourcenotready error is bubbled up more clearly without verbose logging turned on
2020-08-06 14:58:05 -07:00
Etan Reisner
a28edbaa0b
Fix skip_save_build_region in the ebssurrogate builder. ( #9666 )
2020-07-31 16:01:46 -04:00
Megan Marsh
a687d6fe12
ci/tech-debt: Fix vmware acceptance tests ( #9636 )
...
* add kex algorithm option to ssh config
* regenerate code
* This commit fixes old vmware acceptance tests that have not been run in some time. It does this in two parts:
1) It modifies the minimal vmware build configuration to use a custom kex algorithm, which enables the ssh connection to succeed.
2) It modifies logic in reading and defaulting hardware config values, which was crashing.
3) It adds a new acceptance test with a preseed file to test loading from an http directory.
2020-07-23 09:40:57 +02:00
Megan Marsh
f9df185ef1
Merge pull request #9579 from hashicorp/fix_9562
...
wrap CreateImage call in a retry to account for eventual consistencey…
2020-07-22 08:43:10 -07:00
Megan Marsh
1f3b3f8fd9
change retry func to a 15 min timeout
2020-07-21 15:55:39 -07:00
Megan Marsh
a56942d3c7
change isAwsErr to an exported func so I can use it in other aws modules.
2020-07-21 15:30:45 -07:00
Megan Marsh
036ea238bf
wrap CreateImage call in a retry to account for eventual consistencey issues with image state
2020-07-21 15:30:45 -07:00
Adrien Delorme
810f161d22
builder/amazon/common/block_device.go: replace tabs with words
2020-07-20 16:34:13 +02:00
Adrien Delorme
966b17d2b5
builder/amazon/common/access_config.go: replace tabs with words
2020-07-20 16:31:23 +02:00
Adrien Delorme
5c4901c2c2
builder/amazon/common/run_config.go: replace tabs with words
2020-07-20 16:28:14 +02:00
Adrien Delorme
1455a29f2b
remove tabs for security_group_filter too
2020-07-20 16:24:47 +02:00
Adrien Delorme
191094edcc
better `disable_stop_instance` docs
2020-07-20 16:21:43 +02:00
Megan Marsh
530f5e3f63
more additions to partials
2020-07-17 15:52:11 -07:00
Megan Marsh
a1651977b3
add tabs to generated docs from access_config and run_config structs
2020-07-17 15:10:55 -07:00
Roger Hu
28f8241a05
update generated files
2020-07-10 16:58:06 -07:00
Megan Marsh
4d3b2cea96
Merge pull request #9480 from adongy/master
...
aws: retry fetching blockdevicemapping if empty
2020-07-08 12:32:12 -07:00
Megan Marsh
a885e620ee
don't error for no mappings if no mappings were set.
2020-07-08 11:55:56 -07:00
Moss
8ea64c5b35
undocument ssh_keypair_name and ssh_agent_auth
2020-07-02 14:55:58 +02:00
Moss
41edd09d3c
undocument temporary_key_pair_name and ssh_private_key_file
2020-07-01 16:33:18 +02:00
Megan Marsh
122e80f591
generated code
2020-06-30 10:12:50 -07:00
Megan Marsh
0122530a07
make statement an array of strings
2020-06-30 10:01:49 -07:00
Anthony Dong
2322d3ae6b
aws: retry fetching blockdevicemapping if empty
2020-06-25 10:48:24 +02:00
Wilken Rivera
a8dfb66d6c
docs/builder/amazon: Add WinRM unsupported note to Session Manager docs
...
Closes #9451
Co-authored-by: Adrien Delorme <azr@users.noreply.github.com>
2020-06-23 07:41:21 -04:00
Adrien Delorme
b2320ca911
HCL2: add singular run_volume_tag block to ebs & ebssurrogate builders ( #9457 )
...
close #9280
related to #8889
2020-06-23 10:49:50 +02:00
Megan Marsh
4f77bb0c4a
add new ssh_ciphers option
2020-06-17 16:48:23 -07:00
Megan Marsh
4178625afb
re-add winrm_no_proxy option. Winrm code needs to be modified in order to read no_proxy env var when client is created rather than when net/http library is instantiated.
2020-06-16 10:27:30 -07:00
Adrien Delorme
40947c2bf6
HCL2: generate hcl tags with go-cty tags too ( #9306 )
...
This will allow to generate the config files:
```go
package main
import (
"fmt"
"github.com/hashicorp/hcl/v2/gohcl"
"github.com/hashicorp/hcl/v2/hclwrite"
"github.com/hashicorp/packer/builder/alicloud/ecs"
)
func main() {
name := "name"
app := ecs.FlatConfig{
AlicloudImageName: &name,
ECSSystemDiskMapping: &ecs.FlatAlicloudDiskDevice{
DiskName: &name,
},
}
f := hclwrite.NewEmptyFile()
block := gohcl.EncodeAsBlock(&app, `source "something" "something"`)
f.Body().AppendBlock(block)
fmt.Printf("%s", f.Bytes())
}
```
Will output:
```
source "something" "something" {
packer_user_variables = null
packer_sensitive_variables = null
image_name = "name"
image_share_account = null
image_unshare_account = null
image_copy_regions = null
image_copy_names = null
tags = null
tag = null
system_disk_mapping = { disk_category = null, disk_delete_with_instance = null, disk_descri
ption = null, disk_device = null, disk_encrypted = null, disk_name = "name", disk_size = null, disk_
snapshot_id = null }
image_disk_mappings = null
ssh_remote_tunnels = null
ssh_local_tunnels = null
ssh_public_key = null
ssh_private_key = null
}
```
This is a good first step for #9015 and #9282
fix #9304
2020-05-28 11:19:00 +02:00
nitrocode
6d29ec956b
Added SourceAMICreationDate
2020-05-26 15:04:03 -04:00
Wilken Rivera
b5639d4697
tests/builder/amazon: Enhance the test coverage for SSM Tunnel related steps ( #9213 )
...
* test/builder/amazon: Update mocks to properly test SSM tunnel and driver code base
* Update mod files
2020-05-13 10:10:55 -04:00
Wilken Rivera
6f5f6bf999
builder/amazon Fix invalid pointer issue for non SSMAgengtEnabled builds
...
Tests before change
```
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x1392ca2]
goroutine 299 [running]:
github.com/hashicorp/packer/builder/amazon/common.(*StepCreateSSMTunnel).Cleanup(0xc0003dc460, 0x4d1a4c0, 0xc0006e9800)
/home/wilken/Development/packer/builder/amazon/common/step_create_ssm_tunnel.go:95 +0xf2
github.com/hashicorp/packer/helper/multistep.(*BasicRunner).Run(0xc0006e98f0, 0x4d408c0, 0xc00065fcc0, 0x4d1a4c0, 0xc0006e9800)
/home/wilken/Development/packer/helper/multistep/basic_runner.go:79 +0x2c6
github.com/hashicorp/packer/builder/amazon/ebs.(*Builder).Run(0xc000726800, 0x4d408c0, 0xc00065fcc0, 0x4d5e300, 0xc0006e8d80, 0x4cc7220, 0xc000434120, 0x0, 0x0, 0x0, ...)
/home/wilken/Development/packer/builder/amazon/ebs/builder.go:330 +0x17e2
github.com/hashicorp/packer/packer.(*CoreBuild).Run(0xc000720500, 0x4d408c0, 0xc00065fcc0, 0x4d5e180, 0xc0006fe510, 0x0, 0x0, 0x0, 0x0, 0x0)
/home/wilken/Development/packer/packer/build.go:287 +0x7ef
github.com/hashicorp/packer/command.(*BuildCommand).RunContext.func1(0xc0004d14d0, 0xc0003dc3c0, 0xc000441500, 0xa, 0x4d5e1e0, 0xc000720500, 0x4d408c0, 0xc00065fcc0, 0x4d5e180, 0xc0006fe510, ...)
/home/wilken/Development/packer/command/build.go:290 +0x189
created by github.com/hashicorp/packer/command.(*BuildCommand).RunContext
/home/wilken/Development/packer/command/build.go:284 +0xd5a
FAIL github.com/hashicorp/packer/provisioner/shell 188.335s
FAIL
```
Test After change
```
--- PASS: TestShellProvisioner (212.39s)
--- PASS: TestShellProvisioner/testing_amazon-ebs_builder_against_shell_provisioner (212.39s)
PASS
```
2020-05-12 14:49:57 -04:00
Wilken Rivera
89fb7bb080
Apply suggestions from code review
...
Co-authored-by: Megan Marsh <megan@hashicorp.com>
2020-05-08 09:36:43 -04:00
Wilken Rivera
056f1f6e76
docs/amazon/builder: Add not about using a temporary_iam_instance_profile_policy_document
2020-05-08 09:32:54 -04:00
Wilken Rivera
bf1da57a05
Update address to localhost to be consistent with other proxies
2020-05-08 09:32:54 -04:00
Wilken Rivera
7cea7466ba
buider/amazon: Add `session_manager_port` option for setting a custom local port
2020-05-08 09:32:54 -04:00
Wilken Rivera
0d13c634b7
Update logging constructs for Session Manger driver
2020-05-08 09:32:49 -04:00