3316 Commits

Author SHA1 Message Date
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
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
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
4ffc2c3b74 Invalid configuration keys are caught and shown in user friendly way
[GH-1484]
2013-04-03 16:18:37 -07:00
Mitchell Hashimoto
fc708bc139 Respect :mac option for networks [GH-1536] 2013-04-03 15:41:42 -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
acd494d148 Get rid of debug exception 2013-04-03 12:50:04 -07:00
Mitchell Hashimoto
749b7b7d70 Update SSH config to be more modern 2013-04-03 12:49:59 -07:00
Mitchell Hashimoto
932f15665b Fix downloader tests 2013-04-03 12:04:58 -07:00
Mitchell Hashimoto
0f0c0b0396 Add max redirects for download 2013-04-03 12:01:12 -07:00
Mitchell Hashimoto
5e2549fe8b Add "--insecure" flag for downloader 2013-04-03 11:57:40 -07:00
Mitchell Hashimoto
58b7c65a69 Remove the downloaders 2013-04-03 11:45:46 -07:00
Mitchell Hashimoto
a9f269af24 Tests for GH-1478 2013-04-03 08:31:43 -07:00
Mitchell Hashimoto
47925e1c42 Update CHANGELOG 2013-04-03 08:31:43 -07:00
Mitchell Hashimoto
8ccdd152b8 Update cHANGELOG 2013-04-03 08:31:43 -07:00
Mitchell Hashimoto
ab19b506bd Get rid of unnecessary variable 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
36edc4a0fd Re-disable parallel on virtualbox 2013-04-03 08:31:43 -07:00
Mitchell Hashimoto
bd60d6b283 Lock around chdir in Subprocess for thread safety 2013-04-03 08:31:43 -07:00
Mitchell Hashimoto
c84c609633 Gracefully handle errors in parallel cases 2013-04-03 08:31:43 -07:00
Mitchell Hashimoto
368dddd950 Allow only one Environment#batch to run at a time per env 2013-04-03 08:31:42 -07:00
Mitchell Hashimoto
df93a221e1 Up command now uses Environment#batch 2013-04-03 08:31:42 -07:00
Mitchell Hashimoto
d6a84b5ca4 Environment#batch and forcing disable through env var 2013-04-03 08:31:42 -07:00
Mitchell Hashimoto
54f7930b84 Run "up" in a batch action so it parallelizes 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
7446b3c4ef Make the Basic/Colored UI objects threadsafe 2013-04-03 08:31:42 -07:00
Mitchell Hashimoto
7b0745abcc UI objects use "scopes" now 2013-04-03 08:31:42 -07:00