2604 Commits

Author SHA1 Message Date
Paul Hinze
a841da4fc6
Add a simple push plugin in Go
The only tweak required to get this to work was allowing a DummyConfig
to survive being passed through a remote plugin on the Ruby side.
2022-04-25 12:26:21 -05:00
sophia
53f7b3f8eb
Update tests for GRPC errors 2022-04-25 12:26:20 -05:00
Paul Hinze
142b1af0cc
Fix local exec pushes in server mode
The local-exec push strategy was assuming it was running from a CLI and
so it wouldn't be a big deal for it to straight up `exec` and replace
its running with the user command. That command will just do its thing
and we want the exit code for the CLI command to match anyways, right?

Sure that works for a shell, but in a GRPC server setting it's decidedly
Not Cool to suddenly swap out the running process!

As you can imagine - the effect of doing this was all sorts of broken
pipes and unexpected EOFs and a very confused @phinze.

Luckily we had a subprocess strategy sitting right there for Windows
compat, so it was just a matter of switching to that in the server
context as well. Long and winding debugging process; simple fix;
just another classic!
2022-04-25 12:26:17 -05:00
Chris Roberts
820118b481
Prevent GRPC connection in tests 2022-04-25 12:26:16 -05:00
Chris Roberts
59144f74d3
Stub out mapper response to return machine 2022-04-25 12:26:01 -05:00
sophia
c6070c69db
Rename cap command 'target' to 'target-guest'
the target name is already used by the go cli
2022-04-25 12:24:49 -05:00
sophia
b1f495315e
Fix tests 2022-04-25 12:24:49 -05:00
sophia
ca824644a5
Add tests for host service 2022-04-25 12:24:41 -05:00
sophia
434e613856
Test has capability 2022-04-25 12:24:39 -05:00
sophia
7477455380
Get parents from guest plugin 2022-04-25 12:24:39 -05:00
sophia
493343abb6
Add test guest 2022-04-25 12:24:38 -05:00
sophia
7fe582037f
Add a few tests for detection of guests 2022-04-25 12:24:38 -05:00
sophia
34637c616e
Add tests for guest service parents 2022-04-25 12:24:38 -05:00
Paul Hinze
d03a058e04
Fix VAGRANT_CWD handling in vagrant push ftp
When testing all of the push functionality I ran into the fact that the
FTP upload code did not recognize that I had VAGRANT_CWD set, so it
wasn't finding the right files to upload.

This should make everything work properly relative to that location.
2022-01-06 18:09:30 -06:00
Chris Roberts
ada1d582f7 Update test to use full environment and host instances 2021-11-08 11:29:48 -08:00
Paul Cacheux
e00f08722b Fix tests 2021-11-08 18:35:32 +01:00
Chris Roberts
66b39d45f4
Merge pull request #12575 from chrisroberts/fix-coreos
Fix coreos network configuration
2021-11-05 10:39:26 -07:00
Chris Roberts
cae807fcf0 Configure each device individually to prevent orphan connections 2021-11-04 15:51:08 -07:00
Chris Roberts
f9d1025688
Merge pull request #11880 from elastio/bug/11878-rsync-fails-on-windows
[WIP] Change `mkdir` command on Windows for rsync
2021-11-04 15:03:20 -07:00
Chris Roberts
657b2a39d9 Fix network configuration for coreos guests 2021-11-04 14:53:22 -07:00
Chris Roberts
69ddf98607
Merge pull request #12570 from chrisroberts/darwin-nfs
Fix NFS host paths on darwin
2021-11-03 11:06:27 -07: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
5f0e5652b1 Only resolve path with firmlink prefix on Catalina 2021-11-02 16:44:06 -07:00
Chris Roberts
6810c7b4bb Add version capability to darwin host plugin 2021-11-02 16:43:26 -07:00
Chris Roberts
716f4c0717
Merge pull request #12564 from chrisroberts/vbox-hostonly-validat
Validate VirtualBox hostonly network range
2021-11-02 11:03:44 -07:00
Darragh Bailey
0c6d6d8e9d Improve Gem spec selection when resolving
When computing the solution set, if a gem is already loaded, make sure
to use the specification of the loaded one instead of the first
available as otherwise there is a risk that when multiple matches are
available the specification for the wrong version may be picked.

When this happens an error message will be triggered that looks like

  can't activate json-2.3.0, already activated json-2.5.1

This can occur for distribution packaged vagrants as well as installs
for development purposes where the ruby install may contain a default
gem spec of an older version than is needed.

