Packer v0.8.0 Release Notes
Release Date: 2015-06-23 // almost 9 years ago-
BACKWARDS INCOMPATIBILITIES:
- 0️⃣ core: SSH connection will no longer request a PTY by default. This can be enabled per builder.
- 🏗 builder/digitalocean: no longer supports the v1 API which has been
deprecated for some time. Most configurations should continue to
work as long as you use the
api_token
field for auth. - 🏗 builder/digitalocean:
image
,region
, andsize
are now required. - 🏗 builder/openstack: auth parameters have been changed to better reflect OS terminology. Existing environment variables still work.
🔋 FEATURES:
- WinRM: You can now connect via WinRM with almost every builder. See the docs for more info. [GH-2239]
- 🏁 Windows AWS Support: Windows AMIs can now be built without any external plugins: Packer will start a Windows instance, get the admin password, and can use WinRM (above) to connect through. [GH-2240]
- Disable SSH: Set
communicator
to "none" in any builder to disable SSH connections. Note that provisioners won't work if this is done. [GH-1591] - SSH Agent Forwarding: SSH Agent Forwarding will now be enabled to allow access to remote servers such as private git repos. [GH-1066]
- SSH Bastion Hosts: You can now specify a bastion host for SSH access (works with all builders). [GH-387]
- OpenStack v3 Identity: The OpenStack builder now supports the v3 identity API.
- 🏗 Docker builder supports SSH: The Docker builder now supports containers
with SSH, just set
communicator
to "ssh" [GH-2244] - File provisioner can download: The file provisioner can now download files out of the build process. [GH-1909]
- 🆕 New config function:
build_name
: The name of the currently running build. [GH-2232] - 🆕 New config function:
build_type
: The type of the currently running builder. This is useful for provisioners. [GH-2232] - 🆕 New config function:
template_dir
: The directory to the template being built. This should be used for template-relative paths. [GH-54] - 🆕 New provisioner: shell-local: Runs a local shell script. [GH-770]
- 🆕 New provisioner: powershell: Provision Windows machines with PowerShell scripts. [GH-2243]
- 🆕 New provisioner: windows-shell: Provision Windows machines with batch files. [GH-2243]
- 🆕 New provisioner: windows-restart: Restart a Windows machines and wait for it to come back online. [GH-2243]
- 👍 Compress post-processor supports multiple algorithms: The compress post-processor now supports lz4 compression and compresses gzip in parallel for much faster throughput.
👌 IMPROVEMENTS:
- 🚦 core: Interrupt handling for SIGTERM signal as well. [GH-1858]
- 👍 core: HTTP downloads support resuming. [GH-2106]
- builder/*: Add
ssh_handshake_attempts
to configure the number of handshake attempts done before failure. [GH-2237]
- builder/*: Add
- 🏗 builder/amazon: Add
force_deregister
option for automatic AMI deregistration. [GH-2221] - 🏗 builder/amazon: Now applies tags to EBS snapshots. [GH-2212]
- 🏗 builder/amazon: Clean up orphaned volumes from Source AMIs. [GH-1783]
- 🏗 builder/amazon: Support custom keypairs. [GH-1837]
- 🏗 builder/amazon-chroot: Can now resize the root volume of the resulting
AMI with the
root_volume_size
option. [GH-2289] - 🏗 builder/amazon-chroot: Add
mount_options
configuration option for providing options to themount
command. [GH-2296] - 🏗 builder/digitalocean: Save SSH key to pwd if debug mode is on. [GH-1829]
- 🏗 builder/digitalocean: User data support. [GH-2113]
- 🏗 builder/googlecompute: Option to use internal IP for connections. [GH-2152]
- 🏗 builder/parallels: Support Parallels Desktop 11. [GH-2199]
- 🏗 builder/openstack: Add
rackconnect_wait
for Rackspace customers to wait for RackConnect data to appear - 🏗 builder/openstack: Add
ssh_interface
option for rackconnect for users that have prohibitive firewalls - 🏗 builder/openstack: Flavor names can be used as well as refs
- 🏗 builder/openstack: Add
availability_zone
[GH-2016] - 🏗 builder/openstack: Machine will be stopped prior to imaging if the
cluster supports the
startstop
extension. [GH-2223] - 🏗 builder/openstack: Support for user data. [GH-2224]
- 🏁 builder/qemu: Default accelerator to "tcg" on Windows. [GH-2291]
- builder/virtualbox: Added option:
ssh_skip_nat_mapping
to skip the automatic port forward for SSH and to use the guest port directly. [GH-1078] - 🏗 builder/virtualbox: Added SCSI support
- 🏗 builder/vmware: Support for additional disks. [GH-1382]
- 🏗 builder/vmware: Can now customize the template used for adding disks. [GH-2254]
- command/fix: After fixing, the template is validated. [GH-2228]
- command/push: Add
-name
flag for specifying name from CLI. [GH-2042] - 🔧 command/push: Push configuration in templates supports variables. [GH-1861]
- 🐳 post-processor/docker-save: Can be chained. [GH-2179]
- 🐳 post-processor/docker-tag: Support
force
option. [GH-2055] - 🐳 post-processor/docker-tag: Can be chained. [GH-2179]
- 👍 post-processor/vsphere: Make more fields optional, support empty resource pools. [GH-1868]
- provisioner/puppet-masterless:
working_directory
option. [GH-1831] - 🏗 provisioner/puppet-masterless:
packer_build_name
andpacker_build_type
are default facts. [GH-1878] - provisioner/puppet-server:
ignore_exit_codes
option added. [GH-2280]
🐛 BUG FIXES:
- 🔌 core: Fix potential panic for post-processor plugin exits. [GH-2098]
- core:
PACKER_CONFIG
may point to a non-existent file. [GH-2226] - builder/amazon: Allow spaces in AMI names when using
clean_ami_name
[GH-2182] - 🏗 builder/amazon: Remove deprecated ec2-upload-bundle parameter. [GH-1931]
- 🏗 builder/amazon: Use IAM Profile to upload bundle if provided. [GH-1985]
- 🏗 builder/amazon: Use correct exit code after SSH authentication failed. [GH-2004]
- 🏗 builder/amazon: Retry finding created instance for eventual consistency. [GH-2129]
- 🏗 builder/amazon: If no AZ is specified, use AZ chosen automatically by AWS for spot instance. [GH-2017]
- 🏗 builder/amazon: Private key file (only available in debug mode) is deleted on cleanup. [GH-1801]
- 🏗 builder/amazon: AMI copy won't copy to the source region. [GH-2123]
- 🏗 builder/amazon: Validate AMI doesn't exist with name prior to build. [GH-1774]
- 🏗 builder/amazon: Improved retry logic around waiting for instances. [GH-1764]
- 🏗 builder/amazon: Fix issues with creating Block Devices. [GH-2195]
- 🏗 builder/amazon/chroot: Retry waiting for disk attachments. [GH-2046]
- 🏗 builder/amazon/chroot: Only unmount path if it is mounted. [GH-2054]
- 🏗 builder/amazon/instance: Use
-i
in sudo commands so PATH is inherited. [GH-1930] - 🏗 builder/amazon/instance: Use
--region
flag for bundle upload command. [GH-1931] - 🏗 builder/digitalocean: Wait for droplet to unlock before changing state, should lower the "pending event" errors.
- 🏗 builder/digitalocean: Ignore invalid fields from the ever-changing v2 API
- 🏗 builder/digitalocean: Private images can be used as a source. [GH-1792]
- 🏗 builder/docker: Fixed hang on prompt while copying script
- 🏗 builder/docker: Use
docker exec
for newer versions of Docker for running scripts. [GH-1993] - 🏗 builder/docker: Fix crash that could occur at certain timed ctrl-c. [GH-1838]
- 🏗 builder/docker: validate that
export_path
is not a directory. [GH-2105] - 🏗 builder/google:
ssh_timeout
is respected. [GH-1781] - 🏗 builder/openstack:
ssh_interface
can be used to specify the interface to retrieve the SSH IP from. [GH-2220] - 🏗 builder/qemu: Add
disk_discard
option. [GH-2120] - 🏗 builder/qemu: Use proper SSH port, not hardcoded to 22. [GH-2236]
- 🏗 builder/qemu: Find unused SSH port if SSH port is taken. [GH-2032]
- 🏗 builder/virtualbox: Bind HTTP server to IPv4, which is more compatible with OS installers. [GH-1709]
- 🏗 builder/virtualbox: Remove the floppy controller in addition to the floppy disk. [GH-1879]
- 🏗 builder/virtualbox: Fixed regression where downloading ISO without a ".iso" extension didn't work. [GH-1839]
- 🏗 builder/virtualbox: Output dir is verified at runtime, not template validation time. [GH-2233]
- 🏗 builder/virtualbox: Find unused SSH port if SSH port is taken. [GH-2032]
- 🏗 builder/vmware: Add 100ms delay between keystrokes to avoid subtle timing issues in most cases. [GH-1663]
- 🏗 builder/vmware: Bind HTTP server to IPv4, which is more compatible with OS installers. [GH-1709]
- 🏗 builder/vmware: Case-insensitive match of MAC address to find IP. [GH-1989]
- 🏗 builder/vmware: More robust IP parsing from ifconfig output. [GH-1999]
- 🏗 builder/vmware: Nested output directories for ESXi work. [GH-2174]
- 🏗 builder/vmware: Output dir is verified at runtime, not template validation time. [GH-2233]
- 🏗 command/fix: For the
virtualbox
tovirtualbox-iso
builder rename, provisioner overrides are now also fixed. [GH-2231] - 🏗 command/validate: don't crash for invalid builds. [GH-2139]
- 🏁 post-processor/atlas: Find common archive prefix for Windows. [GH-1874]
- post-processor/atlas: Fix index out of range panic. [GH-1959]
- 🛠 post-processor/vagrant-cloud: Fixed failing on response
- post-processor/vagrant-cloud: Don't delete version on error. [GH-2014]
- post-processor/vagrant-cloud: Retry failed uploads a few times
- 0️⃣ provisioner/chef-client: Fix permissions issues on default dir. [GH-2255]
- provisioner/chef-client: Node cleanup works now. [GH-2257]
- provisioner/puppet-masterless: Allow manifest_file to be a directory
- provisioner/salt-masterless: Add
--retcode-passthrough
to salt-call - provisioner/shell: chmod executable script to 0755, not 0777. [GH-1708]
- provisioner/shell: inline commands failing will fail the provisioner. [GH-2069]
- provisioner/shell: single quotes in env vars are escaped. [GH-2229]
- provisioner/shell: Temporary file is deleted after run. [GH-2259]
- 0️⃣ provisioner/shell: Randomize default script name to avoid strange race issues from Windows. [GH-2270]