2116 Commits

Author SHA1 Message Date
sophia
d5cd4da0e0 Use service id for enabling/disabling vm integration services
ref:
https://github.com/PlagueHO/LabBuilder/issues/183
ref service name to id:
https://social.technet.microsoft.com/Forums/de-DE/154917de-f3ca-4b1e-b3f8-23dd4b4f0f06/getvmintegrationservice-sprachabhngig?forum=powershell_de
2020-04-13 09:39:53 -04:00
Sophia Castellarin
a3e8e822e4
Merge pull request #11465 from soapy1/quiet-cli-opt
Quiet cli option
2020-04-06 10:22:29 -04:00
Sophia Castellarin
cf9a690bc9
Merge pull request #11482 from soapy1/systemd-cap-halt
Use systemd to halt system if available
2020-04-06 10:18:53 -04:00
Sophia Castellarin
6f396b62a1
Merge pull request #11483 from soapy1/systemd-cap-reboot
Use systemd to rebot system if available
2020-04-06 10:18:33 -04:00
sophia
39d7cd8997 Wrap all progress type outputs with rewriting to enable --no-tty 2020-04-03 16:28:59 -04:00
Jeff Bonhag
1e7399afa5
Merge pull request #11454 from jbonhag/fix/port-collision-net-test
Fix #11373: Check all interfaces for port collisions on Windows
2020-04-03 13:46:45 -04:00
sophia
338f13a2ae Use systemd to halt system if available 2020-04-01 15:43:10 -04:00
sophia
777f680837 Use systemd to rebot system if available 2020-04-01 13:57:07 -04:00
Sophia Castellarin
0ca53d9e6e
Merge pull request #11356 from jackorp/vagrant-podman-container-build
Docker provider: catch container name when using podman.
2020-03-30 16:19:31 -04:00
sophia
e6c387cdce Refactor non interactive UI 2020-03-30 11:26:18 -04:00
Sophia Castellarin
54972c045b
Merge pull request #10592 from ichesnokov/master
Make sure that ips array contains unique values
2020-03-30 10:31:48 -04:00
sophia
0296e59baf Use :ui_class opt to set ui class 2020-03-30 10:21:14 -04:00
sophia
d230272062 Add NonInteractive UI 2020-03-30 09:32:23 -04:00
sophia
428fad9291 "Test -quiet-progress flag"` 2020-03-30 09:32:23 -04:00
sophia
c5a5b3d0b2 Yield output based on ui opts 2020-03-30 09:32:22 -04:00
Chris Roberts
f6b369fea6 Disable checkpoint setup in cli testing 2020-03-28 09:06:34 -07:00
Chris Roberts
b8702ac889 Include default options in option parser
Adds method to shared helpers for adding procs to be evaluated
which can add default modifications to the option parser used
by commands. Customized option parser class within Vagrant
handles processing defined procs to set options.
2020-03-27 16:57:59 -07:00
Jeff Bonhag
dfad00fd25
Include machine name in error message
This will make it easier for folks to debug networking settings.
2020-03-27 11:49:21 -04:00
sophia
c4b80c30ea Test ips are de-duplicated when writing /etc/exports 2020-03-27 18:46:41 +03:00
Jaroslav Prokop
5208032594 Docker provider: catch container name when using podman.
When user is using podman's docker CLI emulation the containers would
fail to enter running state because the docker driver could not catch
the container name. This commit fixes that by adding a check if podman
docker emulation is used and pick the container hash correctly from the
output.
2020-03-25 19:34:31 +01:00
sophia
987ab17f4d Add suport for SMB on redhat 2020-03-25 12:27:04 -04:00
Sophia Castellarin
2dadeb3ee5
Merge pull request #11461 from soapy1/get-docker-image-id
Get correct docker image from build output
2020-03-24 09:27:20 -05:00
Sophia Castellarin
e07d3c80e2
Merge pull request #11355 from terryburton/master
docker provider: Don't explode when removing an image if it is in use
2020-03-24 09:22:36 -05:00
Terry Burton
b566b0ee13
rmi docker provider tests: May also be in use by a stopped container 2020-03-23 23:28:18 +00:00
sophia
114742f3f8 Test rmi functionality for docker provider 2020-03-23 15:39:30 -05:00
sophia
ea7cc687f2 Add test for multiple Successsfully built messages 2020-03-23 09:55:30 -05:00
Jeff Bonhag
00b72aa2c5
bug: test host platform, not guest platform 2020-03-20 09:56:43 -04:00
Jeff Bonhag
9c5291794a
Include interface names in debug log 2020-03-19 18:05:17 -04:00
Jeff Bonhag
6d228becf9
Raise an error if host IP is not found 2020-03-19 17:16:21 -04:00
Jeff Bonhag
705baaad46
Only do special 0.0.0.0 check on Windows hosts
If host_ip is nil or 0.0.0.0, only do the special port check on Windows
hosts, because non-Windows hosts can test 0.0.0.0 directly.
2020-03-18 17:39:33 -04:00
Jeff Bonhag
b8ecab1201
Guard against nil Addrinfo objects
On Windows, `Socket.getifaddrs` may return nil if the address is not available in ifaddr.
2020-03-13 17:34:09 -04:00
Jeff Bonhag
d4acdd06ec
Fix #11373: Check all interfaces for port collisions
This commit changes the behavior of the port check to check all possible
IPv4 network interfaces when the host IP is `nil` or `0.0.0.0`. This
means that if the desired port is available on any network interfaces, a
forward from 0.0.0.0 will use that interface.

If the port is open (in use) on all interfaces, then it's treated as a
collision and will either throw an error or auto-correct the port, based
on the Vagrantfile configuration.
2020-03-13 16:30:01 -04:00
Jeff Bonhag
6efdcd2068
Merge pull request #11430 from chrisroberts/winssh-hacks
Fix issues with Windows SSH provisioner (continued...)
2020-03-11 10:39:44 -04:00
Chris Roberts
21e5913cef Explicitly activate vagrant specification when not activated 2020-03-10 15:08:56 -07:00
Chris Roberts
9336ca5529
Merge pull request #11363 from chrisroberts/enhancement/solutions
Add support for caching solutions. Remove GEMRC modifications.
2020-03-10 14:42:28 -07:00
Chris Roberts
bee56a09df
Merge pull request #11366 from dmitrivereshchagin/fix-curl-invocation
Fix use of -q option in curl invocation
2020-03-09 16:53:12 -07:00
Chris Roberts
351e053aeb Start adding test coverage to bundler class 2020-03-09 16:52:39 -07:00
Chris Roberts
7d44fef00e
Merge pull request #11428 from chrisroberts/fix/windows-reboot
Catch any StandardError exception while waiting for Windows reboot
2020-03-09 16:48:27 -07:00
Chris Roberts
193eb11277
Merge pull request #11427 from chrisroberts/fix/auto-hook-creation
Update dynamic action hooks implementation
2020-03-09 16:46:27 -07:00
Chris Roberts
dbec9ae68c Clean specs on public key removal 2020-03-09 15:45:04 -07:00
Chris Roberts
d595c03732 Fix test coverage on windows public key cap 2020-03-09 15:07:17 -07:00
Jeff Bonhag
1678cfa757
Fix #11439: Quote each exported directory (#11441)
This commit changes the Darwin NFS template for /etc/exports to put each
exported directory in quotes.

This fixes an issue with directory names that have spaces in them.
Quotes were chosen (rather than escaping the spaces) in order to match
the template for Linux NFS exports.
2020-03-09 16:02:03 -04:00
Chris Roberts
7c2083d5da Update how delayed actions are stored to avoid accessing uninitialized value 2020-03-05 13:25:57 -08:00
Chris Roberts
ec9d23a531 Update public key cap to use powershell 2020-03-04 15:08:03 -08:00
Chris Roberts
852c549886 Force powershell on connection for consistent behavior
This patches the connection instances generated for the winssh
communicator so when a command is executed it is always run
with powershell. This prevents inconsistencies with argument
handling based on what the default shell is set to on the remote
side.

Since powershell is the default, environment variable template
only needs to be set for powershell style. If the shell setting
is updated to `cmd`, the command will be properly prefixed.

Default shell has been updated to powershell, to prevent extraneous
wrapping where it's not required. The `#ready?` check has also been
updated to use a constant value, which is overridden within winssh
as a blank command is invalid.
2020-03-04 15:08:03 -08:00
Jeff Bonhag
9a26c123b9 Use SFTP for Windows file transfer
SFTP is more reliable than SCP when dealing with unknown sshd
configurations on the server side. It also provides a convenient
facility for creating remote directories, so we can remove the
Windows-specific `#create_remote_directory` method.
2020-03-04 15:08:03 -08:00
Jeff Bonhag
b6e8262bf2 Perform scp commands with powershell.exe
This commit includes a monkey patch for Net::SCP#start_command so that
PowerShell commands are escaped correctly.
2020-03-04 15:08:03 -08:00
Jeff Bonhag
85f0fce57a Allow #provision_winrm to modify upload_path
We need to ensure that Windows files have an extension when provisioning
via WinRM.
2020-03-04 15:08:03 -08:00
Jeff Bonhag
d1ad67e333 No need to explicitly set UNSET_VALUE 2020-03-04 15:08:03 -08:00
Jeff Bonhag
4b7d55afaa Fixup paths to work with server-side Bash
This commit normalizes our Windows paths to use `/` instead of `\`.
These paths are compatible with both cmd and PowerShell, and are
required if the server-side shell is set to Bash.

The OpenSSH server executes all commands inside a default login shell
which cannot be controlled by the Vagrant configuration. So what ends up
getting executed on the server side looks something like this:

    "c:\\program files\\git\\bin\\bash.exe" -c "C:\\Windows\\Temp\\vagrant-ssh20200130-41670-1w5nsjy.bat"

By flipping the direction of the directory slashes, we end up with:

    "c:\\program files\\git\\bin\\bash.exe" -c "C:/Windows/Temp/vagrant-ssh20200130-43415-f1d5n2.bat"

This works whether the server-side shell is set to cmd, powershell, or
bash.
2020-03-04 15:08:03 -08:00