623 Commits

Author SHA1 Message Date
Brian Cain
9712c599fe
Update method docs for cleanup_disks cap 2020-02-10 12:58:11 -08:00
Brian Cain
71c3e36635
Raise exception if port and device cannot be determined 2020-02-10 12:58:11 -08:00
Brian Cain
4d4844fdef
Simplify params for virtualbox driver attach_disk 2020-02-10 12:58:11 -08:00
Brian Cain
6ba621ac92
Add ability to cleanup and close mediums for a guest 2020-02-10 12:58:11 -08:00
Brian Cain
ad798c2c12
Pass in disk meta file for cleanup_disks 2020-02-10 12:58:11 -08:00
Brian Cain
5d723b4e23
Include cleanup_disk action for virtualbox plugin 2020-02-10 12:58:11 -08:00
Brian Cain
e4a57a8e1d
Add virtualbox cleanup_disks action 2020-02-10 12:58:11 -08:00
Brian Cain
c2e6b5ae78
Ensure disks that go unchanged still get written into disk metadata file 2020-02-10 12:58:11 -08:00
Brian Cain
ec350861cd
Write down metadata for disk configs after configuring disks 2020-02-10 12:58:11 -08:00
Brian Cain
ff77e6279b
Remove todo comment 2020-02-10 12:58:11 -08:00
Brian Cain
831b39f9e0
Use correct variable for disk name 2020-02-10 12:58:11 -08:00
Brian Cain
b8bf424678
Only grab provider disk config if it exists 2020-02-10 12:58:11 -08:00
Brian Cain
2600178d18
Move UI messages into methods 2020-02-10 12:58:11 -08:00
Brian Cain
a75630e274
Enable experimental flag for virtualbox disk configs 2020-02-10 12:58:11 -08:00
Brian Cain
f076ee4708
Add method docs 2020-02-10 12:58:11 -08:00
Brian Cain
616f8e4bd6
Add experimental flags 2020-02-10 12:58:11 -08:00
Brian Cain
0dfde12e9a
Add clone_disk method to virtualbox driver 2020-02-10 12:58:11 -08:00
Brian Cain
d1ccb6536f
Add note about attaching device 2020-02-10 12:58:11 -08:00
Brian Cain
91a274416a
Improve disk messages to user 2020-02-10 12:58:11 -08:00
Brian Cain
7486fe5931
Add ability to resize vmdk disks by converting to vdi 2020-02-10 12:58:11 -08:00
Brian Cain
2e884207df
Rename disk_size variable
Use bytes instead of mb to align with flag used
2020-02-10 12:58:11 -08:00
Brian Cain
dec145b8f9
Add additional note about resizing a disk that might be a primrary 2020-02-10 12:58:11 -08:00
Brian Cain
56cc23cdec
Remove prys 2020-02-10 12:58:11 -08:00
Brian Cain
fcc9c55fa0
Begin to add code for resizing VMDK type disks 2020-02-10 12:58:11 -08:00
Brian Cain
4df346c5c6
Add resize for disks
Also add warnings in case disk resize request is smaller than original
disk size.
2020-02-10 12:58:11 -08:00
Brian Cain
7e686e6f70
Attach harddisk after creation 2020-02-10 12:58:11 -08:00
Brian Cain
1c87351c94
Begin to add method for determining the proper port and device 2020-02-10 12:58:11 -08:00
Brian Cain
2a3f9dad29
Remove uuid from params
No need to pass in machine uuid as it is a class variable already for the driver
2020-02-10 12:58:11 -08:00
Brian Cain
259cb5fcca
Attempt to create and attach disk to guest 2020-02-10 12:58:11 -08:00
Brian Cain
9b83e2ac30
Move around pry 2020-02-10 12:58:11 -08:00
Brian Cain
35c8db56ec
Add handling for configuring and creating disks with vbox provider 2020-02-10 12:58:11 -08:00
Brian Cain
cac56c983c
Add extra key for vbox driver with listing hdds 2020-02-10 12:58:11 -08:00
Brian Cain
5be7989f2d
Add basic driver methods for disk operations 2020-02-10 12:58:11 -08:00
Brian Cain
16cccd504a
Add virtualbox driver method for obtaining vm information 2020-02-10 12:58:11 -08:00
Brian Cain
9bf41d34ba
Add some basic driver methods for configuring disks 2020-02-10 12:58:11 -08:00
Brian Cain
55cb8d1f0a
Add configure_disk blank unit test file and some method docs 2020-02-10 12:58:11 -08:00
Brian Cain
fc54996ba8
Add beginning of ConfigureDisks capability to VirtualBox provider 2020-02-10 12:58:11 -08:00
Jeff Bonhag
d7a5f74897
Fixes #11128: Error if machine folder inaccessible (#11239)
This commit catches the Errno::EPERM raised by the operating system if
the machine folder is inaccessible and displays it as a more friendly
error message.

