Lars Lehtonen
d072079899
builder/amazon/common: remove dead test type and function mockEC2Conn_Modify_EBS.ModifyInstanceAttribute()
2019-10-31 12:38:32 -07:00
Lars Lehtonen
953be1603b
builder/amazon/common: remove dead test type and function mockEC2ConnSpot.DescribeSpotPriceHistory()
2019-10-31 12:34:11 -07:00
Lars Lehtonen
7a09f9c678
builder/amazon/common: remove dead test function fakeModifyEBSBackedInstanceState()
2019-10-31 12:22:10 -07:00
Lars Lehtonen
0a13b620d6
builder/amazon/common: remove dead test function StepModifyEBSBackedInstance_EnableAMIENASupport()
2019-10-31 12:19:28 -07:00
Lars Lehtonen
c74df8b652
builder/amazon/common: remove dead test function getMockConnSpot()
2019-10-31 12:15:53 -07:00
Lars Lehtonen
e5e2bfa83f
builder/amazon/common: remove nil check on slice, len() on nil slices is zero
2019-10-31 12:09:32 -07:00
Adrien Delorme
819329228a
Change back to make sure all durations are a time.Duration
...
It is simply the best/simplest solution and trying to prevent users from passing and integer here would be like opening a can of worms. Because:
* we cannot make mapstructure validate our duration string ( with an UnmarshalJSON func etc.)
* we cannot make mapstructure spit a string instead of a duration and packer will decode-encode-decode config.
* the hcl2 generated code asks for a string, so this will be enforced by default.
2019-10-31 16:12:07 +01:00
Adrien Delorme
bf3d9841c6
Force durations to be passed a strings
...
Before this commit it was possible to set a duration using an integer or a float. Go's time.Duration is an int64 internally an mapstructure will take advantage of this and load the number as a int64 but `1` means one ns which is unexpected/confusing. To avoid confusion and enforce readability this forces users to pass a string with a unit for a duration; ex "56s".
2019-10-31 11:47:19 +01:00
Megan Marsh
6191b9c8c6
Merge pull request #8288 from hashicorp/fix_8271
...
add some extra layers of validation to make sure that people don't tr…
2019-10-30 10:41:52 -07:00
Megan Marsh
d084cd1895
Update builder/amazon/common/ami_config.go
2019-10-30 09:41:23 -07:00
Megan Marsh
e9f02e44cb
add test to catch this case
2019-10-29 11:28:56 -07:00
Megan Marsh
7cf47fc463
add some extra layers of validation to make sure that people don't trip over magical encrypt_boot settings later in the build
2019-10-29 11:26:22 -07:00
Megan Marsh
e2283445f2
need to initialize variables scoped to the individual loop, because the address of k,v stay the same and that means we overwrite previous variables when assigning them to the struct directly.
2019-10-28 14:31:13 -07:00
Megan Marsh
a783a09ea3
Merge pull request #8269 from paulmey/paulmey/generalize-chroot
...
[amazon/chroot] Move common/generic chroot builder steps to common directory
2019-10-24 14:32:01 -07:00
Megan Marsh
7928b5b045
fix transcription error from when we moved to generated docs
2019-10-24 10:19:03 -07:00
Paul Meyer
3be7d81ce2
Move common steps together
2019-10-24 04:21:46 +00:00
Paul Meyer
e6dfe301ac
Move CommandWrapper & ShellCommand to common
2019-10-24 04:06:29 +00:00
Megan Marsh
b9245a402d
add structure to its own struct to make generated code stop complaining
2019-10-23 10:46:42 -07:00
Megan Marsh
5614f307fb
regerate code
...
generate flat FlatPolicyDocument
add PolicyDocument to generate command
2019-10-23 10:46:07 -07:00
Megan Marsh
d15f43e4eb
Merge pull request #8232 from hashicorp/artifact-tree
...
HCL2 configs - part one
2019-10-22 11:54:34 -07:00
Bernard Baltrusaitis
ec1d70dc44
adding required changes
2019-10-22 21:40:18 +11:00
Bernard Baltrusaitis
65d1447b64
adding formatting
2019-10-19 21:33:58 +11:00
Bernard Baltrusaitis
6e2146324f
Merge branch 'master' of github.com:b-b3rn4rd/packer
2019-10-19 20:56:49 +11:00
Bernard Baltrusaitis
8b83cca064
adding temporary instance profile document policy
2019-10-19 20:56:18 +11:00
Adrien Delorme
cf1555bf17
Merge remote-tracking branch 'origin/master' into artifact-tree
2019-10-16 10:22:56 +02:00
Paul Meyer
977ca5be1c
Add StepCopyFiles and StepChrootProvision
2019-10-15 21:13:37 +00:00
Paul Meyer
9a3e6661b1
Add StepMountExtra
2019-10-15 21:13:37 +00:00
Paul Meyer
addbdedea9
Add StepPostMountCommands
2019-10-15 21:13:37 +00:00
Paul Meyer
4d750ddefa
Reuse amazon/chroot/step_pre_mount_commands.go
2019-10-15 21:13:37 +00:00
Adrien Delorme
078ba7c8c3
commit old code generation tool
...
for history
2019-10-15 12:56:42 +02:00
Adrien Delorme
221e72e9c3
builder.amazon.common: remove pointer (*) from []*string and map[*string]*string types
...
because they make hcl2/cty decoding panic
2019-10-15 12:56:41 +02:00
Adrien Delorme
8b8c2fc138
builder.amazon.chroot: remove specific BlockDevice definition
...
because the common one already has a KmsKeyId field
2019-10-15 12:56:41 +02:00
Megan Marsh
f05fd3969f
Merge pull request #8212 from hashicorp/fix_8204
...
Fix 8204
2019-10-14 14:40:17 -07:00
Megan Marsh
2e20facc8b
fix tests
2019-10-14 14:13:21 -07:00
Megan Marsh
0e70e0e5a4
fix template imports
2019-10-14 13:22:06 -07:00
Megan Marsh
44f91c9afc
Revert "remove clean_ami_name and clean_image_name; complete the deprecation for these functions in favor of clean_resource_name"
...
This reverts commit 0026792d2f
.
2019-10-14 13:08:15 -07:00
Megan Marsh
4bc381183d
make aws instsance builder work with recent changes for volume copy
2019-10-09 16:59:51 -07:00
Megan Marsh
e283023d9b
make sure step_register_ami in chroot builder respects encryption and ami skip build retion values once the copy happens
2019-10-09 16:52:41 -07:00
Megan Marsh
469af8e592
ebssurrogate builds didn't keep up with recent optimizations to region encryption in the ebs builder, and that was causing bugs with the common ami region copy step
2019-10-09 16:02:37 -07:00
Adrien Delorme
d4600a7716
fix go imports
2019-10-04 11:19:45 +02:00
Megan Marsh
0026792d2f
remove clean_ami_name and clean_image_name; complete the deprecation for these functions in favor of clean_resource_name
2019-10-03 15:49:01 -07:00
Megan Marsh
e16fb19bfc
don't abort on a single error if another availability zone was able to create the instance
2019-10-02 14:17:00 -07:00
Megan Marsh
eccf0fb51d
update docs
2019-09-27 09:51:18 -07:00
Megan Marsh
e047b97bf7
Merge pull request #8162 from hashicorp/fix_8154
...
make sure amazon builders respect ssh_host option
2019-09-27 09:34:49 -07:00
Megan Marsh
ac6e7a4800
updates tests to validate that ssh_host value supplied in the template overrides all else
2019-09-27 09:19:23 -07:00
Adrien Delorme
941dc394f0
Update step_run_spot_instance.go
2019-09-27 13:04:52 +02:00
Adrien Delorme
d049284120
Update builder/amazon/common/step_run_spot_instance.go
...
remove unused code that might induce errors
2019-09-27 13:00:53 +02:00
Adrien Delorme
07e97e26de
step_run_source_instance.go: make sure we use the right ShouldRetry error
2019-09-27 12:57:55 +02:00
Megan Marsh
c722009159
we only need one describeInstances call, not 3, and it should be wrapped in a retry
2019-09-26 15:47:01 -07:00
Megan Marsh
e47059aaca
put retry around describeinstances call in amazon
2019-09-26 14:49:28 -07:00
Megan Marsh
31bb1e818f
fix tests
2019-09-26 13:02:11 -07:00
Megan Marsh
0cbd3ff0f3
make sure amazon builders respect ssh_host option
2019-09-26 12:30:04 -07:00
Megan Marsh
72d393c95a
update docs to show a use case for block device mappings
2019-09-25 16:48:04 -07:00
Adrien Delorme
4fb05e5bc4
fix test
2019-09-20 15:28:43 +02:00
Adrien Delorme
792f61a4ad
fmt
2019-09-20 15:18:48 +02:00
Adrien Delorme
849de792da
re-apply doc changes of master
2019-09-20 15:04:01 +02:00
Adrien Delorme
3fe9d52e3f
Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config
2019-09-20 11:15:44 +02:00
Adrien Delorme
4d4bd38afa
Merge pull request #8087 from hashicorp/fix_8048
...
add retry wrapper to query so it handles rate limiting
2019-09-16 10:25:12 +02:00
Megan Marsh
9503802814
adding ctx makes the cancel channel redundant
2019-09-13 14:32:13 -07:00
Megan Marsh
4b497006b3
add retry wrapper to query so it handles rate limiting
2019-09-13 14:32:13 -07:00
Adrien Delorme
146b88ba1e
Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config
2019-09-10 12:44:46 +02:00
Adrien Delorme
de9bb26f62
Merge branch 'master' into fix_7959
2019-09-10 12:21:33 +02:00
DanHam
bbeb1a3528
Delete any `run_volume_tags` applied to EBS volumes at instance creation
...
* Allows `run_volume_tags` to be set without requiring a major rewrite
of the (common) amazon builder code used to start an instance.
The common start up code tags the instance and *all attached volumes
at creation*. If `run_volume_tags` are set this means that any volumes
specified in `ebs_volumes` will *initially* be tagged with the
`run_volume_tags` rather than the tags set in the `ebs_volumes`
section
* Once the instance is reported to be 'ready' the step to tag the EBS
volumes is run. Once complete all volumes should have the tags
requested by the user:
* Volumes associated with the source instance should be tagged with
the tags set in `run_volume_tags` (if any)
* Each EBS volumes specified in the `ebs_volumes` section of the
template should only be tagged with its associated tags (if any)
2019-08-30 14:30:25 +01:00
DanHam
61b1605a85
More accurate error description; Add comments; Add output
2019-08-30 14:26:06 +01:00
DanHam
430d41fbf9
Add option to enable tagging of the running instances volumes
...
* Currently this results in *all* volumes attached to the instance
being tagged with the `run_volume_tags`. This includes any `ebs_volumes`
for which the user may have configured other tags.
* This issue will be addressed in a later commit
2019-08-30 14:16:29 +01:00
DanHam
30070ffb30
Sort fields and options alphabetically
2019-08-30 14:16:29 +01:00
Adrien Delorme
9f8e9893b3
Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config
2019-08-29 14:22:16 +02:00
Adrien Delorme
86cee5cbef
Merge pull request #8034 from cove/retry-describe-instances
...
add AWS API call reties on AMI prevalidation
2019-08-29 10:48:54 +02:00
cove
87e0a3b5e7
add prevalidating AMI name retries so the build doesn't fail when throttled
2019-08-27 18:00:08 -07:00
Adrien Delorme
9d0bc476d9
add ommited struct interpolation
...
after dcc22df609
2019-08-27 15:17:57 +02:00
Adrien Delorme
239f97471c
fix ebs volume tags doc field
...
Co-Authored-By: Megan Marsh <swampdragons@users.noreply.github.com>
2019-08-27 09:21:29 +02:00
Adrien Delorme
5517d41468
make sure all documentation fields are there
...
* add missing `temporary_key_pair_name` field for alicloud
* add missing description to `vpc_filter` for aws
* add missing ssh communicator fields for aws
* add links for aws
* update vmware-vmx docs
* manually describe AMI Configuration section for ebsvolume
* display missing required ami_name field for aws
* add missing fields for docker
* add missing fields for openstack
2019-08-26 17:16:54 +02:00
Adrien Delorme
2efc94521b
use trilean initializers in test where missing
2019-08-23 11:17:45 +02:00
Megan Marsh
6a895db9be
converte block device encryption to trilean
2019-08-22 14:24:22 -07:00
Megan Marsh
1d9bba6fe3
change AMIEncryptBootVolume to trilean
2019-08-22 14:04:26 -07:00
Megan Marsh
1a6adadb89
convert EnableAMIENASupport to trilean in code
2019-08-22 13:18:22 -07:00
Megan Marsh
3c3f7f26ce
implement custom data type "trilean" (tri-state-boolean) to track booleans which have a "null" or "unset" state. Previously we used *bool for these template options, but it turns out that those won't work because "unset" will evaluate to "false" if a user is using template variables to set the option that maps to a *bool.
2019-08-22 13:18:15 -07:00
Adrien Delorme
4cb7c30987
Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config
2019-08-21 16:44:23 +02:00
Megan Marsh
4aa33306cb
make sure that fleetId exists before trying to stick it into error message
2019-08-19 13:44:39 -07:00
Megan Marsh
316a30b31d
fix spot_tags
2019-08-15 16:06:16 -07:00
Megan Marsh
9f6d14c75a
work around spot_tags related regression and bad fleet cleanup in spot instances
2019-08-14 11:08:59 -07:00
Megan Marsh
b42701380c
add test for nil case
2019-07-29 12:11:59 -07:00
DanHam
088151e51d
Type assertion safety - fix panic when key cannot be retrieved from statebag
2019-07-28 10:44:24 +01:00
Christian Muehlhaeuser
216afbaa8b
Fixed various typos
...
Just a bunch of nit-picky typo fixes.
2019-07-25 06:49:51 +02:00
Megan Marsh
54d2ad5028
refactored step_ami_region_copy to fix bugs and clarify assumptions; added more tests for that step.
...
fix race condition caused by variable declaration outside of loop
2019-07-17 11:30:20 -07:00
Megan Marsh
39a4da4d07
add code to deduplicate the region list, and to make sure that the original region's kms key id is in the map.
2019-07-11 16:56:40 -07:00
Megan Marsh
6ad975f296
Revert "move SSHInterface/SSHIPVersion fields to communitator.Config struct"
...
This reverts commit b0c09087a2
.
2019-07-02 10:46:10 -07:00
Megan Marsh
62120c5c0b
Merge pull request #7813 from hashicorp/stop_calculating_spot_bids
...
stop calculating spot bids
2019-07-02 10:35:45 -07:00
Megan Marsh
d4b6a61445
don't store names of volumes we will be deleting when the instance terminates
2019-07-01 14:44:17 -07:00
Megan Marsh
42611e6004
fix build
2019-07-01 13:03:33 -07:00
Megan Marsh
a60f7e395e
add a test to make sure we don't error becaue of spot price auto product, yet
2019-07-01 13:01:41 -07:00
Megan Marsh
c722afe707
stop calculating spot bids; amazon changed the way spot instances are priced to be stable rather than bid-based, so when user sets auto, we can just default to the ondemand price and know that they'll get the same price as everyone else bidding at that time.
2019-07-01 13:01:41 -07:00
Daniel Rodgers-Pryor
8a9753032c
Allow EC2 fleet packer instances to run in parallel
...
Without conflicting over the name of the launch template that they create/delete.
Previously, the launch template name was just hard coded to `packer-fleet-launch-template`, but since AWS enforces unique template names within an account, this caused simultaneously running packer instances to hit template-already-exists errors when creating their templates and race-conditions around deleting the template. Now, the template name is randomly generated on each run, so there should be no conflicts.
2019-06-30 16:19:35 +10:00
Adrien Delorme
02421bad33
simplify BlockDevice prepares
2019-06-19 12:15:18 +02:00
Adrien Delorme
433c40d72d
make block device example less specific
2019-06-19 12:10:08 +02:00
Adrien Delorme
8cea5d409a
doc ebsvolume builder using partials
2019-06-19 12:02:12 +02:00
Adrien Delorme
aeb898d598
document amazon-instance builder with partials
2019-06-19 11:09:00 +02:00
Adrien Delorme
c54879717b
document ebssurrogate with partials
2019-06-18 18:00:49 +02:00
Adrien Delorme
9f4c8fb321
document ebs builder using partials
2019-06-18 17:41:50 +02:00
Adrien Delorme
a476ab79d7
document chroot builder using partials
2019-06-18 17:26:36 +02:00