Prior to this commit, Vagrant wouldn't validate the `type` option for
any synced_folder configs defined. This commit updates that behavior to
look at the current list of installed synced_folder plugins, and ensure
if a type is defined, it's a valid plugin in that list.
config
Prior to this commit, if a user had configured a provisioner that had a
config with a `name` option, it would not properly set the top level
provisioner classes name config option which would lead to some
understanibly confusing results when trying to `--provision-with`. This
commit fixes that by checking to see if the top level name isn't set,
look to see if that provisioners config defines a name, and use that
instead.
Since the root file system is marked as read-only, attempting to
link the shared directory to `/vagrant` will fail. If the guest
path is on the root file system and APFS is used, create the
link as a firmlink instead.
The Ansible package in FreeBSD is now `py36-ansible`.
If `pkg` itself needs updating, passing only one 'yes' is not enough to
confirm the installation of the package. Use the `-y` option,
specifically made for this purpose. Also add `-q` to force a quiet
output, inline with other guests.
References:
- [`pkg-install(8)`](https://www.freebsd.org/cgi/man.cgi?query=pkg-install&sektion=8)
- freebsd/freebsd-ports@cbf5576945
- By the way: Trim the generate 'pip install' command in Ansible::Cap::Guest::Pip::pip_install
- GH-11048: Fix same regression for FreeBSD and SuSE guests.
- GH-6633: Add RSpec examples to cover ansible_local 'cap' code.
Note: RedHat/Fedora guests are not covered yet by unit tests.
This commit catches the Errno::EPERM raised by the operating system if
the machine folder is inaccessible and displays it as a more friendly
error message.
This can be an issue on macOS Catalina if virtual machine files are kept
in a special directory (Documents/Downloads/Desktop) that Vagrant's
embedded Ruby is not allowed to access.
This ensures that rsync can be installed on an Alpine Linux machine where the
apk cache may not be current.
Display a warning if the vagrant-alpine plugin is installed, since Alpine guest
support has been merged into Vagrant core.
Prior to this commit, if a user had recently checked for updates, there
was no way to force Vagrant to re-check without manually deleting a
state file in the local `.vagrant` data dir. This commit fixes that by
giving users the ability to force check for updates for a given box with
a flag to the `vagrant box outdated` command.