Commit Graph

812 Commits

Author SHA1 Message Date
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
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
Mitchell Hashimoto 213000fd3d core: update Registry tests to make sure #keys doesn't load 2014-01-10 16:20:33 -08:00
Mitchell Hashimoto fbcc08b3ee Merge pull request #2637 from johnbellone/patch-1
core: Update Registry with #keys method.
2014-01-10 16:19:53 -08:00
Mitchell Hashimoto 365bef0e61 core: use dummy provider in tests so VirtualBox isn't required 2014-01-10 15:48:42 -08:00
Mitchell Hashimoto 9a58caaf9c synced_folders/nfs: always prune [GH-2738] 2014-01-10 15:41:57 -08:00
Mitchell Hashimoto a48ef2ec97 core: more user-friendly errors for caps on guests 2014-01-09 10:24:25 -08:00
Mitchell Hashimoto ba5400b89b core: raise user-friendly errors if capabilities exception in Guest 2014-01-09 10:13:33 -08:00
Mitchell Hashimoto 9fe702a000 core: tests for Guest#name 2014-01-09 09:09:40 -08:00
Mitchell Hashimoto 68a355931c core: test that forking is allowed in a BatchAction 2014-01-08 21:43:46 -08:00
Mitchell Hashimoto 5e835f4201 Merge pull request #2792 from smoyer/redhat_hostname_patch
guests/redhat: use FQDN for hostname
2014-01-08 20:58:59 -08:00
Mitchell Hashimoto 7631a38601 core: refactor error initialization logic
/cc @tmatilai - This includes a test case for the symbol stuff, should
be okay now.
2014-01-08 19:53:43 -08:00
smoyer 3964298504 This was introduced in 1.4.1 with d26c147.
This PR sets the active hostname back to the name specified in the Vagrantfile (fqdn) and updates the unit tests.

Setting it to the short name causes loads of problems while configuring the system. I've had issues with sudoers hostname matching, Weblogic certificate generation and a few others. Even if I changed all of the Chef recipes, the fqdn is set in /etc/sysconfig/network so the active hostname will switch to the fqdn after a reboot.
2014-01-08 17:49:54 -05:00
Mitchell Hashimoto 010874ffad core: has_plugin? uses the new plugin manager class to check for gems 2014-01-08 10:50:28 -08:00
Mitchell Hashimoto 09a425030b core: pass environment into all host caps 2014-01-07 20:34:33 -08:00
Mitchell Hashimoto 5e490e3746 Get tests to pass 2014-01-07 19:26:03 -08:00
Mitchell Hashimoto 93e365bb33 core: Vagrant::Environment uses new host settings 2014-01-07 19:11:08 -08:00
Mitchell Hashimoto 5922241fcb core: Modify plugin interfaces and API for hosts 2014-01-07 18:38:49 -08:00
Mitchell Hashimoto 04a5e6bcd2 core: Remove Vagrant::Hosts and add Vagrant::Host, a CapabilityHost 2014-01-07 18:34:19 -08:00
Mitchell Hashimoto c1d56da1ca core: get tests passing for changes 2014-01-07 16:29:05 -08:00
Mitchell Hashimoto 40babfc3f7 core: modify Guest to use new CapabilityHost mixin 2014-01-07 16:27:12 -08:00
Mitchell Hashimoto 1f760b2c48 core: pass extra args to detect? when detecting capability host 2014-01-07 16:26:58 -08:00
Mitchell Hashimoto b15cb22e3e core: errors expose their extra data 2014-01-07 16:15:32 -08:00
Mitchell Hashimoto 1f6095f912 core: Vagrant::CapabilityHost is a module for adding capabilities to
things
2014-01-07 16:12:12 -08:00
Mitchell Hashimoto 3f4058471c core: installing a plugin from a gem doesn't constrain it 2014-01-07 13:56:51 -08:00
Mitchell Hashimoto b353865da1 core: specific versions "0.1.0" don't equate to "= 0.1.0" 2014-01-07 10:13:30 -08:00
Mitchell Hashimoto 198e142794 commands/plugin: add more tests for installgem 2014-01-06 10:55:34 -08:00
Mitchell Hashimoto f612ec7549 core: support plugin sources, and mask Bundler errors 2014-01-05 23:13:49 -08:00
Mitchell Hashimoto 84ecca5c15 core: statefile can track sources, not sure if we'll use it though 2014-01-05 22:50:55 -08:00
Mitchell Hashimoto 35d711c91b commands/plugin: add tests for UpdateGems 2014-01-05 22:37:29 -08:00
Mitchell Hashimoto e231890e7e commands/plugin: UninstallPlugin tests 2014-01-05 21:10:43 -08:00
Mitchell Hashimoto bef7051943 commands/plugin: InstallGem tests 2014-01-05 21:08:55 -08:00
Mitchell Hashimoto aeb0d1a480 commands/plugin: fix plugin existence middleware, add tests 2014-01-05 20:57:55 -08:00
Mitchell Hashimoto 8904319beb commands/plugin: install version and entrypoints work 2014-01-05 20:47:02 -08:00
Mitchell Hashimoto fe8842c795 Fix failing tests 2014-01-05 16:54:10 -08:00
Mitchell Hashimoto 1eef75a715 commands/plugin: list uses PluginManager 2014-01-05 08:42:34 -08:00
Mitchell Hashimoto 8450f20e87 Move StateFile into Vagrant::Plugin core 2014-01-04 16:45:41 -08:00
Mitchell Hashimoto d98868d150 core: Vagrant.require_plugin is gone 2014-01-04 16:35:28 -08:00
Mitchell Hashimoto b3a9e6a088 insert_public_key cap, and use that if it exists 2014-01-03 11:13:21 -08:00
Mitchell Hashimoto e115322e78 core: accept passwords in ssh_info 2014-01-03 09:48:35 -08:00
Paul Hinze fc66ec1660 providers/virtualbox: allow and prefer static guest IPs for NFS
Since vbox guest properties are proving to be less reliable than we had
hoped, bring back the static config parsing mechanism for finding a
guest IP to hand to NFS. If we find a static IP (or set of IPs) we'll
use that instead of trying to probe guest properties.

