Commit Graph

2461 Commits

Author SHA1 Message Date
Satoshi Matsumoto 73d5718da3 guests/fedora: don't fail if nmcli doesn't exist on the guest 2015-07-11 16:14:11 +09:00
Seth Vargo 5f383b546c Use sudo for read_ip_address capability
Fixes #4868
2015-07-10 13:25:11 -06:00
Seth Vargo 516d475f16 Checksum args to each docker container in local data
This allows Vagrant to calculate if a container's arguments (such as the run
arguments) have changed in the Vagrantfile since the original run.

Fixes GH-3055
2015-07-10 11:32:02 -06:00
Seth Vargo 3e3037f313 Add a space before args 2015-07-10 10:49:21 -06:00
Gilles Cornu 3842a1f710 provisioners/ansible: provide ssh identities via ANSIBLE_SSH_ARGS (when necessary)
When provisioning multiple machines in sequence (the default vagrant
behaviour), it doesn't make sense to require to provide the private ssh
key(s) via the custom ansible inventory script/file.

To align with the handling of multiple ssh keys per machine, we won't
rely any longer on `--private-key` command line argument, but only pass
the keys via `ANSIBLE_SSH_ARGS` environment variable.

Note that when vagrant generates the ansible inventory and that only one
key is associated to a VM, this step would be redundant, and therefore
won't be applied.

This change fixes the breaking change introduced by 3d62a91.
2015-07-10 08:51:17 +02:00
Luis Pabón f0718d620d provisioners/ansible: Put ssh key in the inventory
Vagrant 1.7.1 creates and injects new ssh keys for each virtual machine.
When it started ansible with the "parallel provisioning trick",
it would only send the ssh key of the targeted virtual machine.
With this change, vagrant now stores the ssh key for each virtual
machines directly in the generated ansible inventory, and thus allow
ansible parallelism.

Note that this change is not sufficient, as it would break vagrant
configuration based on a custom inventory (file or script). This issue
will be addressed in a next commit.

Signed-off-by: Luis Pabón <lpabon@redhat.com>
2015-07-10 08:39:49 +02:00
Seth Vargo 4b1847acf3 Use Chef Client for Chef Zero
Fixes GH-5619
2015-07-09 21:23:42 -06:00
Seth Vargo 40b94afeb5 Update command builder now that provisioning_path has moved to runtime 2015-07-09 17:46:39 -06:00
Seth Vargo 60330218fb Merge pull request #5913 from mitchellh/sethvargo/windows_chef_paths
Use windows-specific Chef paths
2015-07-09 17:05:40 -06:00
Seth Vargo e9bcf147f0 Prefix with guest_ 2015-07-09 17:01:36 -06:00
Seth Vargo 0e039159a6 Calculate Chef paths at provision time 2015-07-09 16:55:55 -06:00
Nicholas Randon eb6aa2ac8c Allow Ansible provisioner to run reliably in parallel
The Ansible Vagrant provisioner has a race where the inventory file is
updated every time the provisioner runs unless a file is provided.

Therefore if Ansible attempts to provision two nodes in parallel, you
may see the following race:
   * System A writes the inventory file and calls Ansible.
   * System B starts to provision and truncates the file before
     creating a new one.
   * Ansible on system A now attempts to read the inventory
     file, which is blank. Ansible bombs out with "ERROR: provided
     hosts list is empty".

