Commit Graph

2000 Commits

Author SHA1 Message Date
Mitchell Hashimoto aa70a816a5 Merge pull request #3874 from gpurkins/sol11-networkfix
guests/solaris11: Added conditional for temporary interfaces
2014-05-22 10:22:30 -07:00
Mitchell Hashimoto 43f347a737 hosts/windows: RDP cap shouldn't remove tempfile [GH-3875] 2014-05-22 10:20:45 -07:00
Kalman Hazins bb052366f7 Change symbols inside hashes to 1.9 JSON-like syntax 2014-05-22 12:35:12 -04:00
gpurkins dcc7a755c9 added conditional for temporary interfaces 2014-05-21 18:21:05 -04:00
Mitchell Hashimoto 07dbe40e98 Merge pull request #3848 from shtouff/feat-capath
added capath option to curl Downloader
2014-05-20 20:50:26 -07:00
Mitchell Hashimoto 01a8e50235 hosts/windows: use subprocess to execute mstsc [GH-3837] 2014-05-20 20:47:32 -07:00
Mitchell Hashimoto 6c5251f499 providers/docker: verify host VM SSH is ready [GH-3838] 2014-05-20 20:41:48 -07:00
Mitchell Hashimoto 4e7a25f6de Merge pull request #3807 from mitchellh/fix-docker-ssh-wo-host-vm
providers/docker: Fix SSH access to container when no Host VM is in use
2014-05-20 20:32:21 -07:00
Mitchell Hashimoto f94b902023 kernel/v2? more clever: default port to guest port 2014-05-20 20:31:53 -07:00
Mitchell Hashimoto 8856bab04b kernel/v2: default SSH port to 22 2014-05-20 20:31:14 -07:00
Mitchell Hashimoto 6445ca3460 Merge pull request #3825 from marnovdm/feature/salt-windows-guest-provisioning
Feature/salt windows guest provisioning
2014-05-20 20:23:03 -07:00
Mitchell Hashimoto 2771bf8675 commands/rdp: avoid rdp_info being nil 2014-05-20 20:18:15 -07:00
Mitchell Hashimoto 4dbe534c02 commands/rdp: rdp_info cap if avail [GH-3832] 2014-05-20 20:17:21 -07:00
Mitchell Hashimoto d7fa60b5df communicators/winrm: use winrm_info cap if available [GH-3832] 2014-05-20 20:13:36 -07:00
Mitchell Hashimoto f369c13e25 hosts/linux: niceer error if rdesktop not found 2014-05-20 19:58:12 -07:00
Mitchell Hashimoto 2da21e3578 hosts/linux: rdp_client cap [GH-3845] 2014-05-20 19:55:36 -07:00
Mitchell Hashimoto 5bd0a99b31 providers/docker: don't port map SSH if no has_ssh [GH-3857] 2014-05-20 19:47:21 -07:00
Mitchell Hashimoto 0485413d0a Merge pull request #3847 from mitchellh/command-line-too-long-fix-for-winrm
guests/windows: fix #3816 long arg list
2014-05-20 19:38:53 -07:00
Mitchell Hashimoto 5ca475fc7d providers/virtualbox: check VBOX_MSI_INSTALL_PATH on Win [GH-3852] 2014-05-20 19:37:18 -07:00
Mitchell Hashimoto 690c119ae2 communicators/winrm: don't look up forwarded port if non-local [GH-3861] 2014-05-20 19:30:53 -07:00
Mitchell Hashimoto 3c4e129fb8 synced_folders/rsync: dup arg list [GH-3864] 2014-05-20 19:24:06 -07:00
Pavel Karoukin 6fc1dd7b8a For #3855
CoreOS vagrant's configuration code look for interface names starting with 'enp0', but in my case when deploying CoreOS image to libvirt environment interfaces had names 'ens4v1', 'ens5v2'