This retains NFS support for DHCP interfaces while regaining the
reliability that we previously had when static IPs were required.
2013-12-28 17:01:08 -06:00
Mitchell Hashimoto 5d39cc381f Merge pull request #2694 from tmatilai/plugin-json-errors
core: show more informative error if plugin.json parsing fails
2013-12-28 13:12:59 -08:00
Teemu Matilainen e5032071f6 core: Vagrant.has_plugin? tries to match gem name first
Search primary from the list of gem names which have been loaded by
`Vagrant.require_plugin`. Fall back to matching registered plugin names.
2013-12-20 17:36:10 -03:00
Teemu Matilainen a5b84f413e core: More informative error if plugin.json parsing fails 2013-12-20 07:10:10 -03:00
Mitchell Hashimoto 4d7d47086f core: configure version can be an int [GH-2689] 2013-12-19 08:03:15 -08:00
John Bellone 8909018af6 Add unit tests for Registry#keys. 2013-12-16 18:16:19 -05:00
Charlie Huggard 0e2b7a7c0b Unit tests for ChangeHostName on Enterprise Linux 2013-12-16 01:57:11 -06:00
Mitchell Hashimoto c1141dded3 providers/virtualbox: don't clear /etc/exports on BSDs for NFS [GH-2645] 2013-12-13 22:03:14 -08:00
Mitchell Hashimoto 72398faeaf core: put shell quoting into its own util class, it is useful 2013-12-13 21:17:15 -08:00
Paul Hinze abe0731d2e guests/{ubuntu,debian}: fix change_host_name for trailing dots [GH-2610]
When `/etc/hosts` contained a FQDN with a trailing dot, the `\b` in the
sed expression would not match, since dot is not considered to be a word
character.

Fix this by regexp-escaping the hostname search, and matching the end of
the line on optional space followed by additional characters.

