vagrant/website/source/docs/vmware/configuration.html.md

125 lines
4.6 KiB
Markdown
Raw Normal View History

---
layout: "docs"
page_title: "Configuration- VMware Provider"
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.
---
# Configuration
2018-02-20 19:56:40 +00:00
While Vagrant VMware Desktop provider is 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.
2018-02-20 19:56:40 +00:00
Configuration settings for the provider are set in the Vagrantfile:
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
```
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
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
because you cannot regularly ignore giant virtual machines as part of backups.
The directory where the provider clones the virtual machine can be
customized by setting the `VAGRANT_VMWARE_CLONE_DIRECTORY` environmental
variable. This does not need to be unique per project. Each project will
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
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|
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
```