Commit Graph

2000 Commits

Author SHA1 Message Date
Gilles Cornu 178942cf27 provisioners/ansible: change arguments arrangement
- force `--connection=ssh` (any other modes like paramiko or smart are not
  supported)
- give the highest priority to `raw_arguments` for sake of simplicity (in
  usage, in code and in documentation)
- fix position of the `--limit` argument (the generated inventory could be
  shadowed by `raw_arguments`, while ansible.limit was able to override
  `raw_arguments`

ref #3396
2014-11-30 09:50:50 +01:00
Gilles Cornu 306c4f7eda provisioners/ansible: force --connection=ssh
When `--connection` argument is not specified, Ansible will use the
'smart' mode, which can either use `ssh` or `paramiko` transports,
depending of the version of OpenSSH available. If OpenSSH version is new
enough to support ControlPersist technology, `ssh` will be used.
See also http://docs.ansible.com/intro_configuration.html#transport.

In order to support some advanced features of Vagrant (e.g. multiple ssh
private key identities or ssh forwarding), the Ansible provisioner
already must force `ssh` connection mode.

Having to deal with the possible fallback to `paramiko` increase the
burden of special cases that Ansible provisioner must handle, without
any added value, as Vagrant is based on OpenSSH and its users are
usually using modern operating systems.

With this change, the Ansible provisioner will officially only support
`ssh`. It will still be possible to switch to another connection mode
via `raw_arguments`, but it will breach the "contract", and no
(community) support can be expected in such use case.

ref #3900, #3396
2014-11-30 09:50:50 +01:00
Gilles Cornu 1c884fa4e5 provisioners/ansible: Show Ansible command when VAGRANT_LOG=debug 2014-11-25 08:12:43 +01:00
Seth Vargo f86189a2fe Add Env.with_clean_env for resetting the Ruby and Rubygems environment 2014-11-10 12:00:23 -05:00
Seth Vargo f232dc38c9 Automatically install Chef when provisioning with Chef 2014-11-07 15:56:22 -05:00
Seth Vargo a8fa4bccc7 Add Chef::Config#install and Chef::Config#version options 2014-11-07 15:56:21 -05:00
Seth Vargo 8f35ecaa6f Extract runner-specific Chef configs into their own subclass
This separates the truly basic pieces of Chef (like install url and
log_level) from the runner pieces of Chef (like provisioning_path). This
is necessary because the Chef Apply provisioner does not actually need
most of the Chef configuration options.
2014-11-07 15:56:21 -05:00
Chris Jones b19abebdf0 Grammar fix to the network interface bridge question 2014-10-31 15:16:02 -04:00
Seth Vargo 59eb0ad2e8 Add Chef Apply provisioner 2014-10-30 15:32:15 -04:00
Seth Vargo 514101816b Fix alignment in the Chef Client config 2014-10-30 15:32:10 -04:00
Seth Vargo af9177550a Properly handle empty/nil values in Chef Solo config 2014-10-30 13:43:26 -04:00
Seth Vargo 7e71d72db8 Check for empty chef_server_url and validation_key_path 2014-10-30 13:43:25 -04:00
Seth Vargo 721edf70b9 Make Chef Zero lowercase in validation (conforms to other keys) 2014-10-30 13:43:25 -04:00
Seth Vargo 1169c80a72 Use require_relative for faster loading
require_relative is an order of magnitude faster on Windows
2014-10-30 13:43:25 -04:00
Teemu Matilainen dec5dcdda3 provisioners/chef: Add `chef_zero` provisioner
Add Chef Zero provisioner using `local_mode` configuration for
chef-solo/chef-client.
2014-10-30 13:43:24 -04:00
Adam Spiers 6af715b0db silence warnings about unescaped '-' in re char class
Eliminate warnings like this:

vagrant/plugins/hosts/linux/cap/nfs.rb:74: warning: character class has '-' without escape: /^# VAGRANT-BEGIN:( 1000)? ([\.\/A-Za-z0-9-_]+?)$/
2014-10-25 15:38:13 +01:00
Tarrant eeb11ec653 Merge branch 'master' of github.com:tarrant/vagrant 2014-10-24 13:54:16 -07:00
Tarrant 70fece7a99 Add support for DHCP on tinycore 2014-10-24 13:52:35 -07:00
Tarrant ba994baa65 Revert "guests/tinycore: error if DHCP [GH-4699]"
This reverts commit 64139f2158.
2014-10-24 13:52:06 -07:00
Mitchell Hashimoto ea983e32c8 hosts/*: NFS prune regexp matches file paths [GH-3815] 2014-10-24 12:16:53 -07:00
Mitchell Hashimoto 64139f2158 guests/tinycore: error if DHCP [GH-4699] 2014-10-24 11:24:16 -07:00
Mitchell Hashimoto 5418e6b85e guests: add remove_public_key to most guests 2014-10-24 10:05:01 -07:00
Mitchell Hashimoto 94b2a8a56b communicators/ssh: insert random key, remove insecure key 2014-10-24 09:58:18 -07:00
Mitchell Hashimoto 37a4000722 providers/virtualbox: more descriptive error if empty version [GH-4657] 2014-10-24 09:20:08 -07:00
Mitchell Hashimoto da91741b7c provisioners/shell: fix typo 2014-10-23 22:49:26 -07:00
Mitchell Hashimoto a7d3458abc provisioners/shell: retry getting SSH info a few times [GH-3924] 2014-10-23 22:48:48 -07:00
Mitchell Hashimoto cc01f01684 hosts/linux: don't use sudo to write NFS if writable [GH-2643] 2014-10-23 22:25:38 -07:00
Mitchell Hashimoto 6ea8dc8e20 core: cleaner output of what provisioner is running if named 2014-10-23 18:47:03 -07:00
Mitchell Hashimoto 97f9948fce core: provisioners are defined differently now 2014-10-23 18:40:14 -07:00
Mitchell Hashimoto aa981cf4ec hosts/bsd: only use sudo if we can't write /etc/exports [GH-2643] 2014-10-23 17:43:58 -07:00
Mitchell Hashimoto ad758bf69a core: prefer providers in the Vagrantfile [GH-3812] 2014-10-23 15:32:54 -07:00
Mitchell Hashimoto b656bf4ae5 providers/docker: build output [GH-3739] 2014-10-23 15:03:09 -07:00
Gilles Cornu 1e324093a5 provisioners/ansible: spare machine.ssh_info calls
As a result of #4670 and the safe decision to not memoize
machine.ssh_info (see 89a4a29d65 and
5036d16461), it is preferable to store the
ssh_info hashes and avoid multiple function calls when generating the
ansible inventory.
2014-10-23 22:58:01 +02:00
Mitchell Hashimoto f23c5ebc46 commands/plugin: list puts plugin namein machine readable output
[GH-4506]
2014-10-23 12:00:46 -07:00
Mitchell Hashimoto 06defb37c7 commands/up: if all machines autostart:false, start none [GH-4552] 2014-10-23 11:46:22 -07:00
Mitchell Hashimoto 37a04b4bfc provisioners/puppet: use correct error class [GH-4520] 2014-10-23 10:46:11 -07:00
Mitchell Hashimoto 4ffaaf119e providers/virtualbox: more hints when choosing interface [GH-4463] 2014-10-23 10:24:07 -07:00
Mitchell Hashimoto 9b9c24cb59 Merge pull request #4468 from SilverWyrda/arch-predictable-network-interface-names
guests/arch: Add support for predictable network interfaces names
2014-10-23 10:20:01 -07:00
Mitchell Hashimoto 26c468b5f9 Merge pull request #4469 from Gurpartap/tinycore-change_host_name-pr
change_host_name.rb for TinyCore Linux
2014-10-23 10:18:56 -07:00
Mitchell Hashimoto d04ec704c1 update CHANGELOG 2014-10-23 10:12:27 -07:00
Mitchell Hashimoto 4b4255c6d1 Merge pull request #4492 from tboerger/feature/suse-fixes
SUSE naming and capability fixes
2014-10-23 10:11:28 -07:00
Mitchell Hashimoto e30ba41104 Merge pull request #4499 from sprin/centos_7_nfs_client
Fix NFSClient plugin for Redhat / Centos 7 guests
2014-10-23 10:09:11 -07:00
Mitchell Hashimoto 4c0aa0d9cb update CHANGELOG 2014-10-23 10:04:58 -07:00
Mitchell Hashimoto fca6428ecd Merge pull request #4518 from lunetics/master
guests/freebsd: allow NFS version param
2014-10-23 10:03:41 -07:00
Mitchell Hashimoto f24af5dda4 Merge pull request #4527 from Asquera/bugfix/4465-host-not-added-to-etc-hosts
Fix #4465 update /etc/hosts on rhel 7 and derivatives (CentOS)
2014-10-23 09:57:12 -07:00
Mitchell Hashimoto d211e1c1d2 Merge pull request #4534 from matgnt/master
hosts/windows: Don't mount all drives into the RDP session
2014-10-23 09:56:11 -07:00
Mitchell Hashimoto 50b0ea8173 Merge pull request #4535 from plu/master
guests/darwin: Set ComputerName and LocalHostName on darwin guests
2014-10-23 09:55:13 -07:00
Mitchell Hashimoto 3f01a99148 provisioners/shell: rename shell_args to powershell-args 2014-10-23 09:53:14 -07:00
Mitchell Hashimoto f0a4e26d27 Merge pull request #4548 from ebelew/shellargs
Update powershell provisioning to fix #4547
2014-10-23 09:50:50 -07:00
Mitchell Hashimoto 35c9b59968 Merge pull request #4565 from dup2/patch-1
guests/ubuntu: A more reliable way to detect Ubuntu via lsb_release
2014-10-23 09:46:54 -07:00