Commit Graph

898 Commits

Author SHA1 Message Date
Seth Vargo 8b3ec500c8 Remove :focus tag (accidentally left from previous commit) 2014-10-30 13:43:25 -04:00
Seth Vargo f009db6101 Add tests for Chef base Config 2014-10-30 13:43:25 -04:00
Mitchell Hashimoto f4dec575ed core: Vagrant::Util::Keypair for generating keypairs 2014-10-24 09:33:44 -07:00
Mitchell Hashimoto 97f9948fce core: provisioners are defined differently now 2014-10-23 18:40:14 -07:00
Mitchell Hashimoto 13dc1832b6 test: fix test for default provider 2014-10-23 16:41:24 -07:00
Mitchell Hashimoto b7478e09f3 core: clean up default logic 2014-10-23 15:59:27 -07:00
Mitchell Hashimoto 768d453739 core: Environment#default_provider can look into machines 2014-10-23 15:52:42 -07:00
Mitchell Hashimoto ad758bf69a core: prefer providers in the Vagrantfile [GH-3812] 2014-10-23 15:32:54 -07:00
Mitchell Hashimoto f0a73c7c05 core: call #state in any #action call [GH-4513] 2014-10-23 12:20:16 -07:00
Mitchell Hashimoto 4827469dee core: recognize more complex content types for json [GH-4525] 2014-10-23 11:26:56 -07:00
Mitchell Hashimoto 2856df79ac core: Vagrant.has_plugin? can take version requirements [GH-4650] 2014-10-23 10:52:02 -07:00
Mitchell Hashimoto f122ed756c Merge pull request #4571 from jperville/docker-provider-allow-multiple-links-to-same-backend
providers/docker: allow multiple links to same backend (different aliases)
2014-10-23 09:45:14 -07:00
Mitchell Hashimoto 5036d16461 update CHANGELOG 2014-10-23 09:15:47 -07:00
Mitchell Hashimoto 381f1332c8 Merge pull request #4670 from gildegoma/dry-check-ssh-perms
Check SSH key permissions in machine.ssh_info
2014-10-23 09:14:31 -07:00
Mitchell Hashimoto 7287604450 Merge pull request #4671 from jramnani/fix/master/nfs_exports_file_for_freebsd_guests
Fix #4658. Bad NFS exports file on OS X & BSD hosts.
2014-10-23 09:12:00 -07:00
Mitchell Hashimoto 296d0639cc providers/docker: support auth [GH-4042] 2014-10-22 13:12:31 -07:00
Mitchell Hashimoto cff57c8d01 core: trigger machine_id_changed for reload [GH-3963] 2014-10-22 12:07:49 -07:00
Mitchell Hashimoto 7988f0fb7c Fix broken unit tests 2014-10-22 09:44:48 -07:00
Mitchell Hashimoto 82f806f438 Fix unit tests 2014-10-22 08:39:59 -07:00
Mitchell Hashimoto 9d4ab18f42 providers/docker: stop_timeout [GH-4504] 2014-10-21 17:50:45 -07:00
Jeff Ramnani bd5fd7ab18 Fix #4658. Bad NFS exports file on OS X & BSD hosts.
For FreeBSD guests, Virtualbox can sometimes report the private network
interface IP address as "0.0.0.0".  This will cause an invalid NFS
exports file to be generated for FreeBSD and OS X hosts.

Fixed by not allowing Virtualbox to report a guest IP address of
"0.0.0.0".
2014-10-20 12:35:30 -05:00
Gilles Cornu 89a4a29d65 Memoize machine.ssh_info when ready for connection 2014-10-20 17:45:02 +02:00
Gilles Cornu 4e81be879c Check SSH key permissions in machine.ssh_info
With this change, any caller of machine.ssh_info is assured that best
efforts will be done to fix possible wrong permissions on the private
key files.

Fix #4652
2014-10-20 17:33:06 +02:00
Shawn Neal 220e4f23b2 Merge pull request #4209 from mwrock/smb_sync
adding smb sync folder implementation for windows guests addressing #3699
2014-10-07 08:19:26 -07:00
Julien Pervillé 97341c3234 providers/docker: allow multiple links to same backend (different aliases). 2014-09-29 18:46:01 +02:00
Mitchell Hashimoto 8655d212c3 kernel/v2: always forward SSH [GH-4437] 2014-09-04 14:19:47 -07:00
Mitchell Hashimoto 09d2b6fd86 core: add Checkpoint 2014-09-01 15:06:51 -07:00
Mitchell Hashimoto 41f4ec1e4d guests/redhat: set hostname on EL7 [GH-4352] 2014-08-31 09:58:12 -07:00
Mitchell Hashimoto 083dce5c61 Revert "core: guard against SSH to localhost:22 [GH-4070]"
This reverts commit 62561f2844.