To fix this, we only allow Vagrant to update the inventory file if
it needs to.
2015-07-10 00:53:59 +02:00
Seth Vargo 742d47c4cf No longer need subprocess wrapping there :) 2015-07-09 16:06:03 -06:00
Mitchell Hashimoto 790c625bc0 Merge pull request #5884 from dcbw/dcbw/fedora-network-mac-address
[fedora] honor MAC address when configuring networks
2015-07-09 16:01:33 -06:00
Mitchell Hashimoto cea44847de Merge branch 'filter_synced_folders' of https://github.com/maxlinc/vagrant into maxlinc-filter_synced_folders 2015-07-09 15:05:52 -06:00
Mitchell Hashimoto d51c5fbc69 Merge pull request #5435 from juiceinc/bugfix/salt-provisioner
Update Salt provisioner to allow more flexibility in passing arguments to the bootstrap script
2015-07-09 15:02:34 -06:00
Mitchell Hashimoto 5fd3ab5bb0 Merge pull request #5706 from jim-minter/master
Remove docker0 from guest network interface enumeration
2015-07-09 14:31:00 -06:00
Mitchell Hashimoto c65c62b2c1 Merge pull request #5880 from strzibny/fix-nfs
Fix: Rewrite Red Hat NFS handling based on systemd
2015-07-09 14:27:30 -06:00
Mitchell Hashimoto 3cad495064 Merge pull request #5887 from msabramo/config.ssh.ssh_command
Add setting config.ssh.ssh_command
2015-07-09 14:24:48 -06:00
Mitchell Hashimoto f1618f5ec8 providers/docker: don't remove image on reload for build cache 2015-07-09 14:23:26 -06:00
Adrian Guenter 9bdefb5c59 Don't destroy built Docker image on reload 2015-07-09 16:15:56 -04:00
Mitchell Hashimoto 300b9c9109 provisioners/chef: don't check existing set, unique ID
[GH-5199]
2015-07-09 14:04:12 -06:00
Mitchell Hashimoto d5458247c7 update to latest listen 2015-07-09 11:18:36 -06:00
Mitchell Hashimoto 9596b7a46c synced_folders/rsync-auto: don't crash if rsync command fails [GH-4991] 2015-07-09 11:11:58 -06:00
Mitchell Hashimoto d95dad9a79 synced_folders/rsync: command help [GH-5868] 2015-07-09 10:58:45 -06:00
Mitchell Hashimoto 964f340f09 synced_folders/nfs: verify_installed option [GH-5269] 2015-07-09 10:24:40 -06:00
Mitchell Hashimoto 31448d126b synced_folders/rsync: can set rsync_path [GH-3966] 2015-07-09 10:02:38 -06:00
Mitchell Hashimoto c1508cd893 kernel/v2: customizable sudo_command [GH-5573] 2015-07-09 09:30:47 -06:00
Mitchell Hashimoto 536ea0729b providers/virtualbox: name for private network chooses right interface
[GH-5389]
2015-07-08 18:35:44 -06:00
Mitchell Hashimoto 45a5bc3bd9 kernel/v2: make provisioner name show up on invalid [GH-5902] 2015-07-08 17:50:36 -06:00
Mitchell Hashimoto 9dd87b289e providers/docker: validate config after HandleBox [GH-5667] 2015-07-08 17:45:32 -06:00
Mitchell Hashimoto be21604d45 providers/docker: style on custom Dockerfile 2015-07-08 16:07:57 -06:00
Mitchell Hashimoto 8d725c1f27 Merge pull request #5482 from duro/support-named-dockerfile
Support for Docker 1.5.0 named Dockerfile
2015-07-08 16:06:13 -06:00
Mitchell Hashimoto 0b6938d8ab core: don't prepare folders in disable ode 2015-07-08 15:43:42 -06:00
Mitchell Hashimoto 1c203405d2 providers/docker: fix crash if host VM file can't be foundJ:wq
gs
2015-07-08 12:31:24 -06:00
Mitchell Hashimoto 9dd5640324 provisioners/docker: for debian, chmod the var lib docker folder 2015-07-08 12:13:25 -06:00
Mitchell Hashimoto 606a8fdde2 providers/docker: validate create args is list [GH-4850] 2015-07-08 10:25:32 -06:00
Mitchell Hashimoto 855aa66ad9 providers/docker: better error on suspend 2015-07-08 10:18:43 -06:00
Mitchell Hashimoto dbf0af2e3f providers/docker: don't pull if image is built 2015-07-08 10:10:43 -06:00
Mitchell Hashimoto c2cae80de5 providers/dock: pull image prior to starting 2015-07-08 10:09:15 -06:00
Mitchell Hashimoto 26fe5ac89f guests/tinycore: more robust rsync install 2015-07-08 09:47:48 -06:00
Mitchell Hashimoto 0d561ddf94 guests/tinycore: fix rsync install on 64-bit b2d 2015-07-07 16:21:34 -06:00
Mitchell Hashimoto 72b3ccd64f providers/docker: use new b2d box 2015-07-07 16:06:04 -06:00
Mitchell Hashimoto dd69de1073 communicators/ssh: only try auth methods that are valid 2015-07-07 16:06:03 -06:00
Gilles Cornu 839a2e6fa6 provisioners/ansible: show ansible-playbook only when the verbose option is enabled
Revert 1c884fa4e5 which introduced the
following bug:

