This adds retry logic to the amazon/chroot builder. The builder
intermittently fails when ec2conn shows the volume in the attached
state but calling Volumes[0].Attachments return an empty array. The
fix adds a retry logic for when Volumes[0].Attachments has len 0 sleep
for 2 seconds and retry up to 30 times.
When the Volumes[0].Attachments is empty I find within 5 seconds the
Volumes[0].Attachments contains the correct value.
The issue is reported in:
https://github.com/mitchellh/packer/issues/1854
This commit moves the Amazon builders of Packer away from the Hashicorp
fork of the goamz library to the official AWS SDK for Go, in order that
third party plugins may depend on the more complete official library
more easily.
Expands on the description of the Vagrant and Vagrant Cloud
post-processors needing to be in a doubly-nested array.
Also, separate the two arrays in the JSON sample so they stick out more
(and reformat the JSON).
Relates to #1539
AWS is eventually consistent and instance can be not visibile for
some time after creation. This fix eliminates describe-instances
call before going to the proper wait loop
This patch will allow to fix the following bug much faster:
```
1 error(s) occurred:
* Unknown configuration key: output_directory
```
Related configuration:
```
"output_directory ": "build/sl_base/",
```
After the patch, the error reporting will be:
```
1 error(s) occurred:
* Unknown configuration key: "output_directory¤"
```
The text previously stated that "ui"-type messages represent messages that would be shown if Packer is *not* running in human-readable mode.
This is rather talking about what would happen when Packer *is* using human-readable mode.
Fixes the following vet reports:
provisioner/salt-masterless/provisioner.go:119: arg cmd for printf verb %s of wrong type: *github.com/mitchellh/packer/packer.RemoteCmd
provisioner/salt-masterless/provisioner.go:121: arg err for printf verb %d of wrong type: error
provisioner/salt-masterless/provisioner.go:142: arg err for printf verb %d of wrong type: error
provisioner/salt-masterless/provisioner.go:157: arg err for printf verb %d of wrong type: error
provisioner/salt-masterless/provisioner.go:172: arg err for printf verb %d of wrong type: error
provisioner/salt-masterless/provisioner.go:216: arg err for printf verb %d of wrong type: error