Commit Graph

3250 Commits

Author SHA1 Message Date
Chris Roberts b35c68eacc Allow sudo wrapping but default to no-op 2017-04-16 07:59:29 -07:00
Chris Roberts c56acfab94 Add WinSSH communicator 2017-04-15 07:12:58 -07:00
Dafydd Jones 71216cf4f9 update latest salt minion version for windows 2017-04-13 12:36:45 -07:00
BJ Dierkes 55da086f5f Support for Elementary OS 0.4 - Issue #8471 2017-04-12 02:36:47 -05:00
Chris Roberts a60fe47965 Merge pull request #8428 from knbnnate/master
Salt ver year.month can have 2-digit month
2017-04-11 20:42:42 -07:00
Chris Roberts 21e195c75a Merge pull request #7425 from tjuerge/6220-mount_shared_folder-via-ssh
Add support for mounting synched folders on windows guest via ssh
2017-04-05 15:11:32 -07:00
Anand Suresh 30f4eb62ea Add chef_install(ed?) guest capability for freebsd 2017-04-04 22:10:02 -07:00
Chris Roberts df069deac0 Validate plugin sources and report errors if detected. 2017-04-04 17:53:04 -07:00
Chris Roberts 05b6cdab6c Do not force docker host VM on Darwin or Windows 2017-04-03 14:48:14 -07:00
Chris Roberts 74ad90d8e0 Merge pull request #7840 from pstengel/bugfix/7651
Do better at finding ssh_info for Docker
2017-04-03 14:41:50 -07:00
Mikhail Zholobov 3c44ab7cf2
Escape backward slashes in vbox share name
That fixes invalid share names in Windows guests, where backward slash character is
used as a path separator.
2017-04-02 13:05:23 +02:00
knbnnate 8c31a0c3ff Salt ver year.month can have 2-digit month 2017-03-30 17:00:46 -04:00
Gökhan Şengün 51a15d23bd Correct box version sorting of box list command.
Boxes are already correctly sorted as a result of PRs #7956 and #8334. The extra sort here breaks.
2017-03-29 00:56:42 +03:00
Chris Roberts 4af1fbccfb Merge pull request #8410 from chrisroberts/fix/smb-mount
Fix linux guest mount smb capability
2017-03-27 09:07:22 -07:00
Chris Roberts 98b0ad1464 Fix linux guest mount smb capability 2017-03-24 13:42:51 -07:00
Gilles Cornu 80d105cf8c
ansible_local: Add the :pip_args_only install mode
With the introduction of `pip_args` option, you can easily extend the
`:pip` installation mode behaviour. But some interesting/advanced usages
are still not possible because of the auto-generated parts ("ansible"
package, version selection, and the `--upgrade` flag).

By adding this "pip_args_only" install mode, it will be for instance
possible to:
- install unofficial releases, like release candidates published at
  https://releases.ansible.com/
- install more pip packages (e.g. via a `requirements.txt` file), with
  hash validation, etc.

Note that there is no config validation that requires `pip_args` option
to be defined when the :pip_args_only mode is selected. This would be
more elegant, and user friendly to raise a configuration error, but this
can wait. At least, running with an empty `pip_args` won't lead to any
command crash, since the rather dummy "pip install" shows an helper
notice and terminates with a zero (0) exit code.

This change is thought as a complement to the changes originally
proposed in pull request GH-8170.
2017-03-24 17:35:34 +01:00
Simon Detheridge 3a3216ae0c gentoo/guest: #8406 support systemd when configuring net 2017-03-24 16:11:16 +00:00
Simon Detheridge e06848a649 gentoo/guest: #8406 support systemd when changing hostname 2017-03-24 16:10:52 +00:00
Gilles Cornu b40d347944
ansible_local: Polish the new `pip_args` option
Ref GH-8170
2017-03-24 00:01:17 +01:00
James Carr 7e2e5654ed
ansible_local: Add `pip_args` option
With this new option, it is now possible to pass additional arguments to
pip command when the `install_mode` is "pip".