Also add some tests that extract the regexp used by sed and verify that
it does what we want. These will hopefully serve us in the future if we
ever need to test additional edge cases.
2013-12-09 18:56:45 -06:00
Mitchell Hashimoto ba18d98d45 core: improve guest type detection
/cc @fgrehm - I figured you might be interested in this. :)
2013-12-08 11:14:18 -08:00
Mitchell Hashimoto 2c65d247da core: Allow options to be passed down into SF cleanup 2013-12-06 16:40:24 -08:00
Mitchell Hashimoto d354cdda4a core: request users upgrade plugins if they're old 2013-12-04 11:43:39 -08:00
Mitchell Hashimoto 236141ba90 commands/plugin: old state files default to 0 for vagrant version 2013-12-04 11:29:17 -08:00
Mitchell Hashimoto 39b2539ec7 commands/plugin: state file keeps track of the Vagrant version 2013-12-04 11:17:48 -08:00
Mitchell Hashimoto b2844d420d commands/plugin: tests for state file 2013-12-04 10:50:19 -08:00
Paul Hinze ec97a45125 commands/ssh-config: fix for multiple private keys
since we merged multiple private keys, the :private_key_path item of
ssh_info now comes back as an array. the ssh-config command had not yet
been updated to handle this properly.

here we fix that oversight and add a few unit tests around the config
generation.
2013-12-04 09:33:27 -06:00
Mitchell Hashimoto 1a51f42ee7 core: update rspec, fix deprecations 2013-12-03 18:42:21 -08:00
Mitchell Hashimoto c04fa5e54e core: clean up tests for synced folder built-ins 2013-12-03 18:30:59 -08:00
Mitchell Hashimoto ca521887eb Merge pull request #2561 from emyl/synced-folder-cleanup-v2
core: Enhance the synced folder plugin implementation with a cleanup routine
2013-12-03 18:08:42 -08:00
Mitchell Hashimoto d2bc1dbc3b Merge pull request #2560 from phinze/vbox-nfs-dhcp-support
providers/virtualbox: support DHCP interfaces for NFS
2013-12-03 11:49:54 -08:00
Paul Hinze c25172d0f7 providers/virtualbox: support DHCP interfaces for NFS
Previously, we required a host-only interface with a static IP for NFS
to work in VirtualBox, because we needed access to the guest's IP in
order to properly configure mount commands.

After boot, VirtualBox exposes the IP addresses of a guest's network
adapters via the "guestproperty" interface.

This adds support for reading VirtualBox guest properties to the
VirtualBox driver and utilizes that support to prepare NFS settings,
which removes the necessity for a static IP for NFS to work.

In this commit we also start building out scaffolding for unit testing
vbox actions and drivers.

Test plan:
 - Prepare a Vagrantfile with the following:
   * private network with type: :dhcp
   * synced folder with nfs: true
 - Boot a VM from this Vagrantfile using the virtualbox provider
 - Machine should boot successfully with working synced folder
2013-12-03 10:21:28 -05:00
Fabio Rehm aff26b832d core: Retrofit some test for Method support on Action::Runner 2013-12-02 22:26:51 -02:00
Emiliano Ticci 578393ac8e Add cleanup routine to synced folder plugin implementation 2013-12-02 11:19:09 +01:00
Paul Hinze 4daa21e0b1 guests/debian: remove empty test file added by mistake 2013-12-01 09:49:31 -05:00
Mitchell Hashimoto 7c25a23352 core: get tests passing cleanly on Ruby 2.0.0 2013-11-30 16:21:19 -08:00
Mitchell Hashimoto 3c06e9458c Merge pull request #2556 from phinze/fix-shell-array-args-validation
provisioners/shell: fix validation for args [GH-1949]
2013-11-29 00:01:19 -08:00
Fabio Rehm 61733bbfbf core: Fix broken SSHExec spec 2013-11-29 00:26:42 -02:00
Paul Hinze fef60242b0 provisioners/shell: fix validation for args [GH-1949]
The logic change in 57d4775140 introduced
a bug where neither strings nor arrays provided as `args` for shell
provisioners would pass validation.

This fixes that problem along with a few extras:

