Commit graph

876 commits

Author SHA1 Message Date
DanHam
ec8b70721c
Use an explicit error message when an error is expected and we don't get one
Previously, if the validation check generating the error in the main code
is removed, the 'should error' tests would just return an empty message
2018-05-15 12:25:06 +01:00
DanHam
82c8710af5
Use fmt.Errorf over errors.New as we only require basic error reporting 2018-05-15 12:25:06 +01:00
DanHam
99e3487795
Add missing validation and tests for Spot Instance requests 2018-05-15 12:25:06 +01:00
DanHam
d5304a25e9
Pass T2 Unlimited settings to run instance step for appropriate EC2 builders 2018-05-15 12:25:06 +01:00
DanHam
6fc68754d7
Allow use of T2 unlimited by adding appropriate request for the instance 2018-05-15 12:25:06 +01:00
DanHam
df7fb86984
Add tests for T2 Unlimited configuration 2018-05-15 12:25:06 +01:00
DanHam
be02b3f613
Validate template settings when T2 Unlimited has been enabled
* T2 Unlimited cannot be used with anything other than T2 instance types
* T2 Unlimited cannot be used with Spot Instances
2018-05-15 12:25:06 +01:00
DanHam
482629ae90
Add config option to enable/disable T2 Unlimited for the launched instance 2018-05-15 12:25:06 +01:00
DanHam
2c339b99d2
Sort run config options alphabetically 2018-05-15 12:25:06 +01:00
Megan Marsh
6dc4b1cbdc move all of the run commands for shell-local provisioner and postprocessor into common library too 2018-05-07 15:10:09 -07:00
Megan Marsh
616b41e58f deduplicate the nearly identical communicators for the shell-local provisioner and post-processor, moving single communicator into a new common/shell-local module 2018-05-07 15:10:09 -07:00
Matthew Hooker
0521efa200
correctly log reason waiting for ami failed. 2018-05-03 12:27:09 -07:00
Matthew Hooker
7d5ebd5500
Merge pull request #6217 from alessiot77/5887
Feature Request: Log reason why AMI creation failed
2018-05-03 10:57:46 -07:00
AlessioT
3d4c7d0df1 Feature Request: Log reason why AMI creation failed 2018-04-30 20:59:13 +01:00
DanHam
9b6fc5a58d
Remove tmp files created by builder/amazon/instance tests 2018-04-30 18:16:46 +01:00
DanHam
54e9690dff
Remove tmp files created by builder/amazon/common tests 2018-04-30 18:16:46 +01:00
AlessioT
373226e9c5 Extract state reason for failure 2018-04-28 12:40:48 +01:00
AlessioT
09bb21774d alessio.tomasino@yahoo.co.uk 2018-04-28 11:02:53 +01:00
AlessioT
c27f3e9445 alessio.tomasino@yahoo.co.uk 2018-04-28 11:00:33 +01:00
Megan Marsh
59e3ec722d allow user to mount entire block device in chroot builder 2018-04-25 10:47:52 -07:00
Matthew Hooker
cbdf9db832
Use contexts with amazon waiters. 2018-04-23 12:57:15 -07:00
Megan Marsh
3afb243f11 use build name to ensure that winrm password and other shared state is not overwritten if two builders need the password in the same packer run. 2018-04-16 13:41:17 -07:00
Matthew Hooker
f094b3be85
update changelog 2018-04-05 16:32:03 -07:00
Matthew Hooker
302b1988a5
Restrict deregistered AMIs to those owned by self. 2018-04-05 13:29:36 -07:00
Megan Marsh
22608f3efd
Merge pull request #6088 from adongy/master
Expose more source ami data in the template
2018-04-02 16:32:16 -07:00
ADO
04790695e6 Add interpolate_build_info_test tests 2018-03-30 16:46:35 +02:00
ADO
507b3619e7 Expose more source ami data in the template 2018-03-30 10:47:11 +02:00
Joseph Wright
1913517d29 Fix formatting by running make fmt 2018-03-25 19:51:49 -04:00
Joseph Wright
cb3699a584 Modify ebssurrogate builder to snapshot all launch devices
Documentation for ebssurrogate states that all of the devices in
`launch_block_device_mappings` are snapshotted and included in the
image. In fact, only the device that was designated as the root
device was snapshotted. This patch modifies the builder to create
snapshots of all the devices and include them in the image. This
allows creating images with separate filesystems preconfigured,
rather than having to add volumes to `ami_block_device_mappings`
and configure them after boot.
2018-03-25 19:37:44 -04:00
Megan Marsh
072cd6b745
Merge pull request #5998 from hashicorp/do_5895
allow users of AWS to use the dynamically-generated admin password wh…
2018-03-22 16:01:22 -07:00
Matthew Hooker
b16f2ec64b
builder/amazon: Use sdk default cred providers
I think we were overcomplicating things. The SDK provides the correct
credential chain by default, so let's use that. This patch does a quick
check for static credentials and uses those if found, then defaults to
the default credential provider chain.

