Setting environment variables for the ansible-playbook invocation.
ANSIBLE_FORCE_COLOR will ensure output is colorized. PYTHONUNBUFFERED will stream output as Ansible runs, vs getting a big dump of output at the end.
Given that state fetching is an idempotent operation, a transient
network error should not cause the entire build to fail. Instead,
retry when such errors are encountered.
Previously, any per instance metadata supplied via the GCE builder
was ignored.
Test plan:
- make test
- Manual testing via:
-- Created a packer config that contained a GCE builder with custom
metadata set.
-- Ran `packer build`.
-- Verified the instance had the correct metadata in the GCE console.
ec2:ModifyImageAttribute is already included in the sample policy JSON (line 67 in the source file), so the comment about optionally adding it only adds confusion.
This is needed to make 'cdrom0' device unavailable during the ISO installation process.
It is required for some guest OS types, such as FreeBSD and OmniOS.
CD/DVD drive with installation ISO should be exactly the 2nd device in the VM boot order.
This ensures that VM will boot from this ISO at the first boot time only.
For each ISO image the individual cdrom device will be added to the VM. During the cleanup these devices will be deleted.
It makes attach steps more clear - there is no doubt what is the name of the device.
Related to: [mitchellh/packer#1502]
Remove the redundant StepRemoveDevices and rely on the cleanup to be handled by:
* StepAttachParallelsTools.Cleanup
* StepAttachFloppy.Cleanup
* stepAttachISO.Cleanup