- split out arg validation into a private method
- update comment describing valid args
- add a few unit tests around config validation
2013-11-28 19:54:10 -06:00
Mitchell Hashimoto 1e7084e1e1 core: fix tests 2013-11-26 19:13:21 -08:00
Mitchell Hashimoto 45e09eb677 core: allow multiple private keys [GH-907] 2013-11-25 15:45:39 -08:00
Mitchell Hashimoto 8d99382993 core: allow custom callables in hooks 2013-11-24 21:07:11 -08:00
Mitchell Hashimoto f5cc112a4b core: allow hooks to send arbitrary data 2013-11-24 21:01:41 -08:00
phinze 688bca14f5 refactoring ubuntu/debian change_host_name
there's been a lot of churn around this code, so i figure it was worth
trying to clean it up.

 - the methods were doing a lot, so make them into template methods with
   one helper per step
 - spread out /etc/hosts regexp into a couple of helper variables for
   clarity
 - remove handling for broken hostname implementations (like basing all
   of the checks on name.split('.')[0]), since it seems reasonable to
   remove code dedicated only to handling broken boxes
 - DRY up the shared code between debian/ubuntu implementations, which
   clarifies the differences as well
 - add unit tests around the behavior; this will help us in the future
   to separate flaws in our understanding from flaws in implementation
 - includes a new DummyCommunicator in tests which should be useful in
   supporting additional unit testing of this kind
 - manually tested this on squeeze, wheezy, precise, quantal, raring,
   and saucy successfully.

handles the issue in #2333
2013-11-24 11:46:12 -06:00
Mitchell Hashimoto 0506f47a4a core: get tests passing again 2013-11-23 16:43:15 -08:00
Mitchell Hashimoto 1ea39ab605 Merge pull request #2437 from fgrehm/plugins-loaded-hook
core: plugins loaded hook with no vagrantfiles
2013-11-23 16:38:45 -08:00
Mitchell Hashimoto 1b8c3b62af core: scope hash override synced folder settings 2013-11-23 13:38:15 -08:00
Mitchell Hashimoto e9fd622406 core: vagrant version requirements in vagrantfile [GH-2322] 2013-11-23 12:23:34 -08:00
Mitchell Hashimoto bf72c7cb5d core: human friendly error for corrupt box metadata 2013-11-23 11:54:42 -08:00
Mitchell Hashimoto ab70dc271b core: verify explicit sf types are usable 2013-11-23 10:47:06 -08:00
Mitchell Hashimoto 125584aaf4 core: SyncedFolders middleware passes inoptions 2013-11-22 17:13:14 -08:00
Mitchell Hashimoto 93a4066339 core: SyncedFolders built-in middleware 2013-11-22 16:12:51 -08:00
Mitchell Hashimoto 97148379d2 providers/virtualbox: implement the synced folder plugin 2013-11-21 17:38:17 -08:00
Mitchell Hashimoto ee0086ddee core: Add synced_folder plugin type 2013-11-21 15:56:37 -08:00
Fabio Rehm a0c1cc0231 core: Add spec for running environment hooks with a custom Action::Runner 2013-10-29 13:28:04 -02:00
Mitchell Hashimoto 225da651f8 core: Show error message if _key dynamically passed into error [GH-2328] 2013-10-05 09:21:38 -07:00
Mitchell Hashimoto 00f61e67e1 core: errors can use error_message to specify string error message 2013-10-01 21:45:05 -07:00
Paul Hinze abe7830421 core: fix NoMethodError in Vagrant.has_plugin? [GH-1736] 2013-09-11 15:13:21 -05:00
Mitchell Hashimoto 77036c7eea fix failing test 2013-09-06 00:13:32 -07:00
Mitchell Hashimoto 95aba27e59 core: VAGRANT_VAGRANTFILE affects only project vagrantfile [GH-2130] 2013-09-05 14:46:26 -07:00
Mitchell Hashimoto 283d2ae74b fix broken test 2013-08-29 16:42:59 -07:00
Fabio Rehm bf4131af17 Clean up downloader test a bit 2013-07-28 20:23:27 -03:00
Fabio Rehm c7aed1a6a1 Provide a custom user agent header to cURL request so that URL shorteners are able to track the amount of downloads 2013-07-28 20:23:27 -03:00
Mitchell Hashimoto 7ef6c5d9d7 Unused config objects are finalized properly [GH-1877] 2013-07-23 17:36:48 -05:00
Mitchell Hashimoto 80f06605fb config.vm.guest now forces guest setting again [GH-1800] 2013-06-09 13:17:23 -07:00
Mitchell Hashimoto 2239036b59 Use Mozilla CA cert bundle for SSL validation 2013-04-16 17:32:30 -07:00
Mitchell Hashimoto 0f089c5671 `--[no-]parallel` for vagrant up 2013-04-16 15:22:14 -07:00
Mitchell Hashimoto f3cf23e873 Ability to specify no parallelism on the environment 2013-04-16 15:13:00 -07:00
Mitchell Hashimoto 43c14dfb26 Fix the tests 2013-04-16 13:32:37 -07:00
Mitchell Hashimoto d03938e3c1 config.ssh properly overrides provder-detected [GH-1479] 2013-04-08 20:50:15 -07:00
Mitchell Hashimoto f203c29fbb Builders are merged when using hooks. [GH-1555] 2013-04-07 14:17:40 -07:00
Mitchell Hashimoto 96ebd3e8f7 Providers can support multiple box formats if they choose to.
Currently, providers must match a box format exactly the same
as that provider's name. i.e. the virtuabox provider needs a
"virtualbox" box and the "vmware_fusion" provider needs a
"vmware_fusion" box. Now, the provider can specify what the box format
is they want and support multiple if wanted.

