13282 Commits

Author SHA1 Message Date
Judith Malnick
52070df2a1 account for underscoress in URLs 2020-07-16 17:08:07 -07:00
Judith Malnick
40e175034d remove get started nav tree and direct link to learn 2020-07-16 15:12:46 -07:00
Judith Malnick
8eebb0f9ca replace pages with a single title link 2020-07-16 13:56:55 -07:00
Judith Malnick
63d0f98d09 add missing 301 2020-07-16 13:43:17 -07:00
Judith Malnick
be87ffb545 add 301 to all redirects 2020-07-16 13:41:31 -07:00
Judith Malnick
95a7778c15 reword tutorial description and link to learn 2020-07-16 12:58:42 -07:00
Judith Malnick
ba2621d987 remove current content 2020-07-16 12:33:19 -07:00
Judith Malnick
0e32be3bc9 add redirects 2020-07-16 12:32:18 -07:00
Brian Cain
67c161efa4
Update CHANGELOG 2020-07-16 09:41:33 -07:00
Brian Cain
8cec544fcc
Merge pull request #11759 from danowar2k/#11758-solaris11-shell-expand-guest-path-capability
Closes #11758
2020-07-16 09:40:22 -07:00
Sophia Castellarin
a883a8a7c7
Merge pull request #11738 from uzxmx/fix-failed-tests
Fix sometimes-failed test cases that depend on running order
2020-07-16 11:38:02 -05:00
Daniel Poggenpohl
0524649b22 #11758
- removed the solaris11 shell_expand_guest_path_test unit test again
2020-07-11 01:53:16 +02:00
Daniel Poggenpohl
cdd04d3252 #11758
- added a ~ path test to the linux tests
2020-07-11 01:48:23 +02:00
Daniel Poggenpohl
3ed2489c4a #11758
- removed superfluous cap/shell_expand_guest_path
- solaris11 guest_capability for shell_expand_guest_path now directly returns the linux capability class
2020-07-11 00:29:44 +02:00
Daniel Poggenpohl
480b8997d8 #11758
- fixed failing test (now done like linux cap test)
2020-07-10 23:38:29 +02:00
Daniel Poggenpohl
c4b16b509a #11758
- added shell_expand_guest_path capability for solaris11
- added tests for solaris11 shell_expand_guest_path capability
2020-07-10 23:19:34 +02:00
Jeff Bonhag
6ee180a023
Update CHANGELOG 2020-07-10 12:44:27 -04:00
Jeff Bonhag
df0312c507
Merge pull request #11613 from jbonhag/provider/virtualbox_iso-attachment
Feature: ISO attachment for VirtualBox
2020-07-10 12:42:52 -04:00
Jeff Bonhag
de461fa47c
Fix a couple of tests
Use subject instead of invalid_subject because the validation assertions
test the subject double.

This also adds an additional check when validating the `size` attribute
because it is only required for disks of type `:disk`.
2020-07-09 15:33:19 -04:00
Jeff Bonhag
1d46cd3882
Update templates/locales/en.yml
Co-authored-by: Sophia Castellarin <sophia@hashicorp.com>
2020-07-09 15:11:35 -04:00
Jeff Bonhag
8c90eb7b05
Updated attachment logic 2020-07-09 15:11:35 -04:00
Jeff Bonhag
3cb01415e4
Add support for SCSI controllers
SCSI controllers are a lot like SATA controllers. This commit also
changes some controller detection logic to take boot priority into
account when selecting an appropriate controller.
2020-07-09 15:11:35 -04:00
Jeff Bonhag
21954c29af
Hook into ValidateDiskExt capability 2020-07-09 15:11:35 -04:00
Jeff Bonhag
883e45cc49
Refactor: isolate "storage bus" logic
Move all storage bus logic into the storage controller class. Since most
of the storage controller interaction only cares about the storage
controller name, we can simplify #get_controller and isolate the storage
controller detection-type logic in the StorageControllerArray.
2020-07-09 15:11:34 -04:00
Jeff Bonhag
33ef2ca017
Add machine name to error messages 2020-07-09 15:11:31 -04:00
Jeff Bonhag
52c1267b2c
Show duplicate values in error messages
This also prevents nil showing up as a duplicate value for disk configs
when `file` is undefined.
2020-07-09 15:10:50 -04:00
Jeff Bonhag
ff9f9c40e8
Differentiate between controller "not found" errors
This commit adds a new error message to be raised if a VM has no
supported storage controllers. This lets us differentiate between two
different "controller not found" scenarios:

