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.
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¤"
```
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
Fixes the following vet report:
provisioner/puppet-masterless/provisioner.go:196: missing argument for Errorf(%d): format reads arg 1, have only 0 args
Fixes the following vet reports:
post-processor/vagrant-cloud/client.go:81: arg resp for printf verb %s of wrong type: *net/http.Response
post-processor/vagrant-cloud/client.go:99: arg resp for printf verb %s of wrong type: *net/http.Response
post-processor/vagrant-cloud/client.go:131: arg resp for printf verb %s of wrong type: *net/http.Response
post-processor/vagrant-cloud/client.go:156: arg resp for printf verb %s of wrong type: *net/http.Response
post-processor/vagrant-cloud/client.go:175: arg resp for printf verb %s of wrong type: *net/http.Response
Fixes the following vet reports:
packer/template_test.go:496: possible formatting directive in Fatal call
packer/template_test.go:528: possible formatting directive in Fatal call
Fixes the following vet reports:
common/step_create_floppy_test.go:79: possible formatting directive in Fatal call
common/step_create_floppy_test.go:89: possible formatting directive in Fatal call
common/step_create_floppy_test.go:180: possible formatting directive in Fatal call
common/step_create_floppy_test.go:190: possible formatting directive in Fatal call