Fixes: #12521
Fixes: vagrant-libvirt/vagrant-libvirt#1390
2021-11-01 17:31:48 +00: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
Collin McNeese
692cb1ae34
Updates install checks for Chef provisioners
Signed-off-by: Collin McNeese <cmcneese@chef.io>
2021-10-24 11:38:59 -05:00
Dan Čermák
c4ced5459d
Add fallback for SLE 11 guest machines
SLE 11 does not ship systemd and then using systemctl poweroff does not
work. Therefore we fall back to using /sbin/shutdown for machines without
systemd.
This fixes https://github.com/hashicorp/vagrant/issues/12487
2021-08-06 12:55:32 +02:00
Chris Roberts
84d3a5fe47 Update compose tests to pass fully through Util::Subprocess 2021-07-12 09:54:56 -07:00
Dan Čermák
db38599124
Remove no longer required gem webmock
This gem was added a long time ago and probably used to test the functionality
that is now provided by the vagrant_cloud gem
2021-07-06 16:22:24 +02:00
Chris Roberts
a8c5980afb Add Rocky Linux guest support 2021-07-02 15:32:48 -07:00
Dan Čermák
8ce38a639b
Use systemctl poweroff in the background instead of shutdown
We have started seeing occasional shutdown failures on openSUSE Tumbleweed with
Virtualbox inside a qemu virtual machine, where `shutdown -h now` would return
nil. While the machine is successfully turned off, the command fails and vagrant
reports an error.
This commit changes the shutdown command to launch in the background which
also triggers a shutdown, but always succeeds.
2021-07-01 09:31:50 +02:00
Chris Roberts
bbd1404c1e
Merge pull request #12437 from chrisroberts/line-buf-shell-util
Line buffer utility and shell provisioner usage
2021-06-29 13:11:19 -07:00
Chris Roberts
32757d56e1
Merge pull request #12304 from grahamhub/issue-12191
implement --info flag for package cmd #12191
2021-06-29 13:07:47 -07:00
Chris Roberts
9b232d0ff3 Add test coverage on line buffer util 2021-06-29 11:04:14 -07:00
Chris Roberts
aee58785b2 Add tests on provisioner to validate expected output behavior 2021-06-29 11:04:14 -07:00
Chris Roberts
3d0d0148e9 Update tests to use real UI instance
Replaces use of UI doubles within tests to use actual UI instance
    to ensure calls are passing parameters correctly.
2021-06-23 14:04:48 -07:00
Chris Roberts
eae6c1d022
Merge pull request #12419 from chrisroberts/fix-local-box-add
Fix local box add with relative path on Windows
2021-06-22 15:45:49 -07:00
Chris Roberts
170b60202d
Merge pull request #12424 from eltociear/patch-5
Fix typo in connect_networks_test.rb
2021-06-22 15:45:17 -07:00
Chris Roberts
e7a6f397da Updates for Ruby 3.0 2021-06-21 15:57:46 -07:00
Sophia Castellarin
750c95272d
Merge pull request #12421 from soapy1/retry-networks-setup-debian
Retry network setup on debain
2021-06-21 09:11:50 -05:00
Ikko Ashimine
c9db2ab9a1
Fix typo in connect_networks_test.rb
avaiable -> available
2021-06-19 23:27:05 +09:00
sophia
681253aed9 Retry network setup on debain
DAD (Duplicate Address Detection) check times out when we add IPv6 interfaces
2021-06-15 17:49:28 -05:00
sophia
fecfe86cb8 Strip whitespace from ansible version
Note: strip! returns nil if there is nothing to be stripped
2021-06-15 15:24:39 -05:00
Chris Roberts
218f8323fb Return original when access token is not removed
When scrubbing box urls of access token parameters, only return
    the processed URL if the access token was removed. If it was not
    removed, return the original URL string. This prevents issues with
    local file URLs being parsed and replaced with invalid paths.

    Fixes: #12340 #12350 #12320
2021-06-11 16:59:35 -07:00
Philipp Panzer
afa71702e2
add test for ansible core version format 2021-05-25 23:40:04 +02:00
Dan Čermák
b1ba47c52c
Mock the PowerShell.executable method in more tests
On *nix systems we might not have powershell installed and then finding
powershell.exe or pwsh.exe fails in some tests. If we instead mock
self.executable to return "powershell", then the tests pass and don't cause any
side effects.
2021-04-30 09:37:20 +02:00