This broke WinRM. Will fix in a future version.
2014-08-30 22:55:13 -07:00
Eric Saxby dd77295533 Ensure rsync_post has find permissions on smartos 2014-08-29 14:17:28 -07:00
Mitchell Hashimoto a6163d4062 Fix failing test 2014-08-29 11:26:09 -07:00
Leo Simons fec14cf04c Use -f argument to rm to force-remove files.
When using pty=true, removing files using sudo may request confirmation,
which will hang the connection.

Similarly, sometimes assumptions about file existence may be wrong and
in those cases it seems better to continue on as long as the file does
not exist, so -f makes sense there, too.
2014-08-29 10:51:31 +02:00
Veres Lajos 4ef996dca9 typofixes - https://github.com/vlajos/misspell_fixer 2014-08-25 20:12:25 +01:00
Mitchell Hashimoto a53156e426 core: don't allow '/' in VM name [GH-4289] 2014-08-11 09:21:31 -07:00
Matt Wrock e64f84491e adding smb sync folder implementation for windows guests addressing #3699 2014-08-11 00:07:21 -07:00
Mitchell Hashimoto b675be383b core: disallow brackets in VM names [GH-4319] 2014-08-10 21:05:29 -07:00
Mitchell Hashimoto e198652e75 core: don't load curlrc [GH-4328] 2014-08-10 20:49:53 -07:00
Mitchell Hashimoto 15f1823d5c core: box names with colons work on Windows [GH-4100] 2014-08-08 14:47:17 -07:00
Mitchell Hashimoto 27bf597214 Add box collection test for colons 2014-08-08 14:35:05 -07:00
Mitchell Hashimoto 62561f2844 core: guard against SSH to localhost:22 [GH-4070] 2014-08-08 11:58:53 -07:00
Mitchell Hashimoto a08d9078da commands/rsync-auto: check machine ID prior to sync [GH-4031] 2014-08-06 16:56:09 -07:00
Mitchell Hashimoto 7f5f720e0a core: Machine#reload 2014-08-06 16:46:31 -07:00
Mitchell Hashimoto 94841ef1bc Merge pull request #4094 from mitchellh/improved-winrm-command-failure-messaging
provisioners/winrm: Better WinRM command failure messaging
2014-08-06 10:44:35 -07:00
Mitchell Hashimoto 2cdcc29902 provisioners/chef: put global lock around knife exec 2014-08-06 10:24:05 -07:00
Mitchell Hashimoto f5854c5618 Merge pull request #4234 from b-dean/fixnum-array-args-fix
provisioner/shell: fix cannot handle Fixnum array args
2014-08-05 17:29:59 -07:00
Mitchell Hashimoto 7aff08f9a1 Merge pull request #4271 from Scythril/winrm_mkdir_rm_filter
communicator/winrm: Fixed some WinRM command filters
2014-08-05 17:22:24 -07:00
Mitchell Hashimoto bd94fbd9ba Merge pull request #4274 from sax/smartos_rsync
guests/smartos: rsync on SmartOS should use pfexec
2014-08-05 17:20:38 -07:00
Franz Pletz 6def193567 Add config.vm.box_server_url setting
This commits adds a new config setting `config.vm.box_server_url` to set
the URL of a local VagrantCloud instance in the Vagrantfile. If the
environment variable `VAGRANT_SERVER_URL` is set, it will still be
preferred.
2014-08-01 14:38:55 +02:00
Eric Saxby 0cb7ec2d52 rsync on SmartOS should use pfexec 2014-07-31 14:41:06 -07:00
Richard Guin 08732f5a39 Added/updated unit tests for WinRM mkdir/rm command filters 2014-07-31 14:42:11 -04:00
Ben Dean 7dc0e4340e adding failing tests for fixnum args in an array.
The args need to be strings so that an error won't happen with `text.gsub` in bb052366f7/plugins/provisioners/shell/provisioner.rb (L122)

See my comments on mitchellh/vagrant#2982 as to why it needs to test for this.
2014-07-22 15:41:01 -04:00
Shawn Neal 911406ed4a Addressed issues with Windows guest renaming on Win7/8
Removed dependency upon netdom which is not always available on all Windows versions. This implementation that uses PowerShell and WMI should work on all OS and PowerShell versions.

