Vagrant
Vagrant VMware Utility Installation
System Packages
The Vagrant VMware Utility is provided as a system package. To install the utility, download and install the correct system package from the downloads page.
Manual Installation
If there is no officially supported system package of the utility available, it may be possible to manually install utility. This applies to Linux platforms only. First, download the latest zip package from the releases page.
Next create a directory for the executable and unpack the executable as root.
$ sudo mkdir -p /opt/vagrant-vmware-desktop/bin
$ sudo unzip -d /opt/vagrant-vmware-desktop/bin vagrant-vmware-utility_1.0.0_linux_amd64.zip
After the executable has been installed, the utility setup tasks must be run. First, generate the required certificates:
$ sudo /opt/vagrant-vmware-desktop/bin/vagrant-vmware-utility certificate generate
The path provided from this command can be used to set the utility_certificate_path
in the Vagrantfile
configuration if installing to a non-standard path.
Finally, install the service. This will also enable the service.
$ sudo /opt/vagrant-vmware-desktop/bin/vagrant-vmware-utility service install
Usage
The Vagrant VMware Utility provides the Vagrant VMware provider plugin access to various VMware functionalities. The Vagrant VMware Utility is required by the Vagrant VMware Desktop provider plugin.
Vagrant VMware Utility Access
The Vagrant VMware Utility provides support for all users on the system using the Vagrant VMware Desktop plugin. If access restrictions to the Utility need to be applied to users on the system, this can be accomplished by restricting user access to the certificates used for connecting to the service.
On Windows platforms these certificates can be found at:
C:\ProgramData\HashiCorp\vagrant-vmware-desktop\certificates
On POSIX-style platforms these certificates can be found at:
/opt/vagrant-vmware-desktop/certificates
Vagrant VMware Utility Service
The Vagrant VMware Utility consists of a small service which runs on the host platform. When the utility installer package is installed, the service is configured to automatically start. If the plugin reports errors communicating with the service, it may have stopped for some reason. The most common cause of the service not being in a running state is the VMware application not being installed. The service can be started again by using the proper command below:
Windows
On Windows platforms a service is created called vagrant-vmware-utility
. The
service can be manually started using the services GUI (services.msc
) or by
running the following command from a cmd.exe
in administrator mode:
$ net.exe start vagrant-vmware-utility
macOS
$ sudo launchctl load -w /Library/LaunchDaemons/com.vagrant.vagrant-vmware-utility.plist
Linux systemd
$ sudo systemctl start vagrant-vmware-utility
Linux SysVinit
$ sudo /etc/init.d/vagrant-vmware-utility start
Linux runit
$ sudo sv start vagrant-vmware-utility
Utility Service Configuration
When installing the Vagrant VMware utility service, a configuration file is generated that is used when the process is started. On Windows, this can be found at:
C:\ProgramData\HashiCorp\vagrant-vmware-desktop\config\service.hcl
On POSIX-style systems, it can be found at:
/opt/vagrant-vmware-desktop/config/service.hcl
The configuration file uses the HCL configuration language. It supports a subset of the options provided by the CLI. An example configuration file looks like:
core {
level = "info"
}
api {
port = 9922
driver = "advanced"
license_override = "standard"
}
Core options
level
(string) - Output level of the loggerlog_file
(string) - Store logs to file at given pathlog_append
(bool) - Append log output to existing file
API options
port
(int) - Port to bind the API (changes require changes to Vagrant configuration)driver
(string) - Internal driver to use (utility will auto-detect correct driver)license_override
(string) - Override the detected VMware license (standard or professional)
Restarting the service
After updating the the configuration file, the service must be restarted. The method for restarting the service will depend on your host platform.
For Windows:
On Windows platforms a service is created called vagrant-vmware-utility
. The
service can be manually stopped and started using the services GUI (services.msc
) or by
running the following command from a cmd.exe
in administrator mode:
$ net.exe stop vagrant-vmware-utility
$ net.exe start vagrant-vmware-utility
For macOS:
$ sudo launchctl unload -w /Library/LaunchDaemons/com.vagrant.vagrant-vmware-utility.plist
$ sudo launchctl load -w /Library/LaunchDaemons/com.vagrant.vagrant-vmware-utility.plist
For Linux systemd:
$ sudo systemctl restart vagrant-vmware-utility
For Linux SysVinit:
$ sudo /etc/init.d/vagrant-vmware-utility restart
For Linux runit:
$ sudo sv restart vagrant-vmware-utility
macOS service configuration
The Vagrant VMware utility service configuration on macOS is slightly different
than other platforms. If the port
option is updated in the configuration file,
it will not be applied after restarting the service. This is due to the port
being defined directly within the service file so it properly matches the service
socket information. To update the port on macOS, it is easier to uninstall the
service and then install it again:
$ /opt/vagrant-vmware-desktop/bin/vagrant-vmware-utility service uninstall
$ /opt/vagrant-vmware-desktop/bin/vagrant-vmware-utility service install -port=9999