Atom feed of this document
 

 VMware vSphere

 Introduction

OpenStack Compute supports the VMware vSphere product family. This section describes the additional configuration required to launch VMWare-based virtual machine images. vSphere versions 4.1 and greater are supported.

There are two OpenStack Compute drivers that can be used with vSphere:

  • vmwareapi.VMwareVCDriver: a driver that lets nova-compute communicte with a VMware vCenter server managing a cluster of ESX hosts. With this driver and access to shared storage, advanced vSphere features like vMotion, High Availability, and Dynamic Resource Scheduling (DRS) are availabile. With this driver, one nova-compute service is run per vCenter cluster.

  • vmwareapi.VMwareESXDriver: a driver that lets nova-compute communicate directly to an ESX host, but does not support advanced VMware features. With this driver, one nova-compute service is run per ESX host.

 Prerequisites

You will need to install the following software installed on each nova-compute node:

  • python-suds: This software is needed by the nova-compute service to communicate with vSphere APIs. If not installed, the "nova-compute" service shuts down with the message: "Unable to import suds".

  • Tomcat server: This is required to serve up a local version of the vSphere WSDL file (see below).

On ubuntu, these packages can be installed by running:

sudo apt-get install python-suds tomcat6 

Next, download the SDK from http://www.vmware.com/support/developer/vc-sdk/ and copy it into /var/lib/tomcat6/webapps. You should ensure that the WSDL is available, in eg /var/lib/tomcat6/webapps/vmware/SDK/wsdl/vim25/vimService.wsdl. Below we will point nova.conf to fetch this WSDL file from Tomcat using a URL pointing to localhost.

 Using the VMwareVCDriver

This section covers details of using the VMwareVCDriver.

 VMWareVCDriver configuration options

When using the VMwareVCDriver (i.e., vCenter) with OpenStack Compute, nova.conf must include the following VMWare-specific config options:

vmwareapi_host_ip=<vCenter host IP>
vmwareapi_host_username=< vCenter username>
vmwareapi_host_password=< vCenter password>
vmwareapi_cluster_name=< vCenter cluster name>
vmwareapi_wsdl_loc=http://127.0.0.1:8080/vmware/SDK/wsdl/vim25/vimService.wsdl

Remember that you will have only one nova-compute service per cluster. It is recommended that this host run as a VM with high-availability enabled as part of that same cluster.

Also note that many of the nova.conf options mentioned elsewhere in this document that are relevant to libvirt do not apply to using this driver.

 Requirements + Limitations

The VMwareVCDriver is new in Grizzly, and as a result there are some important deployment requirements and limitations to be aware of. In many cases, these items will be addressed in future releases.

  • Each cluster can only be configured with a single Datastore. If multiple Datastores are configured, the first one returned via the vSphere API will be used.

  • Because a single nova-compute is used per cluster, the nova-scheduler views this as a single host with resources amounting to the aggregate resources of all ESX hosts managed by the cluster. This may result in unexpected behavior depending on your choice of scheduler.

  • Security Groups are not supported if Nova-Network is used. Security Groups are only supported if the VMware driver is used in conjunction with the the OpenStack Networking Service running the Nicira NVP plugin.

 Using the VMwareESXDriver

This section covers details of using the VMwareESXDriver.

 VMWareESXDriver configuration options

When using the VMwareESXDriver (i.e., no vCenter) with OpenStack Compute, configure nova.conf with the following VMWare-specific config options:

vmwareapi_host_ip=<ESXi host IP>
vmwareapi_host_username=< ESXi host username>
vmwareapi_host_password=< ESXi host password>
vmwareapi_wsdl_loc=http://127.0.0.1:8080/vmware/SDK/wsdl/vim25/vimService.wsdl

Remember that you will have one nova-compute service per ESXi host. It is recommended that this host run as a VM on the same ESXi host it is managing.

Also note that many of the nova.conf options mentioned elsewhere in this document that are relevant to libvirt do not apply to using this driver.

 Requirements + Limitations

The ESXDriver is unable to take advantage of many of the advanced capabilities associated with the vSphere platform, namely vMotion, High Availability, and Dynamic Resource Scheduler (DRS).

 Images with VMware vSphere

When using either VMware driver, images should be uploaded to the OpenStack Image Service in the VMDK format. For example:

glance add name="ubuntuLTS" disk_format=vmdk container_format=ovf \
is_public=true vmware_adaptertype="lsiLogic" vmware_disktype="preallocated" \
vmware_ostype="ubuntu64Guest" < ubuntuLTS-flat.vmdk 

 Networking with VMware vSphere

The VMware driver support networking with both Nova-Network and the Openstack Networking Service.

  • If using nova-network with the FlatManager or FlatDHCPManager, before provisioning VMs, create a port group with the same name as the 'flat_network_bridge' value in nova.conf (default is 'br100'). All VM NICs will be attached to this port group.

  • If using nova-network with the VlanManager, before provisioning VMs, make sure the 'vmwareapi_vlan_interface' configuration option is set to match the ESX host interface that will handle VLAN-tagged VM traffic. OpenStack Compute will automatically create the corresponding port groups.

  • If using the OpenStack Networking Service, before provisining VMs, create a port group with the same name as the 'vmware.integration_bridge' value in nova.conf (default is 'br-int'). All VM NICs will be attached to this port group for management by the OpenStack Networking Plugin.

 Volumes with VMware vSphere

The VMware driver has limited support for attaching Volumes from the OpenStack Block Storage service, supporting attachments only if the volume driver type is 'iscsi'. There is no support for volumes based on vCenter Datastores in this release.

 Configuration Reference

Table 9.3. Description of configuration options for vmware
Configuration option=Default value (Type) Description
integration_bridge=br-int (StrOpt)Name of Integration Bridge
use_linked_clone=True (BoolOpt)Whether to use linked clone
vmwareapi_api_retry_count=10 (IntOpt)The number of times we retry on failures, e.g., socket error, etc. Used only if compute_driver is vmwareapi.VMwareESXDriver or vmwareapi.VMwareVCDriver.
vmwareapi_cluster_name=None (StrOpt)Name of a VMware Cluster ComputeResource. Used only if compute_driver is vmwareapi.VMwareVCDriver.
vmwareapi_host_ip=None (StrOpt)URL for connection to VMware ESX/VC host. Required if compute_driver is vmwareapi.VMwareESXDriver or vmwareapi.VMwareVCDriver.
vmwareapi_host_password=None (StrOpt)Password for connection to VMware ESX/VC host. Used only if compute_driver is vmwareapi.VMwareESXDriver or vmwareapi.VMwareVCDriver.
vmwareapi_host_username=None (StrOpt)Username for connection to VMware ESX/VC host. Used only if compute_driver is vmwareapi.VMwareESXDriver or vmwareapi.VMwareVCDriver.
vmwareapi_task_poll_interval=5.0 (FloatOpt)The interval used for polling of remote tasks. Used only if compute_driver is vmwareapi.VMwareESXDriver or vmwareapi.VMwareVCDriver.
vmwareapi_vlan_interface=vmnic0 (StrOpt)Physical ethernet adapter name for vlan networking
vmwareapi_wsdl_loc=None (StrOpt)VIM Service WSDL Location e.g http://<server>/vimService.wsdl. Due to a bug in vSphere ESX 4.1 default wsdl. Refer readme-vmware to setup

Log a bug against this page


loading table of contents...