Fixed another issue where host renames would always happen when the hostname was longer than 15 characters. The COMPUTERNAME environment variable only returns the first 15 characters so we no longer use that to check the current host name.
2014-06-25 12:15:01 -07:00
Shawn Neal c72a412600 Better WinRM command failure messaging
Command failures include the stdout and stderr in the error message just like the SSH communicator.
Its now possible to specify only an error_class and have that use the correct error_key by default.
2014-06-24 10:09:11 -07:00
Shawn Neal d4bd05883d Fixed issue 3987
Reboot the Windows guest after renaming the computer so changes take affect immediately before attempting to provision the box.

- Changed rename from wmic to netdom since netdom seems to work correctly in Windows 2008R2 and newer OSs.
- Fixed Windows guest error translations, the wrong namespace was specified in the yaml file.
2014-06-09 22:46:03 -07:00
Kalman Hazins bb052366f7 Change symbols inside hashes to 1.9 JSON-like syntax 2014-05-22 12:35:12 -04:00
Mitchell Hashimoto d7fa60b5df communicators/winrm: use winrm_info cap if available [GH-3832] 2014-05-20 20:13:36 -07: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
YungSang a2ed1cd014 Revise the unit case, too 2014-05-13 15:23:38 -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 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 434a13b4e4 kernel/v2: automatically forward winrm if comm is winrm [GH-3685] 2014-05-08 17:00:55 -07:00
Gosha Arinich 7558524482 docker container links is actually a hash, fix tests 2014-05-08 21:27:58 +03:00
Mitchell Hashimoto 338328fa15 kernel/v2: hostnames can be one character [GH-3713] 2014-05-08 09:10:13 -07:00
Gilles Cornu 919b5245ff provisioners/chef: Rename a unit test file
This way these tests are part of `rake test:unit`

