Commit Graph

176 Commits

Author SHA1 Message Date
Mitchell Hashimoto 71d615212d providers/docker: can set environmental variables 2014-04-21 13:55:49 -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 ba1676b232 providers/hyperv: fix tests and bug with usable? 2014-04-21 13:53:36 -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
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 21ac0810fd communicators/winrm: more tests 2014-04-21 13:51:04 -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
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 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 d1caf8c624 core: Allow direct box adding again 2014-04-02 19:45:49 -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
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 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 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
Eric Saxby 31da3860e5 Add unit tests for smartos compatibility 2014-03-10 18:52:20 -07:00
Mitchell Hashimoto 06c881708d Fix tests 2014-03-09 18:29:45 -07:00
Mitchell Hashimoto d4511131b4 synced_folders/rsync: allow custom args [GH-3070] 2014-03-06 11:27:58 -08:00
Mitchell Hashimoto 4104f6c21f Fix Hyper-V tests 2014-03-06 09:04:23 -08:00
Mitchell Hashimoto 35adc6063b providers/hyperv: add test for windows guests 2014-03-05 18:50:31 -08:00
Mitchell Hashimoto 857b989c47 provisioners/docker: setting to not auto assign name 2014-03-04 07:31:13 -08:00
Mitchell Hashimoto 7926f7f051 core: box URLs can be authenticated by hooking 2014-03-01 11:38:04 +01:00
Mitchell Hashimoto 5d19285774 providers/hyperv: wait for IP on boot 2014-02-27 08:12:57 -08:00
Mitchell Hashimoto 7c0948c81d providers/hyperv: clean up status script 2014-02-27 08:12:55 -08:00
Mitchell Hashimoto fe93b0d2a5 providers/hyperv: more checks on machine import 2014-02-27 08:12:53 -08:00
Mitchell Hashimoto 784a5b2e32 providers/hyperv: all sorts of tests to verify Windows/admins 2014-02-27 08:12:51 -08:00
Mitchell Hashimoto a1958ee12f providers/hyperv: shuffle things around 2014-02-27 08:12:48 -08:00
Mitchell Hashimoto 6c5179602c provisioners/salt: error if minion_config missing [GH-2893] 2014-02-24 07:58:12 -08:00
Teemu Matilainen eea9c07029 provisioners/chef: set `encrypted_data_bag_secret` to `nil` if it's not uploaded
/cc @shanegibbs

Fixes #2984
2014-02-16 18:14:56 -03:00
Teemu Matilainen ad34d474bc provisioners/chef: DRY and unify encrypted data bag secret handling
Pull up encrypted data bag secret management into the base classes, thus
also unifying the functionality.

Especially this complements the issues:
  * Upload the secret to provisioning path also with chef-solo [GH-1246]
  * Delete the secret also with chef-client [GH-2712]
  * Remove the secret before uploading also with chef-client [GH-1111]
2014-02-15 22:46:48 -03:00
Ryan Uber a4e923bec7 Removed excess whitespace 2014-02-14 12:02:27 -08:00
Ryan Uber fff4f595c5 Added unit test for passing a single fixnum as an argument to the shell
provisioner
2014-02-14 11:53:17 -08:00
Ryan Uber 509e29043a Added handling of fixnum values for shell provisioner options both as the value
of `args` itself and as an element inside of an `args` array. Added validation
around passing in arrays for arguments. Just knowing that it is an array is not
enough, because arrays can contain any other type.
2014-02-14 11:47:36 -08:00
Mitchell Hashimoto b1bed68bed providers/virtualbox: cap to read forwarded ports 2014-02-13 16:34:34 -08:00
Mitchell Hashimoto 12b2572687 kernel/v2: capture error if provider config is bad [GH-2959] 2014-02-11 11:55:04 -08:00
Mitchell Hashimoto 8d3afa73d2 providers/virtualbox: config to skip guest additions check 2014-02-08 18:35:09 -08:00
Mitchell Hashimoto 8e9ceeaf5c core: Machine has reference to Vagrantfile 2014-02-07 09:16:55 -08:00
Mitchell Hashimoto cdf1d7f318 core: get rid of all uses of config_global 2014-02-06 20:22:15 -08:00
Mitchell Hashimoto d18e80e1fd Fix tests for kernel/v2 2014-02-05 21:24:34 -08:00
Mitchell Hashimoto 848fe5d166 kernel/v2: check for box updates by default
/cc @pearkes @armon
2014-02-05 21:20:33 -08:00
Mitchell Hashimoto 85aa7db17e commands/box: repackage tests 2014-02-05 21:20:29 -08:00
Mitchell Hashimoto 7a6d1a3ff1 commands/box: update command can update a specific box now 2014-02-05 21:20:23 -08:00
Mitchell Hashimoto 88b64f93a4 commands/box: "update" command 2014-02-05 21:20:19 -08:00
Mitchell Hashimoto b5157df2cc core: BoxCheckOutdated only runs if told to 2014-02-05 21:20:14 -08:00
Mitchell Hashimoto d40ff9c390 kernel_v2: test for box_url 2014-02-05 21:20:01 -08:00
Mitchell Hashimoto b2fa785d07 core: Environment loads proper version of box 2014-02-05 21:19:51 -08:00
Mitchell Hashimoto 29da748702 commands/box/remove: update for new syntax 2014-02-05 21:19:41 -08:00
Mitchell Hashimoto 96e92167d9 commands/box: broken box adding, but more options/tests 2014-02-05 21:19:16 -08:00
Mitchell Hashimoto 5030a16f84 kernel/v2: default all configs properly, remove config/default.rb 2014-02-05 15:36:35 -08:00
Teemu Matilainen ca56c913aa kernel/v2: fix provisioner config with blocks
Regression from 10d5416.
2014-02-04 00:51:01 -03:00
Mitchell Hashimoto d864187b1a provisioners/docker: configuration is mergeable 2014-02-03 22:23:26 +01:00
Mitchell Hashimoto 2cc56119b7 kernel/v2: support the preserve_order option (documented) 2014-02-03 22:03:20 +01:00
Mitchell Hashimoto 3aaa57cac9 kernel/v2: support merging properly 2014-02-03 21:30:01 +01:00
Mitchell Hashimoto 10d5416a90 kernel/v2: support overriding provisioner settings 2014-02-03 16:56:39 +01:00
Mitchell Hashimoto debc14f883 kernel/v2: more tests 2014-02-03 16:42:47 +01:00
Mitchell Hashimoto 0e5840a14d kernel/v2: test for some config 2014-02-03 16:40:02 +01:00
Mitchell Hashimoto 1d69e95c1c provisioners/docker: config to disablize -d flag 2014-02-03 16:14:59 +01:00
Mitchell Hashimoto f63ef395f1 Merge branch 'rsync_install' of https://github.com/tmatilai/vagrant into tmatilai-rsync_install
Conflicts:
	plugins/guests/freebsd/plugin.rb
	plugins/guests/netbsd/plugin.rb
	plugins/guests/openbsd/plugin.rb
