Commit Graph

5953 Commits

Author SHA1 Message Date
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
Nikhil Benesch 54e580149a core: return {} if cached synced folders file missing [GH-3550]
A missing synced folders cache indicates an empty cache, not a failure
that should be handled by the caller. The cache file is missing from
data dirs created by an earlier version of Vagrant.

Fixes #3550.
2014-04-26 15:39:25 -04:00
Brian.Clark fb509ac8b7 Add ssh ProxyCommand functionality to rsync 2014-04-26 13:52:39 -04:00
Gilles Cornu de6ad1d5d3 provisioners/ansible: fix unit tests for [GH-3491] 2014-04-26 14:08:10 +02: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
Gilles Cornu 557a451e2f provisioners/ansible: fix an error in a unit test 2014-04-25 22:11:13 +02:00
Gilles Cornu 4465eba753 provisioners/ansible: minor change in unit tests
Combine a maximum of options in the last test:
- Ansible Vault options from [GH-3338]
- raw_arguments

Note: it is not expected from Vagrant to reject incoherent combinations
2014-04-25 21:59:39 +02: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 1a08c4def5 core: Box#in_use? as an API 2014-04-25 02:02:49 -07:00
Mitchell Hashimoto 4fb9832589 core: clean up the lock cleanup code, tests 2014-04-25 01:33:25 -07:00
Mitchell Hashimoto 0ed3c5174b core: delete environment lock files 2014-04-24 23:13:08 -07:00
Mitchell Hashimoto 84f889e801 core: more liberally release port leases 2014-04-24 22:59:17 -07:00
Mitchell Hashimoto 5eb1dfbddd Update CHANGELOG 2014-04-24 22:50:56 -07:00
Mitchell Hashimoto f2a2d93042 Revert "core: can't add boxes from network shares [GH-3279]"
This reverts commit 41636a8a9c.

Conflicts:
	CHANGELOG.md
2014-04-24 22:50:27 -07:00
Mitchell Hashimoto 5c9939c4bd Update CHANGELOG 2014-04-24 20:10:49 -07:00
Mitchell Hashimoto 1f814cfc2f Merge pull request #3540 from mitchellh/f-version-command
vagrant version command
2014-04-24 20:10:02 -07: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 466f77beaf website/www: add latest-version.json to website 2014-04-24 19:21:40 -07:00
Mitchell Hashimoto 3babefe2d5 Update CHANGELOG 2014-04-24 19:16:07 -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 75ee7425f5 Update CHANGELOG 2014-04-24 11:54:10 -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
Mitchell Hashimoto 59bc632082 Merge pull request #3533 from ronnix/patch-1
Fix typo in CHANGELOG.md
2014-04-24 10:17:10 -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 82fa208c39 Merge pull request #3535 from mitchellh/winrm-command-filters-code-review-feedback
Winrm command filters code review feedback
2014-04-24 08:45:13 -07: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
Ronan Amicel c72d097393 Fix typo in CHANGELOG.md 2014-04-24 15:21:07 +02:00
Mitchell Hashimoto 702347c47e website/docs: document ssh proxy_command [GH-3521] 2014-04-24 02:17:55 -07:00
Mitchell Hashimoto f36dfb2961 Merge pull request #3530 from mitchellh/linux-command-filters-for-winrm-communicator
communicator/winrm: command filters for winrm communicator
2014-04-24 01:38:34 -07:00
Shawn Neal ab51a786ff Extract execution_output method from WinRM comm execute 2014-04-23 21:49:28 -07:00
Mitchell Hashimoto 0b4b9296ae Merge pull request #3527 from mitchellh/windows-unit-test-code-review-feedback
Windows unit test code review feedback
2014-04-23 21:36:59 -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 3efb4b1def Allow WinRM shell test less restrictive
This will allow the shell class to append additional commands like exit $EXITCODE
2014-04-23 18:05:53 -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
Shawn Neal fdb6461af4 Fixed Windows tests to use modern Ruby hash style 2014-04-23 16:16:08 -07:00
Shawn Neal 59c140ab82 Fixed Windows test code style to use more elegant tap method 2014-04-23 16:12:27 -07:00
Mitchell Hashimoto e40b5d6cd3 core: environment_loaded doesn't load full env 2014-04-23 06:33:46 -07:00
Mitchell Hashimoto da69bd60a4 Fix some tests 2014-04-23 06:22:58 -07:00