Commit Graph

3623 Commits

Author SHA1 Message Date
Chris Roberts 40f4e6f67e Vagrant Environment isolated plugins
Adds support for plugins isolated to a specific `Vagrant::Environment`
which can be managed by the vagrant plugin command using the the
--local flag.
2018-07-17 14:49:41 -07:00
Chris Roberts 01a7b625e5
Merge pull request #10017 from troeggla/master
Download causes exception when location header is not an absolute URL
2018-07-17 10:00:23 -07:00
Chris Roberts 6f81d16691 Remove final #to_s on path 2018-07-12 16:49:22 -07:00
Thomas Röggla 2613d620fd checking whether the field location_uri.host is nil 2018-07-12 15:49:26 +02:00
Brian Cain 52c3dcc70e
(#9997) Catch and allow for non-standard exit codes
Prior to this commit, the run trigger option wouldn't catch for failures
outside of the #Subprocess.execute raising exceptions. This commit fixes
that by inspecting the exit code result of the subprocess and using the
new `exit_codes` option to determine how to move forward with the
trigger.
2018-07-09 15:56:26 -07:00
Chris Roberts 859d48d5f5 Restrict synced folder access to DrvFs file systems only within WSL 2018-07-06 16:58:12 -07:00
Chris Roberts 6aa5c1a008 Always force string type conversion of path
Fixes #9984
2018-07-06 14:29:32 -07:00
Koen Verheyen 7939784d1b Display current version in version check 2018-06-29 16:41:50 +02:00
Caleb Martinez 447e58dac3
Added option to add to User-Agent 2018-06-28 13:21:34 -04:00
Chris Roberts 69ece0db4e Always return string value when converting path 2018-06-18 10:02:59 -07:00
Chris Roberts c5c63d291d Only expand path if not in windows format 2018-06-18 09:39:30 -07:00
Chris Roberts 97eb459f56 Always expand to full path before converting to Windows path 2018-06-18 09:07:12 -07:00
Chris Roberts 3f23466703 Replace file separators when decompressing box files 2018-06-18 08:57:29 -07:00
Chris Roberts 55aaa1d258 Update path usages to support Hyper-V provider access from WSL 2018-06-15 09:03:18 -07:00
Chris Roberts 5357727350 Attempt full path to powershell as last resort in WSL 2018-06-15 09:03:18 -07:00
Simon Baatz fa34f4d2af Fix hang at nmcli call on CentOS 7.5 when ssh.pty is enabled
`vagrant up` may hang at the "Configuring and enabling network
interfaces..." step when private networks and PTY allocation for SSH
are used.

The newer version of `nmcli` that is part of CentOS now will open a
pager (i.e. `less`) for certain commands if it finds a tty. This
causes the invocations of `nmcli` in `guest_inspection.rb` to hang.

`nmcli` disables the use of a pager in 'terse' (`-t`) output mode,
while still returning enough information for the uses in
`guest_inspection.rb`.
2018-06-13 11:10:18 +02:00
Chris Roberts ef4d431d36 Remove console resizing on powershell commands 2018-06-12 16:47:47 -07:00
Chris Roberts 87b8321702 Remove win32 dependencies 2018-06-12 13:54:37 -07:00
Chris Roberts 5325000fa6 Add helper option for setting custom module path on PowerShell executes 2018-06-12 10:44:12 -07:00
Chris Roberts 5f4e661155 Add automatic console resize and environment support for powershell commands 2018-05-30 15:04:59 -07:00
Chris Roberts e6457d5061 Overhaul the Hyper-V provider 2018-05-24 14:43:44 -07:00
Brian Cain 5ca382727d
Raise error if argument is provided with `--all-global` flag
This commit raises an error if additional arguments are provided to the
suspend command when the `--all-global` flag is used.
2018-05-11 15:43:14 -07:00
Chris Roberts 91018d4edc Remove existing items from request set prior to installation 2018-05-08 13:52:23 -07:00
Chris Roberts d58096da31 Update plugin loading to prevent error suppression
Only catch exception types we care about when attempting to load
plugins. If no require call is successful, force an exception
instead of ignoring.
2018-05-08 13:47:31 -07:00
Brian Cain a177bcf4b7
Ensure internal trigger fire does not get called if plugin installed
This commit wraps up the internal machine action level trigger calls if
the community vagrant-trigger plugin is installed.
2018-05-07 11:33:55 -07:00
Brian Cain 092e73d87f
(#9775) Move triggers object init in machine
Prior to this commit, the hyper-v provider called an action on a machine
that hadn't fully finished initializing. This commit fixes that by
moving up the initialization of the triggers object next to the rest of
the instance variables of the machine object.
2018-05-04 14:32:57 -07:00
Chris Roberts 02b9d625d3
Merge pull request #9759 from StefanScherer/wsl-remove-raise-vboxmanage-missing
Allow other providers in WSL
2018-05-03 12:42:16 -07:00
Brian Cain beb08b51a4
(#7076) Continue on if vagrant fails to parse metadata box for update
Prior to this commit, vagrant would halt if it could not parse the
metadata file for a box to check for updates with. This commit changes
that to behave like when vagrant fails to download a metadata file and
continue on but warn the user it failed to check for box updates.
2018-05-02 13:58:21 -07:00
Stefan Scherer f14e8bcbf2
Allow other providers in WSL 2018-05-02 22:36:17 +02:00
Chris Roberts 3f3777f03a
Merge pull request #9746 from chrisroberts/e-hyper-v-check
Update Windows Hyper-V check
2018-05-02 07:45:26 -07:00
Chris Roberts 3dcc350364
Merge pull request #9696 from D4rkSh1t/fix-rootpath-for-wsl
fix rootpath if the vagrantfile is located under the root directory (WSL)
2018-04-27 17:04:23 -07:00
Chris Roberts a997a27b57 Update Windows Hyper-V check
Checks only if the Hyper-V hypervisor is enabled instead of all
Hyper-V features. This will allow detection where Hyper-V is in
use for things like ApplicationGuard.

Uses both Get-WindowsOptionalFeature and Get-WindowsFeature to
support check on server and non-server version.
2018-04-27 14:13:34 -07:00
Brian Cain fd3d78746c
(#9717) Improve messaging around not finding requested provider
This commit adds a bit more helpful messaging for the user when asking
for a provider that might not exist or does not follow the correct
casing. If it can find a match on a provider it knows about, it will
suggest it.
2018-04-26 09:43:58 -07:00
Brian Cain 67c3f866dd
(#7886) Add tests and simplify code for continuing on 416 2018-04-25 14:03:24 -07:00
Alexey Kamenskiy f1993dfa19
Fixed minor typo in comment 2018-04-25 09:12:08 -07:00
Alexey Kamenskiy cd3035e5e9
Issue #7885 Don't raise error if response is 416
416 means there is no more bytes to download (which works only with `--continue-at -` of curl)
2018-04-25 09:12:08 -07:00
Brian Cain a9be56b356
Code updates based on PR feedback 2018-04-24 10:04:40 -07:00
Brian Cain daffd87200
Use match over match? for Ruby 2.3 2018-04-20 12:24:32 -07:00
Brian Cain 188fd5d6a6
Split out run methods with Powershell functions 2018-04-20 10:51:38 -07:00
Brian Cain 12b1a3dfe4
Update triggers based on code review 2018-04-20 10:51:38 -07:00
Brian Cain 4e5e4d0214
Use args setting for run option in trigger 2018-04-20 10:51:38 -07:00
Brian Cain 8451cbf854
Move up location of error message 2018-04-20 10:51:38 -07:00
Brian Cain c35e0a4f9a
Update docs with some basic trigger examples 2018-04-20 10:51:38 -07:00
Brian Cain e0806f623c
Remove TODO 2018-04-20 10:51:38 -07:00
Brian Cain 0054c5aae6
Raise error if incomplete trigger block is defined 2018-04-20 10:51:38 -07:00
Brian Cain 6bf01965de
Fix run command for windows hosts 2018-04-20 10:51:38 -07:00
Brian Cain a5fe84d64f
Fix string translation 2018-04-20 10:51:38 -07:00
Brian Cain 7cdb32f642
Use inclunde? instead of any? for ruby 2.3 2018-04-20 10:51:38 -07:00
Brian Cain 767a315393
Trigger cleanup 2018-04-20 10:51:38 -07:00
Brian Cain 85dedf25d9
Ensure that :all triggers don't get filtered out 2018-04-20 10:51:38 -07:00
Brian Cain 600557ff24
Move strings to translation file 2018-04-20 10:51:38 -07:00
Brian Cain a1e4fe4411
Align how local provisioner looks with shell provisioner 2018-04-20 10:51:38 -07:00
Brian Cain a857056136
Update color for run_remote to match shell provisioner colors 2018-04-20 10:51:38 -07:00
Brian Cain 8b71c24f90
Match properly on guests with trigger filtering 2018-04-20 10:51:38 -07:00
Brian Cain a4faaa1a4d
Provision run_remote using the shell provisioner 2018-04-20 10:51:38 -07:00
Brian Cain fd2878309b
Move exception warnings in run function 2018-04-20 10:51:38 -07:00
Brian Cain e078767b2b
run now supports script files as well as inline scripts 2018-04-20 10:51:38 -07:00
Brian Cain 8b70abd4d0
Send the correct config message to warn 2018-04-20 10:51:38 -07:00
Brian Cain 59965f4fd6
Properly filter triggers 2018-04-20 10:51:38 -07:00
Brian Cain 975b8e774c
Get basic run triggers executing inline scripts 2018-04-20 10:51:38 -07:00
Brian Cain d750169f6e
Add some logging around run and run_remote 2018-04-20 10:51:38 -07:00
Brian Cain 616b0f9ba6
Preserve returning environment after machine action gets called 2018-04-20 10:51:38 -07:00
Brian Cain 48b7c682ad
Use active machine object 2018-04-20 10:51:38 -07:00
Brian Cain 93af398f9e
Update params for NoStageGiven error 2018-04-20 10:51:38 -07:00
Brian Cain bbf4e3c521
Reduce fire trigger methods to a single method 2018-04-20 10:51:38 -07:00
Brian Cain eac2fcf71e
Filter triggers based on only_on restraint 2018-04-20 10:51:38 -07:00
Brian Cain 6373441ab2
Ensure guest name is a string 2018-04-20 10:51:38 -07:00
Brian Cain 76418b9fcd
Simplify trigger selection 2018-04-20 10:51:38 -07:00
Brian Cain 0e5cd900f8
Add missing param 2018-04-20 10:51:38 -07:00
Brian Cain 1462b3f718
Simplify trigger command filtering 2018-04-20 10:51:38 -07:00
Brian Cain 372a6a7911
Initial trigger plugin scaffolding 2018-04-20 10:51:38 -07:00
Brian Cain 4ecf682265
Add basic trigger plugin scaffold 2018-04-20 10:51:38 -07:00
Brian Cain 42419bbd49
Fix rspec tests 2018-04-20 10:51:38 -07:00
Brian Cain f0ec7c750b
Potential solution for trigger validation when guest is defined
Send the defined before and or after triggers in the merge function if
triggers exist already
2018-04-20 10:51:38 -07:00
Brian Cain 51e4118cc2
Debug commit 2018-04-20 10:51:38 -07:00
Chris Roberts 6ae1f4a2f6 Fix require for ffi-win32-extensions
Fixes #9698
2018-04-18 12:42:46 -07:00
Maximilian Gotter 134060d577 fix rootpath if the vagrantfile is located under the root directory 2018-04-17 07:10:41 +00:00
Chris Roberts 5d7506afe3
Merge pull request #9676 from chrisroberts/e-win-file-perms
Update generated ssh private key file permissions on create
2018-04-10 14:56:28 -07:00
Chris Roberts 9731720773 Update generated ssh private key file permissions on create
This updates the permissions on the automatically generated private
key file to only be readable by the user. Includes support for file
permission modification on Windows platform.
2018-04-10 14:15:14 -07:00
Chris Roberts e4399a5724 Check Windows installed Vagrant version using --version
Using the --version flag keeps Vagrant from doing a full startup
and prevents the Vagrantfile from being parsed. This makes the
version check faster, and stops things like syntax errors within
a Vagrantfile from causing an unexpected error.

Fixes #9635
2018-04-10 08:05:23 -07:00
Chris Roberts f3c5e86f28
Merge pull request #9504 from zachflower/feature/vagrant-aliases
Vagrant aliases
2018-04-06 15:39:18 -07:00
Chris Roberts 8391abc63a Properly respect environment variable on checkpoint setup
The checkpoint update missed the environment variable check for
disabling the checks so this adds in the check and properly
disables checks when requested.
2018-04-05 10:47:28 -07:00
Chris Roberts a9223cf443 Add missing action autoloads
Fixes #9303
2018-04-04 16:27:06 -07:00
Chris Roberts ef4318eda2
Merge pull request #9653 from chrisroberts/f-powershell-detection
Make powershell version detection timeout configurable
2018-04-04 16:20:23 -07:00
Chris Roberts 8ac0fedbbb Suppress errors from invalid path encoding and carry on with best effort
Fixes #9299
2018-04-04 16:09:46 -07:00
Chris Roberts dd1d91f2c4
Merge pull request #9503 from chrisroberts/f-win-ssh-control
Fix ssh binary selection on windows
2018-04-04 16:05:17 -07:00
Chris Roberts 90fa705a6d Make powershell version detection timeout configurable
Allows custom configuration of the powershell timeout and bumps
the default timeout from 10 seconds to 30 seconds.

Fixes #9629
2018-04-04 16:02:11 -07:00
Chris Roberts dd438100b8
Merge pull request #9645 from chrisroberts/e-checkpoint-exceptions
Prevent exceptions from being raised by checkpoint
2018-04-04 15:58:47 -07:00
Chris Roberts a1d23b4e97 Allow system binary lookup to be disabled on windows for ssh
Fixes #9433
2018-04-04 15:50:52 -07:00
Chris Roberts 0139fe052b Only modify report_on_exception if the method is available 2018-04-02 12:11:37 -07:00
Chris Roberts 1dafc6b82e Prevent exceptions from being raised by checkpoint 2018-04-02 12:00:56 -07:00
Chris Roberts 30e7e81eab Make resolv-replace loading optional not automatic 2018-04-02 11:59:02 -07:00
Josh Soref 1a5ddea9f4 Spelling fixes
* account
* addresses
* administrator
* afterwards
* because
* bridgeable
* capabilities
* capability
* checksum
* configuration
* configuration for
* configure
* criteria
* delimited
* delivered
* derivatives
* description
* detect
* directory
* display
* downloading
* during
* electric
* enabling
* encountered
* equivalent
* executable
* executed
* hashicorp
* hypervisor
* hyphens
* implementation
* incorporate
* inheritance
* initialize
* instance
* instead
* interactions
* invocable
* machine
* maximum
* message
* mounting
* overridden
* overwrite
* paramiko
* preparing
* provides
* provisioning
* recursively
* requested
* resetting
* retryable
* running
* satisfied
* searching
* sometimes
* specified
* successfully
* synced folders
* unauthorized
* underlying
* userprofile
* vagrant
* vagrantfile
* variable
* various
* version
* virtual
* windows
2018-03-14 14:41:04 +00:00
Chris Roberts 8b7e501e50 Handle pathing in lxrun generated WSL instances better. 2018-02-28 10:08:01 -08:00
Chris Roberts 5f0d16a0e9 Include support for lxrun generated install
Adds compatibility support for legacy lxrun generated WSL installation
which is a single install at a known path location. This allows earlier
versions of Windows 10 to continue working as expected while still
supporting the recent updates allowing for multiple instances.
2018-02-28 10:08:01 -08:00
Sergii Bondarenko cc82f96618 #9298: Fix typos in comments to the code 2018-02-28 10:08:01 -08:00
Sergii Bondarenko 47a7f0817c #9298: Try to fallback to "powershell.exe" on WSL if "powershell" is not available 2018-02-28 10:08:01 -08:00
Sergii Bondarenko c5fdd47a56 #9298: Respect usernames with spaces 2018-02-28 10:08:01 -08:00
Sergii Bondarenko a1211caa9c #9298: Add debugging messages and explanations to the code 2018-02-28 10:08:01 -08:00
Sergii Bondarenko 62740e2240 #9298: Increase stability of determination of a current WSL instance 2018-02-28 10:08:01 -08:00