Once we have produced a qemu VM, we now have the option of using
the vagrant post-processor to create a .box file that can be used with
the vagrant-libvirt plugin.
This uses the new State method of the Artifact API to get necessary
information from the builder.
In order that something consuming an artifact can have access to extra
builder specific data add the State method which allows the caller to
ask for arbitary values by name.
Uses the Python API from Parallels Virtualization SDK to write
boot commands.
This eliminates a 3rd party requirement and makes it easier for people
not using homebrew to get started with packer.
Adds logic to ESXi driver VNC Address function to ignore listen
addresses that bind to localhost (127.0.0.1), this allows certain
default ports to be available on ESXi for VNC connections
When using the VMX builder its possible for the source machine to have a floppy configured which gets cloned to the new VM Packer spins up. When the new VM's Packer config doesn't have a floppy_files config entry, the Packer clean VMX step fails to remove the floppy disk from the new VM. This can cause build failures, for example with the vsphere post processor; generating errors like:
* Post-processor failed: Failed: exit status 1
Error: File (/home/teamcity/tmp/buildTmp/packer941120499) could not be found.
Opening the cloned VM's VMX file you can clearly see it has a floppy entry from the source machine's VMX file (exact same path) even though the Packer config contains no floppy_files entry.
By default, go get determines parallelism based on the number of
cores available. Those show up as 32 in the Travis CI environment
but a virtual machine is limited both by the amount of cores it
has allocated and the amount of memory available to it. 32 parallel
build processes are likely to exhaust the memory resources, leading
to killed processes.
This change reduces the number of builds running concurrently to 2,
which should reduce the likelihood of memory exhaustion greatly.
The number could probably be dialed up a little bit, but this should
give a good default reflecting the environment's resources.
Add configuration option to explicitly control where Packer uploads
ISO and floppy files to on ESXi hosts. The `remote_cache_datastore`
defaults to the `remote_datastore` value. The 'remote_cache_directory'
defaults to 'packer_cache', similar to the local caching capabilities.
Addresses issues with [GH-1218] and [GH-1221] where paths for uploaded
ISO and floppy files are not written to a valid location in the
datastore.