1346 Commits

Author SHA1 Message Date
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 57d477514067a37665386968ef0a37abf86e3380 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