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
Mitchell Hashimoto
3aad85fa30
style
2014-04-11 09:56:35 -07:00
Mitchell Hashimoto
794ca7a4df
Tests passing again
2014-04-09 10:57:00 -07:00
Mitchell Hashimoto
800cf7539b
synced_folders/rsync: don't crash if comm error during rsync-auto [GH-3419]
2014-04-09 08:58:56 -07:00
Mitchell Hashimoto
5f12126d32
core: network issues don't halt Vagrant during box update check [GH-3391]
2014-04-05 09:25:03 -07:00
Mitchell Hashimoto
0e46c5d9de
core: Raise predictable error if box metadata downlaod fails
2014-04-05 09:20:03 -07:00
Mitchell Hashimoto
5b360d0990
core: BoxCollection#find version constraint can benil
2014-04-02 19:50:44 -07:00
Mitchell Hashimoto
d1caf8c624
core: Allow direct box adding again
2014-04-02 19:45:49 -07:00
Mitchell Hashimoto
32d86ca42b
core: don't allow version for old-style box [GH-3260]
2014-04-02 09:32:34 -07:00
Mitchell Hashimoto
af7a589231
core: outdated check checks local boxes [GH-3321]
2014-04-02 08:37:03 -07:00
Mitchell Hashimoto
36ad327ec1
core: ignore if box doesn't exist on update check [GH-3326]
2014-04-02 08:24:38 -07:00
Mitchell Hashimoto
097dd2917c
core: better error when adding box with malformed version [GH-3332]
2014-04-01 22:48:52 -07:00
Mitchell Hashimoto
8195f7faab
core: add test for removing box version [GH-3364]
...
/cc @berendt - Added a test
2014-04-01 21:47:51 -07:00
Mitchell Hashimoto
600d01d792
Merge pull request #3102 from sax/smartos
...
guests/smartos
2014-03-20 17:50:20 -07:00
Paulo Bittencourt
1f694d4978
kernel/v2: allow provisioner plugins to register without config
2014-03-19 17:37:52 -04:00
Mitchell Hashimoto
846f942ff0
core: check for data_dir [GH-3208]
2014-03-14 14:04:00 -07:00
Fabio Rehm
99547eef8f
For some weird reason the changes introduced by transpec made this spec fail, this should fix it
2014-03-14 12:09:07 -03:00
Fabio Rehm
54656151cf
Convert specs to RSpec 2.14.8 syntax with Transpec
...
This conversion is done by Transpec 1.10.2 with the following command:
transpec test/unit/
* 507 conversions
from: obj.should
to: expect(obj).to
* 394 conversions
from: == expected
to: eq(expected)
* 260 conversions
from: obj.should_receive(:message)
to: expect(obj).to receive(:message)
* 85 conversions
from: obj.stub(:message)
to: allow(obj).to receive(:message)
* 25 conversions
from: its(:attr) { }
to: describe '#attr' do subject { super().attr }; it { } end
* 19 conversions
from: obj.should_not
to: expect(obj).not_to
* 7 conversions
from: obj.should_not_receive(:message)
to: expect(obj).not_to receive(:message)
* 3 conversions
from: Klass.any_instance.should_receive(:message)
to: expect_any_instance_of(Klass).to receive(:message)
2014-03-14 12:02:07 -03:00
Mitchell Hashimoto
513efa6739
core: Downloads with user/pass use curl -u flag [GH-3183]
2014-03-13 08:53:18 -07:00
Mitchell Hashimoto
012c28606f
kernel/v2: validate forwarded ports [GH-3187]
2014-03-13 08:32:05 -07:00
Eric Saxby
f36d372b32
Resolve confusion around SmartOS rsync_pre
...
rsync should *always* be pre-installed in SmartOS (global and local zones), as
it's part of the kernel. Previous commits incorrectly attributed #rsync_install
to running rsync, rather than to installing the rsync command.
2014-03-12 22:35:32 -07:00
Mitchell Hashimoto
8634cc309b
core: error earlier if adding a path that doesn't exist
2014-03-12 20:33:12 -07:00
Mitchell Hashimoto
56dd0e8531
synced_folders/rsync: don't watch excluded paths [GH-3159]
2014-03-12 19:40:18 -07:00
Mitchell Hashimoto
a6eafd6a12
synced_folders/rsync: execute rsync_post cap if it exists [GH-3163]
2014-03-12 18:43:59 -07:00
Mitchell Hashimoto
8624e2cbf2
Fix failing tests on Windows
2014-03-11 11:09:37 -07:00
Eric Saxby
31da3860e5
Add unit tests for smartos compatibility
2014-03-10 18:52:20 -07:00
Eric Saxby
edb4efa10a
Dummy communicator runs :test correctly
2014-03-10 18:51:47 -07:00
Mitchell Hashimoto
ee23b87eb6
core: Private boxes authenticate metadata box URLs too
2014-03-09 19:24:54 -07:00
Mitchell Hashimoto
06c881708d
Fix tests
2014-03-09 18:29:45 -07:00
Mitchell Hashimoto
4c9e6e46b2
provisioners/salt: don't use exteranl deep_merge [GH-2348]
2014-03-07 09:18:34 -08:00
Mitchell Hashimoto
d4511131b4
synced_folders/rsync: allow custom args [GH-3070]
2014-03-06 11:27:58 -08:00