This patch also removes the metadata timeout argument. Current versions
of the SDK have short timeouts by default, so I don't believe this is
needed.
2018-03-15 16:49:47 -07:00
Matthew Hooker
e483087574
builder/amazon: Use service default retries.
Each service has its own preconfigured number of times to retry.
Lets use that instead of setting a global number.
2018-03-14 22:26:35 -07:00
Megan Marsh
d689e6b4d3 allow users of AWS to use the dynamically-generated admin password which we use as the winRM password as an elevated password in the Powershell provisioner, as well as an environment variable in same provisoner. 2018-03-14 15:58:12 -07:00
Josh Soref
0171dfc890 spelling: validating 2018-03-14 03:28:19 +00:00
Josh Soref
007930ec2d spelling: restricted 2018-03-14 03:20:51 +00:00
Less Mo
686cacb435
builder/amazon: Added new region cn-northwest-1
Add new region China Ningxia cn-northwest-1.
2018-03-02 16:34:19 +08:00
Matthew Hooker
2806523834
Fix issue with assume role credentials 2018-02-15 14:54:01 -08:00
Matthew Hooker
19a89a101e
builder/amazon: remove ssh_private_ip
ssh_private_ip should now be set through ssh_interface.

Adds fixer to automatically fix existing json files
2018-02-08 16:47:43 -08:00
Matthew Hooker
5b64f71702
Merge pull request #5764 from hashicorp/fix5760
"borrow" access config code from terraform.
2018-02-08 14:55:43 -08:00
Matthew Hooker
21812fa17f
Add volume and run tags if in us-gov/china
We can't tag on instance creation when we're in "restricted" regions,
so let's add the tags after the resources have been created.

Adds methods to AccessConfig to detect if we're in China or US Gov
regions (i.e. "restricted").

Also turns tag:tag maps into a type, and moves methods around validating
and converting them to ec2Tags to methods of the type.
2018-02-05 16:39:20 -08:00
Matthew Hooker
fad4d5c272
update tests for mapstructure behavior changes 2018-01-26 12:40:34 -08:00
Megan Marsh
de2e5edf2e remove errant change in amazon builder 2018-01-26 08:43:51 -08:00
Megan Marsh
6556a851dc
fix ssh key handling 2018-01-25 14:34:01 -08:00
Matthew Hooker
eafda52411
use amazon steps from master 2018-01-24 17:09:18 -08:00
Matthew Hooker
7a189a83a1
fix imports
`find . -type f -name '*.go' -not -path "./vendor/*" -exec goimports -w {} \;`
2018-01-24 17:09:17 -08:00
Matthew Hooker
a831d522be
change run signatures
Run now takes a context as well as a statebag. We'll assign the context
to the blank identifier to prevent namespace collisions. We'll let the
step authors opt-in to using the context.

