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
b08c1a62ce
Removing some old files
2014-04-29 16:48:12 -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
Mitchell Hashimoto
1c29c39f1b
core: generalize the autostart stuff so we don't have a bunch of specials
2014-04-21 13:53:35 -07:00
Mitchell Hashimoto
9dd9fff637
core: check if provider is usable when requesting a machine
2014-04-21 13:53:10 -07:00
Mitchell Hashimoto
bc2e3727a9
core: Add usable? check to providers
2014-04-21 13:53:07 -07:00
Mitchell Hashimoto
ab2cae2379
providers/docker: synced folder usable? raises error, tests
...
/cc @fgrehm
2014-04-21 13:53:05 -07:00
Mitchell Hashimoto
2e13feb130
providers/docker: Clean up config and make a spec
2014-04-21 13:53:04 -07:00
Mitchell Hashimoto
61ffa53134
kernel/v2: boxes can be optional if a provider says so
...
/cc @fgrehm - For the DOcker provider, we can now make boxes optional. :)
No more dummy boxes!
2014-04-21 13:53:03 -07:00
Mitchell Hashimoto
e52556b5f5
tests passing
2014-04-21 13:53:00 -07:00
Mitchell Hashimoto
aad8e7f80d
core: provision "once" or "always" [GH-2421]
2014-04-21 13:52:30 -07:00
Mitchell Hashimoto
f6fb9016a1
core: can specify a "post_up_message" [GH-1968]
2014-04-21 13:52:28 -07:00
Mitchell Hashimoto
c4a4b998df
core: Test eager loading of WinRM
2014-04-21 13:51:51 -07:00
Fabio Rehm
e5375715ef
providers/docker: Update driver to docker 0.9
2014-04-21 13:51:45 -07:00
Fabio Rehm
5a60e568ce
providers/docker: Import code from https://github.com/fgrehm/docker-provider with some initial tweaks
2014-04-21 13:51:31 -07:00
Fabio Rehm
efc1122c42
provisioners/docker: Change to VagrantPlugins::DockerProvisioner namespace
2014-04-21 13:51:30 -07:00
Mitchell Hashimoto
a0e9f46251
core: commands can use the IDs from anywhere to control
2014-04-21 13:51:24 -07:00
Mitchell Hashimoto
48cf2c38f7
core: MachineIndex is enumerable
2014-04-21 13:51:21 -07:00
Mitchell Hashimoto
13a4db391a
core: Machine updates state cache when querying state
2014-04-21 13:51:20 -07:00
Mitchell Hashimoto
44e379e961
core: Machine sets index entries on ID sets
2014-04-21 13:51:19 -07:00
Mitchell Hashimoto
8a6bdbf710
core: Environment#machine_index
2014-04-21 13:51:17 -07:00
Mitchell Hashimoto
a29f5d7e01
core: Add MachineIndex#delete
2014-04-21 13:51:16 -07:00
Mitchell Hashimoto
ac032db6a6
core: MachineIndex has precision locking for entries
2014-04-21 13:51:14 -07:00
Mitchell Hashimoto
016afc7922
core: Basic MachineIndex class, starting point
2014-04-21 13:51:13 -07:00
Mitchell Hashimoto
21ac0810fd
communicators/winrm: more tests
2014-04-21 13:51:04 -07:00
Mitchell Hashimoto
f07ee5754a
core: Configurable communicator
2014-04-21 13:51:02 -07:00
Mitchell Hashimoto
40d89cf5ea
kernel/v2: configurable communicator (doesn't do anything yet)
2014-04-21 13:51:01 -07:00
Mitchell Hashimoto
eebebd8837
communicators/winrm: Config unit tests (a little)
2014-04-21 13:50:59 -07:00
Ramon de la Fuente
f6a5e20688
Add autostart as an option for vagrant boxes
...
Added specs for the environment and vagrantfile. Added a methd to retrieve
autostart_machine_names. Changed the plugin up/command to use autostart_machine_names
when no argument was given to the command.
2014-04-21 13:50:57 -07:00
Kenny Rasschaert
fc95e77237
provisioners/salt: error if minion_config missing
2014-04-19 23:24:30 +02:00
Mitchell Hashimoto
20473fe4ca
core: allow overriding default SSH port [GH-3474]
2014-04-15 10:37:08 -07:00
Mitchell Hashimoto
e7e9bcd360
Fix tests
2014-04-12 18:04:17 -07:00
Gilles Cornu
7ed17ae9ed
provisioners/ansible: use strict boolean options
...
With this change, the ansible provisioner fully complies with
the current user documentation.
2014-04-12 13:48:15 +02:00
Gilles Cornu
ad038890bb
provisioners/ansible: update specs after [GH-3436]
2014-04-12 10:53:02 +02:00
Gilles Cornu
baf0649dcf
provisioners/ansible: add more unit tests
...
Remove wrong usage of shared examples and introduce embedded class methods
(as kind of simple "RSpec macros") to reduce code duplication.
2014-04-12 10:53:01 +02:00
Gilles Cornu
e32783312b
provisioners/ansible: improve unit tests (wip)
...
- Don't mock the config object, but use a true instance
- When possible, take advantage of Rpsec before/after hooks to
reduce code repetitions
- Add an example ("with inventory_path option")
- Use a global variable to store the path of the generated inventory
- Miscellaneous changes in existing examples (style, fixes)
2014-04-12 08:18:35 +02:00
Gilles Cornu
f0a596b47c
provisioners/ansible: add first unit tests
2014-04-12 08:18:34 +02:00
Mitchell Hashimoto
2cb6a21a5a
core: Fix tests, which found broken logic in synced folders
2014-04-11 16:28:38 -07:00