Instead of allowing to dump the `ansible-playbook` command details when
VAGRANT_LOG=debug was defined, it was then impossible to disable this
console output when VAGRANT_LOG was undefined (in such case,
``@logger.debug? systematically returns `true`)

In order to keep things simple and focused, it is preferable to drop the
bad idea to mix Ansible verbosity and Vagrant log level.

Fix #5803
2015-07-07 22:37:06 +02:00
Mitchell Hashimoto 9c7f666e48 provisioners/docker: support restart flag [GH-4477] 2015-07-07 12:17:24 -06:00
Pat O'Shea da67824a53 Adding run_service and minion/master ids for windows 2015-07-07 00:24:23 -06:00
Mitchell Hashimoto 33d4f4d2a9 push/local-exec: close temp script, fix inline [GH-5695] 2015-07-06 23:42:07 -06:00
Mitchell Hashimoto 0b9ec53f46 commands/rdp: support username param [GH-5460] 2015-07-06 23:07:22 -06:00
Mitchell Hashimoto cd18eddb1c providers/virtualbox: fix bug, make message clearer 2015-07-06 18:18:13 -06:00
Mitchell Hashimoto 71940c60ba providers/virtualbox: error if uid mismatch 2015-07-06 18:13:59 -06:00
Mitchell Hashimoto 92e6062f8d Merge pull request #5622 from aneeshusa/fix-mounting-with-inactive-upstart
Check Upstart is running before emitting upstart events.
2015-07-06 16:20:21 -06:00
Mitchell Hashimoto 709f20b54f Merge pull request #5651 from nspaeth/docker-download
Implement docker download method
2015-07-06 15:34:27 -06:00
Mitchell Hashimoto 4d4d2a4eec Merge pull request #5731 from strzibny/rhel
Fix RHEL name and description
2015-07-06 15:31:26 -06:00
Mitchell Hashimoto 6c8c15b2ab Merge pull request #5753 from jfilip/fix/master/ubuntu_vivid_hostname
Fix #5673 - Use hostnamectl to set the hostname on Ubuntu Vivid 15.
2015-07-06 15:28:23 -06:00
Mitchell Hashimoto a8580353b1 Merge pull request #5773 from willdurand/fix-sed
guest/linux: Being able to edit a file does not mean you can write in its parent directory
2015-07-06 15:26:56 -06:00
Mitchell Hashimoto d0b359cecf Merge pull request #5798 from mwrock/preferipv4
prefer ipv4 host address over ipv6 for smb synced folders
2015-07-06 15:23:08 -06:00
Mitchell Hashimoto bd0626672b Merge pull request #5818 from mitchellh/issue-5790-password-in-cleartext
provisioner/shell: remove plaintext auth from Windows powershell
2015-07-06 15:21:47 -06:00
Mitchell Hashimoto a0326751e6 Merge pull request #5847 from strzibny/atomic-guest
guest/atomic: Add Atomic guest support
2015-07-06 15:20:02 -06:00
Mitchell Hashimoto 4d2e8fd591 Merge pull request #5860 from arthurvanduynhoven/docker-provisioner-deb-fix
provisioner/docker: Docker Provisioner fails on Debian [ubuntu/trusty64]
2015-07-06 15:16:03 -06:00
Mitchell Hashimoto cc2d393611 Merge pull request #5892 from PatOShea/master
provisioner/salt: Updated version for windows and added passing in version via vagrantfile
2015-07-06 15:11:08 -06:00
Mitchell Hashimoto f5e38a4a14 kernel/v2: not an error if synced folder guest path is empty [GH-4833] 2015-07-06 14:58:48 -06:00
Mitchell Hashimoto 6dffec4bf9 guests/solaris11: fix suexec inheritence [GH-5247] 2015-07-06 14:23:24 -06:00
Mitchell Hashimoto 2fc8d99f6d provisioners/file: validate source relative to Vagrantfile path
[GH-5252]
2015-07-06 14:22:00 -06:00
Jeff Quast 1ac3d17773 bugfix: undefined local variable or method `dir'
resolves bug introduced in 74d22069d4
2015-07-06 11:39:07 -07:00
Mitchell Hashimoto fec6ef11c8 provisioners/puppet: just quiet the NFS errors for Puppet [GH-5456] 2015-07-06 11:19:32 -06:00
Mitchell Hashimoto d03b1f6930 push/atlas: ATLAS_TOKEN env var works [GH-5489] 2015-07-06 11:01:50 -06:00
Mitchell Hashimoto e64cef9d31 provisioners/chef: fix crash if run list is somehow nil [GH-5545] 2015-07-05 17:30:29 -07:00
Mitchell Hashimoto 262b50bc02 guests/linux: fix exception when printf is empty [GH-5846] 2015-07-05 17:14:48 -07:00
Mitchell Hashimoto 67c14c4889 guests/openbsd: add newline after insert_public_key [GH-5881] 2015-07-05 17:10:10 -07:00
Mitchell Hashimoto 36fa04fd1e providers/virtualbox: catch subprocess launch error [GH-1483] 2015-07-05 17:01:06 -07:00
Pat O'Shea eab702da83 Adding config to set version to install 2015-07-04 01:25:31 -06:00
Marc Abramowitz 9240ea30b6 Add setting config.ssh.ssh_command
Lets the user specify what ssh to use or even direct Vagrant to use an
ssh wrapper like sshrc (https://github.com/Russell91/sshrc).
2015-07-01 23:33:13 -07:00
Dan Williams 49c4581a8c [fedora] honor MAC address when configuring networks
Configuring by :interface doesn't work very well because Vagrant has
no idea about what interfaces are present in the VM, for example if
the image has 'docker' installed but not biosdevname, then
interface_names[0] = "docker0" which is usually not what you want
mapped to the first network from the Vagrantfile.

So if the plugins (like vagrant-libvirt) or the Vagrantfile has
given us a network with a MAC address, use that to find the interface
name for the network.  Otherwise use slot numbers as before.
2015-06-30 16:43:36 -05:00
Josef Stribny a151f7172a Remove Fedora nfs cap 2015-06-30 10:23:15 +02:00
Josef Stribny c4733a02d4 Rewrite Red Hat nfs caps based on systemd checks 2015-06-30 10:21:58 +02:00
arthurvanduynhoven 94549ab755 Need to do update before installing linux-image-extra kernel in case system is outdated. 2015-06-24 14:56:28 +02:00
Shawn Neal 1152b4e1df Fix issue 5790
Leaving around plaintext username and passwords in a script on a box isn't the best from a security standpoint. This change ensures the scheduled task wrapper script for WinRM doesn't leave these around on the box, and instead passes them to the script as arguments.
2015-06-10 16:04:46 -07:00
Francesco ca8923835a Use the extended password parameter, more compatible 2015-06-08 04:13:23 +01:00
Matt Wrock ac9b0b7978 prefer ipv4 host address over ipv6 for smb synced folders 2015-06-05 06:19:58 -07:00
Manuel Pöter 9d63ca4dd2 Acquire lock to prevent concurrent creation of master VM for the same box. 2015-06-03 13:31:43 +02:00
Seth Vargo b92d4b21a1 Add UI::Interface#color? 2015-06-01 11:49:09 -04:00
Tim O'Guin 72e63767ac Salt Provisioner: refactor custom install_type option to add install_command instead 2015-06-01 10:37:41 -05:00
Tim O'Guin 0b24866537 merged in master and resolved conflict in Salt provisioner docs 2015-06-01 10:07:28 -05:00
William Durand 6ff15fbedb
Being able to edit a file does not mean you can write in its parent directory
Interactive `sed` needs write permission on the file itself. However, it
may create a backup file, which leads to the fact that the directory
where the file is located must be writable as well. That is a side
effect because this directory does not need to be writable.

This patch fixes this side effect by editing the file in `/tmp`, and
replaces it right after.
2015-06-01 10:02:13 +02:00
Gilles Cornu f7894d9c8c provisioners/ansible: fix broken colorized output
After #5532 (e745436df3), it was no longer
possible to enable ansible colorized output. Even though
`ANSIBLE_NOCOLOR` has no effect *at the moment* in vagrant+ansible
integration, I agree to keep it for clarity and consistence.

The new `--no-color` behaviour (bug fix #5531) is now covered by a unit
test.

//cc @marsam, @sethvargo
2015-06-01 08:36:09 +02:00
Seth Vargo 2daa9ed175 Merge pull request #5591 from paperlesspost/extract_shell_cmd
Move shell_cmd to a method in SSH::Communicator
2015-05-31 20:57:46 -07:00
Seth Vargo 3017243a24 Merge pull request #5577 from luciddg/fix/master/docker-provisioner-restart-fix
Use service command to restart docker, not upstart.
2015-05-31 20:44:48 -07:00
Seth Vargo 6a48af6350 Merge pull request #5532 from marsam/fix/master/ansible-no-color
Disable color if in ansible provisioner if Vagrant has no color
2015-05-31 20:34:06 -07:00
Seth Vargo dc713cbd66 Merge pull request #5517 from obnoxxx/fix-freebsd-ssh-remove-key
guests/freebsd: fix call of set -i : missing extension
2015-05-31 20:31:04 -07:00
Seth Vargo 6309847420 Merge pull request #5512 from johnsonj/issue_3620
For SMB on Linux guests, specify the user's domain as a separate parameter
2015-05-31 20:19:08 -07:00
Seth Vargo 624a3200f3 Merge pull request #5478 from aogail/ignore-windows-virtual-network-connections
Ignore Windows NICs with nil :net_connection_id
2015-05-31 20:10:08 -07:00
Seth Vargo f5c77765fa Merge pull request #5437 from Jamezz/master
Fix issue #4152: Salt minion bootstrapping
2015-05-31 20:08:32 -07:00
Seth Vargo 19f3c10777 Always return the version 2015-05-31 19:02:24 -07:00
Seth Vargo 30dda77454 Remove unneeded tap on nfs_client cap for Fedora 2015-05-31 19:02:23 -07:00
Seth Vargo 3fcd3d691a Fix syntax errors and style on Fedora flavor cap 2015-05-31 19:02:23 -07:00
langdon efd7b459dd Add more capabilities for Fedora guests 2015-05-31 19:02:23 -07:00
Seth Vargo 6b2ef13785 Be more defensive when trying to get the line number
Since this is the last line of defense before raising an error, we want to make
sure we don't cause an error while trying to render the error.
2015-05-31 18:32:23 -07:00
Adam Spiers ce13051d61 eliminate guesswork with Vagrantfile errors
If the Vagrantfile has some kind of error, display not only
its path and the exception message, but also the originating
line number and exception class.

Also log the full backtrace when the error is in a provider
block, just as it is done when it's outside a provider block.
2015-05-31 18:25:51 -07:00
Seth Vargo b90807648b Style fixes 2015-05-31 10:19:03 -07:00