Commit Graph

1675 Commits

Author SHA1 Message Date
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