Mitchell Hashimoto
fd644c5105
Forward ports can specify host/guest IP to bind to [GH-1121]
2013-07-10 20:30:15 -07:00
Mitchell Hashimoto
e941c549f2
box_url downloading happens before config validation [GH-1061]
2013-07-10 20:10:33 -07:00
Mitchell Hashimoto
ba91602628
Bind default SSH to 127.0.0.1 [GH-1785]
2013-06-09 15:15:59 -07:00
Mitchell Hashimoto
3d1332c86f
virtualbox: only configure networks if there are some [GH-1796]
2013-06-09 13:37:15 -07:00
Jon Heise
7a89ab7fad
patching network.rb to allow setting static ip's on public networks
2013-05-18 23:41:33 -07:00
Anton Kalyaev
098516e80e
respect :nic_type option for private network. Fixes #1704
2013-05-10 15:45:50 +04:00
Mitchell Hashimoto
e0f8114103
Detect missing Linux kexts via vboxnetctl error message [GH-1671]
2013-04-30 09:45:00 -07:00
Mitchell Hashimoto
ad5873d330
More robust VBoxManage error checking. [GH-1669]
2013-04-29 10:11:53 -07:00
Mitchell Hashimoto
d8ff2cb5ad
Attempt to read guest additions version from showvminfo [GH-1575]
2013-04-22 20:38:57 -07:00
Mitchell Hashimoto
780a312fc9
Built-in DestroyConfirm middleware
2013-04-19 14:14:29 -06:00
Mitchell Hashimoto
0e7a9d3c91
Mount VBox shared folders with proper owner/group [GH-1611]
2013-04-16 17:09:32 -07:00
Mitchell Hashimoto
c1f53a4ace
ssh-config doesn't raise exception when VB machine not created [GH-1562]
2013-04-09 08:47:52 -07:00
Mitchell Hashimoto
a9b2ab33ad
Convert network type to symbol so that strings can be used
2013-04-08 10:39:26 -07:00
Mitchell Hashimoto
88b34d3b71
Message on `up` that VM is already running [GH-1558]
2013-04-08 09:09:23 -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
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
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
acd494d148
Get rid of debug exception
2013-04-03 12:50:04 -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
79ba9df881
Respect the "disabled" flag for shared folders for VirtualBox [GH-1004]
2013-04-03 08:31:41 -07:00
Mitchell Hashimoto
bc2a9fe780
VBoxManage errors show stderr
2013-03-31 20:45:54 -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
d9c1b4b3fc
Default forward port adapter for VirtualBox should be 1
2013-03-25 14:32:15 -07: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
Jan Schumann
d42b7745e4
added dhcp configuration option for private networks
2013-03-20 20:18:32 +01:00
Mitchell Hashimoto
c94f61d274
Only prepare NFS settings for VirtualBox if NFS is enabled
2013-03-18 13:21:06 -07:00
Eivind Uggedal
c45d3ee728
Fix wrong reference to Errors::NFSNoHostonlyNetwork introduced in 022c1da
[GH-1437].
2013-03-18 14:30: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
f03175b4af
Don't "return" if FP less than port 1024 [GH-1421]
2013-03-15 15:15:54 -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
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
36b805367d
Fix all core code to use the new networking syntax
2013-03-01 16:48:10 -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
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
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
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
387692f9c8
Enable symlinks on vboxsf for VirtualBox 4.2 [GH-713]
2013-02-06 11:51:59 -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
6d002eb4c1
Fix a little logging typo
2013-02-01 10:51:53 -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
9d2f26604e
Properly handle paused VirtualBox VMs [GH-1184]
2013-01-30 22:47:45 -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
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
ca0af2866e
Change output to not include the name
2013-01-23 09:45:56 -08:00
Mitchell Hashimoto
9cb86706b8
Make all the VirtualBox middleware aware of synced folders
2013-01-23 09:42:19 -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
31448c4cd4
Use the new GracefulHalt built-in for VirtualBox
2013-01-22 12:07:37 -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
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
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
f1f4f276a0
Set the virtualbox config scope
2013-01-13 12:38:51 -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
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
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
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
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
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
b9f6afd2a0
Scrub LD_LIBRARY_PATH prior to executing VBoxManage
2012-12-16 10:37:43 -08:00
Mitchell Hashimoto
42f157143f
Forward-port fix for OS X and VirtualBox bug from 1-0-stable
2012-11-20 11:00:19 -08:00
Mitchell Hashimoto
81ca275792
Providers to V2
2012-11-06 21:20:55 -08:00
Mitchell Hashimoto
3c0341b7be
Disable DNS proxy for 12.10 too
2012-10-12 20:03:25 -07:00
Paul Visscher
f36ab8a165
Fixes a bug with DNS resolution in Ubuntu 12.10.
2012-10-08 22:12:41 -04:00
Mitchell Hashimoto
678c6a070d
VirtualBox 4.2 support
2012-09-13 19:11:32 -07:00
Mitchell Hashimoto
391dc39267
Merge branch 'machine-abstraction'
...
This branch brings in the "machine abstraction" code. This is a major
milestone in the development of Vagrant as it abstracts all of the
VirtualBox-specific code out into a plugin. There is zero VirtualBox
specific code in the core ("lib/") directory at this point. Read on for
important points.
== Gotchas
White it is technically possible now to write plugins for other
providers, there is still major work to be done to make this feasible.
The plugin interface itself is pretty much done, but there are some
issues:
* ":virtualbox" is the hardcoded provider to be used at the moment.
* There is no way to configure a provider. For example,
`config.vm.customize` would never work for anything other than
VirtualBox, so there needs to be a way to have provider-specific
configuration. This will come soon.
* Shared folders and networking need to be rearchitected to be friendly
for multiple providers, since it is unrealistic that a provider such as
EC2 could provide the same level of networking, for example.
* There is no way easy way (like `vagrant package --base`) to create
boxes for providers other than VirtualBox. This will be addressed in a
whole new feature of Vagrant probably in a future release after
provider stuff has shipped.
== Writing a Provider
To write a provider, you create a Vagrant plugin that defines a
"provider". See the "plugins/providers/virtualbox/plugin.rb" for more
details. Providers themselves have an exremely simple API. The burden
for writing providers mostly rests on the fact that you must define
complex middleware sequences.
Lots more work to come in the future, but this is a BIG MILESTONE!
2012-08-19 19:27:09 -07:00
Mitchell Hashimoto
85a4fb82a8
`vagrant package` a single VM works!
2012-08-15 21:04:37 -07:00
Mitchell Hashimoto
b659191a02
`vagrant up`!
2012-08-14 22:38:41 -07:00
Mitchell Hashimoto
aaeb060f33
`vagrant provision`
2012-08-14 21:21:31 -07:00
Mitchell Hashimoto
7aa083d259
`vagrant reload` now works with the new machine abstraction
2012-08-14 21:12:41 -07:00
Mitchell Hashimoto
85a499ffb8
Properly handle the case that VM doesn't exist for the VB driver.
2012-08-14 20:27:28 -07:00
Mitchell Hashimoto
0cc63c05e2
`vagrant destroy` fully works
2012-08-13 23:31:12 -07:00
Mitchell Hashimoto
2fc18f7207
`destroy` gets a little farther, and properly halts the VM
2012-08-13 23:18:50 -07:00
Mitchell Hashimoto
bca8663742
`vagrant resume` works with the new machine abstraction
2012-08-13 20:03:35 -07:00
Mitchell Hashimoto
83b908f3d8
`vagrant suspend` works with new machine abstraction
2012-08-13 19:30:41 -07:00
Mitchell Hashimoto
0eddda3552
Halt works with new machine.
...
This required some modifications to the linux guest implementation. And
the other guests will have to be modified as well. This is because
`channel` is now `communicate`.
2012-08-12 18:54:52 -07:00
Mitchell Hashimoto
f9752d78d8
Properly resolve and load the guest class impl for Machines
2012-08-12 18:35:19 -07:00
Mitchell Hashimoto
5e70ad0ec2
`vagrant ssh -c` now uses a middleware sequence
2012-08-10 00:57:23 -07:00
Mitchell Hashimoto
e0ec679838
`vagrant ssh` with full console works with new provider.
...
This works by now calling the `:ssh` action on the provider. This action
is allowed to do whatever it pleases, but should at some point probably
call the `SSHExec` built-in middleware.
The `SSHExec` built-in middleware was added. This uses the information
returned by `Machine#ssh_info` and uses the `Vagrant::Util::SSH` helper
to exec into the remote machine. The provider should do any work upfront
in verifying that the machine is ready to be SSHed into.
2012-08-05 13:45:24 -07:00
Mitchell Hashimoto
9db982f7a4
Expose the provider via the machine object.
2012-08-04 11:16:31 -07:00
Mitchell Hashimoto
1e997f87d7
Clean up the actions a bit, move logic into actual middleware.
...
This is a good idea because in the future it will allow plugins to
properly override these behaviors.
2012-07-28 19:58:10 -07:00
Mitchell Hashimoto
31a3a3f2e2
Start moving the halt commands over to the new provider interface
2012-07-28 10:43:16 -07:00
Mitchell Hashimoto
e5f250121a
Call now only yields the environment
2012-07-27 19:34:46 -07:00
Mitchell Hashimoto
118377e6f0
Destroy sequence asks the user for confirmation.
2012-07-27 19:29:40 -07:00
Mitchell Hashimoto
90517a0f9b
The `Call` built-in middleware allows for conditional MW sequences.
...
Read the documentation for more information.
2012-07-26 23:56:47 -07:00
Mitchell Hashimoto
5eed3b8417
Building up the `destroy` action again using new provider API.
...
This shows me moving the built-in middleware sequences to the provider
and how I'm organizing all that.
2012-07-26 22:39:27 -07:00
Mitchell Hashimoto
44b4b9dfef
Move drivers to the VirtualBox plugin. Use Machine class.
...
This starts the transition of replacing VM with Machine. Machine still
isn't ready to fully replace VM but by moving it now, I'm able to find
the spots that need to be fixed. At this point `vagrant status` works
with the new provider interface.
2012-07-24 21:32:38 -07:00
Mitchell Hashimoto
3519bf0372
Add the "provider" API to the V1 plugin.
2012-07-15 11:17:58 -07:00