Commit Graph

3886 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
Aloz1 b9b9eeac85 Void requires root access to check service status
Service status check was failing because it was not being run as root. This resulted in vagrant thinking the service was not running, hence it would always try to start nfs rather than updating exports.
2018-07-14 15:53:13 +10: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
Aloz1 5e258cbc7c Fixed nfs_start_command. NFS now starts. 2018-07-13 08:08:05 +10:00
Aloz1 98f70d4d7a Add void linux host support 2018-07-12 08:40:33 +10: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
Brian Cain 0142722787
Add run and run_remote scaffolding 2018-04-20 10:51:38 -07:00
Brian Cain 813ffd06ec
Add more trigger config options 2018-04-20 10:51:38 -07:00
Brian Cain a194057fc0
Add trigger config plugin 2018-04-20 10:51:38 -07:00
Jose Luis Duran 53acd20548
Fix network configuration on FreeBSD hosts
There was a missing space within `sed` parameters that caused the
`rc.conf` file to be wrongly created as `rc.conf-e`.
2018-04-19 16:25:16 -03:00
Isaac Freeman de71626922 docker: use Kernel.system for docker-exec when -t is given 2018-04-18 17:50:47 -04:00
Brian Cain 9f29812db8
Merge pull request #9690 from briancain/expand_nodes_path_chef
File path expand all chef_zero config path options
2018-04-18 13:04:38 -07:00
Brian Cain 9660951c89
Merge pull request #9490 from jzinn/solo-rb-cookbook-path
Improve Windows drive letter removal hack
2018-04-18 08:31:23 -07:00
Julian Zinn 269645f63d Improve Windows drive letter removal hack 2018-04-17 13:23:14 -07:00
Brian Cain 151095a3e9
Merge pull request #9420 from ryanwalder/salt-json
Add master_json_config & minion_json_config options to salt provisioner
2018-04-16 15:37:44 -07:00
Brian Cain e8ab85e92b
(#9383) File path expand all chef_zero config path options
This commit ensures that all paths are properly file path expanded for
each config option in chef_zero.
2018-04-16 11:05:39 -07:00
Brian Cain 42df3e7185
Merge pull request #9685 from briancain/improve-hostonly-conf-error
Improve network collision error message
2018-04-12 15:18:50 -07:00
Brian Cain 4db3d49157
Improve network collision error message
This commit provides a bit more information when a non-hostonly network
collides with a host network.
2018-04-12 14:16:13 -07: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 b605da0ef5
Merge pull request #9673 from chrisroberts/f-win-paths-filter
Fix windows command filters
2018-04-10 14:44:32 -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
Brian Cain f1de9821e1
Merge pull request #8099 from chrisroberts/windows/shared-folder-path
Fix virtualbox shared folders path
2018-04-10 09:16:06 -07:00
Chris Roberts ddfd86f3d1 Split with shellwords and quote paths in command filter
This uses shellwords to split the command in the command filter
inside the winrm communicator. Using shellwords properly handles
things like quoted paths. Path arguments are also quoted to
prevent issues with paths that include spaces.

Fixes #9390
2018-04-09 17:00:30 -07:00
Brian Cain 7fe03988aa
Merge branch 'puppet_structured_facts_toyaml_on_provisioner' of git://github.com/aloyr/vagrant into aloyr-puppet_structured_facts_toyaml_on_provisioner 2018-04-09 11:01:36 -07:00
David Duponchel d08a472610 Support arrays for data_bags_path in chef-zero
The pull request #6561 added the support for arrays for data_bags_path
in chef-solo and chef-zero, but missed a `.first` in chef-zero (which
only keeps the first data bag path). The documentation and the template
for chef-zero are already good (since #6561).

Fixes #9668.
2018-04-09 17:46:42 +02:00
Chris Roberts 97dd9e0469 Adjust priority of network configuration file for debian guests
This adjusts the priority of the network configuration file from 99
to 50 making it easier for customized configuration.

Fixes #9592
2018-04-02 12:08:06 -07:00
Brian Cain 696ffa4e30
Merge pull request #9528 from artw/master
less specific string grep to fix PhotonOS 2.0 detection
2018-03-22 10:31:29 -07:00
Brian Cain ab24bd2cf1
Merge pull request #9600 from kinvolk/kosy/coreos
Identify operating systems closely related to CoreOS
2018-03-22 10:11:43 -07:00
Brian Cain 0ce6e9891e
Merge pull request #9572 from jsoref/spelling
Spelling
2018-03-22 09:50:52 -07:00
Kosy Anyanwu 52a8b0c65e Identify operating systems closely related to CoreOS
If the the value of ID= is not recognised, identify the OS if it is a derivative of CoreOS
https://www.freedesktop.org/software/systemd/man/os-release.html#ID_LIKE=
2018-03-20 17:51:20 +01:00
ajpaul 2c9e9e9ab8 reintroduce sleep_timeout for guests that fail the :wait_for_reboot capability check 2018-03-16 13:53:27 -04:00
Adam Paul 2dfe520eb8 add capability test before attemping to use capability 2018-03-15 11:45:42 -04:00
Adam Paul 76551a1692 Fix graceful_halt_timeout issue #8486 2018-03-15 10:38:07 -04: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 51232f9a03 When matching hostonly adapter name, force common types
Force a string type for comparison to prevent false positives when
the name is unset (resulting in a nil value).
2018-03-09 14:15:31 -08:00
mihab 03178bbe04 Fixes #9085: Cannot `up` a machine with Docker Toolbox and Git Bash 2018-03-01 21:38:39 +01:00
Art Win 9c93e548af the label changed in 2.0 2018-03-01 13:05:26 +02:00
Brian Cain ac37b67eca
Merge pull request #9518 from briancain/fix-package-cmd-wsl
Convert to windows path if on WSL during vbox export
2018-02-28 08:07:56 -08:00
Brian Cain 73a5a5a8c9
(#9059) Convert to windows path if on WSL during vbox export
Prior to this commit, the incorrect path was used when determining where
to export an ovf file during the `vagrant package` step. This commit
updates that by checking if vagrant is within WSL, and if so, convert
the path to a proper windows path to be used during the export.

Fixes #9059
2018-02-27 16:02:25 -08:00
Brian Cain 0b92123163
Merge pull request #9507 from briancain/fix-hyper-v-check
Fix Hyper-v and VirtualBox check
2018-02-26 14:54:51 -08:00
Brian Cain 007e6f49aa
Merge pull request #9302 from eyJhb/master
Fixed hostonly matching not respecting :name argument
2018-02-26 14:50:45 -08:00
Brian Cain f2954a64c6
Fix Hyper-v and VirtualBox check
Prior to this commit, the hyper-v and virtualbox system crash check
existed within the initialize function of the virtualbox provider. That
caused an issue when running with other providers, because the
virtualbox provider still gets initialized even if not used. This commit
changes that by placing the check inside of one of the virtualbox
provider actions that checks if virtualbox is installed and ready to
use. This action is action is used by the main vbox provider actions,
and should not be called when other providers are being used with
Vagrant.
2018-02-23 11:24:30 -08:00
Chris Roberts a1529d5fbe
Merge pull request #8828 from mkhon/nfsv4-default-tcp
nfs_udp is false by default if using NFS v4
2018-02-23 09:50:49 -08:00
Chris Roberts fc5ceafbcf Only generate notice once 2018-02-22 14:49:44 -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
Brian Cain b8d8cf7572
Merge pull request #9456 from briancain/exit-if-hyperv-enabled-vbox
Exit if Hyper-V is enabled and VirtualBox provider is used
2018-02-14 08:49:06 -08:00
Brian Cain 279bceffb9
Merge pull request #9398 from drscream/smartos-inheritance-solaris
More explicit Solaris 11 and inherit SmartOS from Solaris
2018-02-12 15:02:30 -08:00
Hannes Körber 3082ea502e
Debian: Point hostname to 127.0.1.1 in /etc/hosts
Closes #9403
2018-02-10 20:54:51 +01:00
Brian Cain a1932b8d21
Merge pull request #9265 from trombik/atomic_interface_restart
Atomically apply new hostname.if(5)
2018-02-09 14:27:07 -08:00
Brian Cain 84f929df21
Merge pull request #9351 from gclinch/salt-bootstrap-in-tmp
Change to a temporary directory before downloading script files
2018-02-09 11:14:17 -08:00
Brian Cain e8708232a5
(#9258) Exit if Hyper-V is enabled and VirtualBox provider is used
This commit adds a function on windows for the VirtualBox provider to
check if Hyper-V is enabled. If so, exit and display a warning to the
user that going forward will result in a system crash.
2018-02-08 11:20:41 -08:00
Daniel Hahler ec99b75c53 squash! salt: bootstrap-salt.sh: use -s with curl
Also use --show-error, and long option for --silent.
2018-02-02 00:39:32 +01:00
Daniel Hahler 6f7c383fe8 salt: bootstrap-salt.sh: use -s with curl
This makes it silent (no progress information), which would otherwise
result in output like the following (when the output from the bootstrap
script is displayed in verbose mode):

      % Total    % Recei
    ved % Xferd  Avera
    ge Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
      0     0
       0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
    100  244k  100
     244k    0     0
       458k      0 --:--:-- --:--:-- --:--:--  458k
     *  INFO: Running version: 2017.12.13
     …
2018-02-01 21:27:27 +01:00
Daniel Hahler 496d9b24c1 salt: remove leading space with bootstrap_options 2018-02-01 21:24:15 +01:00
Hannes Körber 3fa3e995a9 Debian: Renew DHCP lease on hostname change 2018-02-01 16:46:23 +01:00
Ryan Walder db457e6318 Add master_json_config & minion_json_config options to salt provisioner
* Allow use of -j/-J bootstrap options for configuring master/minion
2018-01-31 12:28:36 +00:00
Thomas Merkel 93c571adbf
Be sure solaris11 is Solaris version 11 and no distribution based on (Open)Solaris
`uname -sr` return also 5.11 on OmniOS, SmartOS which is not the same as Oracle Solaris 11.x. SmartOS and OmniOS are inherit from Solaris and not from Solaris 11. For that reason we need a more explicit check that a solaris11 guest is a real Solaris version 11, for that reason the /etc/release file is checked.
2018-01-25 13:28:15 +01:00
Thomas Merkel 21febf6b6a
SmartOS should be an inheritance of solaris
SmartOS is a distribution based on illumos which is the successor of OpenSolaris.
2018-01-25 13:26:18 +01:00
Chris Roberts 780673c6fe Add warning message for VirtualBox shared folders option.
Display warning to user about the VirtualBox SharedFoldersEnableSymlinksCreate
option with link to VirtualBox documentation and instructions on how the
setting can be disabled.
2018-01-20 06:51:59 -08:00
Chris Roberts f31badebb8
Merge pull request #9380 from chrisroberts/e-checkpoint
Update checkpoint integration
2018-01-19 15:06:28 -08:00
Chris Roberts 55460379f1
Merge pull request #9315 from basvandervlies/ifconfig_obsolete
ifconfig is replaced by ip command suite. So use "ip addr" and failback
2018-01-16 20:12:18 -08:00
Chris Roberts 0bf589861c
Merge pull request #9212 from mahaag/master
Use basename for setting hostname on Suse
2018-01-16 20:08:05 -08:00
Chris Roberts b5383cffab
Merge pull request #9369 from chrisroberts/e-generic-sensitive
Add Vagrantfile configuration option to register sensitive values
2018-01-16 20:05:37 -08:00
Chris Roberts a51c6c8479
Merge pull request #9367 from chrisroberts/e-sensitive-prov
Allow hiding environment variable values in shell provisioner
2018-01-16 20:03:00 -08:00
Chris Roberts 933694d986
Merge pull request #9365 from chrisroberts/e-smb-cred-check
Check SMB credentials
2018-01-16 20:00:57 -08:00
Chris Roberts 58f66ac8ce Add full checkpoint integration 2018-01-16 14:16:49 -08:00
Chris Roberts f2f8bc2db5 Add Vagrantfile configuration option to register sensitive values 2018-01-15 07:23:47 -08:00
Chris Roberts 3664f1a627 Allow hiding environment variable values in shell provisioner 2018-01-12 17:33:47 -08:00
Chris Roberts b1c38c282e Support SMB mount option overrides 2018-01-12 17:23:00 -08:00
Chris Roberts 5444271268 Move SMB credentials validation into host capability 2018-01-12 16:55:35 -08:00
Lachlan Arthur 01bc2627be Check SMB credentials before using them 2018-01-12 15:46:31 -08:00
Chris Roberts b0fc6a06a1
Merge pull request #9294 from chrisroberts/e-smb
SMB synced folders enhancements
2018-01-12 15:02:08 -08:00
Chris Roberts 0ffec9cd6f Include explicit start to ensure start 2018-01-12 14:25:37 -08:00
Chris Roberts 15393fb725
Merge pull request #9274 from chrisroberts/f-nfs-naming
Update NFS service name usage for linux hosts
2018-01-12 13:14:07 -08:00
Chris Roberts 53fbf67d9f
Merge pull request #9295 from mcandre/patch-2
recognize solaris alternatives
2018-01-12 13:11:16 -08:00
Chris Roberts f5888a4200
Merge pull request #9307 from wink-y/amazon-perform
Modify the matching pattern of guest os for amazon linux
2018-01-12 13:08:01 -08:00
Brian Cain 5bf75dcfb3
Merge pull request #9338 from chrisroberts/fix-ubuntu17-networking
Update Debian guest configure networks
2018-01-10 10:11:47 -08:00
Brian Cain b16ca2e384
Introduce flag for SharedFoldersEnableSymlinksCreate
Prior to this commit, the virtualbox synced folder option
`SharedFoldersEnableSymlinksCreate` was always enabled. This commit
introduces a config option and an environment variable which allows
users to configure the option globally or per synced_folder in their
Vagrantfile.
2018-01-09 14:33:24 -08:00
Graham Clinch b384361cd2 Use the short flag for better cross-platform support 2018-01-09 17:58:20 +00:00
Graham Clinch 1c2929cd84 Change to a temporary directory before downloading script files, to avoid
leaving junk files in the working directory (probably ~vagrant)
2018-01-09 16:01:50 +00:00
Brian Cain 11ddd0136d
(#9044) Show all box providers in command outdated
Prior to this commit, when the `--global` flag was used with the
`vagrant box outdated` command, it would ignore box providers and not
inform the user of all outdated boxes. This commit fixes that by
displaying each box within the users environment, and includes the
provider of the box in the message.
2018-01-08 09:43:28 -08:00
Bas van der Vlies de62baed6b as requested change to test to command:`which` 2018-01-08 08:53:33 +01:00
Brian Cain c9e5a22bff (#9062) Deprecate :paranoid in favor of :verify_host_key
As of `net-ssh` version 4.2.0, the key :paranoid has been deprecated in
favor of using :verify_host_key. This commit updates Vagrants ssh config
to use the new key, and deprecates the use of :paranoid.
2018-01-05 10:02:45 -08:00
Brian Cain 9c4ef88b88
Merge pull request #8863 from michaeltlombardi/FullyQualifyHyperVCmdlets
Ensure Hyper-V cmdlets are fully qualified
2018-01-04 10:27:09 -08:00
Chris Roberts 913b5639e5 Do better handling given netmasks 2018-01-03 17:26:08 -08:00
Chris Roberts a36a84c85a Only apply netplan configuration if systemd is in use 2018-01-03 16:31:49 -08:00
Chris Roberts 2f3d165079 Remove version from darwin host custom mount options 2018-01-03 14:41:53 -08:00
Chris Roberts 75a03ff9e9 Update available debian networking options 2018-01-03 13:56:01 -08:00
Chris Roberts 572f341697 Include synced folder cleanup action within hyperv provider 2018-01-03 10:29:45 -08:00
Chris Roberts abf74e3757 Expand existing and requested paths prior to comparison 2018-01-03 10:05:05 -08:00
Chris Roberts 6e4139acd3 Include configuration for smb synced folders 2018-01-03 09:40:52 -08:00
Chris Roberts 5b7714f542 Include macOS as valid host platform 2018-01-03 09:30:44 -08:00
Chris Roberts 3eeff59329 Use custom types and messages for errors 2018-01-02 14:36:28 -08:00
Chris Roberts 30dcd9a7e5 Only add/remove shares on windows when needed 2018-01-02 14:03:54 -08:00
Chris Roberts 24d962eb72 Swap usage of share name and id for consistent behavior 2018-01-02 14:03:34 -08:00
Chris Roberts 98ec1af30e Add smb_start capability for darwin 2018-01-02 11:21:50 -08:00
Bas van der Vlies a5deb20dcb ifconfig is replaced by ip command suite. So use "ip addr" and failback
to ifconfig
2017-12-28 20:31:04 +01:00
winky e99c47907f Modify the matching pattern of guest os for amazon linux 2017-12-27 13:57:47 +09:00
eyJhb 12a6832151 Fixed hostonly matching not respecting :name argument 2017-12-25 20:49:35 +01:00
Chris Roberts 68439f6bac Use sudo for sharing lists on darwin platform
On systems prior to high sierra the sharing binary
requires root user for access, so use sudo to get
full list output and inspect output.
2017-12-21 14:53:55 -08:00
Chris Roberts 2caf109a03 Mark passwords as sensitive within guest capabilities 2017-12-21 12:49:34 -08:00
Andrew Pennebaker 98eb8cef03
recognize solaris alternatives
As the Solaris project is dead, recognize that Solaris alternatives like DilOS and SmartOS feature a Solaris compatible kernel and capabilities.
2017-12-21 13:07:00 -06:00
Chris Roberts 88d2b3676f Remove stale comments from helper scripts 2017-12-21 10:19:28 -08:00
Chris Roberts 61bfbade48 Remove raise error logic in windows smb capability 2017-12-21 09:55:19 -08:00
Chris Roberts 81cbdae62a Make powershell error generalized 2017-12-21 09:55:19 -08:00
Chris Roberts f89c6a37f9 Provide namespace to error class 2017-12-21 09:55:19 -08:00
Chris Roberts 5a607d9248 Clean up SMB related errors 2017-12-21 09:55:19 -08:00
Chris Roberts 00fa50c296 SMB enhancements 2017-12-21 09:55:19 -08:00
Chris Roberts e85ef1655b Always remove credentials file after mount attempts 2017-12-21 09:55:19 -08:00
Brian Cain f046482cfb [WIP] systemd networkd for debian guests 2017-12-20 16:42:51 -08:00
Brian Cain b9581ed213
Merge pull request #9251 from briancain/9137/master/exit-0-destroy-not-created
Exit 0 if vagrant destroy finds no running vms
2017-12-20 16:42:36 -08:00
Michael T Lombardi 9e1d05641f Ensure Hyper-V cmdlets are fully qualified
+ This disambuguates calls to the Hyper-V functions for the Hyper-V provider.
The ambiguity of some commands - such as `Get-VM` - causes the Hyper-V provider
to fail on systems where VMware PowerCLI is installed. This change ensures that
all calls to Hyper-V specific cmdlets or functions are prepended by `Hyper-V\`.
This ensures the correct cmdlet calls are being made.
+ Resolves  #8862.
2017-12-15 08:30:38 -06:00
Zachary Flower 4a4183398b Add a clean error message for invalid IP addresses 2017-12-14 14:57:21 -07:00
Brian Cain d4d4ed6473 (#9137) Exit 0 if vagrant destroy finds no running vms
This commit reverts the behavior of `vagrant destroy` to exit 0 if no
running vms were found when the destroy command is run.
2017-12-14 12:48:22 -08:00
Gilles Cornu 43bcf2aaf7
Merge pull request #9173 from hashicorp/gildegoma/fix-ansible-ask-sudo-pass-deprecation
Ansible Provisioner: Fix broken 'ask_sudo_pass' option
2017-12-14 21:46:23 +01:00