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
JD Harrington
8cd74fee16
Allow override of default_provider
...
Set the VAGRANT_DEFAULT_PROVIDER environment variable to override the
value of default_provider.
2013-04-03 08:31:42 -07:00