`find . -iname "step_*.go" -exec gsed -i'' 's/func \(.*\)Run(/func \1Run(_ context.Context, /' {} \;`
2018-01-24 17:09:17 -08:00
Matthew Hooker
a0c625ea44
Revert "working with opt-in"
This reverts commit 4068ffdaf541354e75507add7ca0b193993fcd52.
2018-01-24 17:09:16 -08:00
Matthew Hooker
e98f201602
working with opt-in 2018-01-24 17:09:16 -08:00
Matthew Hooker
366dc3da0a
move multistep imports to helper.
gomvpkg -from "github.com/mitchellh/multistep" -to "github.com/hashicorp/packer/helper/multistep"
2018-01-24 17:09:15 -08:00
Matthew Hooker
807e88245b
trying to add context to state bag 2018-01-24 17:09:15 -08:00
Matthew Hooker
ebe995c0ff
run goimports 2018-01-22 17:21:10 -08:00
Matthew Hooker
cea2ab8c6d
move kms/encrypted validation to block devices 2018-01-12 15:10:51 -08:00
Matthew Hooker
e968f9d6cc
spelling/style fixes 2018-01-12 14:26:56 -08:00
Jason Wieringa
f6772f06be builder/amazon: Raise error when ebsvolume kms_key_id is without encrypted = true 2018-01-11 20:27:38 -08:00
Jason Wieringa
2ac59b3c27 builder/amazon: Added KmsKeyID to BlockDevice
+ Adds kms_key_id to list of options
+ Tests that configuraiton is set along with encrypted
+ Updates documentation on ebsvolume builder
2018-01-11 20:27:38 -08:00
Matthew Hooker
f5ea1e8312
Use WaitUntilInstanceReady waiter 2018-01-10 15:57:31 -08:00
Matthew Hooker
dfd5f07145
fix ebs acc test 2018-01-08 12:27:10 -08:00
Matthew Hooker
c5bcb97d06
"borrow" access config code from terraform.
This gives us a few benefits:

* timeout early if metadata service can't be reached
* report which auth provider we're using
* give much better errors if something goes wrong
2018-01-04 15:04:07 -08:00
Matthew Hooker
98c2a2d1f7
builder/aws: catch static credential errors early.
If we're using static credentials, either both the access key and secret key must be set, or neither of them should be.
2018-01-04 11:50:27 -08:00
Matthew Hooker
f3dea272d9
Set session in state bag
We can construct connections to arbitrary regions from it
2017-12-19 11:32:33 -08:00
Matthew Hooker
f6c401a143
don't pass in accessconfig 2017-12-19 11:32:32 -08:00
Matthew Hooker
1c352726d7
Merge pull request #5719 from rchenv/issue5606
Ensure all AWS connections are configured alike
2017-12-19 11:32:24 -08:00
Rong Chen
3e92b1374e issue5606: follow the convention to use AccessConfig to create new aws session for step_create_tags etc. 2017-12-19 10:34:12 -08:00
Olivier Bazoud
8bcb469b8b builder/amazon: Added new region Paris - eu-west-3 2017-12-19 10:00:03 +01:00
Rickard von Essen
63f791570a
Merge pull request #5665 from kwilczynski/remove-sts-token-from-logging
amazon: Remove Session Token (STS) from being shown in the log.
2017-12-10 06:50:42 +01:00
Matthew Hooker
f216330ba3
spot instance ena/sriov checking for all other builders 2017-12-08 14:56:19 -08:00
Matthew Hooker
4b1d8e3fe8
don't allow enhanced networking flags for spot instances. 2017-12-08 13:38:49 -08:00
Matthew Hooker
73b98b2a04
use waiter to wait for ebs instances to stop 2017-12-08 13:38:48 -08:00
Matthew Hooker
dada63801b
also use waiter code for spot instances 2017-12-08 13:38:48 -08:00
Matthew Hooker
9e61005f7c
Merge pull request #5660 from hashicorp/fix_5625
modify validation to allow user to have the original region in the am…
2017-12-08 13:36:10 -08:00
Ben Gnoinski
5df2e040d0 Update amazon run_config.go absent ssh_private_key_file error 2017-12-08 08:51:27 -08:00
Matthew Hooker
2c1c7b9659
Merge pull request #5630 from johndaviesco/winrm_no_proxy
Winrm no proxy
2017-12-07 15:41:16 -08:00
Matthew Hooker
a90c45d9bb
Wait until source instance OK before continuing 2017-12-07 12:31:50 -08:00
Matthew Hooker
7b5c0900ef
Correctly set aws region if given in template along with a profile. 2017-12-07 11:12:57 -08:00
Krzysztof Wilczynski
05327b7524
amazon: Remove Session Token (STS) from being shown in the log.
This commit adds a change which ensures that the Session Token
config struct item is removed from log output.