(@gildegoma reworded the original commit message of pull request GH-8170)
2017-03-24 00:01:14 +01:00
Chris Roberts 256ce3b0d5 Merge pull request #8264 from hasyimibhar/command-validate
Add validate command
2017-03-23 09:52:12 -07:00
Chris Roberts e7abd1114b Merge pull request #8393 from chrisroberts/fix/default-provider-env-var
Prevent other provider install attempts when explicit provider given
2017-03-23 09:35:59 -07:00
Bjorn Brala 2f7e0d3a1f Virtualization extensions wern't enabled for vmcx file format, so it didn't work for Windows 10 and up. Fixes #8402 2017-03-23 07:54:41 +01:00
Bjorn Brala 0534ebf895 Merge remote-tracking branch 'mitchellh/master' into feature-hyperv-integration-services-fresh
# Conflicts:
#	plugins/providers/hyperv/action/import.rb
#	plugins/providers/hyperv/config.rb
#	website/source/docs/hyperv/configuration.html.md
2017-03-23 07:49:57 +01:00
Chris Roberts 72d0eb497d Isolate push deprecation to atlas strategy only 2017-03-21 15:08:17 -07:00
Chris Roberts 7c4252e24a Prevent other provider install attempts when explicit provider given 2017-03-21 10:58:06 -07:00
Chris Roberts 7a03c6e013 Add /bin/docker to path list for installation verification 2017-03-20 11:38:44 -07:00
Chris Roberts a0761eb2ea Allow initialization argument to be used in parent 2017-03-19 07:35:46 -07:00
Chris Roberts 1c1adcad9a Merge pull request #8325 from chrisroberts/enhancement/nested-hyperv
Nested Hyper-V
2017-03-17 14:19:58 -07:00
Bjorn Brala e2dd23b06c First implementation for Integration services for Hyper-V as discussed in https://github.com/mitchellh/vagrant/pull/6321 #6321 2017-03-15 22:12:19 +01:00
Björn Brala 765494a2bf Add configuration to HyperV config 2017-03-15 18:09:18 +01:00
Chris Roberts 6f578590a9 Skip forwarded port if disabled in docker provider 2017-03-09 10:28:41 -08:00
Chris Roberts dbf01572ef Merge pull request #8122 from chrisroberts/virtualbox/uid-gid
Use uid/gid from mount_options if provided for synced folders.
2017-03-06 14:21:11 -08:00
Chris Roberts 78e8e17869 Cast host value to string prior to empty? check.
Force string type prior to empty? check to prevent errors if
host ip value is nil. Add coverage for proper handling of nil
value.
2017-03-06 09:14:04 -08:00
Chris Roberts 6631fbdb9b Merge pull request #8073 from bshurts/fix/issue-7983
HyperV inaccurate winrm address - issue-7983
2017-03-06 09:11:34 -08:00
Chris Roberts e1e3df68da Merge pull request #7967 from apupier/removeRequirementsOnPathWithoutSpace
Remove requirements on path without space as issue was fixed in Ruby
2017-03-06 09:08:06 -08:00
Chris Roberts edd8a10b29 Merge pull request #8326 from chrisroberts/refactor/vbox-5.1
Refactor the virtualbox 5.1 driver implementation
2017-03-06 08:36:17 -08:00
Chris Roberts 6d3ab39b27 Merge pull request #7035 from pravinchandar/4608
Fix for #4608: Support for port forwarding in an IP aliased environment
2017-03-03 15:57:04 -08:00
Chris Roberts 98c50ee1c8 Refactor the virtualbox 5.1 driver implementation 2017-03-02 14:42:37 -08:00
Patrick Lang 8cf2240383 Finish hooking up hv.enable_virtualization_extensions 2017-03-02 14:06:39 -08:00
Patrick Lang 6900fc3904 Starting support for Hyper-V nested virtualization 2017-03-02 14:06:21 -08:00
Tobias e3e7484e16 Merge tag 'tags/v1.9.1' into patch-guest-esxi 2017-02-28 06:30:34 -08:00
Tobias cdeac10b36 guests/esxi: Added public_key capability 2017-02-28 02:35:00 -08:00
Chris Roberts 16c2b1ec50 Merge pull request #8291 from chrisroberts/enhancement/stderr-garbage
Discard initial stderr data
2017-02-24 07:34:28 -08:00
Chris Roberts 60cd9057a7 Add command deprecation module to push 2017-02-24 06:47:44 -08:00
Chris Roberts 64fd2f71d6 communicator/ssh: discard stderr data before command run 2017-02-16 15:43:04 -08:00
Chris Roberts 0c307476fa Merge pull request #8165 from kaorimatz/fix-arch-multiple-networks
guests/arch: fix configuring multiple network interfaces fails
2017-02-09 17:41:09 -08:00
Hasyimi Bahrudin cbda9f0906 Add validate command for validating Vagrantfile 2017-02-07 13:43:49 +08:00
Chris Roberts 4bbd43c73f Display default on expunge command questions. Prompt user on invalid input. 2017-01-12 07:16:57 -08:00
Chris Roberts c9c942a17f Merge pull request #8119 from bbrala/check-vmcx-support
Harden VMCX support
2017-01-05 15:16:17 -08:00
Chris Roberts 5004f37a36 Merge pull request #8148 from mikefaille/netfixRHEL
Revert "Fix `service network restart` on RHEL-7 / Fedora"
2017-01-05 15:07:17 -08:00
Paul Stengel d98c5b8c00 Do better at finding ssh_info for Docker 2017-01-05 17:41:39 -05:00
Chris Roberts c11534e13c Merge pull request #8102 from mwrock/winrmv2
Refactor winrm communicator to use latest winrm gems and v2 api
2017-01-05 10:48:44 -08:00
Chris Roberts e09e31dd6a Merge pull request #8092 from ephemeralsnow/bugfix/quotes
Fix quotes
2017-01-05 10:22:54 -08:00
Satoshi Matsumoto 829b995225
guests/arch: fix configuring multiple network interfaces fails 2017-01-02 15:32:23 +09:00
Raymond P. Burkholder 30ea15994a Update command.rb
Issue #8159

