Commit Graph

966 Commits

Author SHA1 Message Date
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
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
Mitchell Hashimoto 4104f6c21f Fix Hyper-V tests 2014-03-06 09:04:23 -08:00
Mitchell Hashimoto 79df69392f core: initialize synced folder class only once [GH-3067] 2014-03-06 08:35:21 -08:00
Mitchell Hashimoto 35adc6063b providers/hyperv: add test for windows guests 2014-03-05 18:50:31 -08:00
Mitchell Hashimoto 7f2fe524b3 core: use default color by default (not white) 2014-03-05 10:19:53 -08:00
Mitchell Hashimoto 857b989c47 provisioners/docker: setting to not auto assign name 2014-03-04 07:31:13 -08:00
Mitchell Hashimoto 4437bcd77f core: better error if attempting to uninstall system plugin 2014-03-03 15:05:32 -08:00
Mitchell Hashimoto b5637da6c4 core: plugin manager marks system gems as system 2014-03-03 14:55:34 -08:00
Mitchell Hashimoto efddef0a80 core: add tests fornew systems path for plugin manager 2014-03-03 09:50:16 -08:00
Mitchell Hashimoto 7710fd16fa core: load system plugins if they are installed 2014-03-03 09:44:29 -08:00
Mitchell Hashimoto 616bf15df5 core: Vagrant.installer_embedded_dir 2014-03-03 09:37:22 -08:00
Mitchell Hashimoto 5018e4d8a4 core: checksums supported when adding box from metadata 2014-03-01 12:03:22 +01:00
Mitchell Hashimoto 23bd397cb8 core: BoxMetadata supports checksums 2014-03-01 11:59:16 +01:00
Mitchell Hashimoto ce350fe872 core: box checksums just work properly again for direct box adds 2014-03-01 11:54:37 +01:00
Mitchell Hashimoto 7926f7f051 core: box URLs can be authenticated by hooking 2014-03-01 11:38:04 +01:00
Mitchell Hashimoto c735e81e4d core: expand IsState to support inversions 2014-02-27 08:13:12 -08:00
Mitchell Hashimoto e93038fd0e providers/hyperv: suspend/resume 2014-02-27 08:13:11 -08: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 5f1caf3ada core: re-ask if confirmation bad input [GH-3027] 2014-02-26 08:01:45 -08:00
Mitchell Hashimoto b8676a65dd core: Vagrant.server_url should default if empty 2014-02-25 21:39:05 -08:00
Mitchell Hashimoto 1ed3be138e core: add a test for last PR 2014-02-25 07:27:13 -08:00
Mitchell Hashimoto 6c5179602c provisioners/salt: error if minion_config missing [GH-2893] 2014-02-24 07:58:12 -08:00
Mitchell Hashimoto 34c000419f Fix failing tests 2014-02-23 22:33:04 -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 a4f64d0148 core: ui can hide details 2014-02-13 21:09:02 -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 e6ca9d6f81 core: Ui::Prefixed can take prefix_spaces option 2014-02-08 15:14:21 -08:00
Mitchell Hashimoto 2d7c161f49 core: Ui#dup works properly 2014-02-08 15:11:51 -08:00
Mitchell Hashimoto 9026e54da9 core: fix Environment tests 2014-02-08 14:54:40 -08:00
Mitchell Hashimoto 86454ddac9 core: Environment#lock tests 2014-02-08 14:50:52 -08:00
Mitchell Hashimoto 1e50e7aca1 core: Prefixed UI only requests bolding if not specified at instance-level 2014-02-08 14:26:26 -08:00
Mitchell Hashimoto efc1bf50dd core: Machine#with_ui 2014-02-08 14:03:31 -08:00
Mitchell Hashimoto 40cbfb95e3 core: fix Machine tests 2014-02-07 09:24:09 -08:00
Mitchell Hashimoto 8e9ceeaf5c core: Machine has reference to Vagrantfile 2014-02-07 09:16:55 -08:00
Mitchell Hashimoto 3533256cd7 core: Vagrantfile can create machines, Environment#machine uses that 2014-02-06 21:31:11 -08:00
Mitchell Hashimoto 506e1a433f core: Vagrantfile#machine_config returns more info now 2014-02-06 21:04:59 -08:00
Mitchell Hashimoto d40dc919d8 core: plugin tests no longer obliterate manager 2014-02-06 20:50:51 -08:00
Mitchell Hashimoto cdf1d7f318 core: get rid of all uses of config_global 2014-02-06 20:22:15 -08:00
Mitchell Hashimoto e2403c093d core: Vagrantfile class now adheres to box_version 2014-02-06 20:17:24 -08:00
Mitchell Hashimoto 7549704c5b core: Environment#config_global is gone! 2014-02-06 20:12:16 -08:00
Mitchell Hashimoto e3a67f7ab6 core: Environment uses the new Vagrantflie class 2014-02-06 20:12:15 -08:00
Mitchell Hashimoto 99346cc516 core: add Vagrantfile class, tests 2014-02-06 20:11:12 -08:00
Mitchell Hashimoto d18e80e1fd Fix tests for kernel/v2 2014-02-05 21:24:34 -08:00
Mitchell Hashimoto cac0fdb490 core: Add the default server URL 2014-02-05 21:20:37 -08:00
Mitchell Hashimoto becc349846 core: handle native windows paths like 'c:\foo.box'
[GH-2081]
2014-02-05 21:20:35 -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 751b4da2c6 core: if box is unversioned, check update does nothing 2014-02-05 21:20:32 -08:00
Mitchell Hashimoto 647563edaf core: shorthand boxes must be foo/bar formatted, better errors 2014-02-05 21:20:31 -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 61a1082d65 core: BoxCheckOutdated is *much* simpler, unified logic, tests 2014-02-05 21:20:18 -08:00
Mitchell Hashimoto b5157df2cc core: BoxCheckOutdated only runs if told to 2014-02-05 21:20:14 -08:00
Mitchell Hashimoto 8cc16d14fa core: BoxCheckOutdated checks locally 2014-02-05 21:20:13 -08:00
Mitchell Hashimoto d78194654d core: ability to hide success UI 2014-02-05 21:20:12 -08:00
Mitchell Hashimoto e537e02d9d core: BoxCheckOutdated can check if a box is outdated 2014-02-05 21:20:11 -08:00
Mitchell Hashimoto f2509f5c65 commands/box: outdated command to find outdated boxes 2014-02-05 21:20:10 -08:00
Mitchell Hashimoto b81686e2c9 core: BoxAdd adds the metadata URL 2014-02-05 21:20:08 -08:00
Mitchell Hashimoto bd9f375263 core: Box can store a metadata URL 2014-02-05 21:20:07 -08:00
Mitchell Hashimoto d40ff9c390 kernel_v2: test for box_url 2014-02-05 21:20:01 -08:00
Mitchell Hashimoto f0607c6df0 core: BoxAdd supports multiple URLs properly 2014-02-05 21:19:59 -08:00
Mitchell Hashimoto 38248c240c core: BoxAdd errors if name doesn't match metadata 2014-02-05 21:19:58 -08:00
Mitchell Hashimoto b23ad41c40 core: HandleBox reloads the box 2014-02-05 21:19:57 -08:00
Mitchell Hashimoto f2c4adc4ee core: use symbol names for providers everywhere 2014-02-05 21:19:56 -08:00
Mitchell Hashimoto a73ea6ab7a core: fix hang in test 2014-02-05 21:19:54 -08:00
Mitchell Hashimoto a115750401 core: HandleBox works with metadata boxes 2014-02-05 21:19:52 -08:00
Mitchell Hashimoto b2fa785d07 core: Environment loads proper version of box 2014-02-05 21:19:51 -08:00
Mitchell Hashimoto d08866e9f3 core: nicer error if shorthand can't be found 2014-02-05 21:19:49 -08:00
Mitchell Hashimoto 5aba445cac core: shorthand box adds wor 2014-02-05 21:19:47 -08:00
Mitchell Hashimoto f9fe025d10 core: helper to get the server URL 2014-02-05 21:19:46 -08:00
Mitchell Hashimoto b71cde6b99 core: make box add UI much icer 2014-02-05 21:19:44 -08:00
Mitchell Hashimoto c7fc9d1d46 core: BoxRemove works, tests 2014-02-05 21:19:42 -08:00
Mitchell Hashimoto 29da748702 commands/box/remove: update for new syntax 2014-02-05 21:19:41 -08:00
Mitchell Hashimoto f9c9559320 core: ask what provider to use if multiple providers 2014-02-05 21:19:38 -08:00
Mitchell Hashimoto 05eeefbe36 core: Fix Downloader tests 2014-02-05 21:19:34 -08:00
Mitchell Hashimoto 8f0f0506d6 core: BoxAdd requires name if old-style box 2014-02-05 21:19:32 -08:00
Mitchell Hashimoto 09e8666296 core: BoxAdd now works with HTTP URLs 2014-02-05 21:19:31 -08:00
Mitchell Hashimoto 03b22ab9a1 core: add the box_added to the middleware 2014-02-05 21:19:30 -08:00
Mitchell Hashimoto 1ca7f86f76 core: verify providers with direct box adding 2014-02-05 21:19:29 -08:00
Mitchell Hashimoto 75cffe53d1 core: BoxAdd checks if box already exists for metadata
unless force
2014-02-05 21:19:28 -08:00
Mitchell Hashimoto c1989603be core: adding from metadata wlil force if specified 2014-02-05 21:19:27 -08:00
Mitchell Hashimoto 2a08302145 core: BoxAdd can add old boxes (happy path) 2014-02-05 21:19:26 -08:00
Mitchell Hashimoto ee139eb79d core: more output for box adding 2014-02-05 21:19:22 -08:00
Mitchell Hashimoto 5b075fa34e core: BoxAdd adds matching provider even if lower version 2014-02-05 21:19:20 -08:00
Mitchell Hashimoto 80194cde35 core: BoxMetadata#version can constrain by providers 2014-02-05 21:19:19 -08:00
Mitchell Hashimoto 7d44cd61c9 core: BoxAdd can add from metadata, version constraints, more 2014-02-05 21:19:18 -08:00
Mitchell Hashimoto 15aa91b073 core: can add/search boxes with slashes in name 2014-02-05 21:19:17 -08:00
Mitchell Hashimoto 96e92167d9 commands/box: broken box adding, but more options/tests 2014-02-05 21:19:16 -08:00
Mitchell Hashimoto 8abcc6e5f2 core: BoxMetadata can read the JSON description 2014-02-05 21:19:15 -08:00
Mitchell Hashimoto e8197c4e87 commands/box: list works with the new versions 2014-02-05 21:19:14 -08:00
Mitchell Hashimoto e111b7a691 core: environment tests pass 2014-02-05 21:19:12 -08:00
Mitchell Hashimoto 16ced8d36c core: boxcollection test tests versions 2014-02-05 21:19:11 -08:00
Mitchell Hashimoto d87c414327 core: Box has a version field 2014-02-05 21:19:10 -08:00
Mitchell Hashimoto 87a85488d1 core: all box collection tests pass 2014-02-05 21:19:09 -08:00
Mitchell Hashimoto 4c1fa7359d core: BoxCollection can find with version constraints 2014-02-05 21:19:07 -08:00
Mitchell Hashimoto 77b5fa94b7 core: BoxCollection#all returns versions 2014-02-05 21:19:06 -08:00
Mitchell Hashimoto 6cddb92407 core: error if newer home dir version is detected 2014-02-05 21:19:05 -08:00
Mitchell Hashimoto b52d33e0af core: upgrade to v1.5 box dir format if it can 2014-02-05 21:19:04 -08:00
Mitchell Hashimoto a03bc763f9 core: tests around the environment setup_version 2014-02-05 21:19:01 -08:00
Mitchell Hashimoto 86ede835ea Fix tests for new _finalize! changes 2014-02-05 21:16:47 -08:00
Mitchell Hashimoto f72db0c611 core: config raises NoMethodError on bad calls once finalized 2014-02-05 16:14:58 -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 78e7e2746f core: fix machine tests with provider changes 2014-01-26 14:33:22 -08:00
Mitchell Hashimoto a924a7b48c core: provider capabilities 2014-01-26 14:15:06 -08:00
Mitchell Hashimoto 00530303fb core: color success Ui green 2014-01-23 13:15:07 -08:00
Mitchell Hashimoto 2b9e7ca14e core: merge default synced folders ,don't override [GH-2873] 2014-01-21 20:13:08 -08:00
Mitchell Hashimoto e80552b6aa core: if synced folder type is blank, use default 2014-01-21 20:10:32 -08:00
Mitchell Hashimoto d81af187ea core: add tests for MachineReadable and frozen strings 2014-01-21 12:13:54 -08:00
Mitchell Hashimoto 06f1ebf752 core: add more tests for MachineReadable UI 2014-01-21 12:11:53 -08:00
Mitchell Hashimoto f2f58655e8 core: get rid of more references to scope, old terminology 2014-01-21 12:06:04 -08:00
Mitchell Hashimoto a32e154e6e core: use cleaner UI abstractions 2014-01-20 17:18:36 -08:00
Mitchell Hashimoto fc86a10796 core: only bold when output is part of a machine 2014-01-20 16:37:06 -08:00
Mitchell Hashimoto 0eec9aa599 core: extensive tests for Vagrant::UI classes 2014-01-17 21:31:07 -08:00
Mitchell Hashimoto f713e43b00 Fix tests for new UI methods 2014-01-17 21:03:02 -08: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 99a23242ec core: tests for more shared_helpers 2014-01-15 18:31:58 -08:00
Mitchell Hashimoto 7dc4cbb785 core: tests for shared_helpers.rb
/cc @tmatilai
2014-01-15 18:06:33 -08:00
Mitchell Hashimoto 35a19f829c provider/virtualbox: fix NFS tests on Windows 2014-01-15 11:48:07 -08:00
Mitchell Hashimoto e2ec46bb4d core: environment tests passing on Windows 2014-01-15 11:40:53 -08:00
Mitchell Hashimoto 7248797fa5 core: add test for fs_real_path on Windows 2014-01-15 11:32:53 -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 8a56d0ae5e core: be sure to close tempfile handle so Windows can delete it 2014-01-15 11:24:03 -08:00
Mitchell Hashimoto aabe5124c4 core: don't test fork(1) on Windows 2014-01-15 11:12:13 -08:00
Mitchell Hashimoto 0fcce91d69 core: fix more cases where ".path" was being called on strings 2014-01-15 11:10:38 -08:00
Mitchell Hashimoto 008dd8e6e7 core: fix tests failing on WIndows dueo to bad temp dir gen 2014-01-15 11:09:00 -08:00
Mitchell Hashimoto e85e355ddb core: fix Windows failures on machine tests 2014-01-15 11:01:38 -08:00
Mitchell Hashimoto b386e1dbbd test: allow skipping certain tests on Windows 2014-01-15 10:54:50 -08:00
Mitchell Hashimoto 37e9553bf5 core: don't use Tempdir for tests, use Dir.mktmpdir
Tempdir didn't work on Windows, just spun forever.
2014-01-15 10:48:19 -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 8d771de9ba Merge pull request #2820 from mitchellh/f-rsync-listen
`rsync-auto` command
2014-01-14 07:38:38 -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 9cf0387e00 core: interrupt in Cli exits with 1 2014-01-13 21:42:40 -08:00
Mitchell Hashimoto ae9b74464d core: MixinSyncedFolders#synced_folders does scoped hash override 2014-01-13 11:39:11 -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 08b1aee00d core: default commands to primary 2014-01-11 09:15:14 -08:00
Mitchell Hashimoto f05388349c core: non-primary commands aren't shown in basic `vagrant -h` 2014-01-11 09:07:38 -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 ad99b4f250 core: CLI understands new plugin definition format 2014-01-11 08:53:25 -08:00
Mitchell Hashimoto 4a99cdccdf core: allow command plugins to have options 2014-01-11 08:38:27 -08:00