This patch should fix it, but it might be part of a bigger issue and having these two patterns might not cover all possible configurations.
2014-05-20 02:29:53 +02:00
Marno van der Molen 500c40fd42 Now wait for service to be registered before trying to start it 2014-05-19 19:00:18 +02:00
Rémi Paulmier 00a2670406 added capath option to curl Downloader 2014-05-19 18:08:23 +02:00
Marno van der Molen 6c97874839 Wait for to be populated & explicitly check for Running status of service 2014-05-19 17:50:22 +02:00
Shawn Neal 0d3979f80d Fixed issue 3816
Elevated command line is now rendered to a script which is uploaded to the guest and executed. This allows the command line itself to be less than 100 chars to start the script and any user commands are puts into the script which has unlimited* length.
2014-05-19 08:04:59 -07:00
Marno van der Molen fc3a2106fd Only try to copy keys & config if they have been uploaded 2014-05-19 15:52:20 +02:00
Marno van der Molen 1ddef49185 minor indentation fix 2014-05-19 14:10:58 +02:00
Marno van der Molen 6d0dd22864 Also copy minion config in bootstrap-salt.ps1 & update Salt docs to mention syndic/master not supported on Windows 2014-05-19 14:01:31 +02:00
Marno van der Molen 7cb50f8a12 Remove Salt Master & Salt Syndic changes - not supported on Windows by Salt 2014-05-19 14:00:46 +02:00
Marno van der Molen fbd919d52c Retries starting the salt-minion service several times and adds elevated: true to salt calls 2014-05-19 13:14:25 +02:00
Mitchell Hashimoto aa2cbae89b Merge pull request #3818 from RabidGuppy/master
Windows Guest: cannot assign static IP addresses in private_network when running vagrant on windows host
2014-05-19 02:14:06 -07:00
Mitchell Hashimoto 05ccf88c5f Merge pull request #3830 from cstrahan/nixos-guest
Add NixOS guest support
2014-05-18 02:22:02 -07:00
Charles Strahan 38d749dc1f Add NixOS guest support 2014-05-18 04:14:33 -04:00
Mitchell Hashimoto efd67e6c9d providers/docker: retry container ssh command [GH-3763] 2014-05-17 13:14:07 -07:00
Mitchell Hashimoto 9c7fb05d5f guests/darwin: respect NFS mount options [GH-3791] 2014-05-17 12:24:24 -07:00
Mitchell Hashimoto 72de106c8f Update CHANGELOG 2014-05-17 12:21:12 -07:00
Mitchell Hashimoto b1f3ac0783 Merge pull request #3783 from YungSang/topic
kernel/v2: set disabled to false whenever synced folder override
2014-05-17 12:19:50 -07:00
Mitchell Hashimoto f2b4f5411a providers/docker: don't use graceful shutdown [GH-3798] 2014-05-17 12:16:32 -07:00
Mitchell Hashimoto 34b7cace7b synced_folders/rsync: rsync__chown [GH-3810] 2014-05-17 12:01:50 -07:00
Marno van der Molen 01f2c52251 sometimes salt-minion wouldn't start - this seems stable so far across 10 deploys 2014-05-17 03:38:57 +02:00
Marno van der Molen 2ddffa4fc6 redirect output of mkdir statement to out-null in bootstrap-salt.ps1 2014-05-17 03:31:24 +02:00
Marno van der Molen 02f40b35fa Adds minimal implementation to deploy a Salt minion on Windows including support for pre-seeding the keys 2014-05-17 02:19:34 +02:00
Jason D. Smith 18894b81cd Inverting the hash of driver_mac_addresses returned by machine.provider.capability(:nic_mac_addresses).
The previous code expected the hash to use the mac addresses as the keys, the original code had the indices as the keys.
2014-05-16 12:56:30 -04:00
Fabio Rehm 7eecf31faa providers/docker: Fix SSH access to container when no Host VM is in use [GH-3799] 2014-05-15 20:14:10 -03:00
Shawn Neal 823e80fa32 Fixed issue 3729
The logic used to read the file contents sometimes would leave lines behind unread. It now defaults to reading all lines and counts each line it has actually read.
2014-05-15 09:17:57 -07:00
Mitchell Hashimoto 3fb7b5061e commands/halt: halt in reverse order [GH-3790] 2014-05-14 08:29:22 -07:00
Trey Hyde ca986455f3 guests/freebsd: Properly register that the rsync_pre capability belongs to FreeBSD rather than defining re-defining it for Linux. 2014-05-13 18:07:35 -07:00
YungSang 2c688fda16 Set disabled even if no disabled option
to override the previous settings
2014-05-13 15:07:23 -07:00
Paul Cooper @ Agile Barbecue 573683ef00 fix windows guest with puppet and a facter block
Powershell doesn't understand the unix-style ENV=thing command syntax, the old vagrant-windows plugin monkey patched the provisioner to put semicolons between statements to set the variables before running puppet - this fixes the issue inside a windows? block leaving the normal non-windows code path working - therefore works for me on both unix and windows provisions with a facter block in place
2014-05-13 17:31:31 +01:00
Takekazu Omi 90ca838174 Just add missing message for destroy command ask N for hyper-v provider.
mitchellh/vagrant#3752
2014-05-12 17:00:59 +09:00
Teemu Matilainen f87c7a9bc9 synced_folders\rsync: remove non-portable '-v' flag from chown [GH-3743]
Aside of the already fixed OpenBSD, at least Solaris `chown` seems not
to support the `-v` option, so remove it from all guests.
2014-05-10 23:51:12 +03:00
Mitchell Hashimoto c7abea2032 guests/linux: exclude symlinks from chown search [GH-3744] 2014-05-09 16:08:11 -07:00
Mitchell Hashimoto ca6e2393bd core: providers can choose to not be defaultable [GH-3742] 2014-05-09 16:02:09 -07:00
Mitchell Hashimoto 782c3762cc communicators/ssh: rescue another exception for reset 2014-05-09 15:59:15 -07:00
Matt Behrens a8fb2de7aa remove `-v` flag from post-rsync `chmod`
OpenBSD `chmod` does not support the `-v` flag, which causes
`vagrant up` to fail.
2014-05-09 18:31:23 -04:00
Mitchell Hashimoto 2a973df440 synced_folders/rsync: copy symlinks as real files [GH-3734] 2014-05-09 09:31:31 -07:00
Mitchell Hashimoto 39eaaf3664 provisioners/puppet: windows module sep [GH-3731] 2014-05-09 09:22:36 -07:00
Mitchell Hashimoto 745bdf6766 providers/docker: ability to specify build dir synced folder opts [GH-3727] 2014-05-08 18:46:03 -07:00
Mitchell Hashimoto a9029842a6 kernel/v2: multiple synced folder lines override each other 2014-05-08 18:39:13 -07:00
Mitchell Hashimoto 92940a7c5d synced_folders/nfs: allow disabling export [GH-3636] 2014-05-08 17:10:38 -07:00
Mitchell Hashimoto 434a13b4e4 kernel/v2: automatically forward winrm if comm is winrm [GH-3685] 2014-05-08 17:00:55 -07:00
Fabio Rehm 1eec62cb9e provisioners/shell: Fix shell provisioning when config.binary is set to false [GH-3712]
The `config` in use was the Shell provisioner config that does not expose
access to the VM configs.