2014-02-03 12:12:49 +01:00
Teemu Matilainen bc96a054be provisioners/file: add unit tests for the provisioner 2014-02-01 01:23:57 -03:00
Teemu Matilainen 9771c8bd52 provisioners/file: Add unit tests for the config 2014-02-01 01:22:53 -03:00
Teemu Matilainen ee2ae94c25 synced_folders/rsync: Install `rsync` on guest if needed
Add new `rsync_installed` and `rsync_install` guest capabilities
to detect and install `rsync`.

Also copy `rsync_pre` capability to all Unix guests.
2014-01-31 02:12:57 -03:00
Mitchell Hashimoto dd33a26422 providers/virtualbox: network config uses proper format, tests [GH-2854] 2014-01-17 09:53:02 -08:00
Mitchell Hashimoto 2dff1ac417 core: get tests passing on Windows, more tweaks 2014-01-15 21:30:47 -08:00
Mitchell Hashimoto 73b72deb0a synced_folders/rsync: convert path to cygpath on Windows 2014-01-15 21:13:08 -08:00
Mitchell Hashimoto 285bda7a68 synced_folders/nfs: don't nfs_prune on hosts that don't support it 2014-01-15 20:28:27 -08:00
Mitchell Hashimoto 35a19f829c provider/virtualbox: fix NFS tests on Windows 2014-01-15 11:48:07 -08:00
Mitchell Hashimoto 4fab57576b synced_folders/rsync: run hostpath through fs_real_path
This fixes issues with drive letter casing on Windows
2014-01-15 11:30:32 -08:00
Mitchell Hashimoto 2ca498a5dd provisioners/docker: build images using new DSL 2014-01-14 09:22:55 -08:00
Mitchell Hashimoto 31b239fba2 provisioners/docker: unit tests for config
/cc @fgrehm - I'm starting to unit test more and more of the plugins.
Just showing you an example because it is quite easy. :)
2014-01-14 08:27:34 -08:00
Mitchell Hashimoto 04f1854840 synced_folders/rsync: unit tests for the callback, fix bug 2014-01-13 22:01:09 -08:00
Mitchell Hashimoto b4b62daf5c synced_folders/rsync: expand host paths relative to root path 2014-01-13 11:34:49 -08:00
Mitchell Hashimoto 309d12a16b synced_folders/rsync: `vagrant rsync` syncs the folders 2014-01-13 11:25:29 -08:00
Mitchell Hashimoto 59218ded68 synced_folders/rsync: move rsync logic out to helper 2014-01-13 11:01:50 -08:00
Mitchell Hashimoto 8bc36824bf commands/list-commands: lists all commands primary and non-primary 2014-01-11 09:32:13 -08:00
Mitchell Hashimoto 13e9f8037a test: get all the tests passing with new CLI changes 2014-01-11 08:59:13 -08:00
Mitchell Hashimoto 7b2a0716f1 synced_folders/rsync: warn if password auth 2014-01-10 20:37:11 -08:00
Mitchell Hashimoto 60f3d224c9 synced_folders/rsync: can exclude files 2014-01-10 18:01:38 -08:00
Mitchell Hashimoto 2e3fcf576c synced_folders/rsync: allow guests to execute things before 2014-01-10 17:51:44 -08:00
Mitchell Hashimoto 38fbbb6c56 synced_folders/rsync: Initial commit working 2014-01-10 17:40:29 -08:00