while using:
$ vagrant package --base ${VIRTUALBOXNAME}

this error occurs:

/usr/share/rubygems-integration/all/gems/vagrant-1.9.0/plugins/commands/package/command.rb:59:in `package_base': uninitialized constant VagrantPlugins::CommandPackage::Command::SecureRandom (NameError)
Did you mean?  SecureRandom
        from /usr/share/rubygems-integration/all/gems/vagrant-1.9.0/plugins/commands/package/command.rb:42:in `execute'
        from /usr/share/rubygems-integration/all/gems/vagrant-1.9.0/lib/vagrant/cli.rb:42:in `execute'
        from /usr/share/rubygems-integration/all/gems/vagrant-1.9.0/lib/vagrant/environment.rb:274:in `cli'
        from /usr/share/rubygems-integration/all/gems/vagrant-1.9.0/bin/vagrant:118:in `<top (required)>'
        from /usr/bin/vagrant:22:in `load'
        from /usr/bin/vagrant:22:in `<main>'
2016-12-28 19:02:13 -04:00
Michaël Faille 96611341a9 Revert "Fix `service network restart` on RHEL-7 / Fedora"
`/etc/init.d/network restart` already restart NM and shutdown interfaces.

In start() :
```
        if [ "$(LANG=C nmcli -t --fields running general status 2>/dev/null)" = "running" ]; then
                nmcli connection reload
        fi

```

In stop() :

```
       for i in $vpninterfaces $xdslinterfaces $bridgeinterfaces $vlaninterfaces $remaining; do
                unset DEVICE TYPE
                (. ./ifcfg-$i
                if [ -z "$DEVICE" ] ; then DEVICE="$i"; fi

                if ! check_device_down $DEVICE; then
                   action $"Shutting down interface $i: " ./ifdown $i boot
                   [ $? -ne 0 ] && rc=1
                fi
                )
        done