Other box formats are specified in the provider definition within
a plugin:

    class Plugin < Vagrant.plugin("2", "provider")
      # ... other stuff

      provider("foo", box_format: ["virtualbox", "other_format"]) do
        # .. same
      end
    end

Now when using the example "foo" provider above, boxes for both
"virtualbox" or "other_format" are searched for. If both are found,
the order in which the formats exist determines precedence.
2013-04-06 18:21:16 -07:00
Mitchell Hashimoto fbdd46a130 On Windows, prefer USERPROFILE for home directory path 2013-04-06 15:53:58 -07:00
Jeff LaBarge 8746d0193d Remove redundant test that breaks if `VAGRANT_DEFAULT_PROVIDER` is set. 2013-04-04 13:47:37 -07:00
Mitchell Hashimoto d490c840df Tests passing for halt capability change 2013-04-03 23:48:44 -07:00
Mitchell Hashimoto 28d3f274d8 First capability for linux 2013-04-03 23:01:43 -07:00
Mitchell Hashimoto 819ef46fca Tests for registering guest capabilities 2013-04-03 22:43:35 -07:00
Mitchell Hashimoto c5c15fdaa6 Machine#guest returns the proper guest detected 2013-04-03 22:40:30 -07:00
Mitchell Hashimoto f48b0796a5 Forward arguments down to capability 2013-04-03 22:20:45 -07:00
Mitchell Hashimoto cf3c1b73d2 Guest#capability to execute capabilities 2013-04-03 22:19:20 -07:00
Mitchell Hashimoto 06a9968ec4 Guest#capability? for testing for capabilities 2013-04-03 22:03:03 -07:00
Mitchell Hashimoto 52f3847b0a Laying the foundation for the new guest plugin 2013-04-03 21:47:57 -07:00
Mitchell Hashimoto 52a2f48b20 Provider-specific configuration overrides via 2nd block param
Example:

Vagrant.configure("2") do |config|
  # ...

  config.vm.provider :virtualbox do |p, vb_config|
    vb_config.vm.box = "virtualbox_box"
  end
