Commit graph

315 commits

Author SHA1 Message Date
oss-core-libraries-dashboard[bot]
baad494090
[COMPLIANCE] Update Copyright and License Headers (Batch 5 of 7) (#13764)
Co-authored-by: hashicorp-copywrite[bot] <110428419+hashicorp-copywrite[bot]@users.noreply.github.com>
2025-12-22 16:47:10 +05:30
Corey Hemminger
4978fab045
Add Vbox 7.2 support (#13709)
* Add Vbox 7.2 support

Signed-off-by: Corey Hemminger <hemminger@hotmail.com>

* update comment for 7.2

Signed-off-by: Corey Hemminger <hemminger@hotmail.com>

---------

Signed-off-by: Corey Hemminger <hemminger@hotmail.com>
2025-08-19 13:54:24 +05:30
Taru Garg
e08fbad643
fix(provider/docker): Ensure auto-assigned container name starts with valid characters (#13678)
* Ensure container name starts with valid characters when name is auto-assigned
2025-06-03 20:45:26 +05:30
Chris Roberts
849591beb7
Merge pull request #13670 from hashicorp/fix-hyperv-diff-import
Fix hyperv import failure due to lack of resources
2025-05-21 09:25:34 -07:00
Chris Roberts
6a0f875833
Fix hyperv import failure due to lack of resources
When importing a box that was built with more resources than is
available on the current system, import would fail. If the memory
and/or cpu values are set in the Vagrantfile configuration, provide
them when importing the guest. This allows the values to be modified
prior to registering the new guest preventing a resource unavailability
error.

Fixes #12180
2025-05-20 18:10:49 -07:00
Chris Roberts
318e3dd064
Extract hyperv guest ID from result if needed
Result from import may be received in an array. Detect if the result
is an array and extract the first result. Otherwise, if the result
is not a string, force an error.
2025-05-20 18:02:20 -07:00
Chris Roberts
b216228bf0
Fix syntax in constant definition, add test coverage for ranges
Adds missing comma in the constant definition and add test coverage
for when no configuration file is available to validate acceptable
addresses within defined constant values.
2025-05-13 09:35:57 -07:00
Chris Roberts
89a5bb2086
Fix VirtualBox private network setup
Include network display name within the output of the
`#read_host_only_interfaces` driver method. When matching
the private network name, use the `#read_host_only_interfaces`
method and not the `#read_host_only_networks` method which
is darwin specific. Backport the `display_name` inclusion
to old driver versions for consistent behavior.

Fixes #13655
2025-04-28 10:08:43 -07:00
Chris Roberts
a3f10873c5
Merge pull request #13644 from chrisroberts/vbox-hostonly-iface
Use interface name for hostonly network configuration
2025-04-08 17:20:25 -07:00
Chris Roberts
7e283bd185
Use interface name for hostonly network configuration
When provided a name for the hostonly network in the VirtualBox
provider, always use the interface name in the final configuration.
2025-04-08 14:54:55 -07:00
Chris Roberts
a8e61a3daf
Update primary disk detection in hyperv
Select the first disk as the primary disk when locating the
primary disk within the hyperv provider.
2025-04-08 13:27:55 -07:00
Chris Roberts
e4dc350ace
Add dvd disk support to Hyper-V provider 2025-04-07 15:56:02 -07:00
Allison Larson
6729d2546c provider/docker: add test case for podman message to #rmi 2025-03-14 16:22:13 -07:00
Chris Roberts
b5d62e2d81
Merge pull request #13343 from tnaroska/docker_build_containerd_fix
Fix#13342 adapt docker provider build for containerd storage
2024-11-01 14:07:00 -07:00
Chris Roberts
85d97f5383
Add support for VirtualBox 7.1 2024-10-30 12:06:29 -07:00
Allison Larson
2cb8183fe7
Merge pull request #13489 from allisonlarson/allison-docker-full-id
Match docker image id on full output from list when building
2024-08-16 10:17:17 -07:00
Allison Larson
1056f76922 Match docker image id on full output from list when building 2024-08-15 14:35:20 -07:00
Allison Larson
72579915d0 Pass docker exec_options to executor as kwargs 2024-08-14 13:52:12 -07:00
Chris Roberts
015e050195
Merge pull request #13346 from camillo-toselli/main
Update configure_disks.rb
2024-07-10 17:53:07 -07:00
Chris Roberts
f8ba723978
Adjust test to properly mock kwargs 2024-07-10 17:26:35 -07:00
Chris Roberts
12df089810
Properly match container ID when trailing content exists 2024-07-10 16:56:32 -07:00
Chris Roberts
441efe7483
Add test coverage for missing information 2024-07-10 16:07:29 -07:00
Timo Naroska
ce15776b32 Fix#13342 adapt docker provider build for containerd storage 2024-01-27 23:30:57 -08:00
Chris Roberts
c239e37b2f Force config value type and add test coverage
When extracting the config value from the data, force it to an Array
type for the size check. Include a test case that includes missing
configuration information to verify it does not produce an error.
2024-01-23 13:57:04 -08:00
Chris Roberts
5513173758 Remove duplicate test constant 2023-09-14 16:15:02 -07:00
Chris Roberts
6db640fb14 Adjust vbox hostonly config for ipv6
Check the type when an ipv6 address is being used. If the type does not
have a `6` suffix, append it.
2023-09-11 17:48:02 -07:00
hashicorp-copywrite[bot]
36a312ee26
add missing license headers and update copyright file headers to BUS-1.1 2023-08-10 21:53:25 +01:00
Allison Larson
ceddf2e6cd
Merge pull request #13153 from allisonlarson/docker_bridge_ip_update
Docker: Attempt using docker command for bridge ip
2023-05-19 09:14:04 -07:00
Allison Larson
12b73a46b2 docker: attempt using docker command for bridge ip
Don't rely on `/sbin/ip` to fetch the docker bridge ip address, instead
first attempt to use the docker command to fetch it. If it fails, fall
back to previous behavior.
2023-05-18 10:54:38 -07:00
Chris Roberts
8e98c5ff1c Update locale preference for the virtualbox driver
Update the locale preference list to prefer UTF-8 variations of `C` when
available.
2023-05-17 11:59:05 -07:00
Chris Roberts
d53d8e61bc Fix LANG value used for VirtualBox driver
The VirtualBox driver sets the LANG env var to prevent localized output
being returned when executing CLI commands. If the `locale` command is
present, do a best effort lookup to determine the properly value to use
for the LANG environment variable.
2023-05-15 11:01:29 -07:00
Allison Larson
10e45f1df1 Ignore inactive docker containers when assigning ports
Checks to make sure that a docker container is running before determining
whether or not the port is in use. This prevents the a port on an inactive
container from being treated as if it is use.

Fixes https://github.com/hashicorp/vagrant/issues/13110
2023-05-09 16:44:58 -07:00
sophia
28574348b9 Read only machine port forward info
In the VM config file port forward information is captured in the
Snapshot defition as well as the VM definition. This causes duplicates
in port forward entries if the file is queried for all available
network adapters. Querying the VM config file for the the Network
Adapters only part of the Machine definition resolves this and
yields the most up to date port forward info.
2023-01-12 12:02:00 -08:00
Chris Roberts
516ac4b0ab Set address type when not provided
When an address is provided and the type has not been explicitly
provided, parse the address and automatically set the type.
2022-12-09 13:22:37 -08:00
Chris Roberts
32aef6c48c Rescue address errors and adjust host address
Rescue any address errors logging them and ignoring the address. Update
how the host address is determined based on the network configuration.
Host address will be either the lowest address assignable via dhcp
configuration or first address available within the configured subnet.
2022-11-21 14:07:29 -08:00
Chris Roberts
8549450cff
Merge pull request #12994 from chrisroberts/vbox-locale
Force LANG when executing commands
2022-11-14 13:27:48 -08:00
Chris Roberts
1390837129 Update expected options in tests 2022-11-14 12:49:18 -08:00
Chris Roberts
d8de3016ea
Merge pull request #12992 from chrisroberts/vbox-networks-nfs
VirtualBox read networks support with hostonlynets
2022-11-14 12:14:03 -08:00
Chris Roberts
9e4047533d Customize #read_network_interfaces for hostonlynetworks
Adds an override for the #read_network_interfaces when hostonlynetworks
are in use to properly identify the hostonly network information from
the guest. This also adjusts the IP provided for the network to be
the first in the subnet.
2022-11-14 10:45:33 -08:00
Chris Roberts
cbddfbd028 Handle missing machine folder value
If the value of the machine folder can not be found in the
system properties, report a user friendly error message and
include relevant information in the logs for debugging.
2022-11-14 10:45:10 -08:00
Chris Roberts
8de1375ab1 Add test coverage to vbox 7 driver 2022-11-03 17:20:54 -07:00
Chris Roberts
c0c4b80dcb Pass all options to host only network creation 2022-11-03 17:20:54 -07:00
Chris Roberts
e7e1badbdc Add support for VirtualBox 7.0 2022-10-14 15:58:00 -07:00
Dan Čermák
73ee447c87 Stop using the last argument as kwargs in unit tests
A few unit tests started failing with Ruby 3.0, because they were relying on
keyword arguments being converted into hashes automatically. This behavior was
deprecated in Ruby 2.7 and results in errors in Ruby 3.0 onward.

For further details:
https://rubyreferences.github.io/rubychanges/3.0.html#keyword-arguments-are-now-fully-separated-from-positional-arguments
2022-07-28 14:45:47 -05:00
Paul Hinze
eacb798a71
Fix action hooks running twice in destroy_on_error scenarios
The "destroy_on_error" functionality for `vagrant up` is implemented in
the `recover()` action chain, and works by firing off a destroy action
from inside that chain.

This is all well and good, but it copies its existing `env` which has
had `action_name` set for the up action. This was causing action_hooks
for up actions to attach to this destroy action stack.

Setting the action_name explicitly in the env before firing the runner
should correct the behavior. I'm not sure if raw_action_name is used
anywhere but I figured it was better to be consistent vs conservative in
what we change.
2022-04-25 12:26:56 -05:00
Paul Hinze
06ad1b4565
Fixup tests for Ruby 3.0
This is a pass through test failures and deprecation warnings:

 * Make all ambiguous `.with(..., key: val)` use explicit hashes to
   prevent test failures for argument mismatch in Ruby 3.0
 * Scope down all unbounded `raise_error` to address warnings (remove
   one test that was revealed to be referencing a nonexistent variable
   once the raise_error was scoped.)
 * Update all `any_instance` usage to new syntax to address warnings
 * Allow the service cache to be cleared and do so between some tests
 * Fix a small bug in with_plugin's plugin not found code path (revealed
   by a scoped and_raise)
2022-04-25 12:26:40 -05:00
Chris Roberts
ac92fd8e1d Access provider driver through machine for version check
Updates the VirtualBox version check for network range validation
    to access the driver via the machine instances provider within the
    passed env.
2021-11-03 09:32:41 -07:00
Chris Roberts
2f9a0ac253 Adjust default range 2021-10-29 09:43:47 -07:00
Chris Roberts
4341d1b45c Include pass through for other exist? calls 2021-10-29 09:30:23 -07:00
Chris Roberts
ae7639ec23 Validate VirtualBox hostonly network range
VirtualBox introduced a restriction on the valid range for hostonly
    networks. When using a version of VirtualBox which includes this
    restriction a check is performed on the defined IP address to validate
    it is within either the default range (as defined in the VirtualBox
    documentation) or the values defined in the network configuration
    file.
2021-10-28 17:12:15 -07:00