Vagrant v1.7.0 Release Notes
Release Date: 2014-12-09 // over 9 years ago-
๐ฅ BREAKING CHANGES:
- provisioners/ansible:
raw_arguments
has now highest priority - provisioners/ansible: only the
ssh
connection transport is supported (paramiko
can be enabled withraw_arguments
at your own risks)
๐ FEATURES:
- Vagrant Push: Vagrant can now deploy!
vagrant push
is a single command to deploy your application. Deploy to Heroku, FTP, or HashiCorp's commercial product Atlas. New push strategies can be added with plugins. - Named provisioners: Provisioners can now be named. This name is used
for output as well as
--provision-with
for better control. - Default provider logic improved: Providers in
config.vm.provider
blocks in your Vagrantfile now have higher priority than plugins. Earlier providers are chosen before later ones. [GH-3812] - If the default insecure keypair is used, Vagrant will automatically replace
it with a randomly generated keypair on first
vagrant up
. [GH-2608] - Vagrant Login is now part of Vagrant core
- Chef Zero provisioner: Use Chef 11's "local" mode to run recipes against an in-memory Chef Server
- Chef Apply provisioner: Specify inline Chef recipes and recipe snippets using the Chef Apply provisioner
๐ IMPROVEMENTS:
- core:
has_plugin?
function now takes a second argument which is a version constraint requirement. [GH-4650] - core: ".vagrantplugins" file in the same folder as your Vagrantfile will be loaded for defining inline plugins. [GH-3775]
- commands/plugin: Plugin list machine-readable output contains the plugin name as the target for versions and other info. [GH-4506]
- env/with_cleanenv: New helper for plugin developers to use when shelling out to another Ruby environment
- guests/arch: Support predictable network interface naming. [GH-4468]
- guests/suse: Support NFS client install, rsync setup. [GH-4492]
- guests/tinycore: Support changing host names. [GH-4469]
- guests/tinycore: Support DHCP-based networks. [GH-4710]
- guests/windows: Hostname can be set without reboot. [GH-4687]
- providers/docker: Build output is now shown. [GH-3739]
- providers/docker: Can now start containers from private repositories more easily. Vagrant will login for you if you specify auth. [GH-4042]
- providers/docker:
stop_timeout
can be used to modify thedocker stop
timeout. [GH-4504] - provisioners/chef: Automatically install Chef when using a Chef provisioner.
- provisioners/ansible: Always show Ansible command executed when Vagrant log level is debug (even if ansible.verbose is false)
- synced_folders/nfs: Won't use
sudo
to write to /etc/exports if there are write privileges. [GH-2643] - synced_folders/smb: Credentials from one SMB will be copied to the rest. [GH-4675]
๐ BUG FIXES:
- core: Fix cases where sometimes SSH connection would hang.
- core: On a graceful halt, force halt if capability "insert public key" is missing. [GH-4684]
- core: Don't share
/vagrant
if any "." folder is shared. [GH-4675] - core: Fix SSH private key permissions more aggressively. [GH-4670]
- core: Custom Vagrant Cloud server URL now respected in more cases.
- core: On downloads, don't continue downloads if the remote server doesn't support byte ranges. [GH-4479]
- core: Box downloads recognize more complex content types that include "application/json" [GH-4525]
- core: If all sub-machines are
autostart: false
, don't start any. [GH-4552] - core: Update global-status state in more cases. [GH-4513]
- core: Only delete machine state if the machine is not created in initialize
- commands/box:
--cert
flag works properly. [GH-4691] - command/docker-logs: Won't crash if container is removed. [GH-3990]
- command/docker-run: Synced folders will be attached properly. [GH-3873]
- command/rsync: Sync to Docker containers properly. [GH-4066]
- guests/darwin: Hostname sets bonjour name and local host name. [GH-4535]
- guests/freebsd: NFS mounting can specify the version. [GH-4518]
- guests/linux: More descriptive error message if SMB mount fails. [GH-4641]
- guests/rhel: Hostname setting on 7.x series works properly. [GH-4527]
- guests/rhel: Installing NFS client works properly on 7.x [GH-4499]
- guests/solaris11: Static IP address preserved after restart. [GH-4621]
- guests/ubuntu: Detect with
lsb_release
instead of/etc/issue
. [GH-4565] - hosts/windows: RDP client shouldn't map all drives by default. [GH-4534]
- providers/docker: Create args works. [GH-4526]
- providers/docker: Nicer error if package is called. [GH-4595]
- providers/docker: Host IP restriction is forwarded through. [GH-4505]
- providers/docker: Protocol is now honored in direct `ports settings.
- providers/docker: Images built using
build_dir
will more robustly capture the final image. [GH-4598] - providers/docker: NFS synced folders now work. [GH-4344]
- providers/docker: Read the created container ID more robustly.
- providers/docker:
vagrant share
uses correct IP of proxy VM if it exists. [GH-4342] - providers/docker:
vagrant_vagrantfile
expands home directory. [GH-4000] - providers/docker: Fix issue where multiple identical proxy VMs would be created. [GH-3963]
- providers/docker: Multiple links with the same name work. [GH-4571]
- providers/virtualbox: Show a human-friendly error if VirtualBox didn't clean up an existing VM. [GH-4681]
- providers/virtualbox: Detect case when VirtualBox reports 0.0.0.0 as IP address and don't allow it. [GH-4671]
- providers/virtualbox: Show more descriptive error if VirtualBox is reporting an empty version. [GH-4657]
- provisioners/ansible: Force
ssh
(OpenSSH) connection by default [GH-3396] - provisioners/ansible: Don't use or modify
~/.ssh/known_hosts
file by default, similarly to native vagrant commands [GH-3900] - provisioners/ansible: Use intermediate Docker host when needed. [GH-4071]
- provisioners/docker: Get GPG key over SSL. [GH-4597]
- provisioners/docker: Search for docker binary in multiple places. [GH-4580]
- provisioners/salt: Highstate works properly with a master. [GH-4471]
- provisioners/shell: Retry getting SSH info a few times. [GH-3924]
- provisioners/shell: PowerShell scripts can have args. [GH-4548]
- synced_folders/nfs: Don't modify NFS exports file if no exports. [GH-4619]
- synced_folders/nfs: Prune exports for file path IDs. [GH-3815]
๐ PLUGIN AUTHOR CHANGES:
Machine#action
can be called with the optionlock: false
to not acquire a machine lock.Machine#reload
will now properly trigger themachine_id_changed
callback on providers.
- provisioners/ansible: