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