1. If we are looking for a controller that we're expecting to find (i.e.
one that was recorded in the disk metadata file)
2. If we are poking around for the *best* controller to use in a
configuration task
2020-07-09 15:10:50 -04:00
Jeff Bonhag
8c58e3f6f6
Refactor out method for getting the primary disk 2020-07-09 15:10:50 -04:00
Jeff Bonhag
63e168386a
Clean up disk_meta/dvd_meta in tests
- Add a type check for disk_meta/dvd_meta
- Fix up some places where metadata keys were using symbol keys instead of
quoted names
2020-07-09 15:10:48 -04:00
Jeff Bonhag
c316d18e35
Apply suggestions from code review
Co-authored-by: Brian Cain <bcain@hashicorp.com>
Co-authored-by: Sophia Castellarin <sophia@hashicorp.com>
2020-07-09 15:09:10 -04:00
Jeff Bonhag
423e212f58
Create Storage Controller array
This is an array-like object that's useful for answer questions about
the storage controllers arragement as a whole.
2020-07-09 15:09:10 -04:00
Jeff Bonhag
84d2c38cc2
Disallow multiple copies of the same ISO
This makes disk/dvd behavior more consistent, and makes it easier to
determine whether a dvd is already attached.
2020-07-09 15:09:10 -04:00
Jeff Bonhag
724687a601
Fix stale controller state
This was causing multiple dvds to be attached to the same port/device.
2020-07-09 15:09:10 -04:00
Jeff Bonhag
3c0021aac3
Use #read_storage_controllers for #get_port_and_device
This preserves the existing behavior of the method but changes the
implementation to use #read_storage_controllers. The caps that call a
mix of #get_port_and_device and #read_storage_controllers may be a
candidate for further refactoring, but this makes sure that we're
fetching storage attachments consistently.
2020-07-09 15:09:10 -04:00
Jeff Bonhag
d71a5bf453
Fall back on finding disk attachment by UUID 2020-07-09 15:09:10 -04:00
Jeff Bonhag
a4a082e70e
Prevent multiple calls to #read_storage_controllers 2020-07-09 15:09:09 -04:00
Jeff Bonhag
f72ae72aaa
Change method signature
This commit changes the method signature of the VirtualBox driver
methods so they mirror the underlying VBoxManage command.
2020-07-09 15:09:09 -04:00
Jeff Bonhag
ff53c64fbc
Fix test, add test .recover_from_resize 2020-07-09 15:09:09 -04:00
Jeff Bonhag
dfd3bc915c
Remove disks based on metadata
This commit changes the disk_cleanup behavior to remove disks based on
what has been recorded in the disk_meta file.
2020-07-09 15:09:07 -04:00
Jeff Bonhag
e01b51fa43
Disk management with a single controller
.configure_disks is responsible for determining the disk controller(s)
to use, given the machine configuration and the current disk config.
When a machine has a single controller, use it for all attachments.

When a machine has multiple controllers, attach disks to the SATA
controller and DVDs to the IDE controller.

This commit also returns additional attachment information
(controller/port/device) with the disk metadata.
2020-07-09 15:07:49 -04:00
Jeff Bonhag
c9bdcb6839
Error on unsupported storage controller type 2020-07-09 15:07:49 -04:00
Jeff Bonhag
c9be89718d
Write documentation for :dvd disk type 2020-07-09 15:07:49 -04:00
Jeff Bonhag
53f7412821
Make VirtualBoxDisksDefinedExceedLimit error generic
Create a #limit method in the StorageController class so we can
customize the error message when a storage controller is full.
2020-07-09 15:07:49 -04:00
Jeff Bonhag
1e6eb0d636
Raise an error if primary disk can't be found 2020-07-09 15:07:49 -04:00
Jeff Bonhag
8561467e40
IDE controllers have two devices/port 2020-07-09 15:07:49 -04:00
Jeff Bonhag
b9705214bd
Replace backticks with single quotes 2020-07-09 15:07:48 -04:00
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