Chris Roberts
7c9fb9a5d7
Use availablity of local plugins file instead of option
2018-07-18 15:49:30 -07:00
Chris Roberts
8e0e2fc53a
Add output for local repair
2018-07-18 15:49:30 -07:00
Chris Roberts
8445b496d8
Use consistent terms for describing local flag
2018-07-18 14:19:29 -07:00
Chris Roberts
7a623d2826
Include local flag for plugin update command
2018-07-18 14:02:17 -07:00
Chris Roberts
3fd55dac23
Add local plugin repair support. Update global repair implementation.
2018-07-18 13:46:17 -07:00
Chris Roberts
ef0269c538
Add action method for local plugin repair
2018-07-18 13:45:15 -07:00
Chris Roberts
14edb8f423
Add local only and global only flags to plugin expunge command
2018-07-18 13:43:52 -07:00
Chris Roberts
9d191a2419
Add local option stub to allow Vagrantfile loading
2018-07-17 15:35:25 -07:00
Chris Roberts
8baf7ced38
Use path of state file, not state file itself
2018-07-17 15:35:25 -07:00
Chris Roberts
3223737734
Use env_local consistently internally
2018-07-17 14:49:41 -07:00
Chris Roberts
b71054502e
Update local usage to env_local for clarity
2018-07-17 14:49:41 -07:00
Chris Roberts
84c0aafe71
Support non-interactive local plugin install
2018-07-17 14:49:41 -07:00
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
8aa74a03a0
Differentiate checkpoints and automatic checkpoints
...
Provide separate configuration settings for enabling/disabling
checkpoints and automatic checkpoints with Hyper-V provider.
2018-07-13 15:23:09 -07: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
2667de163b
Enable rsync synced folders for non-DrvFs file systems within WSL
2018-07-06 16:58:12 -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
cf29085d33
Fix root directory generation on failed access
2018-07-06 16:27:52 -07:00
Chris Roberts
15dacc80c0
Update ACL check to use identifier to prevent localization errors
2018-07-06 16:25:05 -07:00
Chris Roberts
a9bc0bb800
Do not provision and configure when state is saved
2018-07-06 15:49:36 -07:00
Chris Roberts
630bc6540d
Enable standard checkpoint on VM for snapshot if disabled
2018-07-06 15:29:07 -07:00
William Bowling
4ec865b69d
Make sure that the correct cmd is run
...
After installing msys2, there is another `cmd` on the path which prevents shared folders from being mounted. Explicitly calling `cmd.exe` fixes the issue
2018-07-02 13:15:10 +10:00
Chris Roberts
ac8ad59823
Provide custom error when attempting to push too many files with FTP
...
When the configured directory for FTP push has too many files, it will
generate an exception and fail due to a stack overflow. When this happens
just rescue out the exception and re-raise a custom error to provide
some context to the user on the actual problem.
2018-06-26 08:28:01 -07:00
Chris Roberts
101fc447ec
Add Hyper-V access check on data directory
2018-06-18 15:36:45 -07:00
Chris Roberts
941dd77a90
Force string conversion on paths
2018-06-18 09:53:06 -07:00
langdon
f0b9d025e4
Fixes the change in packaging for nfs in f28 ( #9878 ). However, removed part of the unit test which will be very difficult to fix (I expect). The unit test is still doing a good test that nfs and rpcbind work though. If you go far enough back, you need to bury the error out too.
2018-06-18 12:16:23 -04:00
Chris Roberts
fe8fe55d1f
Delete and re-create data directory when destroying guest
2018-06-18 09:09:27 -07:00
Chris Roberts
a8abb6898c
Fix PowerShell cmdlet name for clones
2018-06-18 09:09:01 -07:00
Chris Roberts
1e5c8bf275
Add check for WSL when determining if Hyper-V is usable
2018-06-18 09:08:35 -07:00
Chris Roberts
d84f29f12c
Just provide module path as conversion is done earlier
2018-06-18 09:08:05 -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
8fbf27772a
Always ensure full path to configuration file on import
2018-06-15 07:48:14 -07:00
Chris Roberts
694104b005
Attempt to provide helper error message on failed VM import
...
When importing a Hyper-V VM fails, attempt to manually build
a system definition and inspect the result to determine cause
of the failure.
2018-06-14 16:40:37 -07:00
Chris Roberts
3919455f08
Merge pull request #9932 from chrisroberts/e-hyperv-maxmem-chk
...
Validate maxmemory setting within Hyper-V provider
2018-06-13 14:52:09 -07:00
Chris Roberts
4d3f5d33c6
Merge pull request #9925 from chrisroberts/u-powershelling
...
Misc. PowerShell cleanup
2018-06-13 14:51:43 -07:00
Chris Roberts
9482f351fc
Validate maxmemory setting within Hyper-V provider
...
Forces an error if maxmemory value is less than the configured
minimum or startup memory.
Fixes #9477
2018-06-13 13:27:11 -07:00
Trey Tabner
c218267436
Merge branch 'master' into debian-systemd-networkd
2018-06-13 12:49:50 -05:00
Chris Roberts
1554f447f2
Disconnect all configured network adapters
...
When importing a Hyper-V VM ensure all adapters are disconnected from
switches that were used when the box was built.
2018-06-13 07:59:56 -07:00
Chris Roberts
10ac204c29
Prevent SMB output from being wrapped
2018-06-12 16:47:47 -07:00
Chris Roberts
57842d7269
Update powershell messaging functions to not include second `-` character.
2018-06-12 16:47:47 -07:00
Chris Roberts
ee5656da37
Merge pull request #9923 from chrisroberts/f-win-perms
...
Update SSH key file permissions handling
2018-06-12 16:45:39 -07:00
Chris Roberts
4bf8fe1463
Merge pull request #9917 from chrisroberts/f-smb-garbage
...
Fix SMB information generation when using net share
2018-06-12 16:24:54 -07:00
Chris Roberts
e39b3555e6
Disable inherit on key file for parent ACL rules
2018-06-12 16:21:13 -07:00
Chris Roberts
ae8e25aabc
Include key path flag when calling script
2018-06-12 16:20:49 -07:00
Chris Roberts
16bcc1d874
Include scripts directory when building pathname
2018-06-12 16:20:30 -07:00
Chris Roberts
2628d93370
Rename method name when checking capability
2018-06-12 14:13:10 -07:00
Chris Roberts
98c6903e9c
Fix path variable name. Return process result.
2018-06-12 11:56:37 -07:00
Chris Roberts
a5582eb1c8
Add ssh key permissions set caps to hosts
2018-06-12 10:49:10 -07:00
Chris Roberts
5ba91de4d8
Use host capability to update key file permissions if available
2018-06-12 10:46:53 -07:00
Chris Roberts
ef5eca16d2
Fix SMB information generation when using net share
...
Adds the final line of output to tests and properly simulates
failure. Fix with type casting to prevent calling methods on
nil and drop the final entry as it's not valid.
Fixes #9806
2018-06-11 12:58:35 -07:00
Chris Roberts
7df6ea5a30
Fix Chef apply provisioner to not set node_name
...
The base chef provisioner class will set the node name automatically
if not provided in the configuration. Since the chef apply provisioner
does not provide a node_name option, setting it will invalidate the
configuration. This checks for the node name before attempting to
use it.
Fixes #9901
2018-06-11 10:35:52 -07:00
Chris Roberts
52c174da75
Merge pull request #9833 from afischer-opentext-com/9174
...
#9174 Remove masterless? config attribute
2018-06-08 16:18:06 -07:00
Chris Roberts
6f76275f9e
Merge pull request #9867 from jnahorny/fix-9592-systemd-networkd
...
Fix issue 9592 when systemd-networkd is used by Debian guest
2018-06-08 16:08:27 -07:00
Chris Roberts
9001dc6b9b
Merge pull request #9855 from WIgor/master
...
Fix for ubuntu 17.10+ netplan
2018-06-08 16:03:07 -07:00
Tony Apuzzo
5ac8bb8620
Correct typo, $Enable instead of $enabled.
2018-06-07 15:00:09 -06:00
Chris Roberts
120fa07a8d
Merge pull request #9872 from chrisroberts/e-hyperv-2
...
Hyper-V provider overhaul
2018-06-04 16:51:12 -07:00
Gilles Cornu
d5b5e9ea8c
ansible_local: Improve installation from PPA
...
- Fix #9796 : Failing installation on bionic (18.04 LTS)
- Remove support for precise (12.04 LTS), which is out of public support
(On this version, the package python-software-properties contained
the add-apt-repository tool)
- Reduce the number of SSH calls, and avoid unnecessary apt-get calls.
2018-05-31 05:47:50 +02:00
Trey Tabner
59474f80fd
Increase priority and support multiple networks
2018-05-30 10:10:36 -05:00
Chris Roberts
73c09de1a9
Add deprecation warning when `differencing_disk` option is used
2018-05-29 10:21:06 -07:00
Chris Roberts
c238dc0a35
Include machine name when raising invalid box errors
2018-05-25 16:43:17 -07:00
Chris Roberts
35d8920325
Case insensitive switch check and only write sentinel file if not found
2018-05-25 15:11:58 -07:00
Chris Roberts
2bd6f537ef
Clean up syntax and force string type when setting integration option
2018-05-25 10:11:05 -07:00
Chris Roberts
d2bc634623
Add vm_integration_services validation
2018-05-24 16:55:35 -07:00
Chris Roberts
52bae21933
Remove unused PowerShell scripts
2018-05-24 15:33:36 -07:00
Jaroslaw Gorny
995c43dd0c
Fix issue 9592 when systemd-networkd is used by Debian guest
2018-05-25 00:06:20 +02:00
Chris Roberts
e6457d5061
Overhaul the Hyper-V provider
2018-05-24 14:43:44 -07:00
Igor Mazur
66b2866373
Shorten if
2018-05-23 11:17:40 +03:00
Igor Mazur
07bbaf9ac5
Fix fo tests (symbol and string dhcp)
2018-05-22 23:29:53 +03:00
Igor Mazur
be096c3ef4
Fix for ubuntu 17.10+ netplan
...
https://github.com/hashicorp/vagrant/issues/9570
2018-05-21 23:48:40 +03:00
Brian Cain
c6cd8f1e9a
Merge pull request #9829 from briancain/add-suspend-global
...
Introduce flag for suspending all machines
2018-05-11 16:41:24 -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
Brian Cain
aa5687cd14
( #7221 ) Introduce flag for suspending all machines
...
This commit introduces a new flag to the suspend command,
`--all-global`, which will suepend all vms both locally and globally.
2018-05-11 10:15:48 -07:00
Alexander Fischer
0b87184ad4
#9174 Remove masterless? config attribute
...
Remove the @config.masterless? attribute as there is no benefit from it
2018-05-11 08:49:57 +02:00
Brian Cain
728a9135c8
( #9726 ) Update netplan config generation to detect NetworkManager
...
Prior to this commit, when setting up private networks on Ubuntu using
netplan, it assumed that the guest was using systemd, the suggested
default tool to manage networking, and did not take into account devices
that could be managed with NetworkManager. This commit fixes that by
looking at the devices managed on the guest to see if its managed by
NetworkManager, and if so, use that renderer for netplan instead of
networkd.
2018-05-10 13:02:05 -07:00
Chris Yungmann
7fb9d3eb4f
propagate unset guestpath
2018-05-08 22:51:30 -05:00
Chris Roberts
3bcdd2901b
Merge pull request #9800 from chrisroberts/e-vbox-builtin
...
Support VirtualBox shared folders using builtin kernel module
2018-05-07 13:24:50 -07:00
Chris Roberts
0a523bc12b
Merge pull request #9785 from chrisroberts/f-smb-list
...
Use net.exe to fetch SMB shares when Get-SmbShare is not available
2018-05-07 13:07:47 -07:00
Chris Roberts
c571249000
Support VirtualBox shared folders using builtin kernel module
...
Check error output if initial mount command fails to determine if
the builtin module should be used for mounting instead.
2018-05-07 13:02:19 -07:00
Chris Roberts
7a4150dc3f
Use net.exe to fetch SMB shares when Get-SmbShare is not available
...
Fixes #9547
2018-05-04 14:07:33 -07:00
Chris Roberts
2730fe7ec9
Update script parameter name in option to switchid
...
Fixes #9774
2018-05-04 08:55:18 -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
Chris Roberts
89d00f4204
Merge pull request #9758 from StefanScherer/wsl-rdp
...
Call mstsc.exe Windows RDP client in WSL
2018-05-03 12:40:37 -07:00
Chris Roberts
40ae8aa38d
Merge pull request #9769 from chrisroberts/e-key-perms
...
Log error and proceed when private key permissions fail
2018-05-03 12:34:50 -07:00
Chris Roberts
f0e232d739
Log error and proceed when private key permissions fail
...
Fixes #9765
2018-05-03 11:48:57 -07:00
Chris Roberts
8b398b66a3
Trim drive letter prefix from path
...
Fixes #9764
2018-05-03 09:28:19 -07:00
Brian Cain
e1129d27f9
Merge pull request #9761 from briancain/FIX-DOCKER-EXEC
...
Use Util::SafeExec if docker-exec is run with `-t` option
2018-05-02 15:47:46 -07:00
Brian Cain
79e535a7ee
( #9622 ) Use SafeExec for docker-exec
...
This commit uses the internal helper SafeExec rather than using the
Kernel class directly. It also adds a test to ensure that if the `-t`
option is used, it will call SafeExec.
2018-05-02 14:23:50 -07:00
Stefan Scherer
f14e8bcbf2
Allow other providers in WSL
2018-05-02 22:36:17 +02:00
Chris Roberts
fbcd86993b
Merge pull request #9737 from chrisroberts/e-hyper-v-addr
...
Check neighbors for valid guest address when default lookup fails
2018-05-02 08:54:57 -07:00
Chris Roberts
bf281a912c
Merge pull request #9747 from chrisroberts/e-hyper-v-checkpoints
...
Reference Hyper-V switch by ID instead of name
2018-05-02 07:47:31 -07:00
Stefan Scherer
a01d68b2e0
Call mstsc in WSL
2018-05-02 15:21:47 +02:00
Brian Cain
6fc2d9d82d
Merge pull request #9754 from briancain/DOCKER-PROV-WINDOWS
...
Update docker provisioner for windows, fix command filter behavior for `rm`
2018-05-01 13:46:33 -07:00
Brian Cain
93356d4635
Update rm filters to test for path
...
This commit updates the rm filter for winrm to operate like how rm works
in bash. If a folder doesn't exist, the command returns 0 rather than 1.
2018-05-01 13:35:45 -07:00
Chris Roberts
9f08337ce1
Ignore errors on neighbor lookup and validate result
2018-04-30 17:39:27 -07:00
Chris Roberts
39bb589f7d
Merge pull request #9739 from chrisroberts/f-midware-invalid-uri
...
Ignore URLs which cannot be parsed in the authentication middleware
2018-04-27 17:03:02 -07:00
Chris Roberts
e47e1df228
Reference Hyper-V switch by ID instead of name
...
Keep track of selected Hyper-V switch using the ID instead of name
to prevent any encoding issues that may occur switching between
PowerShell and Ruby. With the IDs staying consistent, the switch
name can be fetched from the provided ID.
Fixes #9679 #8794 #9451
2018-04-27 16:52:16 -07:00
Joe Pleso
c882d888a7
Add docker cap to windows to detect daemon and fix whitespace
2018-04-27 09:45:24 -07:00
Brian Cain
1f25b2cc22
Merge pull request #9736 from briancain/disable-loading-triggers-if-plugin-exists
...
Add warning if vagrant-triggers plugin is installed
2018-04-26 16:11:31 -07:00
Chris Roberts
97f5822dee
Ignore URLs which cannot be parsed in the authentication middleware
...
Fixes #9725
2018-04-26 15:08:06 -07:00
Brian Cain
1ef45d8073
Add warning if vagrant-triggers plugin is installed
...
To allow users to continue to use the community plugin, this commit adds
a switch that will not load the core trigger feature if it detects the
community plugin is installed. It also allows the user to disable the
warning so they can continue to use the plugin without extra output.
2018-04-26 14:59:09 -07:00
Chris Roberts
d2ec4d9312
Merge pull request #9734 from chrisroberts/f-win-smb-mount
...
Default SMB version to 2.0 for linux guest mounts on Windows hosts
2018-04-26 14:48:01 -07:00
Chris Roberts
d15ff38d5c
Check neighbors for valid guest address when default lookup fails
...
If the guest address is unavailable via Hyper-V inspection, extract
MAC address of network adapters and check neighbor information for
any currently matching known address.
2018-04-26 12:53:52 -07:00
Chris Roberts
40a1d2faf3
Default SMB version to 2.0 for linux guest mounts
...
Fixes #8959
2018-04-26 08:45:05 -07:00
Chris Roberts
5feb234665
Return original URL value when unmodified
...
Due to the behavior of URI.parse on Ruby < 2.5 returning the string
value of the parsed URI object may modify the original URL. Specifically
it will remove the `//` prefix characters from SMB paths. When no
host modifications are being made, always return the original value.
Fixes #9636
2018-04-25 16:21:21 -07:00
Brian Cain
b409f0e203
Merge pull request #9669 from dduponchel/data_bags_path
...
Support arrays for data_bags_path in chef-zero
2018-04-24 15:45:36 -07:00
Brian Cain
5643ba0c7d
Merge pull request #9713 from briancain/vagrant-triggers-config
...
Integrate vagrant-triggers plugin functionality into core Vagrant
2018-04-24 11:35:04 -07:00
Brian Cain
a9be56b356
Code updates based on PR feedback
2018-04-24 10:04:40 -07:00
Brian Cain
7f004656db
( #9718 ) Properly finalize structured_facts config option
...
This commit sets the structured_facts option to nil if its still
UNSET_VALUE at the finalize step. This was causing a bug when the facter
config was set but was not using structured facts.
2018-04-23 14:23:59 -07:00
Brian Cain
e25cb51f15
Properly print warnings on config settings that aren't supported
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
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
767a315393
Trigger cleanup
2018-04-20 10:51:38 -07:00
Brian Cain
693eb2fbbb
Add machine level warning when privileged option is set for run
2018-04-20 10:51:38 -07:00
Brian Cain
3ad4f576c0
Add only_on validation for config
2018-04-20 10:51:38 -07:00
Brian Cain
ca672eb8e6
Trigger plugin 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
2c30eab723
Don't run local commands as sudo by default
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
372a6a7911
Initial trigger plugin scaffolding
2018-04-20 10:51:38 -07:00
Brian Cain
a5d8cc1caa
Update trigger classes with comments
2018-04-20 10:51:38 -07:00
Brian Cain
956ed004bb
Update trigger config merge function
2018-04-20 10:51:38 -07:00
Brian Cain
abb6d77442
Move location of command validator
2018-04-20 10:51:38 -07:00
Brian Cain
6cbb5d8e5d
Add unit tests for config, fix type change bug with map!
2018-04-20 10:51:38 -07:00
Brian Cain
42419bbd49
Fix rspec tests
2018-04-20 10:51:38 -07:00
Brian Cain
d0d69e59c9
Update return doc string on validate
2018-04-20 10:51:38 -07:00
Brian Cain
60c4ffa8a6
Ensure run & run_remote are Hashes before updating to shell config
2018-04-20 10:51:38 -07:00
Brian Cain
e752878de9
Update finalize method for run and run_remote objects
2018-04-20 10:51:38 -07:00
Brian Cain
d3dde739fe
Update trigger code docs
2018-04-20 10:51:38 -07:00
Brian Cain
1591ae9916
Make run and run_remote settings shell provisioner configs
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
Brian Cain
0cbf6970fc
Update config class setting
2018-04-20 10:51:38 -07:00
Brian Cain
607368a66c
Introduce merge function to preserve internal state
2018-04-20 10:51:38 -07:00
Brian Cain
d26a925bd7
Update variable doc
2018-04-20 10:51:38 -07:00
Brian Cain
5ca1d1ab64
Finalize config in plugins finalize, improve docs
2018-04-20 10:51:38 -07:00
Brian Cain
b04f13657b
Move warning to logger rather than guest
2018-04-20 10:51:38 -07:00
Brian Cain
a96baad0d7
Add comments for later dev
2018-04-20 10:51:38 -07:00
Brian Cain
60ff2489c4
Display warning if vagrant command for trigger is not found
2018-04-20 10:51:38 -07:00
Brian Cain
8e72ae5bd6
Add basic validation for trigger config objects
2018-04-20 10:51:38 -07:00
Brian Cain
375e8d7153
Remove old comments
2018-04-20 10:51:38 -07:00
Brian Cain
3c5e4b2464
Fix variable doc
2018-04-20 10:51:38 -07:00
Brian Cain
50ecf45d50
Add more doc to create_trigger function
2018-04-20 10:51:38 -07:00
Brian Cain
c10ae070b6
Store correct command for trigger
2018-04-20 10:51:38 -07:00
Brian Cain
e0a5b1d647
Parse block trigger configs
2018-04-20 10:51:38 -07:00
Brian Cain
6f00eb5679
Move trigger options into own plugin class
2018-04-20 10:51:38 -07:00
Brian Cain
fdf1b58570
Introduce ids for trigger blocks
2018-04-20 10:51:38 -07:00
Brian Cain
bb2f3b35b9
Add basic unit test
2018-04-20 10:51:38 -07:00
Brian Cain
7cccddc009
Add basic scaffolding for command parsing
2018-04-20 10:51:38 -07:00
Brian Cain
01b904061d
Use proper command reference for command whitelist params
2018-04-20 10:51:38 -07:00