3641 Commits

Author SHA1 Message Date
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
Chris Roberts
b77fb6ab4c
Merge pull request #13031 from chrisroberts/redux-eol-macos
Isolate protobuf message loading to server mode
2023-03-15 15:05:44 -07:00
Sophia Castellarin
72dab76707
Merge pull request #13057 from soapy1/box-race-condition
Add a file mutex when downloading box files.
2023-02-22 15:02:13 -08:00
sophia
4551b8b2ad Use file locks to avoid file existance checking race conditions 2023-02-22 14:28:00 -08:00
Sophia Castellarin
bc1e00fc50
Merge pull request #13052 from soapy1/password-auth-ssh
Update connection settings when using a password to connect ssh
2023-02-22 14:15:46 -08:00
Sophia Castellarin
ec396ec842
Merge pull request #13054 from moritzheiber/fix_ansible_pip_install_version_mismatch
Fix installing Ansible provisioner with version and pip
2023-02-21 17:12:32 -08:00
sophia
5f2ea0486e Update connection settings when using a password to connect ssh
When connecting over ssh using net-ssh use the non_interactive
argument must be set when authenticating with a password.

Add the keyboard-interactive default auth method
ref: 8a176a6ea0/lib/net/ssh/config.rb (L52)
2023-02-14 13:56:38 -08:00
Sophia Castellarin
3022ef59fa
Merge pull request #13066 from soapy1/rsync-regex
Process rsync exclude regex less
2023-02-08 12:38:02 -08:00
Sophia Castellarin
1a5dea169e
Merge pull request #13069 from soapy1/ssh-keep-alive
Use netssh builtin keep alive functionality
2023-02-07 09:16:38 -08:00
sophia
b4925261fa Use netssh builtin keep alive functionality 2023-01-23 16:48:57 -08:00
sophia
0939af9a76 Process rsync exclude regex less
This change will prepend "^" and append "/" if a start anchor is
detected in the regex string. This allows users to specify
relative paths to exclude.

It also removes replacing occurences of "*" with "[^/]*". "*"
already expresses itself accurately.
2023-01-19 16:38:28 -08:00
sophia
f153996b2d Add tests for mutex util module 2023-01-13 14:08:27 -08:00
sophia
83efa09dfa Test box download mutex 2023-01-12 16:30:05 -08: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
Moritz Heiber
5f82adf122
Replace python with python3, which is a common convention (and Ansible only works with Python 3) 2023-01-11 11:01:55 +01:00
Moritz Heiber
76ef7d3dc8
Fix installing Ansible provisioner with version and pip 2023-01-10 14:05:44 +01:00
sophia
9743c85748 Only check for arguments matching test string if the argument is a string
This issue surfaced in the tests after updating to Ruby 3.2.0 where
the =~ operator has been removed.

ref: cca54c8b1b/NEWS.md (L498)
2023-01-03 16:01:20 -08:00
Chris Roberts
672a408dbc Isolate protobuf message loading to server mode
Prevent protobuf loading when not in server mode. This allows proper
loading on platforms which don't have support for the protobuf
libraries.
2022-12-16 16:21:06 -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
fd72ea592a
Merge pull request #13017 from msltwtf/ansible-local-package-install
Add workaround for Debian 10 and older
2022-12-09 09:23:44 -08:00
Chris Roberts
ca7c05f09d Fix ansible install for older distributions
Before installing dependencies run a check for the python-dev-is-python3
package and only install it if found (otherwise use python-dev). This
allows older versions of debian (and derivatives) to properly install
the defined dependencies.
2022-12-08 17:10:00 -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
2fe4056a7d Fix test using File.exists? to use non-deprecated name 2022-11-14 10:11:00 -08:00
Chris Roberts
3c75864ce9 Fix ansible shared test helper 2022-11-11 17:00:19 -08:00
Chris Roberts
17698d8585 Add test to validate ssh info extra args append 2022-11-08 16:49:26 -08:00
Chris Roberts
0209cd21f9
Merge pull request #12832 from teh-syntax/main
Fixed issue provisioning ubuntu 22.04 python-dev has no install candidate
2022-11-08 15:25:22 -08:00
Chris Roberts
c75e05d4b1
Merge pull request #12913 from nist/File.exists
Replace deprecated File.exists? with File.exist?.
2022-11-08 15:07:21 -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
Dan Čermák
be63d8a88f
Mark box_collection_test to require bsdtar
These tests implicitly require bsdtar and should be skipped if the binary is not
available.
2022-11-01 15:25:39 +01:00
Chris Roberts
e7e1badbdc Add support for VirtualBox 7.0 2022-10-14 15:58:00 -07:00
Chris Roberts
c7ef689d86 Prevent trailing space character on user agent 2022-09-28 13:51:54 -07:00
Chris Roberts
716694e7b8
Merge pull request #12910 from chrisroberts/sudoers
Update NFS exports usage
2022-09-22 11:41:28 -07:00
Nicolas St-Laurent
6f9f88e055 Replace deprecated File.exists? with File.exist?. 2022-09-22 08:54:46 -04:00
Chris Roberts
c13c0feabf
Merge pull request #12885 from wbclark/12884_keys_only_fix
(#12884) Use default ssh.private_key_path when ssh.keys_only = false
2022-09-21 13:21:27 -07:00
Chris Roberts
7d7ad89ac5 Provide helpful error message on invalid version
When a box version (or constraint) is provided with an invalid
format, rescue the error and return a customized error with
information for the user explaining the problem.
2022-09-21 11:21:24 -07:00
Chris Roberts
b21e4b0602 Use static file path when creating new exports file 2022-09-21 10:35:55 -07:00
sophia
115bec2b05 Add test for validating box metadata.json 2022-09-14 14:05:27 -04:00
William Bradford Clark
15df2c69b4 (#12884) Use default ssh.private_key_path when ssh.keys_only = false 2022-09-10 02:16:51 -04:00
sophia
1e39161a7b Ensure candidate ips are available when determining mount name 2022-09-02 10:42:27 -05:00
Robert McMahon
3f2d648691 Fixed issue provisioning ubuntu 22.04 python-dev has no install candidate 2022-08-06 20:24:17 -04:00
Chris Roberts
d31f9a59a5 Only patch fake_ftp when running tests
The fake_ftp patches should only be applied when running tests. Since
the library is a development dependency only, it will not be available
for loading from a release.
2022-08-02 10:44:07 -07:00
Sophia Castellarin
14e825b8d0
Merge pull request #12753 from dcermak/bump-fake_ftp
Bump fake_ftp to ~> 0.3.0 & adjust tests
2022-08-01 13:23:00 -05:00
Paul Hinze
1b93691b8a
Merge pull request #12567 from electrofelix/improve-gem-resolving
Improve Gem spec selection when resolving
2022-08-01 12:49:16 -05:00
sophia
df94a36568 Patch fake_ftp for determining the size of files 2022-08-01 11:30:29 -05:00