2013-09-03 18:08:28 +00:00
|
|
|
---
|
2016-01-19 18:08:53 +00:00
|
|
|
layout: "docs"
|
2013-09-06 16:50:43 +00:00
|
|
|
page_title: "Configuration- VMware Provider"
|
2016-01-19 18:08:53 +00:00
|
|
|
sidebar_current: "providers-vmware-configuration"
|
|
|
|
description: |-
|
|
|
|
While Vagrant VMware providers are a drop-in replacement for VirtualBox, there
|
|
|
|
are some additional features that are exposed that allow you to more finely
|
|
|
|
configure VMware-specific aspects of your machines.
|
2013-09-03 18:08:28 +00:00
|
|
|
---
|
|
|
|
|
|
|
|
# Configuration
|
|
|
|
|
2018-02-20 19:56:40 +00:00
|
|
|
While Vagrant VMware Desktop provider is a drop-in replacement for VirtualBox, there
|
2016-01-19 18:08:53 +00:00
|
|
|
are some additional features that are exposed that allow you to more finely
|
2013-09-03 18:08:28 +00:00
|
|
|
configure VMware-specific aspects of your machines.
|
|
|
|
|
2018-02-20 19:56:40 +00:00
|
|
|
Configuration settings for the provider are set in the Vagrantfile:
|
2013-09-03 18:08:28 +00:00
|
|
|
|
2018-02-20 19:56:40 +00:00
|
|
|
```ruby
|
|
|
|
Vagrant.configure("2") do |config|
|
|
|
|
config.vm.box = "my-box"
|
|
|
|
config.vm.provider "vmware_desktop" do |v|
|
|
|
|
v.gui = true
|
|
|
|
end
|
|
|
|
end
|
2013-09-03 18:08:28 +00:00
|
|
|
```
|
|
|
|
|
2018-02-20 19:56:40 +00:00
|
|
|
## Provider settings
|
|
|
|
|
|
|
|
* `clone_directory` (string) - Path for storing VMware clones. This value can
|
|
|
|
also be set using the `VAGRANT_VMWARE_CLONE_DIRECTORY` environment variable.
|
|
|
|
This defaults to `./.vagrant`
|
|
|
|
* `enable_vmrun_ip_lookup` (bool) - Use vmrun to discover guest IP address.
|
|
|
|
This defaults to `true`
|
|
|
|
* `functional_hgfs` (bool) - HGFS is functional within the guest.
|
|
|
|
This defaults to detected capability of the guest
|
|
|
|
* `unmount_default_hgfs` (bool) - Unmount the default HGFS mount point within the guest.
|
|
|
|
This defaults to `false`
|
|
|
|
* `gui` (bool) - Launch guest with a GUI.
|
|
|
|
This defaults to `false`
|
|
|
|
* `ssh_info_public` (bool) - Use the public IP address for SSH connections to guest.
|
|
|
|
This defaults to `false`
|
|
|
|
* `verify_vmnet` (bool) - Verify vmnet devices health before usage.
|
|
|
|
This defaults to `true`
|
|
|
|
* `linked_clone` (bool) - Use linked clones instead of full copy clones.
|
|
|
|
This defaults to `true`
|
|
|
|
* `vmx` (hash) - VMX key/value pairs to set or unset. If the value is `nil`, the key will
|
|
|
|
be deleted.
|
|
|
|
* `whitelist_verified` (bool, symbol) - Flag that VMware box has been properly configured
|
|
|
|
for whitelisted VMX settings. `true` if verified, `false` if unverified, `:disable_warning`
|
|
|
|
to silence whitelist warnings.
|
|
|
|
* `port_forward_network_pause` - Number of seconds to pause after applying port forwarding
|
|
|
|
configuration. This allows guest time to acquire DHCP address if previous address is
|
|
|
|
dropped when VMware network services are restarted.
|
|
|
|
This defaults to `0`
|
|
|
|
* `utility_port` (integer) - Listen port of the Vagrant VMware Utility service.
|
|
|
|
This defaults to `9922`
|
|
|
|
* `utility_certificate_path` (string) - Path to the Vagrant VMware Utility service
|
|
|
|
certificates directory.
|
|
|
|
The default value is dependent on the host
|
|
|
|
|
|
|
|
### VM Clone Directory
|
2013-09-03 18:08:28 +00:00
|
|
|
|
|
|
|
By default, the VMware provider will clone the VMware VM in the box
|
|
|
|
to the ".vagrant" folder relative to the folder where the Vagrantfile is.
|
|
|
|
Usually, this is fine. For some people, for example those who use a
|
|
|
|
differential backup software such as Time Machine, this is very annoying
|
2016-01-19 18:08:53 +00:00
|
|
|
because you cannot regularly ignore giant virtual machines as part of backups.
|
2013-09-03 18:08:28 +00:00
|
|
|
|
|
|
|
The directory where the provider clones the virtual machine can be
|
|
|
|
customized by setting the `VAGRANT_VMWARE_CLONE_DIRECTORY` environmental
|
2016-01-19 18:08:53 +00:00
|
|
|
variable. This does not need to be unique per project. Each project will
|
2013-09-03 18:08:28 +00:00
|
|
|
get a different sub-directory within this folder. Therefore, it is safe to
|
|
|
|
set this systemwide.
|
|
|
|
|
2018-02-20 19:56:40 +00:00
|
|
|
### Linked Clones
|
2017-02-28 17:50:23 +00:00
|
|
|
|
|
|
|
By default new machines are created using a linked clone to the base
|
|
|
|
box. This reduces the time and required disk space incurred by directly
|
|
|
|
importing the base box.
|
|
|
|
|
|
|
|
Linked clones are based on a master VM, which is generated by importing the
|
|
|
|
base box only once the first time it is required. For the linked clones only
|
|
|
|
differencing disk images are created where the parent disk image belongs to
|
|
|
|
the master VM. To disable linked clones:
|
|
|
|
|
|
|
|
```ruby
|
2018-02-20 19:56:40 +00:00
|
|
|
config.vm.provider "vmware_desktop" do |v|
|
2017-02-28 17:50:23 +00:00
|
|
|
v.linked_clone = false
|
|
|
|
end
|
|
|
|
```
|
|
|
|
|
2018-02-20 19:56:40 +00:00
|
|
|
### VMX Customization
|
2013-09-03 18:08:28 +00:00
|
|
|
|
|
|
|
If you want to add or remove specific keys from the VMX file, you can do
|
|
|
|
that:
|
|
|
|
|
|
|
|
```ruby
|
2018-02-20 19:56:40 +00:00
|
|
|
config.vm.provider "vmware_desktop" do |v|
|
2013-09-03 18:08:28 +00:00
|
|
|
v.vmx["custom-key"] = "value"
|
|
|
|
v.vmx["another-key"] = nil
|
|
|
|
end
|
|
|
|
```
|
|
|
|
|
|
|
|
In the example above, the "custom-key" key will be set to "value" and the
|
|
|
|
"another-key" key will be removed from the VMX file.
|
|
|
|
|
|
|
|
VMX customization is done as the final step before the VMware machine is
|
|
|
|
booted, so you have the ability to possibly undo or misconfigure things
|
|
|
|
that Vagrant has set up itself.
|
|
|
|
|
|
|
|
VMX is an undocumented format and there is no official reference for
|
|
|
|
the available keys and values. This customization option is exposed for
|
|
|
|
people who have knowledge of exactly what they want.
|
2013-09-05 21:34:43 +00:00
|
|
|
|
|
|
|
The most common keys people look for are setting memory and CPUs.
|
|
|
|
The example below sets both:
|
|
|
|
|
|
|
|
```ruby
|
2018-02-20 19:56:40 +00:00
|
|
|
config.vm.provider "vmware_desktop" do |v|
|
2013-09-05 21:34:43 +00:00
|
|
|
v.vmx["memsize"] = "1024"
|
|
|
|
v.vmx["numvcpus"] = "2"
|
|
|
|
end
|
|
|
|
```
|