```
Where $remaining include all "others" interfaces including eth*

This reverts commit 166d10d4e1.
2016-12-21 20:33:57 -05:00
Chris Roberts 9f393fc1e0 Use uid/gid from mount_options if provided for synced folders.
This also extracts the gid/uid detection and upstart actions into
reusable module to provide consistent behavior.
2016-12-14 12:12:17 -08:00
Bjorn Brala f808f74009 Harden VMCX support. Vagrant now checks if your Windows version has support for vmcx and then uses the VMCX file. 2016-12-14 15:14:56 +01:00
Matt Wrock 725824e1dd refactor winrm communicator to use latest winrm gems and v2 api
Signed-off-by: Matt Wrock <matt@mattwrock.com>
2016-12-11 00:52:00 -08:00
Alvaro Miranda Aguilera 06271f55c6 Show comma separated include 2016-12-10 21:56:21 +01:00
Bjorn Brala 457c58fe71 Mention `--base` option is VirtualBox only in package command. 2016-12-08 21:22:24 +01:00
Chris Roberts 23c41f4461 Merge pull request #7867 from bbrala/hyperv-package
Package Hyper-V boxes
2016-12-07 13:37:47 -08:00
ephemeralsnow 556b82da1c Fix quotes 2016-12-07 18:04:33 +09:00
Chris Roberts 0587707044 Merge pull request #8051 from jklippel/vagrant-issue-7368
redirect any output to stderr by /sbin/init to /dev/null when checking for upstart capability
2016-12-05 15:21:04 -08:00
Bryce Shurts e4626d088d issue-7983 - Helper now throws WinRMNotReady exception is host ip is reported as an empty string 2016-12-01 13:03:38 -06:00
Latchezar Tzvetkoff 166d10d4e1 Fix `service network restart` on RHEL-7 / Fedora
RHEL-7 / Current Fedora versions tend to use NetworkManager for
configuring the networks, and `service network restart` might fail.
If the `NetworkManager` service is running, we should restart it,
otherwise we try restarting `network`.
2016-11-29 15:40:48 +02:00
jklippel b10bc2e8c2 Vagrant-Issue: 7368: redirect any output to stderr by /sbin/init to /dev/null when checking for upstart capability 2016-11-29 08:10:25 +01:00
Chris Roberts cc37207f9c Update key names when passing to install action 2016-11-28 16:56:00 -08:00
Chris Roberts b0a3cfa978 Provide error information on plugin repair error.
Also includes original exception information within logger output.
2016-11-28 07:48:16 -08:00
Bjorn Brala 10181f7c8a When you set the memory of a HyperV machine to something lower than the original range it fails. 2016-11-23 08:39:49 +01:00
Chris Roberts d9c1c36b3c Iterate plugin list using manager result to retain sorting 2016-11-21 09:25:56 -08:00
Chris Roberts 23b40a31ed Skip reinstallation of system plugins 2016-11-17 16:40:30 -08:00
Chris Roberts ae21c31a6c Use Manager#installed_plugins information to display updates 2016-11-16 13:27:05 -08:00
Gilles Cornu 8caed8ea16 Merge pull request #7918 from mitchellh/gildegoma/fix-7195
Add `config_file` option to both Ansible provisioners
2016-11-15 08:29:30 +01:00
Chris Roberts 1b04d3da26 Merge pull request #7854 from bbrala/import-vmcx-script
Add support for vmcx (Hyper-V binary config format) to the Hyper-V import script
2016-11-14 13:50:07 -08:00
Chris Roberts ac74774fcb Merge pull request #8000 from chrisroberts/plugins/updates
Plugin handling updates
2016-11-14 13:24:52 -08:00
Chris Roberts 0f720a4386 Merge pull request #7985 from chrisroberts/shell-provisioner/checksum
Add md5 and sha1 checksum support to Downloader.
2016-11-14 13:19:22 -08:00
Chris Roberts 1806cc1c5c Remove deprecated plugin install option 2016-11-11 15:13:03 -08:00
Chris Roberts 5482692127 guests/linux: Only match interfaces without special characters 2016-11-10 07:19:26 -08:00
Chris Roberts 2219a4def0 Fix Hash construction for constant value in salt provisioner 2016-11-09 16:29:36 -08:00
Chris Roberts 2d6071a55b Merge pull request #7793 from chrisroberts/enhancement/bundler-less
[core] Remove bundler usage for plugin management
2016-11-09 16:17:47 -08:00
Chris Roberts 2dcb47410f Merge pull request #7976 from chrisroberts/ssh/shell-compat
Allow custom generation of environment variable exports
2016-11-09 16:14:33 -08:00
Chris Roberts 8d2d324b13 Merge pull request #7980 from chrisroberts/synced-folder/auto-mount
Named synced folders
2016-11-09 16:12:03 -08:00
Chris Roberts da45ca707c Add md5 and sha1 checksum support to Downloader.
Allows checksum validation on downloaded files via Util::Downloader
using MD5 and/or SHA1 checksums. This also integrates checksum validation
support with the shell provisioner for downloaded remote files.
2016-11-09 16:05:39 -08:00
Björn Brala 3ef9968c59 Add new `prune` command as discussed in: #6863 #5633
Usage: vagrant box prune [options]

Options:

    -p, --provider PROVIDER          The specific provider type for the boxes to destroy.
    -n, --dry-run                    Only print the boxes that would be removed.
        --name NAME                  The specific box name to check for outdated versions.
    -f, --force                      Destroy without confirmation even when box is in use.
    -h, --help                       Print this help
2016-11-09 09:19:49 +01:00
Chris Roberts d528902edc Make guestpath an optional parameter for synced_folders 2016-11-08 15:33:30 -08:00
Jonathan A. Sternberg c3438ff8f6 Allow overriding the inferred name from `config.vm.synced_folder`
If a `name` is specified as an option, it will be used as the id instead
of inferring it from the `guestpath`. If `guestpath` is nil, the `name`
needs to be specified so the folder can be mounted with a name.

This also fixes the synced folder code to allow `guestpath` to be nil.
It was allowed in a previous version for the purpose of preventing a
directory from being auto mounted (#936), but seems to have become an
error at some point after that.

An example of modifying the default /vagrant folder so it doesn't
auto-mount anymore:

    config.vm.synced_folder ".", nil, name: "/vagrant"

An example of sharing another folder, but not auto-mounting it:

    config.vm.synced_folder ".", nil, name: "foobar"

Fixes #6835.
2016-11-08 14:56:29 -08:00
Chris Roberts dfc5e0d9a0 communicator/ssh: Allow custom generation of environment variable exports 2016-11-08 09:50:39 -08:00
Aurelien Pupier c423619cd7 Remove requirements on path without space as issue was fixed in Ruby 2016-11-08 16:39:43 +01:00
Chris Roberts f045f74d86 Only proceed if confirmation is matched. Do not continue if user aborted. 2016-11-07 19:25:32 -08:00
Chris Roberts b15ef3a6ff Add plugin expunge command to remove all user installed plugins 2016-11-07 18:48:51 -08:00
Chris Roberts 5d68c8c30b Include plugin repair command 2016-11-07 18:48:51 -08:00
Chris Roberts dbbd2d8e36 Remove deprecated methods and update tests. 2016-11-07 18:48:14 -08:00
Chris Roberts d1a778dbfb Include error handling when subprocess commands fail 2016-10-31 07:42:30 -07:00
Chris Roberts 90db9c95b8 Refactor linux host NFS to share common functionalities 2016-10-29 17:53:58 -07:00
Chris Roberts 40dc0de665 Use Util::StringBlockEditor to modify /etc/exports 2016-10-29 15:46:35 -07:00
Aron Griffis 7e83edd643 Rewrite linux/nfs_cleanup for security and multi-user, fixes #7938
Avoid using a temporary file, rather do the substitution in Ruby and
write /etc/exports directly.
2016-10-29 15:46:35 -07:00
Chris Roberts 58c3be9344 Default the puppet config environment variables to an empty hash 2016-10-27 15:14:13 -07:00
Chris Roberts 9b12d4db48 Pass configuration environment variables to apply command 2016-10-26 09:51:56 -07:00