Similar to [GH-3673]
2014-05-08 06:00:58 +02:00
Fabio Rehm 7538d07233 providers/docker: Ensure long flags are used 2014-05-07 12:12:16 -03:00
Fabio Rehm 3ab5064e02 providers/docker: Add required configs and specs (build is green now) 2014-05-07 12:12:16 -03:00
Fabio Rehm 89db0f64e5 providers/docker: Rename test files for consistency 2014-05-07 11:19:36 -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 d4087db7c5 core: no active machines if there is no vagrant env 2014-05-06 13:36:42 -07:00
Mitchell Hashimoto 45fc89877c core: MachineIndex valid test is better 2014-05-05 21:50:51 -07:00
Mitchell Hashimoto 5d94ab9e60 core: if state ID is NOT_CREATED_ID, destroy machine state 2014-05-05 21:44:34 -07:00
Mitchell Hashimoto d7a9bcda47 providers/docker: vagrant_machine setting works proprely 2014-05-05 21:13:15 -07:00
Mitchell Hashimoto 958684fd7e guests/debian: more tests for hostname 2014-05-05 09:31:54 -07:00
Mitchell Hashimoto 8e334d2f24 guests/debian: fix tests 2014-05-05 09:29:23 -07:00
Gilles Cornu e884dfad71 provisioners/ansible: try to improve unit tests
I still cannot explain the cause of these random errors in this unit test,
but it is anyway safe and suitable to update the test code as following:
- use stricter regular expression matching (-l is included in --limit)
- array lengths substraction instead of array contents substraction
2014-05-05 09:25:35 +02: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
Gilles Cornu a394d80254 provisioners/ansible: minor change in unit tests 2014-05-04 21:25:43 +02:00
Mitchell Hashimoto c5b3dbbf75 core: fix final test 2014-05-01 10:12:36 -07:00
Mitchell Hashimoto cca9bffa90 core: Can exclude providers 2014-05-01 09:50:35 -07:00
Mitchell Hashimoto ab9f91568e core: more intuitive logic around default providers 2014-05-01 09:46:40 -07:00
Mitchell Hashimoto ba6272cc48 Update tests 2014-05-01 09:41:59 -07:00
Mitchell Hashimoto a9dfb6b3bd core: default provider chosen by usability and prority 2014-05-01 09:40:52 -07:00
Mitchell Hashimoto 429bd73495 core: provider has default priority of 5 2014-05-01 09:26:36 -07:00
Shawn Neal f4b67df978 Removed unused halt timeout and check interval settings. 2014-05-01 08:00:41 -07:00
Shawn Neal 309f301a16 Added test to verify Windows symlinks to shares are fixed 2014-04-30 17:36:36 -07:00
Mitchell Hashimoto d6b7f3a855 Fix tests 2014-04-29 17:02:10 -07:00
Mitchell Hashimoto c818a14072 providers/docker: expose ports 2014-04-27 18:37:25 -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 8c8099aebc Merge pull request #3551 from benesch/3550
core: return {} if cached synced folders file missing [GH-3550]
2014-04-27 15:55:25 -07: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 f18a397289 Allow WinRM commands to be run elevated via scheduled task 2014-04-26 21:07:26 -07: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
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
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 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
Shawn Neal 4a2a147926 Refactored WinRM test command filter 2014-04-23 21:15:05 -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 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 da69bd60a4 Fix some tests 2014-04-23 06:22:58 -07:00
Mitchell Hashimoto 5da77dee5c commands/box/remove: add --force flag 2014-04-23 06:16:51 -07:00
Mitchell Hashimoto 85f4a4d5ee commands/box/remove: if box is in use, warn user, ask for confirmation 2014-04-23 06:13:16 -07:00
Mitchell Hashimoto e985308e9a core: MachineIndex::Entry#valid? method and tests 2014-04-22 17:09:44 -07:00
Mitchell Hashimoto 2660252ede core: Store the actual box data, not just the name 2014-04-22 16:46:11 -07:00
Mitchell Hashimoto 519c8af971 core: MachineIndex stores the box associated with a machine when ID is set 2014-04-22 15:26:56 -07:00
Shawn Neal dbe73e842f Added guest network tests for Windows guests 2014-04-22 14:03:07 -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 afd3f1ff43 synced_folders/nfs: can say functional is false explicitly 2014-04-21 20:37:14 -07:00
Mitchell Hashimoto 4372ab034e providers/virtualbox: merge customizations properly 2014-04-21 13:56:32 -07:00
Emilien Kenler 744e5b9b30 More tests 2014-04-21 13:56:17 -07:00
Emilien Kenler b77bd3e6bb Unit test + vault password file existence check 2014-04-21 13:56:16 -07:00
Mitchell Hashimoto 8171471628 providers/docker: make merge logic a bit more sensible 2014-04-21 13:56:13 -07:00
Mitchell Hashimoto 862414af12 core: lock around machine actions 2014-04-21 13:56:09 -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 d2e2ccb625 core: A function for diffing synced folders 2014-04-21 13:55:56 -07:00
Mitchell Hashimoto 81df70eee0 providers/docker: support building Dockerfiles 2014-04-21 13:55:54 -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 704ff98200 providers/docker: only sync folders if they're not already there 2014-04-21 13:55:26 -07:00
Mitchell Hashimoto 6883109d27 Fix tests 2014-04-21 13:55:25 -07:00
Mitchell Hashimoto cabacae4cb core: return nil if cached synced folders file doesn't exist 2014-04-21 13:55:24 -07:00
Mitchell Hashimoto 4557ece4df core: SyncedFolders middleware saves what it synced 2014-04-21 13:55:23 -07:00
Mitchell Hashimoto 794cd4f287 core: MixinSyncedFolders have methods for save/reading from cache 2014-04-21 13:55:22 -07:00
Mitchell Hashimoto ea864986fd core: Add more tests for what we recently added 2014-04-21 13:55:21 -07:00
Mitchell Hashimoto 3c9219b8c9 core: Builtin SyncedFolders accepts alternate config 2014-04-21 13:55:18 -07:00
Mitchell Hashimoto 0153e0ccbb core: Machine#action_raw for calling raw callables 2014-04-21 13:55:17 -07:00
Mitchell Hashimoto d8bdb62ed4 core: MixinSyncedFolders lets a custom config through 2014-04-21 13:55:15 -07:00
Mitchell Hashimoto 646f0fa907 core: MachineIndex preserves the local data path for an env 2014-04-21 13:55:02 -07:00
Mitchell Hashimoto e78d087c27 Tests passing 2014-04-21 13:54:59 -07:00
Mitchell Hashimoto aa1abdd1c4 core: SSHExec middleware can have ssh info overridden 2014-04-21 13:54:53 -07:00
Mitchell Hashimoto 2add94ee28 core: BatchAction can run arbitrary code 2014-04-21 13:54:46 -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 6bf1f51e5b core: add global-status tests 2014-04-21 13:54:26 -07:00
Mitchell Hashimoto 9b22ccbd32 core: MachineIndex updates existing entry if name, provider, path match 2014-04-21 13:54:25 -07:00
Mitchell Hashimoto d72c18a8b1 MachineIndexTest 2014-04-21 13:54:24 -07:00
Mitchell Hashimoto 0dc40e1680 core: MachineIndex can have extra data attached to it 2014-04-21 13:53:38 -07:00
Mitchell Hashimoto ba1676b232 providers/hyperv: fix tests and bug with usable? 2014-04-21 13:53:36 -07:00