References https://github.com/fgrehm/vagrant-lxc/issues/284
2014-05-08 18:55:07 -03:00
Mitchell Hashimoto 1ae99e3a2e kernel/v2: convert network type to symbol earlier 2014-05-08 13:38:40 -07:00
Mitchell Hashimoto aee71a093b providers/docker: forward ports properly 2014-05-08 13:37:55 -07:00
Gosha Arinich faba9bdae9 Revert "providers/docker: Container links are an array, not a hash"
This reverts commit b68cb6d7b4.
2014-05-08 21:10:37 +03:00
Mitchell Hashimoto 9a8a0499c7 providers/docker: don't use HGFS on VMware fusion [GH-3687] 2014-05-08 10:06:06 -07:00
Mitchell Hashimoto 338328fa15 kernel/v2: hostnames can be one character [GH-3713] 2014-05-08 09:10:13 -07:00
Mitchell Hashimoto 030c1ee481 providers/docker: build_args [GH-3684] 2014-05-07 18:41:24 -07:00
Mitchell Hashimoto e1815a13e8 commands/rdp: support extra args to RDP client [GH-3686] 2014-05-07 18:32:20 -07:00
Mitchell Hashimoto b2f9e86135 providers/docker: make sure command isn't scoped 2014-05-07 15:12:30 -07:00
Mitchell Hashimoto 61caaa00c6 commands/docker-run: --help works [GH-3698] 2014-05-07 15:11:57 -07:00
Mitchell Hashimoto a00d2481f5 providers/docker: put sync folders in var lib docker [GH-3680] 2014-05-07 15:09:53 -07:00
Mitchell Hashimoto cc75eb188f providers/docker: support custom shell properly [GH-3697] 2014-05-07 15:00:51 -07:00
Mitchell Hashimoto b47df84887 communicators/winrm: fix tests 2014-05-07 10:09:14 -07:00
Mitchell Hashimoto 882c9ad7f6 communicators/winrm: good_exit option 2014-05-07 09:47:47 -07:00
Fabio Rehm b68cb6d7b4 providers/docker: Container links are an array, not a hash 2014-05-07 12:12:16 -03:00
Mitchell Hashimoto ca428388d8 providers/docker: can set default provider to docker [GH-3662] 2014-05-06 21:49:49 -07:00
Mitchell Hashimoto 8bb9d18260 guests/windows: nicer error if winrm not in use to configure networks [GH-3651] 2014-05-06 19:00:58 -07:00
Mitchell Hashimoto 326e8012f7 guests/*: setup rsync_pre properly 2014-05-06 18:40:55 -07:00
Mitchell Hashimoto 25589e509e commands/reload: if --provision is present, force provision [GH-3657] 2014-05-06 16:27:58 -07:00
Michael Louis Thaler 9dcc53673a Fix error reporting bug
There's no "command" variable; it should be "cmd". This bug causes it to print an unhelpful exception if the Docker command fails.
2014-05-06 17:46:09 -04:00
Mitchell Hashimoto 48f5b0d53b providers/virtualbox: package --base should use vboxsf 2014-05-06 13:48:32 -07:00
Mitchell Hashimoto 4ef237a642 synced_folders/rsync: mkdir before rsync 2014-05-06 13:41:37 -07:00
Mitchell Hashimoto e7a5dc4f8e Revert "Merge pull request #3643 from cammoraton/rhel7-plugin-fixes"
This reverts commit 919d0b9f4b, reversing
changes made to 924c47feb3.
2014-05-06 13:26:44 -07:00
Mitchell Hashimoto 7e6ba7fa50 providers/virtualbox: check for provider config nilness 2014-05-06 13:10:22 -07:00
Mitchell Hashimoto 9d2d4b9675 guests/mint: don't need to inherit from ubuntu class 2014-05-06 12:50:35 -07:00
Chris Hubbard fd86f5a57e Add Linux Mint detection
* Linux Mint is a popular distribution based on Ubuntu
* When creating a VM based on Linux Mint, it cannot detect
that it is based on Ubuntu and it is detected as just linux
and configure_networks fails
* https://github.com/mitchellh/vagrant/issues/3647
2014-05-06 15:09:33 -04:00
Mitchell Hashimoto 771f951096 Merge pull request #3638 from jtopper/nfs-sudo-improvements
Improve use of sudo for NFS export manipulation
2014-05-06 08:47:50 -07:00
Mitchell Hashimoto 919d0b9f4b Merge pull request #3643 from cammoraton/rhel7-plugin-fixes
Rhel7 guest plugin fixes
2014-05-06 08:42:24 -07:00
Jonas Stendahl 8b5869fdc5 Don't wrap the escaped password in single quotes. 2014-05-06 15:47:44 +02:00
cammoraton 6d6282f1be Finished up fixes. Removed some artifacts. 2014-05-06 08:48:01 -04:00
cammoraton 5345c1479a Fix configure networks and templates to work off polled interface names. 2014-05-06 08:44:36 -04:00
cammoraton 6ff81dc29c Add interfaces_list capability to get list of interfaces via biosdevname
or dmesg parsing.
2014-05-06 08:44:15 -04:00
Jon Topper 6ec9e3e279 Linux stuff now tested and working! 2014-05-06 12:24:35 +01:00
Jon Topper 4a4ca74dea Added missing 'sudo' call. 2014-05-06 10:05:53 +01:00
Mitchell Hashimoto 337e51c2a6 providers/docker: don't reload if not created 2014-05-05 22:06:22 -07:00
Mitchell Hashimoto 38d1f0c0aa providers/docker: smarter destroy, does not require host machine 2014-05-05 22:02:13 -07:00
Mitchell Hashimoto a34ee404d8 providers/*: use special NOT_CREATED_ID if not created 2014-05-05 21:52:28 -07:00
Mitchell Hashimoto ff2f035f27 providers/docker: less hack way to clear ID if not created 2014-05-05 21:37:02 -07:00
Mitchell Hashimoto b26ecb0150 providers/docker: smarter about setting ID to nil for machine 2014-05-05 21:35:08 -07:00
Mitchell Hashimoto d526dd54fe core: MachineIndex#valid? checks state and ID again 2014-05-05 21:29:40 -07:00
Mitchell Hashimoto 52c249ff8c providers/virtualbox: higher priority than default 2014-05-05 21:13:56 -07:00
Mitchell Hashimoto 35c8504452 providers/hyperv: lower priority for Windows 2014-05-05 21:13:25 -07:00
Mitchell Hashimoto d7a9bcda47 providers/docker: vagrant_machine setting works proprely 2014-05-05 21:13:15 -07:00
Jon Topper 0da334156b Fix up the Linux host too 2014-05-05 23:56:39 +01:00
Jon Topper e5490544d6 Use 'tee' to write to /etc/exports 2014-05-05 23:55:16 +01:00
Mitchell Hashimoto f475df0987 providers/virtualbox: don't do transient by default 2014-05-05 15:44:45 -07:00
Mitchell Hashimoto 19050d26cf guests/debian: setting hostname works without 127.0.1.1 [GH-3271] 2014-05-04 18:32:33 -07:00
Mitchell Hashimoto 04369b3afe guests/linux: LANG=en for ifconfig [GH-3029] 2014-05-04 17:47:16 -07:00
Mitchell Hashimoto e3ec1027f1 commands/init: minimal flag [GH-3611] 2014-05-04 17:36:51 -07:00
Mitchell Hashimoto fafab47178 Merge pull request #3625 from sciurus/check_nfs_usability
synced_folders/nfs: implement usable?
2014-05-04 17:33:10 -07:00
Mitchell Hashimoto e1e96fac2f providers/hyperv: vagrant ssh_run action [GH-3615] 2014-05-04 17:31:55 -07:00
Gilles Cornu 52a44de10c provisioners/ansible: show ansible-playbook in use
Motivation:
By printing out the ansible command used behind the scene, we can ease
the support effort to very quickly identify whether a problem is due to
Vagrant provisioner or Ansible itself.
2014-05-04 22:54:12 +02:00
Brian Pitts 9f62216f87 Remove check for nfs in config 2014-05-03 16:10:01 -05:00
Brian Pitts 4d90fdfec5 Check usability of nfs on host 2014-05-03 16:09:08 -05:00
Mitchell Hashimoto 604ae6caa3 communicators/ssh: detect if config.ssh.shell is non-functional [GH-3040] 2014-05-01 21:35:02 -07:00
Mitchell Hashimoto a8d51a2452 providers/virtualbox: remove old print 2014-05-01 21:19:14 -07:00
Mitchell Hashimoto c303f82170 Merge pull request #3603 from eykd/feature/colorize-salt-output
provisioner/salt: Add colorization and log_level support to salt provisioner.
2014-05-01 13:47:44 -07:00
deyk 567af495d4 Add colorization and log_level support to salt provisioner.
This commit adds two new options to the salt provisioner:

- `colorize`: controls color output. Defaults to no-color (present behavior).
- `log_level`: controls log level. Defaults to `debug` (present behavior).

Docs included!
2014-05-01 11:10:09 -07:00
Mitchell Hashimoto 744c9c9663 providers/docker: choose proper provider for host VM 2014-05-01 10:22:43 -07:00
Mitchell Hashimoto 76e29b912f providers/docker: lower priority
We do this mostly because Docker is the only provider that using it
requires some amount of Docker-specific knowledge. VirtualBox, VMware,
etc. kind of "just work". It is not the likely case that someone does
a `vagrant up` and expects Docker, at this point.
2014-05-01 09:51:50 -07:00
Shawn Neal c99a1fb2ae Display deprecation warning for unused halt config properties
halt_timeout and halt_check_interval will be removed in the next version of Vagrant, 1.7.
2014-05-01 09:03:49 -07:00
Shawn Neal f4b67df978 Removed unused halt timeout and check interval settings. 2014-05-01 08:00:41 -07:00
Shawn Neal cc905d7923 Fix remote/downloaded shell scripts
The temporary shell script that we downloaded the script too was being deleted twice, thus causing an error on the secondary delete.
2014-04-30 19:39:37 -07:00
Shawn Neal 392269a8eb Default the WinRM shell provisioner to privileged (elevated) 2014-04-30 19:35:02 -07:00
Shawn Neal 068b5cf0b9 Move Windows symlink re-establishment after reboot into capability
This reduces the complexity and likelihood of provisioner bugs.
2014-04-30 17:36:36 -07:00
Mitchell Hashimoto 9c420b8738 providers/virtualbox: set proper mac address on priv net [GH-3588] 2014-04-30 17:09:29 -07:00
Mitchell Hashimoto f80fdfa32a privisoners/salt: proper bootstrap URL [GH-3583] 2014-04-30 15:32:20 -07:00
Mitchell Hashimoto 224ee8003d Merge pull request #3585 from aspiers/backport-3277-old-virtualboxen
backport GH-3277 fix for missing interpolation to older drivers
2014-04-30 09:22:59 -07:00
Mitchell Hashimoto df399d8610 providers/docker: use the proper class 2014-04-30 09:22:02 -07:00
Adam Spiers 082bf37df8 backport GH-3277 fix for missing interpolation to older drivers
The original fix for the "missing interpolation argument :stderr" bug
was in d4b3f226, but it only addressed the driver for VirtualBox 4.3:

  https://github.com/mitchellh/vagrant/issues/3277

This backports the fix to the drivers for VirtualBox 4.0, 4.1, and 4.2.
2014-04-30 16:06:20 +01:00
Mitchell Hashimoto 92df8cf6ae Handle a lot of TODOs 2014-04-29 16:50:58 -07:00
Mitchell Hashimoto b08c1a62ce Removing some old files 2014-04-29 16:48:12 -07:00
Mitchell Hashimoto 19af4b70e6 providers/docker: with a pty, single target the docker-run cmd 2014-04-29 16:31:43 -07:00
Mitchell Hashimoto 0bb523ebb0 providers/docker: use ssh_run if asking for stdin on execute 2014-04-29 16:27:22 -07:00
Mitchell Hashimoto e90e45a8fb providers/docker: pty flag, not functional yet 2014-04-29 15:51:32 -07:00
Mitchell Hashimoto ca5651a0b1 providers/docker: clearer options on docker-logs 2014-04-29 14:28:10 -07:00
Mitchell Hashimoto 013fc729a5 providers/docker: raise better error for local executor 2014-04-29 14:16:24 -07:00
Timothy Messier 513a9bf1ab Set u+w perms on private keys in tmp dir.
This should allow additional `vagrant provision` calls to work when
using the salt provisioner and providing private keys. See #3542.
2014-04-29 11:13:12 -04:00
Mitchell Hashimoto ad961b24f5 commands/init: force flag [GH-3564] 2014-04-28 20:22:09 -07:00
Mitchell Hashimoto 90234dc32f synced_folders/rsync: fix oddness on Windows 2014-04-28 14:49:33 -07:00
Mitchell Hashimoto d7343c5b56 providers/docker: expand path to share relative to docker env 2014-04-28 11:08:58 -07:00
Mitchell Hashimoto d7ecd99e2e providers/docker: be more lenient about deleting built image 2014-04-28 09:36:55 -07:00
Mitchell Hashimoto 8ed5351dd1 providers/docker: destroy built image on up 2014-04-27 19:36:02 -07:00
Mitchell Hashimoto 27cd8886b3 providers/docker: cleaner reload 2014-04-27 19:27:11 -07:00
Mitchell Hashimoto 12d3e06f69 providers/docker: can docker-run non-existent containers 2014-04-27 19:22:14 -07:00
Mitchell Hashimoto a2b4f31916 providers/docker: don't show cmd if one is not specified 2014-04-27 19:06:39 -07:00
Mitchell Hashimoto 685bdbf1f0 whitespace 2014-04-27 18:58:57 -07:00
Mitchell Hashimoto c818a14072 providers/docker: expose ports 2014-04-27 18:37:25 -07:00
Mitchell Hashimoto ff9de3586a providers/docker: run_command doesn't need to actual setup host machine 2014-04-27 18:28:11 -07:00
Mitchell Hashimoto a8822e84d2 providers/docker: fix some extranneous newlines in streamed output 2014-04-27 18:26:12 -07:00
Mitchell Hashimoto f1e1617cfd providers/docker: stream data for run 2014-04-27 18:23:31 -07:00
Mitchell Hashimoto abf7c0526b providers/docker: docker-run command starting points 2014-04-27 18:10:41 -07:00
Mitchell Hashimoto 2694f746a7 providers/virtualbox: no SSH info if not running 2014-04-27 17:26:24 -07:00
Mitchell Hashimoto ac040102f9 Merge pull request #3544 from benesch/rsync-conservative-chown
synced_folders/rsync: only chown when necessary
2014-04-27 15:59:40 -07:00
Mitchell Hashimoto 8cdf8c7916 Merge pull request #3549 from javornikolov/fix-vbox-install-path-detect-on-windows
providers/virtualbox: Fix vbox install path detection on Windows 8
2014-04-27 15:56:37 -07:00
Mitchell Hashimoto 77fb6d73b8 Merge pull request #3552 from benesch/rsync-auto-handle-interrupt
command/rsync-auto: properly exit on interrupt
2014-04-27 15:54:22 -07:00
Mitchell Hashimoto df86b18263 Update CHANGELOG, fix tests 2014-04-27 15:53:31 -07:00
Mitchell Hashimoto 617a85be06 Merge pull request #3553 from bclarkindy/rsync_ssh_proxy
synced_folders/rsync: Add SSH proxy_command functionality to rsync
2014-04-27 15:52:17 -07:00
Mitchell Hashimoto 91c7fb7749 Merge pull request #3554 from mitchellh/chef-provisioner-cleanup
provisioner/chef: Chef provisioner cleanup with Windows
2014-04-27 15:51:30 -07:00
Timothy Messier adeaf29487 Fixed missing end to if 2014-04-27 12:36:01 -04:00
Timothy Messier b93c6df956 The various `install` args should always be passed to salt-bootstrap.
Even when preforming config only, the install flags (i.e. -M, -S, -N),
are used by the bootstrap to determine which configs to copy.

This should help with #3542 and should supersede #3548.
2014-04-27 12:34:24 -04:00
Shawn Neal cf71634813 DRY'd up Chef command building
There's very little difference between the command building on Linux and Windows other than path formatting. All Chef provisioners support the --no-color argument now.

Added unit tests to verify changes.
2014-04-26 21:07:26 -07:00
Shawn Neal ebca0e7e44 Fixed bug in CommandBuilderWindows
CommandBuilderWindows would not include the Chef binary in the command when the binary_path was specified in the config.

Backfilled unit tests for CommandBuilderWindows
2014-04-26 21:07:26 -07:00
Shawn Neal 68ce06561a Removed old unused WinRM chef provisioner scripts 2014-04-26 21:07:26 -07:00
Shawn Neal 38c7203f92 Chef provisioner should utilize reboot capability 2014-04-26 21:07:26 -07:00
Shawn Neal 99ce95198b First pass at integrating new WinRM elevated execution wrapper
- Removed a lot of the Windows special casing from Chef runs
- Don't attempt to use @config.binary_env since we don't properly pass this along to Chef
2014-04-26 21:07:26 -07:00
Shawn Neal 30b0399431 Use new Ruby hash initializer syntax 2014-04-26 21:07:26 -07:00
Shawn Neal f18a397289 Allow WinRM commands to be run elevated via scheduled task 2014-04-26 21:07:26 -07:00
Shawn Neal 1dd081d866 Don't use interpolated strings for username and password
Its possible that usernames and passwords may contain special characters like $
2014-04-26 21:07:26 -07:00
Shawn Neal 045e06455a Added WinRM elevated shell wrapper script
This script creates an immediately run scheduled task using fresh credentials. This is a generic implementation used by the Chef provisioners. The script gets around several limitations in WinRM.

1. Credential hopping
2. The non-default Administrator account sometimes doesn't have true Administrator access when run through WinRM even with UAC disabled.

In short, this script allows commands to run through WinRM just as if they were run directly on the box.
2014-04-26 21:07:26 -07:00
Nikhil Benesch 8fb49f10cc command/rsync-auto: properly exit on interrupt
Currently, interrupting 'vagrant rsync-auto' once it's waiting for
filesystem events has no effect. Appears to be a deadlock related to
signal handlers in Ruby 2.0 [0].

Remove call to `thread.join` in signal handler. The handler doesn't
need to wait for `true` to be added to the queue; it just needs to
launch the thread.

[0]: https://bugs.ruby-lang.org/issues/7917
2014-04-26 16:24:25 -04:00
Brian.Clark fb509ac8b7 Add ssh ProxyCommand functionality to rsync 2014-04-26 13:52:39 -04:00
jjshoe 7ef8477e43 provisioners/ansible: Don't run with two --limits
Conflicts:
	test/unit/plugins/provisioners/ansible/provisioner_test.rb
2014-04-26 11:55:59 +02:00
Yavor Nikolov 2cbaa98751 Fix processing of VBOX_INSTALL_PATH 2014-04-26 11:05:32 +03:00
Nikhil Benesch 2df36892dd synced_folders/rsync: only chown when necessary [GH-3525]
Run remote rsync as root to guarantee that rsync can write to guestpath.
This obviates the need to chown the guestpath to the SSH user prior to
sync.

This brings a substantial speedup (2x on a moderately-sized shared
folder) and properly triggers filesystem notifications on only the files
changed by a given sync.
2014-04-25 15:00:12 -04:00
Mitchell Hashimoto 6870de3f6d core: add Vagrant.latest_version 2014-04-24 20:09:32 -07:00
Mitchell Hashimoto 63dffe3f92 commands/version: check latest version 2014-04-24 19:54:26 -07:00
Mitchell Hashimoto ffdb276d4c Merge pull request #3536 from shadowfax-chc/force-overwrite-salt-configs
provisioners/salt: force overwrite of salt configs and keys.
2014-04-24 19:14:40 -07:00
Mitchell Hashimoto de6759f94d Merge pull request #3538 from mitchellh/f-box-usage
Track box usage (local) to know if envs are using boxes
2014-04-24 10:42:02 -07:00
Timothy Messier c4ae0badc3 Force overwrite of salt configs and keys.
This will tell the salt-bootstrap script to overwrite the master/minion
configs and/or keys each time provision is called. #3524 #3176
2014-04-24 11:56:54 -04:00
Shawn Neal cad3dde760 Fixed whitespacing in command_filter and file_manager 2014-04-24 07:52:13 -07:00
Shawn Neal afeb60c850 ivars should be alphabetized 2014-04-24 07:50:24 -07:00
Shawn Neal d5d9918e48 Cleanup whitespace and comments in WinRM command filters 2014-04-24 07:49:19 -07:00
Shawn Neal ab51a786ff Extract execution_output method from WinRM comm execute 2014-04-23 21:49:28 -07:00
Shawn Neal 4a2a147926 Refactored WinRM test command filter 2014-04-23 21:15:05 -07:00
Shawn Neal f44c795eed Integrated WinRM command filter into communicator
*nix commands are now filtered out instead of being sent to the guest. This means the command_alias PowerShell script is no longer needed.

Moved the PowerShell exit code helper to the WinRM shell and changed it to always return an exit code.
2014-04-23 20:38:16 -07:00
Shawn Neal 1525aa0f78 Added WinRM grep command filter
This is needed because isn't available on Windows and Vagrant guest detection attempts to use grep for some OSs.
2014-04-23 20:37:15 -07:00
Shawn Neal ac81841b01 test command should expand environment variables
'$Env:SystemRoot' does not expand
"$Env:SystemRoot" does expand
2014-04-23 18:26:45 -07:00
Shawn Neal 96ab8f60c5 Added WinRM command filters
These will be used to replace the guest side command_alias script that is sent with every communicator execute call. This avoids some uncessary remote calls to the guest, makes it unit testable, and allows larger PowerShell commands to be invoked.
2014-04-23 17:50:20 -07:00
Mitchell Hashimoto e1c79c4692 commands/global-status: call proper method 2014-04-23 06:21:44 -07:00
Mitchell Hashimoto 5da77dee5c commands/box/remove: add --force flag 2014-04-23 06:16:51 -07:00
Mitchell Hashimoto eae3f3243e Merge pull request #3517 from mitchellh/communicator-support-for-wql
communicator/winrm: Communicator support for wql
2014-04-23 06:02:24 -07:00
Mitchell Hashimoto fbcc6d25b4 Merge pull request #3519 from mitchellh/windows-guest-file-manager
communicators/winrm: Windows guest file manager
2014-04-23 06:01:59 -07:00
Mitchell Hashimoto e985308e9a core: MachineIndex::Entry#valid? method and tests 2014-04-22 17:09:44 -07:00
Shawn Neal 5f4a900d8e Add WinRM file transfer error and english text 2014-04-22 14:54:13 -07:00
Shawn Neal f292232ca8 Added Windows guest file manager for recursive uploads
- Since WinRM uploads are so slow, MD5 content checking is used
2014-04-22 14:42:13 -07:00
Shawn Neal 62f5be49d5 Cleaner DHCP detection for Windows guests 2014-04-22 13:28:51 -07:00
Shawn Neal 728ec28f2d Windows GuestNetwork directly uses the communicator
- Fixed slight Law of Demeter violation
- Make guest access through comm consistent
2014-04-22 11:54:34 -07:00
Shawn Neal 9177bd8a48 Added WQL support to Vagrant communicator execute
- Removed duplication for WQL specific commands
2014-04-22 11:29:22 -07:00
Shawn Neal 929e41aa5c Backfilled unit tests for Windows guest support
- Fixed typo in helper test
- Removed extraneous machine.config prefix from Windows guest config validation
- Added WinRM communicator unit tests
- Added Windows guest capability unit tests
2014-04-22 11:03:37 -07:00
Mitchell Hashimoto a47b85c8c4 synced_folders/rsync: add UserKnownHostsFile to /dev/null [GH-3511] 2014-04-21 20:39:48 -07:00
Mitchell Hashimoto 7cbef9b3d9 providers/docker: doesn't support NFS if b2d [GH-3510] 2014-04-21 20:38:10 -07:00
Mitchell Hashimoto afd3f1ff43 synced_folders/nfs: can say functional is false explicitly 2014-04-21 20:37:14 -07:00
Mitchell Hashimoto ec57a286cd hosts/darwin: use a temp dir since Tempfile is deleted right away 2014-04-21 13:56:43 -07:00
Mitchell Hashimoto db64fbf6ef communicators/winrm: reload shell on reload so we get proper port 2014-04-21 13:56:42 -07:00
Mitchell Hashimoto 7ee9b7cd42 kernel/v2: make sure communicator is a symbol 2014-04-21 13:56:41 -07:00
Mitchell Hashimoto b0b445fcac hosts/darwin: rdp client support by subprocessing `open` 2014-04-21 13:56:40 -07:00
Mitchell Hashimoto a205cf84a0 providers/virtualbox: don't require valid config on destroy [GH-1629] 2014-04-21 13:56:37 -07:00
Mitchell Hashimoto 4372ab034e providers/virtualbox: merge customizations properly 2014-04-21 13:56:32 -07:00
Mitchell Hashimoto 568185c3e9 providers/docker: always copy the host VM Vagrantfile 2014-04-21 13:56:31 -07:00
Mitchell Hashimoto 22d9b0eeb2 guests/linux: unmount uses rmdir instead of rm -rf to avoid catastrophe 2014-04-21 13:56:30 -07:00
Mitchell Hashimoto 2e8f837f9b providers/docker: fix exception typo 2014-04-21 13:56:29 -07:00
Mitchell Hashimoto 89b6336d21 providers/docker: retry sync_folders action 2014-04-21 13:56:28 -07:00
Mitchell Hashimoto e38ae9b5c6 providers/docker: don't guard for image on create, since can come from build 2014-04-21 13:56:27 -07:00
Mitchell Hashimoto 1c3ee6ffa3 providers/docker: rebuild image if it doesn't exist 2014-04-21 13:56:26 -07:00
Mitchell Hashimoto d837086572 providers/docker: get rid of mutex around Docker access, should be safe 2014-04-21 13:56:25 -07:00
Mitchell Hashimoto aa13a43c69 providers/docker: its okay if no image file on destroy 2014-04-21 13:56:23 -07:00
Mitchell Hashimoto 1c7faae1ee provisioners/*: prefix the output 2014-04-21 13:56:19 -07:00
Emilien Kenler b77bd3e6bb Unit test + vault password file existence check 2014-04-21 13:56:16 -07:00
Emilien Kenler dd06dffe85 Ansible Vault support
Add the following options to the Ansible provisioner:
- ask_vault_pass
- vault_password_file
2014-04-21 13:56:15 -07:00
Mitchell Hashimoto bad6537e86 kernel/v2: provider configs do proper merge logic for config 2014-04-21 13:56:14 -07:00
Mitchell Hashimoto 8171471628 providers/docker: make merge logic a bit more sensible 2014-04-21 13:56:13 -07:00
Mitchell Hashimoto 8a76c2bc76 providers/docker: can force a host VM optionally 2014-04-21 13:56:08 -07:00
Mitchell Hashimoto 79793ab130 providers/docker: config validation and specs 2014-04-21 13:56:07 -07:00
Mitchell Hashimoto 0094a58227 providers/docker: when building from Dockerfile, show image ID 2014-04-21 13:56:06 -07:00
Mitchell Hashimoto 052ee624bb providers/docker: forgot a file 2014-04-21 13:56:05 -07:00
Mitchell Hashimoto f78f72920c providers/docker: flatten stack so it runs at one point 2014-04-21 13:56:04 -07:00
Mitchell Hashimoto 067c1ca348 providers/docker: reuse action stacks where possible 2014-04-21 13:56:02 -07:00
Mitchell Hashimoto 67741ad902 providers/docker: fix ordering of removing built images 2014-04-21 13:56:01 -07:00
Mitchell Hashimoto e50eb6c7a9 providers/docker: default host VM doesn't sync folder 2014-04-21 13:56:00 -07:00
Mitchell Hashimoto 53017bccc8 command/rsync-auto: work with provisioner synced folders 2014-04-21 13:55:57 -07:00
Mitchell Hashimoto 16ae728b5f providers/docker: remove built image on reload and destroy 2014-04-21 13:55:55 -07:00
Mitchell Hashimoto 81df70eee0 providers/docker: support building Dockerfiles 2014-04-21 13:55:54 -07:00
Mitchell Hashimoto 3ba0ca3562 providers/docker: fix typo in translation 2014-04-21 13:55:52 -07:00
Mitchell Hashimoto 61388186e9 providers/docker: can set custom container name 2014-04-21 13:55:51 -07:00
Mitchell Hashimoto 58ddc66b9c providers/docker: can specify links 2014-04-21 13:55:50 -07:00
Mitchell Hashimoto 71d615212d providers/docker: can set environmental variables 2014-04-21 13:55:49 -07:00
Mitchell Hashimoto 0a3346c918 providers/docker: warning if synced folders change 2014-04-21 13:55:48 -07:00
Mitchell Hashimoto d1b3165545 providers/docker: cleaner action stacks 2014-04-21 13:55:47 -07:00
Mitchell Hashimoto 35d9256137 providers/docker: only provision if ssh (command) 2014-04-21 13:55:46 -07:00
Mitchell Hashimoto 81818f36fc providers/docker: graceful halt only if SSH is available 2014-04-21 13:55:45 -07:00
Mitchell Hashimoto 4a59c5c522 providers/docker: optimizing the action stacks... 2014-04-21 13:55:44 -07:00
Mitchell Hashimoto c0f5095783 providers/docker: wait for running state, error if not 2014-04-21 13:55:42 -07:00
Mitchell Hashimoto 09cc823065 providers/docker: warning with host VM about forwarded ports 2014-04-21 13:55:41 -07:00
Mitchell Hashimoto 19c9973a0d guests/linux: set a timeout on nc 2014-04-21 13:55:40 -07:00
Mitchell Hashimoto e578e91e3a providers/docker: implement port checker for remote machine 2014-04-21 13:55:39 -07:00
Mitchell Hashimoto 4dabfc1aff providers/docker: clean up forwarded port handling 2014-04-21 13:55:37 -07:00
Mitchell Hashimoto 6ea6ad3e08 providers/docker: only correct port collisions if not host VM 2014-04-21 13:55:36 -07:00
Mitchell Hashimoto 58a043e2aa providers/docker: upload the keys we need for SSH 2014-04-21 13:55:35 -07:00
Mitchell Hashimoto 447f407b0b providers/docker: use a mutex for intra-process lock 2014-04-21 13:55:31 -07:00
Mitchell Hashimoto 3edfe6deaf providers/docker: remove synced folders after docker rm 2014-04-21 13:55:28 -07:00
Mitchell Hashimoto cd38f891da providers/docker: disable synced folders on destroy 2014-04-21 13:55:27 -07:00
Mitchell Hashimoto 704ff98200 providers/docker: only sync folders if they're not already there 2014-04-21 13:55:26 -07:00
Mitchell Hashimoto 10e51eb141 providers/docker: initial sync folders working through proxy VM 2014-04-21 13:55:20 -07:00
Mitchell Hashimoto c1f14320bd providers/docker: process-level lock on host machine up 2014-04-21 13:55:13 -07:00
Mitchell Hashimoto afb61b1466 providers/virtualbox: synced folder supports the "disable" method 2014-04-21 13:55:12 -07:00
Mitchell Hashimoto e119a5714a core: add "disable" method for synced folders, deprecate "prepare" 2014-04-21 13:55:09 -07:00
Mitchell Hashimoto c3e6c794cd synced_folders/nfs: acquire process-level lock for export 2014-04-21 13:55:07 -07:00
Mitchell Hashimoto 7da9ad0fa6 commands/destroy: change exit codes [GH-811] 2014-04-21 13:55:01 -07:00
Mitchell Hashimoto a2a822c6e6 providers/docker: SSH action re-uses the communicator helpers 2014-04-21 13:54:58 -07:00
Mitchell Hashimoto 4477545d3f providers/docker: execute the proxied SSH in a shell 2014-04-21 13:54:57 -07:00
Mitchell Hashimoto e947960c09 providers/docker: use a custom communicator to go through host VM 2014-04-21 13:54:56 -07:00
Mitchell Hashimoto bdade7d5a6 providers/docker: notify when proxying SSH 2014-04-21 13:54:55 -07:00
Mitchell Hashimoto e714720052 providers/docker: `vagrant ssh` proxies through the host VM 2014-04-21 13:54:54 -07:00
Mitchell Hashimoto 6721d8e964 communicators/ssh: just use Ruby 2.0 features 2014-04-21 13:54:52 -07:00
Mitchell Hashimoto c220bfc27d providers/docker: TODO for me 2014-04-21 13:54:51 -07:00
Mitchell Hashimoto 56f9fdac21 commands/docker-logs: exit status 1 if no logs were retrieved 2014-04-21 13:54:49 -07:00
Mitchell Hashimoto eab553ad55 providers/docker: better comments 2014-04-21 13:54:48 -07:00
Mitchell Hashimoto cb95e8aaee commands/docker-logs: parallelize for multiple containers 2014-04-21 13:54:47 -07:00
Mitchell Hashimoto da0db72054 providers/docker: docker-attach => docker-logs 2014-04-21 13:54:45 -07:00
Mitchell Hashimoto 54de2e3c6f providers/docker: docker-attach command for following output 2014-04-21 13:54:44 -07:00
Mitchell Hashimoto b655b6d910 providers/docker: remove TODO 2014-04-21 13:54:41 -07:00
Mitchell Hashimoto 144c874b5a providers/docker: process-level lock on copying default Vagrantfile 2014-04-21 13:54:40 -07:00
Mitchell Hashimoto bed34a730b provisioners/docker: fix module name for new docker provider 2014-04-21 13:54:35 -07:00
Mitchell Hashimoto 8c7ab333a0 Squash the f-docker-hostmachine branch.
Initial work

commands/up: make sure all names to with_target_vms are strings

providers/docker: create a docker host VM if needed

providers/docker: executor abstraction for driver to eventually support remote

providers/docker: vagrant executor

providers/docker: support creating the machine

providers/docker: status works if host VM is gone

providers/docker: use start fence to get real docker output

core: Call preserves stack ordering

core: support Message post option

providers/docker: Guard some features with HasSSH checks

providers/docker: much better messaging around create/destroy

providers/docker: output the container ID on create

providers/docker: copy the hostmachine Vagrantfile to the data dir

providers/docker: should make host machine before any up action

providers/docker: HandleBox before the host machine

providers/virtualbox: functional_vboxsf to disable vboxsf

providers/virtualbox: synced folder usable method should take 2 args

providers/docker: default machine name to :default
2014-04-21 13:54:33 -07:00
Mitchell Hashimoto 2b07dec059 core: Use the MachineIndex#vagrant_env method 2014-04-21 13:54:31 -07:00
Mitchell Hashimoto 09ff31e3a3 commands/global-status: add --prune flag 2014-04-21 13:54:29 -07:00
Mitchell Hashimoto 7c8053cb2b hosts/windows: don't remove the rdp file, race condition 2014-04-21 13:54:21 -07:00
Mitchell Hashimoto 5b5f10e175 commands/rdp: config 2014-04-21 13:54:20 -07:00
Mitchell Hashimoto 3d0a2959cd commands/rdp: nicer output 2014-04-21 13:54:19 -07:00
Mitchell Hashimoto 8698ebeff6 hosts/windows: use the port when connecting 2014-04-21 13:54:18 -07:00
Mitchell Hashimoto 5b960efcb1 commands/rdp: no need fo rthe guest cap 2014-04-21 13:54:17 -07:00
Mitchell Hashimoto 617cf630b1 commands/rdp: error if RDP info can't be detected 2014-04-21 13:54:16 -07:00
Mitchell Hashimoto 76a7c63f8b guests/windows: detect the port for RDP 2014-04-21 13:54:15 -07:00
Mitchell Hashimoto 7705ad76c6 guests/windows: use the public_address cap 2014-04-21 13:54:14 -07:00
Mitchell Hashimoto 993256643d guests/windows: rdp_info cap 2014-04-21 13:54:13 -07:00
Mitchell Hashimoto 0fa07637f9 commands/rdp: execute propre capabilities 2014-04-21 13:54:11 -07:00
Mitchell Hashimoto 746b568176 hosts/windows: rdp_client cap 2014-04-21 13:54:10 -07:00
Mitchell Hashimoto de7b4bbdc1 commands/rdp: basic skeleton 2014-04-21 13:54:09 -07:00
Mitchell Hashimoto 2929f7a853 provisoiners/chef: windows command builder 2014-04-21 13:54:08 -07:00
Mitchell Hashimoto 7022b1c29d provisioners/chef: command builder for Linux 2014-04-21 13:54:06 -07:00
Mitchell Hashimoto 909cda4bd1 provisioners/chef: reinit net shares on Windows guests 2014-04-21 13:54:05 -07:00
Mitchell Hashimoto 427d49402d provisioners/cfengine: fix typo 2014-04-21 13:54:04 -07:00
Mitchell Hashimoto 72030d2180 Note provisioners that don't work on Windows guests 2014-04-21 13:54:02 -07:00
Mitchell Hashimoto bd51c16700 provisioners/puppet: execute properly with WinRM 2014-04-21 13:54:00 -07:00
Mitchell Hashimoto 1a0cb9b4c1 privisioners/puppet: wait for reboot on Windows 2014-04-21 13:53:59 -07:00
Mitchell Hashimoto bec2cbbf4d provisioners/shell: check for winrm should be on machine config 2014-04-21 13:53:56 -07:00
Mitchell Hashimoto 4145aa6bcd privisioners/shell: wait for reboot if we can 2014-04-21 13:53:54 -07:00