Commit Graph

3607 Commits

Author SHA1 Message Date
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
Sergii Bondarenko 72664eafec #9298: Use a single-word distro name 2018-02-28 10:08:01 -08:00
Sergii Bondarenko 476981874b #9298: Compute a correct path to the current WSL instance 2018-02-28 10:08:01 -08:00
Zachary Flower 3dbcdea691 allow the alias file path to be defined via an environment variable 2018-02-25 22:32:13 -07:00
Zachary Flower 42f72e1099 some light changes per PR feedback 2018-02-25 22:21:16 -07:00
Chris Roberts 00400c95d8
Merge pull request #9499 from chrisroberts/f-vc-urls
Update behavior of the authentication middleware
2018-02-23 09:28:04 -08:00
Chris Roberts b5b5f8870a
Merge pull request #9472 from chrisroberts/e-sensitive-length
Ignore empty strings registered as sensitive
2018-02-23 09:26:38 -08:00
Chris Roberts d6f4c75f40
Merge pull request #9344 from chrisroberts/e-dl-redirect-notify
Notify when host changes on redirect
2018-02-23 09:24:40 -08:00
Brian Cain 2475c62b20
Merge pull request #9502 from briancain/override-box-version
Use provider override for box_version if given
2018-02-22 12:58:24 -08:00
Brian Cain bba4978c13
Merge pull request #9470 from briancain/subprocess-frozen-windows-ps
Pass ruby block to capture stdout when determining PS version
2018-02-22 12:56:28 -08:00
Brian Cain d1c3deb234
(#9452) Use provider override for box_version if given
Prior to this commit if an override was given for a box version, it
would be ignored. This commit ensures that the box_version override is
used when specified in a Vagrantfile.
2018-02-22 10:43:52 -08:00
Brian Cain 3844a8e9f9
(#9056) Pass ruby block to capture stdout when determining PS version
Prior to this commit, the function used to determine the version of
Powershell would loop forever inside the Subprocess.execute function
because the process would never exit. This commit fixes that by passing
in a ruby block to capture the version from stdout instead of trying to
capture it from the returned process when it exits.
2018-02-22 10:04:16 -08:00
Chris Roberts ffa6d2810d Remove end of line matcher from progress regexp 2018-02-22 09:46:24 -08:00
Chris Roberts 04e05088ff Check location first. Grab final progress when multiple entries listed. 2018-02-21 19:46:12 -08:00
Chris Roberts 5e7e56f573 Fix redirect display and chosen location 2018-02-21 17:05:13 -08:00
Chris Roberts fa2f17c7ae Notify user when download host changes on redirect 2018-02-21 17:05:13 -08:00
Chris Roberts f2bf18e56b Update behavior of the authentication middleware
Always remap old hosts to target host when encountered. When custom
vagrant server is defined, warn when tokens may be attached and allow
time for user to cancel.

Fixes #9442
2018-02-21 17:03:38 -08:00