Jeff Bonhag
61f43fb59f
Require controller name for #remove_disk
...
Also use #get_controller methods when attaching a disk.
2020-07-09 15:07:48 -04:00
Jeff Bonhag
4736fbc88f
Require storage controller for .get_next_port
...
This also includes #get_controller refactorings and cleanup for the
cleanup_disks capabaility.
2020-07-09 15:07:48 -04:00
Jeff Bonhag
958023dbb9
Create #get_controller method in driver
...
This makes it easier to check if the required controller can be found,
and automatically raise an error if it is not.
Add a #storage_bus method to the StorageController class as a shorthand
way to check the general storage controller type.
2020-07-09 15:07:48 -04:00
Jeff Bonhag
3a515cc7d6
Error if the required storage controller not found
...
This commit adds a new error type that can be raised whenever a storage
controller of the required type is not found. This indicates that a user
needs to either add the storage controller manually or change their disk
configuration.
It also removes the last hardcoded instance of "SATA Controller" as a
default argument.
2020-07-09 15:07:48 -04:00
Jeff Bonhag
e21fb59380
DVD attachments should never be primary
2020-07-09 15:07:48 -04:00
Jeff Bonhag
38e986300b
Fix up tests to use new interface
2020-07-09 15:07:47 -04:00
Jeff Bonhag
61f59de69b
Extract StorageController object
2020-07-09 15:07:47 -04:00
Jeff Bonhag
8739c04aa9
Mock out storage controllers
2020-07-09 15:07:47 -04:00
Jeff Bonhag
8407d79100
Refactor disk configuration to use dynamic names
...
This commit adds a new VirtualBox provider helper method to return a
list of storage controllers so Vagrant can find a storage controller
with the desired characteristics (type IDE or SATA).
This still needs to get wired up to the disk cleanup method.
2020-07-09 15:07:46 -04:00
Jeff Bonhag
8985369eab
Raise an error if disk files are re-used in config
2020-07-09 15:07:46 -04:00
Jeff Bonhag
c52eb1b44c
Feature: ISO attachment for VirtualBox
...
This builds on the existing disk functionality, and adds some special
IDE controller-related flavor.
Considerations for IDE controllers:
- Primary/secondary attachments, so that each port can have two devices
attached
- Adding the ability to address a specific controller name for disk
attachment
This also prevents a user from attaching multiple instances of the same
ISO file, because VirtualBox will assign each of these the same UUID
which makes disconnection difficult. However, if multiple copies of the
ISO are attached to different devices, removing the DVD config will
cause the duplicate devices to be removed.
We may want to consider additional work to make the storage controllers
truly generic.
2020-07-09 15:07:27 -04:00
Sophia Castellarin
02ef62dcff
Merge pull request #11694 from soapy1/host-cap-build-iso
...
Build iso for Darwin host
2020-07-07 10:29:52 -05:00
sophia
afae8c5640
Make tests check for output directory creation
2020-07-02 09:53:40 -05:00
Brian Cain
497cb67b50
Include new disk ext cap methods in test mock ups
2020-06-30 14:23:34 -07:00
Brian Cain
b36db04b3d
Validate and get default disk extensions for provider
...
This commit updates the hyperv and virtualbox provider caps to validate
and also return the default disk extension.
2020-06-30 14:23:34 -07:00
Brian Cain
13c91d68a6
Only grab provider_config if provider key exists and config isn't empty
2020-06-30 14:23:34 -07:00
Brian Cain
4130cfe497
Properly check for disk paths when cleaning up disks in hyper-v
2020-06-30 14:23:34 -07:00
Brian Cain
66fe2e2854
Ensure size param is set for a disk
2020-06-30 14:23:34 -07:00
Brian Cain
f8dfcadb70
Only convert BlockSizeBytes option for Hyper-V disk provider_config
2020-06-30 14:23:34 -07:00
Brian Cain
56645b7bc5
Finish up configure_disk_test unit tests
2020-06-30 14:23:34 -07:00
Brian Cain
99d244c4ed
Build out initial tests for configure_disks
2020-06-30 14:23:34 -07:00
Brian Cain
234bff9271
Add cleanup_disks_test unit test file
2020-06-30 14:23:34 -07:00
Brian Cain
cf063c6e38
Update validation to look for if provider_config is empty not nil
2020-06-30 14:22:41 -07:00
Brian Cain
5258c68cf2
Fixup disk unit tests
2020-06-30 14:22:41 -07:00
Brian Cain
fe7705e694
Update how disk_ext default is set
...
Prior to this commit, the default value of disk_ext was set in the
finalize! method, and was really only valid for the virtualbox provider.
This commit updates that by moving the step into the validate function,
which has access to the machines provider.
2020-06-30 14:22:41 -07:00
Brian Cain
9020868a93
Add initial files for Hyper-V disk configuration and management
2020-06-30 14:22:41 -07:00
sophia
7322c74eef
Add optional arguments as a hash
2020-06-29 14:10:13 -05:00
sophia
decd489a6d
Overwrite outputfile if exists and update available
2020-06-16 09:32:40 -05:00
sophia
1ff6582fff
Refactor out shared utility
2020-06-16 09:32:37 -05:00
Chris Roberts
c9a65ac75b
Merge pull request #11688 from chrisroberts/f-trigger-all
...
Fix trigger matching on `:all` special value
2020-06-15 14:15:26 -07:00
Sophia Castellarin
d9bbdab428
Merge pull request #11567 from soapy1/suse-hosts-mod
...
Set hostname according to hostname flag and ip for suse
2020-06-15 14:29:43 -05:00
sophia
e1d104a8e3
Build iso for Darwin host
2020-06-15 09:55:15 -05:00
Sophia Castellarin
a2b70bc28a
Merge pull request #11566 from soapy1/network-hostname-flag
...
Add :hostname option to network config
2020-06-12 16:51:31 -05:00
Sophia Castellarin
7dfb71c471
Merge pull request #11565 from soapy1/disable-host-modification
...
Add option to disable modification of /etc/hosts on guest
2020-06-12 16:30:49 -05:00
Sophia Castellarin
111f58ef38
Merge pull request #11628 from soapy1/vagrant-destroy-power-off
...
Option to forcefully/gracefully destroy virtualbox vm
2020-06-12 15:00:01 -05:00
sophia
b02a78c661
Change config option to allow_hosts_modification
2020-06-12 14:50:07 -05:00
sophia
7265dd2a84
Add :hostname option to network config
...
* hostname is a boolean
* a network that sets hostname should have a static ip address
* only one network may set hostname
can be set at `config.vm.network :public_network, hostname: true, ip: "192.168.0.1"`
2020-06-12 14:44:35 -05:00
sophia
ff0aea4493
Add option to disable modification of /etc/hosts on guest
2020-06-12 14:25:19 -05:00
Sophia Castellarin
13f50ca840
Merge pull request #11644 from soapy1/shell-provisioner-bat
...
Shell provisioner gets extension specified in path config if exists
2020-06-12 14:16:40 -05:00
Sophia Castellarin
4704606056
Merge pull request #11570 from soapy1/mount-shared-folders
...
Automatically mount virtual box shared folder when machine reboots
2020-06-12 14:11:21 -05:00
Brian Cain
7b95826dd7
Add type as param for cloud_init config
2020-06-10 15:38:18 -07:00
Chris Roberts
916655dbd3
Fix trigger matching on :all special value
...
Updates the type to do a proper comparison when checking for
the `:all` special value as well as applied ignores.
Fixes #11599
2020-06-09 16:12:48 -07:00
Brian Cain
aeeb5dfc6f
Introduce cloud_init config for Vagrant
...
This commit adds the basic config class for defining cloud_init for a
given guest
2020-06-05 10:38:24 -07:00
sophia
1a758d839b
Option to gracefully destroy vm
2020-05-29 15:36:40 -04:00
sophia
fe7968315b
Add option to allow/disable fstab modification
...
Defaults to allow modification of fstab
2020-05-29 15:29:21 -04:00
sophia
1dc761a6c4
Refactor out persisting a mount to it's own guest cap
2020-05-29 15:26:48 -04:00
sophia
d7bd29384e
Remove fstab if it is unable to successfully mount
2020-05-29 15:26:48 -04:00
sophia
b511d23ae1
Refresh fstab when folders synced
2020-05-29 15:26:48 -04:00
sophia
298027b70e
Automatically mount virtual box shared folder when machine reboots
...
This is done by adding the mount to fstab
ref: https://askubuntu.com/questions/252853/how-to-mount-a-virtualbox-shared-folder-at-startup
Note, add `nofail` to mount options so as to not stop machine from booting if device disappears
2020-05-29 15:26:48 -04:00
sophia
85fd3b79fe
Refactor editin guest /etc/hosts into a util
2020-05-29 15:08:39 -04:00