end
2013-04-03 14:57:14 -07:00
Mitchell Hashimoto 932f15665b Fix downloader tests 2013-04-03 12:04:58 -07:00
Mitchell Hashimoto a9f269af24 Tests for GH-1478 2013-04-03 08:31:43 -07:00
Mitchell Hashimoto d1eccbf98f SafeChdir all the things for thread safety 2013-04-03 08:31:43 -07:00
Mitchell Hashimoto d6a84b5ca4 Environment#batch and forcing disable through env var 2013-04-03 08:31:42 -07:00
Mitchell Hashimoto 3d8271a3a2 BatchAction for running actions in parallel 2013-04-03 08:31:42 -07:00
Mitchell Hashimoto 2e50a238fc Provider plugins can provide arbitrary options 2013-04-03 08:31:42 -07:00
Mitchell Hashimoto 25f66cee51 Remove downloaders, no longer needed 2013-04-03 08:31:41 -07:00
Mitchell Hashimoto b9a2855fcb Tests for the downloader 2013-04-03 08:31:41 -07:00
Mitchell Hashimoto e5539eb769 Only prepend/append once for hooks 2013-03-30 14:57:47 -07:00
Mitchell Hashimoto c6a2d01cdf Allow disabling prepend/append hooks 2013-03-30 14:51:10 -07:00
Mitchell Hashimoto 9464796c6d Human friendly error when metadata.json is missing from a box 2013-03-15 11:12:50 -07:00
Mitchell Hashimoto 43f3764e5b Properly quote regular expression inputs to StringBlockEditor 2013-03-14 12:41:03 -07:00
Mitchell Hashimoto dea881cad2 vagrant box add --force works again [GH-1413] 2013-03-13 21:20:25 -07:00
Mitchell Hashimoto 7547a0d34a V2 missing key returns a DummyConfig as well 2013-02-28 00:17:58 -08:00
Mitchell Hashimoto af2690635e Unknown keys return a DummyConfig rather than OpenStruct 2013-02-28 00:16:43 -08:00
Mitchell Hashimoto 2081fe5650 Tests passing for V1 config changes 2013-02-28 00:11:06 -08:00
Mitchell Hashimoto 7c5d118e0d Use Dir.mktmpdir for tests more 2013-02-26 11:32:44 -08:00
Mitchell Hashimoto c9d9bf679b Get rid of a pending test 2013-02-26 11:30:51 -08:00
Mitchell Hashimoto 803269f729 Test to make sure hooks return the action runner result 2013-02-24 18:00:01 -08:00
Mitchell Hashimoto 499d1ff8bf VAGRANT_VAGRANTFILE env var to specify alternate filename for Vfile 2013-02-23 12:07:23 -08:00
Mitchell Hashimoto 1b6538354d Be smarter about determining if plugin load failed 2013-02-22 15:10:34 -08:00
Mitchell Hashimoto 46db50680b environment_unload hook 2013-02-22 13:54:28 -08:00
Mitchell Hashimoto 3c343c0623 Environment#hook allows hooks to be run at arbitrary points 2013-02-22 12:22:10 -08:00
Mitchell Hashimoto be01d57034 action_hooks can hook into specific actions 2013-02-22 12:12:55 -08:00
Mitchell Hashimoto 18524628b7 Hooks allow parameters and blocks to middlewares 2013-02-22 12:00:35 -08:00
Mitchell Hashimoto 987b3008fe Which_test 2013-02-08 22:31:13 -08:00
Patrick Wyatt bd06bea3e5 Enable Windows users with SSH installed to use 'vagrant ssh' 2013-02-08 22:09:11 -08:00
Mitchell Hashimoto 1d1dfec940 Additional unit test to verify missing config key behavior 2013-02-08 16:55:06 -08:00
Mitchell Hashimoto 595d6f7848 Record invalid key accesses as an error on config 2013-02-08 16:54:24 -08:00
Mitchell Hashimoto c307a01baf Remove unused test 2013-02-06 22:59:46 -08:00
Mitchell Hashimoto cd3d2a1e8c Call properly modifies original environment 2013-02-06 18:36:05 -08:00
Mitchell Hashimoto aa7193471f Plugins can define action hooks via action_hook 2013-02-06 15:27:14 -08:00
Mitchell Hashimoto 83bba789a4 Hook#apply 2013-02-06 15:21:34 -08:00
Mitchell Hashimoto d720205810 Builder supports action hooks 2013-02-06 15:06:13 -08:00
Mitchell Hashimoto e822aac931 Convert builder tests to use rspec "subjects" 2013-02-06 14:25:36 -08:00
Mitchell Hashimoto 80a7c8a0cb Hook class 2013-02-06 14:21:31 -08:00
Mitchell Hashimoto 8f24d2d98c Remove the "easy" plugins until a future version 2013-02-06 13:46:34 -08:00
Mitchell Hashimoto 84ded8d67e Fix machine ssh_info tests 2013-02-05 21:27:26 -08:00
Mitchell Hashimoto 864f1b7506 Pass a proper Pathname for SSHExec to check key perms 2013-02-04 21:17:12 -08:00