DanHam
074be9942d
Only validate the user has provided a subnet_id when vpc_id has been set
2019-11-19 14:09:58 +00:00
nywilken
f9f4726eff
builder/amazon/step_pre_validate: Add check for non-default VPCs
...
Subnet information is only really needed when the specified `vpc_id` is
not the default VPC for the region where the builder is being executed.
This change uses the AWS API to determine if the VPC provided is a
non-default VPC and only validates the existence of a `subnet_id` if a
user has provided a non-default `vpc_id`.
Tests after change
```
> make test TEST=./builder/amazon/... TESTARGS='-count=1 -v -run=TestStepPreValidate_checkVpc'
...
=== RUN TestStepPreValidate_checkVpc
=== RUN TestStepPreValidate_checkVpc/DefaultVpc
=== RUN TestStepPreValidate_checkVpc/NonDefaultVpcNoSubnet
=== RUN TestStepPreValidate_checkVpc/NonDefaultVpcWithSubnet
=== RUN TestStepPreValidate_checkVpc/SubnetWithNoVpc
=== RUN TestStepPreValidate_checkVpc/NoVpcInformation
--- PASS: TestStepPreValidate_checkVpc (0.00s)
--- PASS: TestStepPreValidate_checkVpc/DefaultVpc (0.00s)
--- PASS: TestStepPreValidate_checkVpc/NonDefaultVpcNoSubnet (0.00s)
--- PASS: TestStepPreValidate_checkVpc/NonDefaultVpcWithSubnet (0.00s)
--- PASS: TestStepPreValidate_checkVpc/SubnetWithNoVpc (0.00s)
--- PASS: TestStepPreValidate_checkVpc/NoVpcInformation (0.00s)
PASS
...
```
2019-11-18 16:44:09 -05:00
nywilken
488e539f63
builder/amazon: Add helper function for checking against AWSError
...
Replace all straight forward occurrences of `if err, ok := err.(awserr.Error)` with the `isAWSErr` helper function
2019-11-12 15:27:47 -05:00
Megan Marsh
6e2456d028
make error messaging around ResourceNotReady better, update docs with other possible issues ( #8349 )
2019-11-08 11:15:24 +01:00
cove
2898d66812
retry runinstances aws api that wasn't retried and could fail
2019-11-06 14:06:35 -08:00
Megan Marsh
6c704f7046
Revert "fix template imports"
...
This reverts commit 0e70e0e5a4
.
2019-11-04 14:29:00 -08:00
Megan Marsh
517834d528
Revert "Revert "remove clean_ami_name and clean_image_name; complete the deprecation for these functions in favor of clean_resource_name""
...
This reverts commit 44f91c9afc
.
2019-11-04 14:28:40 -08:00
Megan Marsh
fcb65ee422
Merge pull request #8307 from hashicorp/fix_8116
...
delete amazon import post-processor intermediary snapshots
2019-11-01 14:55:22 -07:00
Megan Marsh
e9e4c102e5
delete amazon import post-processor intermediary snapshots
2019-11-01 14:17:44 -07:00
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
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
7928b5b045
fix transcription error from when we moved to generated docs
2019-10-24 10:19:03 -07: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
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
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
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
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
de9bb26f62
Merge branch 'master' into fix_7959
2019-09-10 12:21:33 +02: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
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
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
433c40d72d
make block device example less specific
2019-06-19 12:10:08 +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
Adrien Delorme
dcc22df609
aws: move the OmitFromArtifact field in ebssurrogat where it's being used
...
also, simplified a bit the usage of block device
2019-06-18 16:04:12 +02:00
Adrien Delorme
a86aae1c7e
mode KmsKeyId to chroot block device, as it's only used there
2019-06-18 15:25:17 +02:00
Adrien Delorme
9989845ada
add BuildEC2BlockDeviceMapping func to the BlockDevice type
2019-06-18 15:07:03 +02:00
Adrien Delorme
c696878d2e
aws block devices mapping: BlockDevices.Build -> BuildEC2BlockDeviceMappings()
2019-06-18 12:44:24 +02:00
Adrien Delorme
ff2e0298ba
simplify block devices utilisation by removing intermediary types
2019-06-18 12:37:47 +02:00
Adrien Delorme
78b29d1a74
up AMIBlockDevices docs
2019-06-18 11:55:12 +02:00
Megan Marsh
305592d8ed
fix copy logic and tests
2019-06-17 15:38:28 -07:00
Megan Marsh
8cc82ca8d2
add broken test
2019-06-17 15:04:19 -07:00
Megan Marsh
0d55bc46ee
add skip_save_build_region flag to fix naming conflicts when building for multiple regions
2019-06-17 14:39:11 -07:00
Adrien Delorme
daa9f9d34e
Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config
2019-06-14 15:17:56 +02:00
Megan Marsh
1c3b234b55
Merge pull request #7737 from hashicorp/document_retry
...
retry.Backoff: document
2019-06-13 10:54:08 -07:00
Adrien Delorme
6e3dc1aa9a
Merge remote-tracking branch 'origin/master' into scrape_doc_to_builder_struct_config
2019-06-12 14:28:11 +02:00
Adrien Delorme
98206d59d7
aws: step_create_tags make the max waiting time 30s and not 30ns
2019-06-11 12:37:52 +02:00
Pratyush Singhal
d92e82c43f
refactor: replace the maxBackoff from 30 nanosecond to 30 seconds
...
Co-Authored-By: Adrien Delorme <azr@users.noreply.github.com>
2019-06-11 16:01:03 +05:30
Pratyush singhal
d4b0cb68e3
feat: add retry for temp key-pair generation in amazon-ebs
...
Signed-off-by: Pratyush singhal <psinghal20@gmail.com>
2019-06-10 22:45:02 +05:30
Adrien Delorme
8e857d64f1
aws: rewrap struct comments for documentation generation
2019-06-06 17:34:17 +02:00
Adrien Delorme
4bf6a56d71
split communitacor.SSH & communitacor.WinRM to facilitate documentation
...
put doc for communicator into the struct
2019-06-06 16:55:24 +02:00
Adrien Delorme
4399684372
make fmt autogenerated docs
2019-06-06 16:29:25 +02:00
Adrien Delorme
e09f3fbd02
amazon: update docs & links
2019-06-05 16:42:18 +02:00
Adrien Delorme
e6cbb013ba
add // go:generate struct-markdown to all previously edited files
2019-06-05 16:42:18 +02:00