Commit Graph

4061 Commits

Author SHA1 Message Date
Chris Roberts cc23905142 Add support for providing box checksums to Vagrant Cloud 2019-10-08 11:23:48 -07:00
Chris Roberts 7fb81bcea1 Add support for other checksum types 2019-10-08 11:23:48 -07:00
Brian Cain ea550289a9
Merge pull request #11100 from chkpnt/suse-hostname
Use hostnamectl instead of hostname to set the hostname under SUSE
2019-10-08 09:26:46 -07:00
Brian Cain 7616c99c79
Merge pull request #11106 from briancain/bug/docker_compose_build_args
Ensure build_args are passed into docker compose config file
2019-10-07 14:30:30 -07:00
Brian Cain d6f556c83d
Merge pull request #11099 from briancain/file-provisioner-source-path
Ensure relative path for file provisioner is relative to machines cwd
2019-10-07 14:28:13 -07:00
Brian Cain f1ea4eaac0
Ensure build_args are passed into docker compose config file
Prior to this commit, the docker compose build method would not properly
set build_args if given in a Vagrantfile. This commit fixes that by
using the passed in key `extra_args` from the docker build action.
2019-10-07 12:48:59 -07:00
Brian Cain 96e275451c
Merge pull request #10938 from andersk/virtualbox-usable
virtualbox: Fix usability test to reject bad installs without crashing
2019-10-07 09:04:24 -07:00
Anders Kaseorg 4afd370d6a virtualbox: Fix usability test to reject bad installs without crashing
If VirtualBox is installed but the kernel module is missing or the
service is stopped, the usability test should fail without crashing so
we can fall back to other providers.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2019-10-04 15:56:10 -07:00
Brian Cain 656b61175d
Merge pull request #11093 from rgl/fix-windows-shell-reboot-connect-timeout
retry the wait for a windows reboot on connect timeout errors
2019-10-04 13:09:18 -07:00
Gregor Dschung 8442b6b59f Use hostnamectl instead of hostname to set the hostname under SUSE 2019-10-03 14:46:14 +02:00
Brian Cain 0a6c4e2d0f
Ensure relative path for file provisioner is relative to machines cwd
Prior to this commit, if you ran Vagrant in a different current working
directory other than where a current guest machines location is, the
file provisioner would not take into account the machines local dir, and
would instead use the path where Vagrant was invoked to expand the
`source` path option for a file provisioner. This commit fixes that by
passing the root path `machine.env.cwd` when expanding the source dir.
2019-10-02 15:33:23 -07:00
Brian Cain 968a126405
Merge pull request #11098 from briancain/finalize-ansible-config-values
Fixes #10950: Ensure pip_install_cmd is finalized
2019-10-02 12:51:33 -07:00
Brian Cain 23352d406c
Merge pull request #11097 from briancain/hyperv-command-snapshot-save-fix
Fixes #11027: Ensure VM id is passed to list snapshots
2019-10-02 12:49:38 -07:00
Brian Cain f92e1a1973
Merge pull request #11089 from briancain/rsync-helper-regex-path-fix
Fixes #10966: Ensure all subdirectory files are watched
2019-10-02 12:47:04 -07:00
Brian Cain 96c20ad3cc
Fixes #10950: Ensure pip_install_cmd is finalized
Prior to this commit, the `pip_install_cmd` option for ansible guest
config was not properly finalized. This commit ensures that if that
value is still UNSET_VALUE, it gets set to empty string in the finalize!
method.
2019-10-02 10:33:31 -07:00
Brian Cain 66ec57a637
Fixes #11027: Ensure VM id is passed to list snapshots
Prior to this commit, if you tried to save a snapshot without giving it
a name, the hyper-v driver would not properly obtain a vm id to save a
snapshot on, resulting in an error. This commit updates the command
snapshot save to hold onto the machines ID in argv rather than `pop` it
off, so that the hyperv driver can obtain the guests id when saving a
snapshot.
2019-10-01 13:33:39 -07:00
Brian Cain 8f856949f2
Merge pull request #10978 from mrshanahan/fix-issue-10973
Fixes issue hashicorp#10973: checks that VMMS WMI reference is null & throws appropriately
2019-10-01 11:12:41 -07:00
Rui Lopes ba71c30e04 retry the wait for a windows reboot on connect timeout errors 2019-09-28 12:20:10 +01:00
Brian Cain 1c620852b6
Fixes #10966: Ensure all subdirectory files are watched
Prior to this commit, due to a fix that ignored `.vagrant` with rsync
helper, it broke the ability to watch for changes in subdirectories when
running the rsync-auto command. This commit puts back some of the helper
methods that were there previously for a given watcher path to ensure
that all files and subdirectories are properly watched and synced.
2019-09-26 08:29:37 -07:00
Jose Luis Duran 6c4b537c82 FreeBSD: Remove APT-ism
No functional change intended.
2019-09-17 03:58:37 -03:00
Brian Cain 8b4ff9c40f
Merge pull request #11056 from briancain/fixup-windows-config-loading-error
Ensure proper paths are shown in config loading exceptions
2019-09-12 08:47:12 -07:00
Anders Kaseorg 5b4dcf9443
providers/docker: Fix usability check
In commit 7980178d19 (#10879) I added a
`usable?` class method to `VagrantPlugins::DockerProvider::Provider`.
However, commit 34e53a5a4b (#10890)
incorrectly changed it to an instance method.  This rendered it
ineffective because it’s called on the class, not an instance.  Change
it back to a class method.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2019-09-10 15:10:43 -07:00
Brian Cain a22acba467
Simplify line and path checks for exception handling in config loading 2019-09-10 13:27:23 -07:00
Brian Cain 09a37e0767
Fixes #11022: Ensure correct line is used for windows exceptions
Prior to this commit, if there was a config error inside a provider
block, Vagrant wouldn't grab the right backtrace token on windows since
the api is different for ruby on Windows compared to all other
platforms. This commit ensures that the proper line number is chosen so
the error message is correct.
2019-09-06 14:00:46 -07:00
Brian Cain f74239bed9
Merge pull request #11043 from briancain/provisioner-enhancements
Introduce new Provisioner options: before and after
2019-09-06 08:52:40 -07:00
Brian Cain f9b60ba603
Merge pull request #11052 from briancain/add-skip-used-boxes-with-force-prune
Fixes #10908: Preserve in-use boxes when force flag is used with prune
2019-09-06 08:49:40 -07:00
Brian Cain 5210e9d82b
Update flag from used to active 2019-09-05 15:46:43 -07:00
Brian Cain 99b5867559
Update reject to compact 2019-09-05 15:39:24 -07:00
Brian Cain 09af983caa
Fixes #11051: Only use host vm if specified
Prior to this commit, the docker login action assumed that if there was
a password to authenticate with, Vagrant was using a host vm to run
docker. This is likely due to some legacy decisions with how Vagrant
used to manage running docker. This commit fixes that by only grabbing a
host_vm lock if the host_vm is actually in use, otherwise login
normally.
2019-09-05 14:54:40 -07:00
Brian Cain e19f54457d
Fixes #10908: Preserve in-use boxes when force flag is used with prune
Prior to this commit, `vagrant box prune --force` would not prompt a
user to prune Vagrant boxes, even if that box was in use. There was no
way to prune boxes, ignore the prompt, but keep in-use boxes. This
commit adds a new flag that can be combined with `--force`, that will
keep in-use boxes but prune older boxes without prompting the user.
2019-09-04 15:54:11 -07:00
Brian Cain 7b0dc8d528
Update provisioner enhancements from pull request feedback 2019-08-29 13:50:22 -07:00
Brian Cain 07bcfc6077
Add error if both before and after options are set 2019-08-28 16:15:33 -07:00
Brian Cain fc8bf6aed4
Ensure a dependency provisioner isnt configured to rely on another dependency provisioner 2019-08-28 15:52:38 -07:00
Brian Cain c192651e90
Make dependency provisioners experimental 2019-08-28 15:09:38 -07:00
Brian Cain 8c39d9bfed
Add dependency provisioner name to error message 2019-08-28 14:30:32 -07:00
Brian Cain 6777493c46
Include before/after options in final provision hash 2019-08-20 11:31:00 -07:00
Brian Cain 6db03f2aed
Check if rejected entries are nil, not blank 2019-08-20 11:30:42 -07:00
Brian Cain d15bac7fb7
Validate that before/after provisioner exists in machines config 2019-08-19 14:48:06 -07:00
Brian Cain 8ecd32de53
Remove comment 2019-08-19 11:36:54 -07:00
Brian Cain 4933610398
Update rubydoc for before/after return types 2019-08-19 11:33:30 -07:00
Brian Cain 66aac23470
Properly set and validate before/after keys for base provisioner class 2019-08-19 11:23:06 -07:00
Brian Cain 28c0f6085c
Attempt to validate top scope provisioner options 2019-08-06 16:18:58 -07:00
Brian Cain e05437ddf2
Add validation method and todo 2019-08-06 15:28:04 -07:00
Brian Cain b82b33d204
Add new before/after options for the base Provisioner class
This commit adds two new options: before, after. These string options
refer to other named Provisioners.
2019-08-06 15:28:04 -07:00
Brian Cain 49ae77b2b8
Update doc string for :run option 2019-08-06 15:28:04 -07:00
Ladar Levison 690963669c Added fall through logic with error messages if OS is unrecognized.
This will print an error message but still exit with 0 if an
ephemeral hostname change was made, which seems more defenisve,
and user friendly to me.
2019-08-03 20:59:41 +05:30
Ladar Levison 53323ba54e Fix the hostname config logic for Alpine.
And allow those who like `vagrant` to go
Alpine skiing!
2019-08-03 15:19:51 +05:30
Tim Schumacher 39fb585295 alpine: Remove unneeded aliases in change_host_name 2019-07-26 08:32:36 +02:00
Tim Schumacher a7f09f010c alpine: Convert nfs_client capability to seperate commands
The workaround for the broken repository should be safe to be removed,
since the last affected Alpine version (<=3.3) EOL'd in November of 2017.

The remaining important commands can be split out into seperate calls
of sudo(), which removes the need for manual exit-code checking
(since it aborts by itself when a command fails) and makes the code
easier to handle in general.
2019-07-26 08:31:12 +02:00
Matt Shanahan 6caa7bfa86 Fixes issue hashicorp#10973: checks that VMMS WMI reference is null & throws appropriately 2019-07-19 07:48:03 +02:00