Commit Graph

3340 Commits

Author SHA1 Message Date
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 868f8d4061 Detect PuTTY Link on Windows and show error [GH-1518] 2013-04-06 16:50:59 -07:00
Mitchell Hashimoto 0874d4a77a Assume Cygwin has a TTY for input [GH-1430] 2013-04-06 16:07:20 -07:00
Mitchell Hashimoto 5ca89383f8 Simplify cygwin check everywhere 2013-04-06 16:05:13 -07:00
Mitchell Hashimoto fb9c311b4d Always colorize Cygwin output 2013-04-06 16:03:25 -07:00
Mitchell Hashimoto fbdd46a130 On Windows, prefer USERPROFILE for home directory path 2013-04-06 15:53:58 -07:00
Mitchell Hashimoto 744c879998 Don't repair forwarded port to used forwarded port 2013-04-06 14:12:33 -07:00
Mitchell Hashimoto 17a312b293 Expand the file URL when adding a box 2013-04-05 21:27:00 -07:00
Mitchell Hashimoto d7990721a0 s/not/!/ in ansible provisioner config 2013-04-05 09:43:56 -07:00
Mitchell Hashimoto cd14767ef5 Merge pull request #1551 from commandtab/validate_ansible_extra_vars
Validate that Ansible extra_vars is a hash
2013-04-05 09:43:19 -07:00
Collin Allen d783b33fe2 Validate that extra_vars is a hash 2013-04-05 09:40:32 -07:00
Mitchell Hashimoto 5949f256bd Merge pull request #1550 from commandtab/ansible_extra_vars_hash
Make Ansible provisioner extra_vars a hash
2013-04-05 09:27:16 -07:00
Collin Allen c2b43787c5 Make Ansible extra_vars a hash instead of a string 2013-04-05 08:43:45 -07:00
Mitchell Hashimoto 1957efb4e1 Nicer error if ansible-playbook is not installed on the host 2013-04-04 14:01:26 -07:00
Mitchell Hashimoto 783cb4cf70 Merge pull request #1543 from jefflab/master
Setting the `VAGRANT_DEFAULT_PROVIDER` environment variable breaks the unit tests
2013-04-04 13:52:19 -07:00
Mitchell Hashimoto 896db2f190 Ansible provisioner support CHANGELOG 2013-04-04 13:48: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 1c2a46ba72 Merge ansible provisioner [GH-1465] 2013-04-04 13:39:36 -07:00
Mitchell Hashimoto cf9eb509a9 Don't preserve modified time when untarring files [GH-1539] 2013-04-04 13:32:37 -07:00
Mitchell Hashimoto fd0661c20e Merge branch 'guest-capabilities-system'
This replaces the old "guest" sysetm with a new "guest + capabilities" system.
This introduces two new abstractions to replace the old system:

1. Guests - These are responsible for simply detecting the guest OS.
2. Guest Capabilities - These are specific tasks that a guest OS are
  capable of performing. For example, "mount_virtualbox_shared_folders" or
  "configure_networks"

This new system improves the old system because the old system hardcoded
all capabilities of guests into a single static class. This system allows
dynamically adding new capabilities as they're needed and testing for
their existence.

This means it is now possible for the Chef provisioner (as an example)
to run the "install_chef" capability if it exists, allowing guests to handle
installing Chef. COOL! If the capability doesn't exist, Chef can ignore it,
error, etc. Plugins can dynamically add new capabilities to existing operating
systems.

AWESOME!
2013-04-04 12:58:16 -07:00
Mitchell Hashimoto 296d32c099 Update CHANGELOG 2013-04-04 12:58:07 -07:00
Mitchell Hashimoto 7b9e5fd4a7 Include should be extend for class methods 2013-04-04 12:25:40 -07:00
Mitchell Hashimoto 439499fc11 Solaris capabilities 2013-04-04 12:25:10 -07:00
Mitchell Hashimoto 5e09577a76 Lots more guest capabilities converted 2013-04-04 12:09:40 -07:00
Mitchell Hashimoto 2c362d4d28 FreeBSD capabilities 2013-04-04 11:56:42 -07:00
Mitchell Hashimoto 8bf9fb17b1 Remove freeBSD config because it isn't used anymore 2013-04-04 11:50:05 -07:00
Mitchell Hashimoto 0e4e347308 Fedora capabilities 2013-04-04 11:49:26 -07:00
Mitchell Hashimoto 7f33081387 Convert arch to capabilities 2013-04-04 11:39:58 -07:00
Collin Allen 2aa96fc550 Enable Ansible color output 2013-04-04 11:31:27 -07:00
Collin Allen b52d4dcd58 Add config.rb newline 2013-04-04 00:24:14 -07:00
Collin Allen bbe08744a2 Use Vagrant::Util::Subprocess.execute instead of SafeExec 2013-04-04 00:07:59 -07:00
Collin Allen 28f4a4c890 Update 'require' calls to resemble shell provisioner 2013-04-04 00:07:30 -07:00
Mitchell Hashimoto 0fbe9b0aca Ubuntu change_host_name cap 2013-04-03 23:53:17 -07:00
Mitchell Hashimoto 22f3ea6606 Remove the linux config, not used anyways 2013-04-03 23:50:12 -07:00
Mitchell Hashimoto d490c840df Tests passing for halt capability change 2013-04-03 23:48:44 -07:00
Mitchell Hashimoto 067f431ee9 Better debugging on searching for capabilities 2013-04-03 23:46:39 -07:00
Mitchell Hashimoto 2f232e0175 Halt and mount NFS are caps 2013-04-03 23:33:20 -07:00
Mitchell Hashimoto 61d2f9f96f SetHostname uses new cap system 2013-04-03 23:18:12 -07:00
Mitchell Hashimoto 511522e9ae Remove unused keys 2013-04-03 23:15:31 -07:00
Mitchell Hashimoto 63f28a9011 Nicer error messages for new linux caps 2013-04-03 23:14:24 -07:00
Mitchell Hashimoto 2a542dab02 Switch configure_networks to capabilities system 2013-04-03 23:08:33 -07:00
Collin Allen 5a052874b4 Improve ansible provisioner error checks 2013-04-03 23:07:07 -07:00
Mitchell Hashimoto 28d3f274d8 First capability for linux 2013-04-03 23:01:43 -07:00
Collin Allen a1ad1207bd Add ansible provisioner 2013-04-03 22:56:32 -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