Signed-off-by: Krzysztof Wilczynski <kw@linux.com>
2017-12-04 22:14:38 +01:00
Megan Marsh
1c681fc096 tests 2017-11-30 14:08:48 -08:00
Megan Marsh
556da47d35 modify validation to allow user to have the original region in the ami_regions list 2017-11-30 13:51:33 -08:00
John Davies-Colley
10aaa49beb fixing tests and funky logic 💦 2017-11-28 14:42:14 +13:00
John Davies-Colley
0c787ec9df Valadating early 2017-11-28 11:46:32 +13:00
John Davies-Colley
75320440ec adding missing quote 🙏 2017-11-22 15:59:15 +13:00
John Davies-Colley
707ec675b2 ssh interface for amazon builders 🔨 2017-11-22 15:49:38 +13:00
Matthew Hooker
0a24f4eb2e
don't shadow package name 2017-11-07 16:05:43 -08:00
Matthew Hooker
f681faa296
fix tests 2017-11-07 14:57:10 -08:00
Matthew Hooker
545ee45567
debug region we found 2017-11-07 14:51:20 -08:00
Matthew Hooker
c106e7c26c
Don't set region from metadata if profile is set. 2017-11-07 14:33:26 -08:00
Matthew Hooker
52fc0100eb
this is a critical error 2017-11-07 12:52:03 -08:00
Matthew Hooker
95e4ae251e
WIP 2017-11-02 09:03:44 -07:00
Matthew Hooker
e87b468c6e
Merge pull request #5536 from hashicorp/fix5535
add delay option to security group waiter
2017-11-02 08:54:34 -07:00
Matthew Hooker
8ab390a048
Merge pull request #5495 from smaato/master
Fix regressions relating to spot instances and EBS volumes
2017-11-02 08:53:27 -07:00
Matthew Hooker
f2413ff138
add delay option to security group waiter 2017-11-02 00:25:54 -07:00
Matthew Hooker
d322fc6c19
Shorten metadata timeout
When running in travis, metadata requests will timeout after 5 seconds.
After 24 such timeouts, we'll hit travis' build timeout of two minutes,
and the build will fail. Lowering it to 100 gets us in a safe time
limit. We _may_ need to expose a timeout env var with this logic,
however.
2017-10-30 15:22:15 -07:00
Matthew Hooker
314fc94bd8
clean up 2017-10-30 15:02:39 -07:00
Matthew Hooker
0e4ea7420b
fix tests 2017-10-30 14:34:16 -07:00
Matthew Hooker
c65fa8490d
fix various bugs deregistering AMIs
always deregister ami in session region
validate that session region does not appear in ami_regions
2017-10-30 14:17:19 -07:00
Matthew Hooker
6c4fbe8d87
use correct default region when deregistering AMIs. 2017-10-30 13:07:58 -07:00
Mark Meyer
4c5df79222 Fix regressions introduced in the instance builder
Related to #5504
2017-10-24 23:23:18 +02:00
Mark Meyer
309bf61257 Add missing blockdevices to ebsvolume builder 2017-10-23 22:33:16 +02:00
Mark Meyer
1cc9b3f1e3 Bring back volume tagging to ebsvolume
Related to #5486
2017-10-23 22:09:04 +02:00
Mark Meyer
7e1646826d Check if VolumeTags is empty before tagging volumes
Related to #5486
2017-10-23 21:10:40 +02:00
Matthew Hooker
f7e269945e
add cidr validation and rename option 2017-10-12 17:05:56 -07:00