Mitchell Hashimoto
7fa9892b75
Send SSH keep-alive packets [GH-516]
2013-04-07 21:51:14 -07:00
Mitchell Hashimoto
142cc4bef7
rtcuseutc as sane default for VBox [GH-912]
2013-04-07 15:04:38 -07:00
Mitchell Hashimoto
c34c8b39c3
Expand Cygwin path to Windows for VirtualBox shared folders
2013-04-06 22:08:41 -07:00
Mitchell Hashimoto
373a1d8633
Properly expand cygwin paths to Windows path for vboxmanage
2013-04-06 22:06:33 -07:00
Mitchell Hashimoto
d7990721a0
s/not/!/ in ansible provisioner config
2013-04-05 09:43:56 -07:00
Collin Allen
d783b33fe2
Validate that extra_vars is a hash
2013-04-05 09:40:32 -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
896db2f190
Ansible provisioner support CHANGELOG
2013-04-04 13:48:58 -07:00
Mitchell Hashimoto
1c2a46ba72
Merge ansible provisioner [GH-1465]
2013-04-04 13:39:36 -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
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
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
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
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
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
df93a221e1
Up command now uses Environment#batch
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
79ba9df881
Respect the "disabled" flag for shared folders for VirtualBox [GH-1004]
2013-04-03 08:31:41 -07:00
Mitchell Hashimoto
8aff752cfb
v1.1.6
2013-04-03 08:31:10 -07:00
Mitchell Hashimoto
64e360814c
Fix issue with Chef solo not using Pathname
2013-04-02 16:33:14 -07:00
Mitchell Hashimoto
82f3a3ec29
Go next if local path doesn't exist for Chef
...
This avoids issues with nil remote_paths
2013-04-02 15:05:10 -07:00
Mitchell Hashimoto
8458166c6a
Don't share default chef folder if doesn't exist on host
2013-04-02 15:04:06 -07:00
Mitchell Hashimoto
a8a7a7865d
Show an error if an invalid network type is used
2013-04-02 15:00:18 -07:00
Mitchell Hashimoto
bc2a9fe780
VBoxManage errors show stderr
2013-03-31 20:45:54 -07:00
Mitchell Hashimoto
4f1a3dad8c
Retry SSH on Errno::EACCES
2013-03-31 20:27:08 -07:00
Mitchell Hashimoto
7e1c313ff5
Properly detect in valid provisioners
2013-03-30 14:39:29 -07:00
Mitchell Hashimoto
0a86deedf1
better comments on the last change
2013-03-29 13:15:11 -07:00
Mitchell Hashimoto
30053638af
Human friendly error on exit code 126 from VBoxManage
2013-03-29 13:14:00 -07:00
Mitchell Hashimoto
40250843b3
More comprehensive synced folder validation [GH-1499]
2013-03-29 12:45:44 -07:00
Dave Marshall
b8a8286fac
Use current user's uid for NFS exports
2013-03-29 00:14:12 +00:00
Mitchell Hashimoto
665450614a
Don't error if machine shuts down really quickly on graceful [GH-1505]
2013-03-28 15:52:00 -07:00
Mitchell Hashimoto
ed038c8c64
Better detect SSh connections closing
2013-03-28 15:48:36 -07:00
Mitchell Hashimoto
361cc1ae40
Proper error message if invalid provisioner is used [GH-1515]
2013-03-28 15:38:32 -07:00
Mitchell Hashimoto
d9c1b4b3fc
Default forward port adapter for VirtualBox should be 1
2013-03-25 14:32:15 -07:00
Elan Ruusamäe
bd8a24e945
add basic pld linux support
...
PLD Linux Distribution: https://www.pld-linux.org/
2013-03-24 19:38:56 +02:00
Mitchell Hashimoto
43d85930ed
Improve network interface detection to avoid crash [GH-1480]
2013-03-22 10:51:07 -07:00
Mitchell Hashimoto
230a3ca0bf
Force to_i on adapters for forwarded ports in VirtualBox
2013-03-22 10:47:25 -07:00
Mitchell Hashimoto
a4745fb426
Properly handle forward port collision detection with auto-correct
...
[GH-1472]
2013-03-21 16:33:06 -07:00
Mitchell Hashimoto
df23c2a8fa
Move guest addition check to later, after boot [GH-1179]
2013-03-21 13:59:13 -07:00
Mitchell Hashimoto
fcd93bb133
Logging on gem sources
2013-03-20 22:33:50 -07:00
Mitchell Hashimoto
408eee746d
Stylistic changes for GH-1461
2013-03-20 22:30:31 -07:00
Mitchell Hashimoto
3fe7809eea
Merge pull request #1461 from hmalphettes/master
...
Ability to install a vagrant plugin with a specific version and source
2013-03-20 22:28:30 -07:00
Mitchell Hashimoto
78d05e73d7
Chef-solo recipe_url works properly again [GH-1467]
2013-03-20 22:20:19 -07:00
Jan Schumann
d42b7745e4
added dhcp configuration option for private networks
2013-03-20 20:18:32 +01:00
Fabio Rehm
3c4002ac4e
Fix typo on ComunicatorSSH plugin name
2013-03-20 11:47:41 -03:00
Hugues Malphettes
135adc8904
Support a few more gem parameters - take 2
2013-03-20 14:02:32 +08:00
Mitchell Hashimoto
6babeb4188
Puppet retains default module path even when custom is set [GH-1207]
2013-03-19 15:23:37 -07:00
Mitchell Hashimoto
d7b7a32814
Attempt to re-establish SSH connection on Net::SSH::Disconnect
2013-03-18 18:10:54 -07:00
Mitchell Hashimoto
c94f61d274
Only prepare NFS settings for VirtualBox if NFS is enabled
2013-03-18 13:21:06 -07:00
Mitchell Hashimoto
59282ba999
Fix overzealous errors with chef solo provisioner defaults
2013-03-18 11:24:18 -07:00
Mitchell Hashimoto
f9cf1aad8a
Merge pull request #1447 from uggedal/fix-shell-provision-args-config-validation
...
Fix shell provisioner's validation of args
2013-03-18 07:32:57 -07:00
Eivind Uggedal
c45d3ee728
Fix wrong reference to Errors::NFSNoHostonlyNetwork introduced in 022c1da
[GH-1437].
2013-03-18 14:30:26 +01:00
Eivind Uggedal
41de457889
Use UNSET_VALUE for @args in shell config since [] is truthy.
2013-03-18 12:44:26 +01:00
Mitchell Hashimoto
022c1daec0
Raise error if no hostonly network on VBox with NFS [GH-1437]
2013-03-17 22:33:02 -07:00
Mitchell Hashimoto
9e80a55d7b
Puppet server host_name should be hostname [GH-1444]
2013-03-17 22:26:44 -07:00
Mitchell Hashimoto
2210765412
Fix default values for shell provisioner config
2013-03-17 16:18:49 -07:00
Mitchell Hashimoto
9a29cecfdf
Turn network, provider, and provisioner names into symbols if not
2013-03-15 22:14:04 -07:00
Mitchell Hashimoto
6e7427ca4d
Error if forwarded port with same host port is declared multiple times
2013-03-15 22:11:49 -07:00
Mitchell Hashimoto
f03175b4af
Don't "return" if FP less than port 1024 [GH-1421]
2013-03-15 15:15:54 -07:00
Mitchell Hashimoto
529cb21154
Don't use full path to manifest with Puppet, exposes bug in VMware
2013-03-15 15:00:28 -07:00
Mitchell Hashimoto
c22e4fe19b
When there is no route to host for SSH, re-establish a new connection
2013-03-14 12:51:16 -07:00
Mitchell Hashimoto
c8b829c4d2
Properly resolve cygwin paths in Cygwin environments [GH-1366]
2013-03-13 21:50:41 -07:00
Mitchell Hashimoto
57a5edbc39
Merge pull request #1366 from johnb0011/master
...
Solve Virtualbox pathing issue running under Cygwin
2013-03-13 21:41:34 -07:00
Mitchell Hashimoto
7f736f934c
Improve VBox kernel module detection for Gentoo [GH-710]
2013-03-13 21:39:05 -07:00
Mitchell Hashimoto
dea881cad2
vagrant box add --force works again [GH-1413]
2013-03-13 21:20:25 -07:00
Mitchell Hashimoto
e04efa155f
Merge pull request #1411 from chorankates-sfdc/master
...
add Solaris detection to linux provider
2013-03-11 17:25:19 -07:00
Mitchell Hashimoto
c74251a1d9
FIx vagrant package --base to work again, wrong Machine args [GH-1410]
2013-03-11 15:46:52 -07:00
Conor Horan-Kates
761a64f899
adding ability to detect solaris operating system to linux guest plugin
2013-03-11 08:42:06 -07:00
Fabio Rehm
dacd8be306
Auto remove trailing slashes from synced folders default ids
...
VirtualBox provider was having a hard time mounting the folders down
here.
2013-03-09 18:15:17 -03:00
Mitchell Hashimoto
98a9b47567
Validate the hostname setting
2013-03-09 10:07:55 -08:00
Mitchell Hashimoto
ad0e6deb3e
Better handling of merging sub-vms
2013-03-08 21:30:09 -08:00
Mitchell Hashimoto
cd36088d2f
Whitespace
2013-03-07 11:35:04 -08:00
Mitchell Hashimoto
65e3614226
Namespace VBoxManage errors properly
2013-03-06 14:47:28 -08:00
Mitchell Hashimoto
5b18cfae28
Raise properly namespaced errors in VM boot
2013-03-06 14:46:25 -08:00
Mitchell Hashimoto
0b9589a0fa
Raise an exception if the provider is reporting SSH is not ready
2013-03-06 14:27:40 -08:00
Mitchell Hashimoto
e06af4e2b9
Properly prepare the path configs for Chef
2013-03-05 11:53:57 -08:00
Mitchell Hashimoto
dc5196454e
Fix a regression where cookbooks path must be an array
2013-03-05 10:19:36 -08:00
Mitchell Hashimoto
2431fe73b8
config.ssh.password is not used
2013-03-02 15:47:58 -08:00
Mitchell Hashimoto
c80ad12336
Validate forwarded ports
2013-03-01 17:20:31 -08:00
Mitchell Hashimoto
1f2856bdf3
Default the proper hostname for config
2013-03-01 17:12:17 -08:00
Mitchell Hashimoto
3726f8d8de
Properly use new networks for built-in SSH
2013-03-01 17:07:31 -08:00
Mitchell Hashimoto
c586999a0b
Properly scope network configs by type
2013-03-01 17:02:53 -08:00
Mitchell Hashimoto
d07810af58
Properly merge networks
2013-03-01 16:49:06 -08:00
Mitchell Hashimoto
36b805367d
Fix all core code to use the new networking syntax
2013-03-01 16:48:10 -08:00
Mitchell Hashimoto
1c9af032e7
V1 upgrading works with the new network syntax
2013-03-01 16:37:37 -08:00
Mitchell Hashimoto
58871853f5
Hashes for all the networks
2013-03-01 16:31:54 -08:00
Mitchell Hashimoto
27af5ab408
Fix a typo in a warning message
2013-03-01 12:16:04 -08:00
Mitchell Hashimoto
bfc8c62ffe
vagrant plugin list works properly with isolated gem env
2013-03-01 12:14:12 -08:00
Mitchell Hashimoto
18492d5d70
Remove VirtualBox Hostname middleware
2013-02-27 21:30:01 -08:00
Mitchell Hashimoto
3c47f4f3bc
SetHostname middleware uses hostname
2013-02-27 21:29:33 -08:00
Mitchell Hashimoto
934238bba0
Rename config.vm.host_name to config.vm.hostname for V2
2013-02-27 21:29:11 -08:00
Mitchell Hashimoto
c9ad55d9e7
Built-in hostname middleware for setting hostname
2013-02-27 21:28:09 -08:00
Mitchell Hashimoto
21c218e32f
Line up equal signs because I'm anal about it
2013-02-27 19:12:45 -08:00
Mitchell Hashimoto
54bcac2e7a
Only error if minor or major version of guest additions is different
2013-02-27 19:10:49 -08:00
Mitchell Hashimoto
5d82123da9
VirtualBox should use the new port forwarding collision detection stuff
2013-02-26 13:38:00 -08:00
Mitchell Hashimoto
082cc7f92d
Retry setting default name for VirtualBox VM [GH-1368]
2013-02-23 11:52:29 -08:00
Mitchell Hashimoto
a2cd7936ea
`vagrant package` works again
2013-02-21 11:14:39 -08:00
Mitchell Hashimoto
455845d591
Merging networks works again
2013-02-18 17:14:25 -08:00
Mitchell Hashimoto
7d32c75141
Remove V2 forwarded ports config because it is unused
2013-02-18 17:14:25 -08:00
Mitchell Hashimoto
8c33814397
Retry SSH on EADDRINUSE
2013-02-18 17:14:25 -08:00
Francisco R. Santos
4a6e7c756b
Allow non privileged user vagrant to run a shell provision
2013-02-11 19:42:36 +01:00
John Barney
a390b9dddf
Removing tabs added by a bad .vimrc
2013-02-10 03:49:15 -08:00
John Barney
416a765417
Removing extra file
2013-02-10 01:43:49 -08:00
John Barney
52156d7c06
Solved bug with spaces in paths causing errors
2013-02-10 01:41:15 -08:00
John Barney
e0949085a0
No longer need VBoxmanage.exe to be in PATH in Cygwin.
2013-02-10 01:40:59 -08:00
John Barney
cea8c5dafd
Whitespace issue fixed
2013-02-09 19:42:04 -08:00
John Barney
73eb86bad0
Adding Cygwin detection, and fixing pathing issue in VirtualBox driver under Cygwin
2013-02-09 19:36:56 -08:00
Mitchell Hashimoto
abdbd2de08
Warning and automatically handle "v-root"
2013-02-08 16:33:09 -08:00
Mitchell Hashimoto
a53d569656
When cleaning NFS, properly escape certain characters
2013-02-08 16:18:57 -08:00
Mitchell Hashimoto
0eef208d2d
Relax retry constrains on mounting NFS
2013-02-08 16:18:48 -08:00
Mitchell Hashimoto
6afb4326fa
Move NFS to a built-in middleware
2013-02-08 15:34:04 -08:00
Mitchell Hashimoto
a76556f3eb
Fix missing translation error in set_name
2013-02-08 15:17:50 -08:00
Mitchell Hashimoto
7bc72028bd
Use custom Gem.configuration to avoid loading gemrc files
2013-02-07 16:32:11 -08:00
Mitchell Hashimoto
2b4920b4b6
Close the tempfile for shell provisioner [GH-1040]
2013-02-07 15:23:18 -08:00
Mitchell Hashimoto
883efcf282
Warn that config.vm.customize is provider-specific for V1
2013-02-07 15:10:40 -08:00
Mitchell Hashimoto
4a1a990491
Raise a proper SSH error on ECONNRESET
2013-02-06 18:08:55 -08:00
Mitchell Hashimoto
1b3250e3b6
`vagrant plugin i nstall` shows version it installed
2013-02-06 17:08:48 -08:00
Mitchell Hashimoto
d53e189063
Use the proper provider upgrade mechanism in V1 VM
2013-02-06 16:55:49 -08:00
Mitchell Hashimoto
387692f9c8
Enable symlinks on vboxsf for VirtualBox 4.2 [GH-713]
2013-02-06 11:51:59 -08:00
Mark Peek
5f2c87d41d
Allow SSH upload to upload directories
2013-02-05 22:20:19 -08:00
Mitchell Hashimoto
6e0015db19
Add a warning if dotfile_name is used in V1
2013-02-05 22:16:08 -08:00
Mitchell Hashimoto
f8c7622414
Add a warning when upgrading an unknown network
2013-02-05 22:12:54 -08:00
Mitchell Hashimoto
a74fc014d6
Modernize chef solo configuration
2013-02-05 22:07:50 -08:00
Mitchell Hashimoto
1af3255559
Be more sane about cookbook_paths default in Chef
2013-02-05 22:02:12 -08:00
Mitchell Hashimoto
a09c72d84e
Properly default provider configs if not specified
2013-02-05 21:33:00 -08:00
Mitchell Hashimoto
79beefdb0a
Do proper provider configuration merging
2013-02-05 12:22:00 -08:00
Mitchell Hashimoto
2eeccf085b
Refactor the provider config a bit to allow multiple blocks
2013-02-05 12:08:17 -08:00
Mitchell Hashimoto
202cfebc24
SSH communicator: check_key_perms should be a Pathname
2013-02-04 21:06:28 -08:00
Mitchell Hashimoto
b9fc6068fb
Missing requires for SSH
2013-02-04 13:49:03 -08:00
Mitchell Hashimoto
967bd65ac6
Net-SSH logs come out with Vagrant debug logs
2013-02-04 13:46:59 -08:00
Mitchell Hashimoto
e3b9ddda1d
Specify specific auth methods to use for SSH.
...
Specifically no "keyboard-interactive" EVER
2013-02-04 13:37:59 -08:00
Mitchell Hashimoto
a72cfdbc00
Improved logging and such around SSH
2013-02-04 11:44:56 -08:00
Mitchell Hashimoto
bc7237130d
Use the HashiCorp gem source for plugin installs
2013-02-04 11:18:57 -08:00
Mitchell Hashimoto
c6a4bd529d
Missing interpolated variable for output message on plugin command
2013-02-04 10:43:35 -08:00
Mitchell Hashimoto
85e458b9a8
Forgot an autoload for plugins
2013-02-04 10:41:35 -08:00
Mitchell Hashimoto
55c905b43b
`vagrant plugin license` command.
2013-02-04 10:32:04 -08:00
Mitchell Hashimoto
036fa3e96a
Set more force flags when uninstalling gems to remove monkeypatch
2013-02-03 17:33:51 -08:00
Mitchell Hashimoto
635949980b
Handle the case a plugin install is a plugin not found
2013-02-03 14:29:29 -08:00
Mitchell Hashimoto
1162c2dbfc
Instead of shelling out, use the RubyGems API to install plugins
...
This gets us an accurate name of the gem even if it is installed
from a file.
2013-02-03 13:59:43 -08:00
Mitchell Hashimoto
368ca71d72
Remove the `gem` command.
2013-02-03 13:21:39 -08:00
Mitchell Hashimoto
455745277c
List plugins should have output when no plugins
2013-02-03 13:13:22 -08:00
Mitchell Hashimoto
5882d5dad6
VAGRANT_NO_PLUGINS can be used to skip plugin loading
2013-02-03 13:03:00 -08:00
Mitchell Hashimoto
9690754983
Plugin listing is a bit more sophisticated, shows version
2013-02-03 12:59:32 -08:00
Mitchell Hashimoto
bc54875a25
Move the plugins.json to the home directory
2013-02-03 12:49:21 -08:00
Mitchell Hashimoto
b6821a4fc7
Fix some include requirements for pruning
2013-02-03 10:49:26 -08:00
Mitchell Hashimoto
0d7322578b
`vagrant plugin uninstall`
2013-02-03 10:47:32 -08:00
Mitchell Hashimoto
e055bc893b
Sort the state file as well for sanity
2013-02-03 10:35:59 -08:00
Mitchell Hashimoto
76457eff16
Make sure the state file only contains unique fields
2013-02-03 10:34:43 -08:00
Mitchell Hashimoto
491356c938
Better logging for prune
2013-02-03 10:33:39 -08:00
Mitchell Hashimoto
60d21e35c9
Be silent when uninstalling gems
2013-02-03 10:32:31 -08:00
Mitchell Hashimoto
572142df7e
Perform gem uninstallation for prune
2013-02-03 10:30:52 -08:00
Mitchell Hashimoto
472d4182c1
Basic logic behind prune action is good.
2013-02-03 10:15:46 -08:00
Mitchell Hashimoto
f257d1211f
List actually compares state with gems
2013-02-02 23:59:48 -08:00
Mitchell Hashimoto
8ac7b62075
A really basic "list" command
2013-02-02 23:52:34 -08:00
Mitchell Hashimoto
53667d44db
Have a base class to invoke actions on the plugins
2013-02-02 23:38:44 -08:00
Mitchell Hashimoto
150cae86b7
Only show error if exit code != 0 of gem
2013-02-02 23:33:52 -08:00
Mitchell Hashimoto
fa50f06a4c
Error if RubyGems failed.
2013-02-02 23:31:53 -08:00
Mitchell Hashimoto
a2ef7790de
Start creating the plugin middleware sequences
2013-02-02 18:42:04 -08:00
Mitchell Hashimoto
db2e27bab6
Initial plugin command plugin
2013-02-02 17:12:46 -08:00
Mitchell Hashimoto
b3571eb5bb
Add message about removing box so something is clearly happening
2013-02-02 16:43:16 -08:00
Mitchell Hashimoto
2dc14af825
`vagrant up` says what provider it will use
2013-02-01 14:03:59 -08:00
Mitchell Hashimoto
26adfb0de6
Put the provider name in the status output
2013-02-01 13:54:52 -08:00
Mitchell Hashimoto
165dd63f78
New HandleBoxUrl built-in middleware to handlet the "box_url" config
2013-02-01 11:31:08 -08:00
Mitchell Hashimoto
3b75652256
Always log stdout/stderr for SSH
2013-02-01 10:56:00 -08:00
Mitchell Hashimoto
6d002eb4c1
Fix a little logging typo
2013-02-01 10:51:53 -08:00
Mitchell Hashimoto
b037a8d89c
Retry SSH on connection reset
2013-01-31 20:04:57 -08:00
Mitchell Hashimoto
ab4046d8af
Fix issue where set name doesn't work if saved
2013-01-31 11:26:45 -08:00
Mitchell Hashimoto
1392d9b4a5
Detect if a VM name is already taken for VirtualBox
2013-01-30 23:22:45 -08:00
Mitchell Hashimoto
4fa194899d
VirtualBox config: "name" to set the VM name [GH-1126]
2013-01-30 23:03:21 -08:00
Mitchell Hashimoto
d19194d95b
`vagrant provision` accepts `--provision-with` [GH-1167]
2013-01-30 22:54:28 -08:00
Mitchell Hashimoto
9d2f26604e
Properly handle paused VirtualBox VMs [GH-1184]
2013-01-30 22:47:45 -08:00
Mitchell Hashimoto
4ba0fc821e
Support mounting NFS folders with spaces in FreeBSD [GH-1229]
2013-01-30 22:19:13 -08:00
Mitchell Hashimoto
76ca35a095
Sanitize folder names for default virtualbox name [GH-1223]
2013-01-30 22:17:10 -08:00
Mitchell Hashimoto
f713082280
auto_nat_dns_proxy VirtualBox provider config option [GH-1313]
...
When set to false, Vagrant will no longer try to automatically manage
NAT DNS proxy settings with VirtualBox.
2013-01-30 21:03:02 -08:00
Mitchell Hashimoto
25713e4568
Show proper message when viewing status for multi-machine
2013-01-30 20:22:29 -08:00
Mitchell Hashimoto
72c10b53e7
Convert provision types to symbols so they work
2013-01-30 19:51:04 -08:00
Mitchell Hashimoto
b91d7203eb
Pass the start options into the actions so that they have effect
2013-01-30 19:49:18 -08:00
Mitchell Hashimoto
75ea4e5bdd
--provision-with works properly again
2013-01-30 19:42:54 -08:00
Mitchell Hashimoto
e0f0066c99
--no-provision works properly again
2013-01-30 19:39:21 -08:00
Mitchell Hashimoto
9156be0f84
Use the proper config version in config.vm.define calls
2013-01-30 19:24:09 -08:00
Mitchell Hashimoto
bb97351060
Change "channel" to "communicate" in all guests
2013-01-30 10:54:53 -08:00
Mitchell Hashimoto
f9a843ddd0
Fix hostonly network adapter IP for VirtualBox
2013-01-30 10:52:49 -08:00
Mitchell Hashimoto
d26aea142e
NFS properly detects hostonly network for VirtualBox
2013-01-30 10:43:53 -08:00
Mitchell Hashimoto
7eec127704
Support refreshing the machine cache
2013-01-30 10:37:40 -08:00
Mitchell Hashimoto
64042a5d35
Downloading the box_url component works again
2013-01-30 10:24:47 -08:00
Mitchell Hashimoto
aa980f2234
Forced halts work
2013-01-29 10:55:40 -08:00
Mitchell Hashimoto
f7b39476a0
vagrant destroy --force works [GH-1340]
2013-01-29 10:33:40 -08:00
Mitchell Hashimoto
eed24a08e3
Typo in setting up synced folders
2013-01-28 15:57:13 -08:00
Mitchell Hashimoto
2d2f9577af
Fix repackage command to actually work properly
2013-01-28 13:06:18 -08:00
Mitchell Hashimoto
ca0af2866e
Change output to not include the name
2013-01-23 09:45:56 -08:00
Mitchell Hashimoto
7e55e96bd9
Provisioners now sync folders
2013-01-23 09:44:53 -08:00
Mitchell Hashimoto
9cb86706b8
Make all the VirtualBox middleware aware of synced folders
2013-01-23 09:42:19 -08:00
Mitchell Hashimoto
29ca6bc6d1
Upgrade V1 shared folders to V2
2013-01-23 09:27:47 -08:00
Mitchell Hashimoto
4059a4ba2f
Define synced_folders on V2 vm config
2013-01-23 09:21:49 -08:00
Mitchell Hashimoto
44d6b9a3f7
Use a proper args array for V1 forwarded ports. Fixes #1330
2013-01-22 14:28:38 -08:00
Mitchell Hashimoto
1fd74da294
Default V1 forward port options to {} Fixes #1329
2013-01-22 14:07:27 -08:00
Mitchell Hashimoto
7c8125905d
Set the proper force halt environment
2013-01-22 13:37:44 -08:00
Mitchell Hashimoto
4780f1c07f
Use the proper env for branching on Halt in VirtualBox
2013-01-22 13:35:52 -08:00
Mitchell Hashimoto
0fc7cf7f02
Guest `halt` implementations no longer depend on machine state
2013-01-22 12:09:35 -08:00
Mitchell Hashimoto
31448c4cd4
Use the new GracefulHalt built-in for VirtualBox
2013-01-22 12:07:37 -08:00
Mitchell Hashimoto
1bf08f70d6
Add the new graceful_halt settings to `config.vm`
2013-01-22 11:37:49 -08:00
Mitchell Hashimoto
d5c5c4f523
Convert all VirtualBox provider internals to use new state API
2013-01-21 11:38:37 -06:00
Mitchell Hashimoto
8c4a7350fe
vagrant status uses new MachineState results
2013-01-21 11:35:46 -06:00
Mitchell Hashimoto
f24dba0dc5
VirtualBox provider returns new MachineState object
2013-01-21 11:34:04 -06:00
Mitchell Hashimoto
cfe55eb57f
Whitespace weirdness in the `status` command file
2013-01-21 10:47:29 -06:00
Mitchell Hashimoto
2d57afbbda
Support warnings/errors when upgrading Vagrantfiles internally
2013-01-20 22:04:50 -05:00
Mitchell Hashimoto
58eac7117b
Only merge provider/provisioner errors if they exist
2013-01-18 13:36:12 -08:00
Mitchell Hashimoto
d64c164727
VM configuration only validates the active provider
2013-01-18 13:33:02 -08:00
Mitchell Hashimoto
003ebc811c
VirtualBox uses the new validation middleware
2013-01-18 13:29:20 -08:00
Mitchell Hashimoto
7f55d5eac8
Builtin: ConfigValidate will validate your configuration
2013-01-18 13:26:14 -08:00
Mitchell Hashimoto
fff021e51d
Update Chef provisioner to new validation API
2013-01-18 13:12:02 -08:00
Mitchell Hashimoto
df32c47780
Update puppet provisioner config to latest validation API
2013-01-18 13:08:38 -08:00
Mitchell Hashimoto
5e42a99ab6
Update shell provisioner to latest validation api
2013-01-18 13:06:29 -08:00
Mitchell Hashimoto
515ed8f119
Validate providers and provisioners!
2013-01-18 12:56:19 -08:00
Mitchell Hashimoto
3f3c7027aa
Machine objects are passed into validate instead of env
2013-01-18 12:43:53 -08:00
Mitchell Hashimoto
3e9e422ce0
Convert existing validate methods to new API for kernel
2013-01-18 12:33:37 -08:00
Mitchell Hashimoto
10a051a64b
box add works even if no provider is set
2013-01-16 22:52:44 -08:00
Mitchell Hashimoto
c6c27c5e62
Catch Errno::ETIMEDOUT for SSH
2013-01-16 16:42:00 -08:00
Mitchell Hashimoto
129f1985bd
Remove the "!" on chef client provision method.
2013-01-13 16:51:16 -08:00
Mitchell Hashimoto
0c8391aedd
Chef uses the new provisioner API
2013-01-13 16:41:32 -08:00
Mitchell Hashimoto
51a227ae7e
Puppet uses the new provisioner API
2013-01-13 16:22:47 -08:00
Mitchell Hashimoto
5c9f27626c
Provisioner built-in uses new API
2013-01-13 16:09:32 -08:00
Mitchell Hashimoto
84c45a854c
Remove the ProvisionerCLeanup action from VirtualBox
2013-01-13 16:03:34 -08:00
Mitchell Hashimoto
cf2cca3b7c
Revamp the configuration internal state for defining provisioners
2013-01-13 16:02:48 -08:00
Mitchell Hashimoto
c8053c00a4
New provisioner API. Shell provisioner adheres to it.
2013-01-13 15:48:52 -08:00
Mitchell Hashimoto
f1f4f276a0
Set the virtualbox config scope
2013-01-13 12:38:51 -08:00
Mitchell Hashimoto
965427c540
Properly upgrade V1 hostonly/bridged networks to V2 config
2013-01-13 01:07:55 -08:00
Mitchell Hashimoto
212e634c3b
Make Provision a built-in action.
...
This allows other providers to just use it.
2013-01-12 16:22:37 -08:00
Mitchell Hashimoto
22571bf05b
Rescue the EHOSTDOWN error for SSH
2013-01-12 12:47:49 -08:00
Mitchell Hashimoto
124a2ee5d3
Add the --provider optional flag to `box add`
2013-01-11 21:24:57 -08:00
Mitchell Hashimoto
2d8a048946
Merge branch 'abstract-networks'
...
This introduces the new network configuration syntax for Vagrant 1.1
and forward.
== The Problem
With multiple providers, the concept of networking as it stands in Vagrant
1.0.x becomes really muddy. We have `config.vm.forward_port` and
`config.vm.network :hostonly` and `config.vm.network :bridged`. But what
if someone writes an AWS provider? What is a bridged network in AWS? It
just doesn't make sense.
Networking working out of the box with Vagrant is a core part of what
makes Vagrant "magic" to new users. It is a core part of what makes Vagrant
simple to use. One option to punt networking to provider-specific
configuration was considered, but I found the whole idea of networking
too core to Vagrant to simply punt.
Because of this, a whole new method of networking is introduced.
== The Solution
The solution is to have a high-level notion of networking for Vagrant
configuration. This should cover the most _common_ cases of networking, and
every provider should do their best to implement these high-level
abstractions, to ensure the "just works" nature of Vagrant.
In addition to this high-level networking, low-level networking options
should be exposed on the provider configuration. This allows users to do
advanced provider-specific networking configuration if they want, but aren't
required to.
== High-Level Abstractions
=== Available Types
The high-level abstractions built into Vagrant will be the following:
* Forwarded ports - A mapping of host port to guest port that one can hit
using `localhost`.
* Private network - A private network, the machine should ideally be
protected from public access.
* Public network - A public network, one that is easily accessible by
others.
I'm not sure if these are the proper abstractions. They can change up
until 2.0, but these are what we have so far.
Theoretically, here is how mappings would work. Note that this is just
an example, and the mappings in practice of such providers may or
may not map to this as follows.
**VirtualBox**
* Forwarded ports - NAT network, forwared ports.
* Private network - Hostonly network, static IP assigned.
* Public network - Bridged network, IP assigned via DHCP from router.
**VMWare**
* Forwarded ports - NAT network, forwarded ports.
* Private network - Hostonly network, static IP assigned.
* Public network - Bridged network, IP assigned via DHCP from router.
**AWS**
* Forwarded ports - Unimplemented.
* Private network - Public DNS in EC2, private IP in VPC.
* Public network - Elastic IP in EC2 and VPC.
=== Syntax
Networks are configured at the top-level of a Vagrantfile:
```ruby
Vagrant.configure("2") do |config|
# ...
config.vm.network :forwarded_port, 80, 8080
config.vm.network :private_network, "192.168.1.12"
config.vm.network :public_network
end
```
Providers should do their best to honor these configurations.
=== Advanced Options
While providers should do their best to satisfy the requirements for the
high-level abstractions, it is expected that provider-specific configuration
may be possible per network, even for the high-level configurations. For
this, provider-prefixed configuration options should be done:
```ruby
config.vm.network :forwarded_port, 80, 8000,
:vmware__device => "vmnet8"
config.vm.network :public_network,
:aws__elastic_ip => "1.2.3.4",
:vmware__device => "en0"
```
If at all possible, providers should **not** require advanced options for
these to function.
== Low-level Configuration
While the high-level configuration should satisfy the common case and make
Vagrant work out of the box for most providers, one of the large benefits of
many providers is the ability to do certain networking tricks. For example,
KVM, Hyper-V, vSphere, etc. can create and be a part of true VLANs, which
may be required for certain upstream networking rules/ACLs. For things like
this, the network configuration should go directly into the provider
configuration in some way.
Examples:
```ruby
config.vm.provider :virtualbox do |vb|
vb.network_adapter 2, :hostonly
vb.network_adapter 3, :nat
end
config.vm.provider :aws do |aws|
aws.routing_table = "route-123456"
end
```
It is up to the provider implementation to define the configuration
syntax as well as the implementation details of such an option. Other
providers are unable to see provider configurations other than their own
so it is truly private to the provider.
2013-01-11 16:18:09 -08:00
Mitchell Hashimoto
48eaa93745
Raise proper error if there aren't any NIC slots available
2013-01-11 15:57:08 -08:00
Mitchell Hashimoto
7cd663391e
Forwarded ports allow for scoped hash overrides
2013-01-11 15:52:45 -08:00
Mitchell Hashimoto
102e8f23d6
Use scoped hash overrides for high-level config
2013-01-11 15:50:09 -08:00
Mitchell Hashimoto
ccc4da0d32
Remove the old networking code
2013-01-11 15:23:20 -08:00
Mitchell Hashimoto
48995f6036
Support mac address and nic_type for host only networks
2013-01-11 15:22:55 -08:00
Mitchell Hashimoto
d09dc91d1b
Add support for bridged networks again
2013-01-11 15:21:09 -08:00
Mitchell Hashimoto
37e158c9b2
Configure networks on the VM
2013-01-11 15:06:38 -08:00
Mitchell Hashimoto
da7f227fff
Forwarded ports use the new high-level configuration
2013-01-11 14:51:49 -08:00
Mitchell Hashimoto
7e5f175d2c
Check port collisions now uses the new high-level networking
2013-01-11 14:44:27 -08:00
Mitchell Hashimoto
2d8f9baf7f
New Network VirtualBox middleware to handle the changes.
...
Note this is a WIP (hence committed on a branch)
2013-01-11 14:16:00 -08:00
Mitchell Hashimoto
8299ac38bd
Rework v1 forward_port call to append forward port networks
2013-01-10 12:06:08 -08:00
Mitchell Hashimoto
09126b20d3
Merge pull request #1283 from eladroz/master
...
Fixing guest code for RH & SUSE
2013-01-06 17:38:09 -08:00
Jordi Llonch
793ad58e96
fedora 17 & 18 support
2013-01-07 05:23:07 +11:00
Mitchell Hashimoto
7a9363e8a1
Fix ordering of forwarded_port call
2013-01-04 16:35:13 -10:00
Mitchell Hashimoto
559cf25b5f
Temporarily disable Network action while it is broken
2013-01-04 16:25:20 -10:00
Mitchell Hashimoto
2d3c0b7148
VirtualBox forwarding port uses new `network` calls
2013-01-04 16:22:38 -10:00
Mitchell Hashimoto
a2cf0270a3
Remove network validation on config. We'll re-add this later.
2013-01-04 16:13:02 -10:00
Mitchell Hashimoto
640b296f5a
Explicitly set error handling for port collision on resume
2013-01-04 16:11:40 -10:00
Mitchell Hashimoto
be36c702d6
Booting new VirtualBox VM should check for port collisions
2013-01-04 16:08:37 -10:00
Mitchell Hashimoto
5c950d8200
Remove old `forward_port` method for configuration. Use `network`
2013-01-04 15:48:54 -10:00
Mitchell Hashimoto
a4896293ff
Merge pull request #1260 from hdorio/master
...
Attempt to fix #1108 , #1109 , tcp and udp port on the same port number
2013-01-03 17:13:07 -08:00
Elad Rosenheim
0915186b26
Fix guest plugin for RH & SUSE
2012-12-31 10:38:36 +02:00
Mitchell Hashimoto
cd969e1e05
Remove the dotfile_name configuration option.
...
The dotfile is gone now so the configuration option is obselete
2012-12-26 21:45:24 -08:00
Mitchell Hashimoto
d54d58c09c
Call `finalize!` properly on provider configurations
2012-12-26 21:44:43 -08:00
Mitchell Hashimoto
e955596939
Set a default for the "gui" option for VirtualBox
2012-12-25 09:18:47 -08:00
Mitchell Hashimoto
54a2f6b89e
Change boot_mode to a provider config `gui`.
...
OLD:
config.vm.boot_mode = :gui
NEW:
config.vm.provider :virtualbox do |vb|
vb.gui = true
end
2012-12-25 09:00:06 -08:00
Mitchell Hashimoto
2cfc5986d2
Wording changes in the status command. VM => machine
2012-12-24 10:00:28 -08:00
Mitchell Hashimoto
8fe0f86dbd
The --provider flag for `up` now actually does something.
2012-12-23 21:23:08 -08:00
Mitchell Hashimoto
8cc4910fa9
Merge commit that got missed. Ignore changes in this comit. Read message
...
This branch brings in a whole lot of awesome. The name does not do it
justice. The list of things that comes into play here:
* "virtualbox" is no longer hardcoded anywhere in core. It is the default
provider, yes, but it is 100% possible now to slip in another provider
and have it work.
* `vagrant up --provider` is a thing. This allows you to specify an
alternate provider. Note that the other commands don't support
`--provider` yet so its not THAT useful, but its getting really close.
* True V2 configuration is in place. That means that `Vagrant.configure`
calls now are loading a completely new configuration version, and old
1.0.x Vagrantfiles are V1 configuration. V1 configuration is upgraded
automatically internally, so backwards compatibility is maintained.
Magic, people, magic.
* `config.vm.provider` is the major new configuration option. This is
how provider-specific configuration will be done. For example, Vagrant
has always provided a way to make a pass of `VBoxManage` calls to
customize your VM via `config.vm.customize` in V1. This now exists
as a VirtualBox configuration option. See the example here:
https://gist.github.com/98f5a0df6a05286dfb73
* Unit tests no longer depend on VirtualBox being installed, because for
unit tests we slip in a "no-op" provider, which is a fully valid
Vagrant provider plug-in that does... NOTHING! Brilliant!
* Lots of core middleware executor improvements that make writing and
using middleware stacks a lot more enjoyable. Enjoy a set of "standard
library middlewares" provided by Vagrant in Vagrant::Action::Builtin.
The multi-provider is really shaping up here.
2012-12-23 16:34:09 -08:00
Mitchell Hashimoto
178c47992c
Remove unused files
2012-12-23 16:29:26 -08:00
Mitchell Hashimoto
a671fdcbcb
Upgrade sub-VM defines from old config
2012-12-23 16:29:26 -08:00
Mitchell Hashimoto
3808ea377f
Upgrade all other default configurations to V2
2012-12-23 16:29:26 -08:00
Mitchell Hashimoto
bf53abca76
VM config upgrades provisioners
2012-12-23 16:29:25 -08:00
Mitchell Hashimoto
ed6123ac77
Upgrade all VM configs except provisioners (TODO still)
2012-12-23 16:29:25 -08:00
Mitchell Hashimoto
9f6b091575
Comment clarification
2012-12-23 16:29:25 -08:00
Mitchell Hashimoto
9f893534f1
Upgrade VM customizations
2012-12-23 16:29:25 -08:00
Mitchell Hashimoto
e88d735cb6
Make configured VM providers default to an empty one
2012-12-23 16:29:25 -08:00
Mitchell Hashimoto
553d4a828a
Make sure provider config is always available even if no block was given
2012-12-23 16:29:25 -08:00
Mitchell Hashimoto
6478139cee
Move config.vm.customize to VirtualBox specific option
2012-12-23 16:29:25 -08:00
Mitchell Hashimoto
66849fda20
When recovering on import and destroying, force it
2012-12-23 16:29:25 -08:00
Mitchell Hashimoto
1ee470a551
Begin work on supporting provider-specific configuration
...
This works by registering a `config` with `:provider => true` with the
same name as your provider. Vagrant will then automatically configure
the provider when `config.vm.provider` is used.
2012-12-23 16:29:24 -08:00
Mitchell Hashimoto
666f9f802d
When upgrading V1 `vm` config, don't set on new if it wasn't set before
2012-12-23 16:29:24 -08:00