This can be an issue on macOS Catalina if virtual machine files are kept
in a special directory (Documents/Downloads/Desktop) that Vagrant's
embedded Ruby is not allowed to access.
2019-12-17 12:41:12 -05:00
Brian Cain
fb4e6985e1
Fixes #11249: Add VirtualBox provider support for version 6.1.x
This commit adds support for VirtualBox version 6.1.x. It simply
inherits from the base 6.0.x provider class.
2019-12-11 13:25:11 -08:00
Brian Cain
cef1bd47b3
Add initial disk builtin action 2019-11-22 14:40:23 -08:00
Anders Kaseorg
4afd370d6a virtualbox: Fix usability test to reject bad installs without crashing
If VirtualBox is installed but the kernel module is missing or the
service is stopped, the usability test should fail without crashing so
we can fall back to other providers.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2019-10-04 15:56:10 -07:00
Brian Cain
75d4aa42a1
Ensure non-existent machines do not attempt to list snapshots
Prior to this commit, if a snapshot restore was run on an entire
environment with some non-existent guests, Vagrant would attempt to list
their snapshots with a nil id. This commit fixes that by returning an
empty list of snapshots if the machine has not been created yet.
2019-04-09 13:11:19 -07:00
Chris Roberts
cf99438f1f Update base path on windows to use common file separator
On Windows the File::SEPARATOR ends up being `/` which causes
issues with the new way the path is being extracted from the
vbox information. When on Windows (even with WSL), automatically
convert the path to use common forward slash separator. This
fixes path modifications used for storing guest disks.
2019-01-29 11:09:25 -08:00
Chris Roberts
c999e7c3d4 Update behavior of snapshot restore and snapshot pop
Both of these commands failed to default the options disabling
the provisioning from ignoring the sentinel file. This resulted
in different behavior than what was seen with the `up` and
`resume` commands which would only provision items with run set
to "always". This defaults the options to proper match the behavior
of `up` and `resume` to be consistent.

This also adds an extra `--no-start` flag to allow users to restore
a snapshot but not start the restored guest immediately.

Fixes #6752
2018-12-07 16:17:44 -08:00
Chris Roberts
55a8649963 Adjust requirement on warnings for VirtualBox NIC
The changeset _did_ get included in the 5.2.22 release so adjust
the requirement to only warn on previous versions
2018-12-06 15:40:31 -08:00
Chris Roberts
d589aa9f81 Update default_nic_type implementation within VirtualBox provider
In some cases the E1000 NIC type is the only acceptable value. Since
defaulting causes breakages to existing boxes, leave the default value
as `nil` but check the VirtualBox version in use and print warning to
user if VirtualBox version is vulnerable and E1000 NIC types are
configured for use within defined network adapters.
2018-11-26 15:58:45 -08:00
Chris Roberts
b8f5752a82 Update VM import for VirtualBox 6 driver
The dry run import with VirtualBox 6 no longer provides full paths
for disks. Extract base path from suggested settings file location
and use that to generate full path name using provided disk base
name.
2018-11-15 11:04:08 -08:00
Chris Roberts
c7721f619b Update VirtualBox driver ssh_port helper
Be more restrictive when matching the port forward used for
SSH. Allow matching simply on the guest port, but also include
extra matching criteria for cases where multiple results may
be returned.
2018-11-13 15:04:12 -08:00
Chris Roberts
d8bbc5ce09 Add support for specifying the default NIC type used for guest adapters
Provides support for defining the NIC type used for any guest adapter
which does not define an adapter type. This is defaulted to "virtio".
2018-11-07 15:53:46 -08:00
Chris Roberts
9d728682c4 Add vbox provider driver for 6.0 2018-11-06 16:50:17 -08:00