Added ephemeral disk limitationx

backport: havana

Fixes bug #1247207

Change-Id: I6aa119148ccd783dd80cd6dcee6322b952c0a60d
This commit is contained in:
Dan Florea 2013-11-01 10:42:39 -07:00 committed by Diane Fleming
parent b1e67676f5
commit 00d59544ab

View File

@ -1,129 +1,172 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<section xmlns="http://docbook.org/ns/docbook" xmlns:xi="http://www.w3.org/2001/XInclude" <section xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="vmware"> xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
xml:id="vmware">
<title>VMware vSphere</title> <title>VMware vSphere</title>
<?dbhtml stop-chunking?> <?dbhtml stop-chunking?>
<section xml:id="vmware-intro"> <section xml:id="vmware-intro">
<title>Introduction</title> <title>Introduction</title>
<para>OpenStack Compute supports the VMware vSphere product family and enables access to advanced <para>OpenStack Compute supports the VMware vSphere product family
features such as vMotion, High Availability, and Dynamic Resource Scheduling (DRS). This and enables access to advanced features such as vMotion, High
section describes the configuration required to launch VMware-based virtual machine images. Availability, and Dynamic Resource Scheduling (DRS). This
vSphere versions 4.1 and later are supported.</para> section describes how to configure VMware-based virtual machine
<para>The VMware vCenter Driver enables <systemitem class="service">nova-compute</systemitem> to images for launch. vSphere versions 4.1 and later are
communicate with a VMware vCenter server managing one or more ESX host clusters. The supported.</para>
driver aggregates the ESX hosts in each cluster to present one large hypervisor entity for each <para>The VMware vCenter driver enables <systemitem
cluster to the Compute scheduler. Because individual ESX hosts are not exposed to the class="service">nova-compute</systemitem> to communicate with
scheduler, Compute schedules to the granularity of clusters and vCenter uses DRS to select the a VMware vCenter server that manages one or more ESX host
actual ESX host within the cluster. When a virtual machine makes its way into a vCenter clusters. The driver aggregates the ESX hosts in each cluster to
cluster, it can take advantage of all the features that come with vSphere.</para> present one large hypervisor entity for each cluster to the
<para>The following sections describe how to configure the VMware vCenter driver.</para> Compute scheduler. Because individual ESX hosts are not exposed
to the scheduler, Compute schedules to the granularity of
clusters and vCenter uses DRS to select the actual ESX host
within the cluster. When a virtual machine makes its way into a
vCenter cluster, it can use all vSphere features.</para>
<para>The following sections describe how to configure the VMware
vCenter driver.</para>
</section> </section>
<section xml:id="vmware_architecture"> <section xml:id="vmware_architecture">
<title>High Level Architecture</title> <title>High-level architecture</title>
<para>The following diagram shows a high-level view of the VMware driver architecture:</para> <para>The following diagram shows a high-level view of the VMware
<para><inlinemediaobject> driver architecture:</para>
<figure>
<title>VMware driver architecture</title>
<mediaobject>
<imageobject> <imageobject>
<imagedata fileref="../../common/figures/vmware-nova-driver-architecture.jpg" format="JPG" contentwidth="6in"/> <imagedata
fileref="../../common/figures/vmware-nova-driver-architecture.jpg"
format="JPG" contentwidth="6in"/>
</imageobject> </imageobject>
</inlinemediaobject></para> </mediaobject>
<para>In the previous diagram, the OpenStack Compute Scheduler sees three hypervisors, each </figure>
corresponding to a cluster in vCenter. <systemitem class="service">Nova-compute</systemitem> contains the VMware Driver and as the <para>As the figure shows, the OpenStack Compute Scheduler sees
figure shows, you can run with multiple <systemitem class="service">nova-compute</systemitem> services. While Compute schedules three hypervisors that each correspond to a cluster in vCenter.
at the granularity of a cluster, the VMware driver inside <systemitem class="service">nova-compute</systemitem> interacts with the <systemitem class="service">Nova-compute</systemitem> contains
vCenter APIs to select an appropriate ESX host within the cluster. Internally, vCenter the VMware driver. You can run with multiple <systemitem
uses DRS for placement.</para> class="service">nova-compute</systemitem> services. While
<para>The VMware vCenter Driver also interacts with the OpenStack Image Service to copy Compute schedules at the granularity of a cluster, the VMware
VMDK images from the Image Service back end store. The dotted line in the figure represents the driver inside <systemitem class="service"
copying of VMDK images from the OpenStack Image Service to the vSphere datastore. VMDK images >nova-compute</systemitem> interacts with the vCenter APIs to
are cached in the datastore so the copy operation is only required the first time that the select an appropriate ESX host within the cluster. Internally,
VMDK image is used.</para> vCenter uses DRS for placement.</para>
<para>After a VM is booted by OpenStack into a vSphere cluster, the VM becomes visible in vCenter <para>The VMware vCenter driver also interacts with the OpenStack
and can access vSphere advanced features. At the same time, the VM is visible in Image Service to copy VMDK images from the Image Service back
the OpenStack Dashboard and you can manage it as you would any other OpenStack VM. end store. The dotted line in the figure represents VMDK images
You perform advanced vSphere operations in vCenter while you configure OpenStack resources being copied from the OpenStack Image Service to the vSphere
such as VMs through the OpenStack dashboard.</para> data store. VMDK images are cached in the data store so the copy
<para>Not shown in the figure above is how networking fits into the architecture. Both operation is only required the first time that the VMDK image is
<systemitem class="service">nova-network</systemitem> and the OpenStack Networking Service used.</para>
are supported. For details, see <xref linkend="VMWare_networking"/>.</para> <para>After OpenStack boots a VM into a vSphere cluster, the VM
becomes visible in vCenter and can access vSphere advanced
features. At the same time, the VM is visible in the OpenStack
dashboard and you can manage it as you would any other OpenStack
VM. You can perform advanced vSphere operations in vCenter while
you configure OpenStack resources such as VMs through the
OpenStack dashboard.</para>
<para>The figure does not show how networking fits into the
architecture. Both <systemitem class="service"
>nova-network</systemitem> and the OpenStack Networking
Service are supported. For details, see <xref
linkend="VMWare_networking"/>.</para>
</section> </section>
<section xml:id="vmware_configuration_overview"> <section xml:id="vmware_configuration_overview">
<title>Overview of Configuration</title> <title>Configuration overview</title>
<para>Here are the basic steps to get started with the VMware vCenter Driver:</para> <para>To get started with the VMware vCenter driver, complete the
following high-level steps:</para>
<orderedlist> <orderedlist>
<listitem> <listitem>
<para>Ensure vCenter is configured correctly. See <xref linkend="vmware-prereqs"/>.</para> <para>Configure vCenter correctly. See <xref
linkend="vmware-prereqs"/>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Configure <filename>nova.conf</filename> for the VMware vCenter Driver. See <xref <para>Configure <filename>nova.conf</filename> for the VMware
linkend="VMWareVCDriver_details"/>.</para> vCenter driver. See <xref linkend="VMWareVCDriver_details"
/>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Load desired VMDK images into the OpenStack Image Service. See <xref <para>Load desired VMDK images into the OpenStack Image
linkend="VMWare_images"/>.</para> Service. See <xref linkend="VMWare_images"/>.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Configure networking with either <systemitem class="service">nova-network</systemitem> <para>Configure networking with either <systemitem
or the OpenStack Networking Service. See <xref linkend="VMWare_networking"/>.</para> class="service">nova-network</systemitem> or the OpenStack
Networking Service. See <xref linkend="VMWare_networking"
/>.</para>
</listitem> </listitem>
</orderedlist> </orderedlist>
</section> </section>
<section xml:id="vmware-prereqs"> <section xml:id="vmware-prereqs">
<title>Prerequisites and Limitations</title> <title>Prerequisites and limitations</title>
<para>The following is a list of items that will help prepare a vSphere environment to run with <para>Use the following list to prepare a vSphere environment that
the VMware vCenter Driver.</para> runs with the VMware vCenter driver:</para>
<para> <orderedlist>
<itemizedlist> <listitem>
<listitem> <para><emphasis role="bold">vCenter inventory</emphasis>: Make
<para><emphasis role="bold">vCenter Inventory</emphasis>: Make sure any vCenter used by sure that any vCenter used by OpenStack contains a single
OpenStack contains a single datacenter. (this is a temporary limitation that will be data center. This temporary limitation will be removed in a
removed in a future Havana stable release).</para> future Havana stable release.</para>
</listitem> </listitem>
<listitem> <listitem>
<para><emphasis role="bold">DRS</emphasis>: For any cluster that contains multiple ESX <para><emphasis role="bold">DRS</emphasis>: For any cluster
hosts, enable DRS with "Fully automated" placement turned on.</para> that contains multiple ESX hosts, enable DRS and enable
</listitem> <firstterm>fully automated</firstterm> placement.</para>
<listitem> </listitem>
<para><emphasis role="bold">Shared Storage</emphasis>: Only shared storage is supported <listitem>
and datastores must be shared among all hosts in a cluster. It is recommended to remove <para><emphasis role="bold">Shared storage</emphasis>: Only
datastores not intended for OpenStack from clusters being configured for OpenStack. shared storage is supported and data stores must be shared
Currently, a single datastore can be used per cluster (this is a temporary limitation among all hosts in a cluster. It is recommended to remove
that will be removed in a future Havana stable release).</para> data stores not intended for OpenStack from clusters being
</listitem> configured for OpenStack. Currently, a single data store can
<listitem> be used per cluster. This temporary limitation will be
<para><emphasis role="bold">Clusters and Datastores</emphasis>: Clusters and datastores removed in a future Havana stable release.</para>
used by OpenStack should not be used for other purposes. Using clusters or datastores </listitem>
for other purposes will cause OpenStack to display incorrect usage information.</para> <listitem>
</listitem> <para><emphasis role="bold">Clusters and data
<listitem> stores</emphasis>: Do not use OpenStack clusters and data
<para><emphasis role="bold">Networking</emphasis>: The networking configuration depends on stores for other purposes. If you do, OpenStack displays
the desired networking model. See <xref linkend="VMWare_networking"/>.</para> incorrect usage information.</para>
</listitem> </listitem>
<listitem> <listitem>
<para><emphasis role="bold">Security Groups</emphasis>: Security Groups are not supported <para><emphasis role="bold">Networking</emphasis>: The
if <systemitem class="service">nova-network</systemitem> is used. Security Groups are networking configuration depends on the desired networking
only supported if the VMware driver is used in conjunction with the OpenStack Networking model. See <xref linkend="VMWare_networking"/>.</para>
Service running the NSX plugin.</para> </listitem>
</listitem> <listitem>
<listitem> <para><emphasis role="bold">Security groups</emphasis>: If you
<para><emphasis role="bold">VNC</emphasis>: Enable port range 5900 - 6000 for VNC use the VMware driver with the OpenStack Networking Service
Connections on every ESX Host in all the clusters under OpenStack control. See the running the NSX plug-in, security groups are supported. If
following link for more details on enabling VNC: <link you use <systemitem class="service"
xlink:href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=1246" >nova-network</systemitem>, security groups are not
>http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=1246</link></para> supported.</para>
</listitem> </listitem>
</itemizedlist> <listitem>
</para> <para><emphasis role="bold">VNC</emphasis>: Enable port range
5900 - 6000 for VNC connections on every ESX host in all
clusters under OpenStack control. For details on enabling
VNC, see <link
xlink:href="http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=1246"
>http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&amp;cmd=displayKC&amp;externalId=1246</link>.</para>
</listitem>
<listitem>
<para><emphasis role="bold">Ephemeral Disks</emphasis>:
Ephemeral disks are not supported. This temporary limitation
will be addressed in a future Havana stable release.</para>
</listitem>
</orderedlist>
</section> </section>
<section xml:id="VMWareVCDriver_details"> <section xml:id="VMWareVCDriver_details">
<title>Using the VMware vCenter Driver</title> <title>VMware vCenter driver</title>
<para>Use the VMware vCenter Driver (VMwareVCDriver) to connect OpenStack Compute with vCenter. <para>Use the VMware vCenter driver (VMwareVCDriver) to connect
This is the recommended configuration and allows access through vCenter to advanced vSphere OpenStack Compute with vCenter. This recommended configuration
features like vMotion, High Availability, and Dynamic Resource Scheduling (DRS).</para> enables access through vCenter to advanced vSphere features like
vMotion, High Availability, and Dynamic Resource Scheduling
(DRS).</para>
<section xml:id="VMWareVCDriver_configuration_options"> <section xml:id="VMWareVCDriver_configuration_options">
<title>VMwareVCDriver configuration options</title> <title>VMwareVCDriver configuration options</title>
<para>When using the VMwareVCDriver (i.e., vCenter) with OpenStack Compute, <para>When you use the VMwareVCDriver (vCenter) with OpenStack
<filename>nova.conf</filename> must include the following VMware-specific config Compute, add the following VMware-specific config options to
options:</para> the <filename>nova.conf</filename> file:</para>
<programlisting language="ini">[DEFAULT] <programlisting language="ini">[DEFAULT]
compute_driver=vmwareapi.VMwareVCDriver compute_driver=vmwareapi.VMwareVCDriver
@ -135,165 +178,194 @@ host_password=&lt;vCenter password&gt;
cluster_name=&lt;vCenter cluster name&gt; cluster_name=&lt;vCenter cluster name&gt;
datastore_regex=&lt;optional datastore regex&gt; datastore_regex=&lt;optional datastore regex&gt;
wsdl_location=http://127.0.0.1:8080/vmware/SDK/wsdl/vim25/vimService.wsdl</programlisting> wsdl_location=http://127.0.0.1:8080/vmware/SDK/wsdl/vim25/vimService.wsdl</programlisting>
<para>Most of the configuration options above are straightforward to understand, but here are <note>
a few points to note:</para>
<para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>Clusters: The vCenter driver can support multiple clusters. To use more than one <para>Clusters: The vCenter driver can support multiple
cluster, simply add multiple <code>cluster_name</code> lines in clusters. To use more than one cluster, simply add
<filename>nova.conf</filename> with the appropriate cluster name. Clusters and multiple <code>cluster_name</code> lines in
datastores used by the vCenter driver should not contain any VMs other than those <filename>nova.conf</filename> with the appropriate
created by the driver.</para> cluster name. Clusters and data stores used by the
vCenter driver should not contain any VMs other than
those created by the driver.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>Datastores: The <code>datastore_regex</code> field specifies the datastores to use <para>Data stores: The <code>datastore_regex</code> field
with Compute. For example, <code>datastore_regex="nas.*"</code> selects all the specifies the data stores to use with Compute. For
datastores that have a name starting with "nas". If this line is omitted, Compute uses example, <code>datastore_regex="nas.*"</code> selects
the first datastore returned by the vSphere API. It is recommended not to use this all the data stores that have a name starting with
field and instead remove datastores that are not intended for OpenStack.</para> "nas". If this line is omitted, Compute uses the first
data store returned by the vSphere API. It is
recommended not to use this field and instead remove
data stores that are not intended for OpenStack.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</para> </note>
<para>A <systemitem class="service">nova-compute</systemitem> service can control one or more <para>A <systemitem class="service">nova-compute</systemitem>
clusters containing multiple ESX hosts, making <systemitem class="service" service can control one or more clusters containing multiple
>nova-compute</systemitem> a critical service from a high availabilility perspective. ESX hosts, making <systemitem class="service"
Since it is possible for the host running nova-compute to fail while the vCenter and ESX >nova-compute</systemitem> a critical service from a high
resources are still alive, it is recommended that <systemitem class="service" availability perspective. Because the host that runs
>nova-compute</systemitem> be protected against host failures like other critical <systemitem class="service">nova-compute</systemitem> can
OpenStack Services.</para> fail while the vCenter and ESX still run, you must protect the
<para>Also note that many of the <filename>nova.conf</filename> options mentioned elsewhere in <systemitem class="service">nova-compute</systemitem>
this document that are relevant to libvirt do not apply to using this driver.</para> service against host failures.</para>
<para>Environments using vSphere 5.0 and below require additional configuration. See <xref <note>
<para>Many <filename>nova.conf</filename> options are relevant
to libvirt but do not apply to this driver.</para>
</note>
<para>You must complete additional configuration for
environments that use vSphere 5.0 and earlier. See <xref
linkend="VMWare_additional_config"/>.</para> linkend="VMWare_additional_config"/>.</para>
</section> </section>
</section> </section>
<section xml:id="VMWare_images"> <section xml:id="VMWare_images">
<title>Images with VMware vSphere</title> <title>Images with VMware vSphere</title>
<para>The vCenter Driver supports images in the VMDK format. Disks in this format can be <para>The vCenter driver supports images in the VMDK format. Disks
obtained from VMware Fusion or from an ESX environment. It is also possible to convert other in this format can be obtained from VMware Fusion or from an ESX
formats, such as qcow2, to the VMDK format using the <code>qemu-img</code> utility. Once a environment. It is also possible to convert other formats, such
VMDK disk is available, it should be loaded into the OpenStack Image Service and can then used as qcow2, to the VMDK format using the <code>qemu-img</code>
with the VMware vCenter Driver. The following sections provide additional details on the exact utility. After a VMDK disk is available, load it into the
types of disks supported and the commands used for conversion and upload.</para> OpenStack Image Service. Then, you can use it with the VMware
vCenter driver. The following sections provide additional
details on the supported disks and the commands used for
conversion and upload.</para>
<section xml:id="VMware_supported_images"> <section xml:id="VMware_supported_images">
<title>Supported Image Types</title> <title>Supported image types</title>
<para>Images should be uploaded to the OpenStack Image Service in the VMDK format. The <para>Upload images to the OpenStack Image Service in VMDK
following VMDK disk types are supported:</para> format. The following VMDK disk types are supported:</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para><emphasis role="italic">VMFS Flat Disks</emphasis> (includes thin, thick, <para><emphasis role="italic">VMFS Flat Disks</emphasis>
zeroedthick, and eagerzeroedthick). Note that once a VMFS thin disk is exported from (includes thin, thick, zeroedthick, and eagerzeroedthick).
VMFS to a non-VMFS location, like the OpenStack Image Service, it becomes a preallocated Note that once a VMFS thin disk is exported from VMFS to a
flat disk. This has an impact on the transfer time from the OpenStack Image Service to non-VMFS location, like the OpenStack Image Service, it
the datastore when the full preallocated flat disk, rather than the thin disk, has to be becomes a preallocated flat disk. This impacts the
transferred.</para> transfer time from the OpenStack Image Service to the data
store when the full preallocated flat disk, rather than
the thin disk, must be transferred.</para>
</listitem> </listitem>
<listitem> <listitem>
<para><emphasis role="italic">Monolithic Sparse disks</emphasis>. Sparse disks get <para><emphasis role="italic">Monolithic Sparse
imported from the OpenStack Image Service into ESX as thin provisioned disks. Monolithic disks</emphasis>. Sparse disks get imported from the
Sparse disks can be obtained from VMware Fusion or can be created by converting from OpenStack Image Service into ESX as thin provisioned
other virtual disk formats using the <code>qemu-img</code> utility.</para> disks. Monolithic Sparse disks can be obtained from VMware
Fusion or can be created by converting from other virtual
disk formats using the <code>qemu-img</code>
utility.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<para>The following table shows the <code>vmware_disktype</code> property that applies to each <para>The following table shows the <code>vmware_disktype</code>
of the supported VMDK disk types:</para> property that applies to each of the supported VMDK disk
<para> types:</para>
<table frame="all"> <table rules="all">
<title>OpenStack Image Service Disk Type Settings</title> <caption>OpenStack Image Service disk type settings</caption>
<tgroup cols="2"> <thead>
<colspec colname="c1" colnum="1" colwidth="1*"/> <tr>
<colspec colname="c2" colnum="2" colwidth="2.85*"/> <th>vmware_disktype property</th>
<thead> <th>VMDK disk type</th>
<row> </tr>
<entry>vmware_disktype property</entry> </thead>
<entry>VMDK disk type</entry> <tbody>
</row> <tr>
</thead> <td>sparse</td>
<tbody> <td>
<row> <para>Monolithic Sparse</para>
<entry>sparse</entry> </td>
<entry> </tr>
<para>Monolithic Sparse</para> <tr>
</entry> <td>thin</td>
</row> <td>
<row> <para>VMFS flat, thin provisioned</para>
<entry>thin</entry> </td>
<entry> </tr>
<para>VMFS flat, thin provisioned</para> <tr>
</entry> <td>preallocated (default)</td>
</row> <td>
<row> <para>VMFS flat,
<entry>preallocated (default)</entry> thick/zeroedthick/eagerzeroedthick</para>
<entry> </td>
<para>VMFS flat, thick/zeroedthick/eagerzeroedthick</para> </tr>
</entry> </tbody>
</row> </table>
</tbody>
</tgroup> <para>The <code>vmware_disktype</code> property is set when an
</table> image is loaded into the OpenStack Image Service. For example,
</para> the following command creates a Monolithic Sparse image by
<para>The <code>vmware_disktype</code> property is set when an image is loaded into the setting <code>vmware_disktype</code> to
OpenStack Image Service. For example, the following command creates a Monolithic Sparse <literal>sparse</literal>:</para>
image by setting <code>vmware_disktype</code> to "sparse":</para>
<screen><prompt>$</prompt> <userinput>glance image-create name="ubuntu-sparse" disk_format=vmdk \ <screen><prompt>$</prompt> <userinput>glance image-create name="ubuntu-sparse" disk_format=vmdk \
container_format=bare is_public=true \ container_format=bare is_public=true \
--property vmware_disktype="sparse" \ --property vmware_disktype="sparse" \
--property vmware_ostype="ubuntu64Guest" &lt; ubuntuLTS-sparse.vmdk</userinput></screen> --property vmware_ostype="ubuntu64Guest" &lt; ubuntuLTS-sparse.vmdk</userinput></screen>
<para>Note that specifying "thin" does not provide any advantage over "preallocated" with the <para>Note that specifying <literal>thin</literal> does not
current version of the driver. Future versions however may restore the thin properties of provide any advantage over <literal>preallocated</literal>
the disk after it is downloaded to a vSphere datastore.</para> with the current version of the driver. Future versions might
restore the thin properties of the disk after it is downloaded
to a vSphere data store.</para>
</section> </section>
<section xml:id="VMware_converting_images"> <section xml:id="VMware_converting_images">
<title>Converting and Loading Images</title> <title>Convert and load images</title>
<para>Using the <code>qemu-img</code> utility, disk images in several formats (e.g. qcow2) can <para>Using the <code>qemu-img</code> utility, disk images in
be converted to the VMDK format.</para> several formats (such as, qcow2) can be converted to the VMDK
<para>For example, the following command can be used to convert a <link format.</para>
<para>For example, the following command can be used to convert
a <link
xlink:href="http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img" xlink:href="http://cloud-images.ubuntu.com/precise/current/precise-server-cloudimg-amd64-disk1.img"
>qcow2 Ubuntu Precise cloud image</link>:</para> >qcow2 Ubuntu Precise cloud image</link>:</para>
<screen><prompt>$</prompt> <userinput>qemu-img convert -f raw ~/Downloads/precise-server-cloudimg-amd64-disk1.img \ <screen><prompt>$</prompt> <userinput>qemu-img convert -f raw ~/Downloads/precise-server-cloudimg-amd64-disk1.img \
-O vmdk precise-server-cloudimg-amd64-disk1.vmdk</userinput></screen> -O vmdk precise-server-cloudimg-amd64-disk1.vmdk</userinput></screen>
<para>VMDK disks converted via <code>qemu-img</code> are <emphasis role="italic" <para>VMDK disks converted through <code>qemu-img</code> are
>always</emphasis> monolithic sparse VMDK disks with an IDE adapter type. Using the above <emphasis role="italic">always</emphasis> monolithic sparse
example of the Precise Ubuntu image after the <code>qemu-img</code> conversion, the command VMDK disks with an IDE adapter type. Using the previous
to upload the VMDK disk should be something like:</para> example of the Precise Ubuntu image after the
<code>qemu-img</code> conversion, the command to upload the
VMDK disk should be something like:</para>
<screen><prompt>$</prompt> <userinput>glance image-create --name precise-cloud --is-public=True \ <screen><prompt>$</prompt> <userinput>glance image-create --name precise-cloud --is-public=True \
--container-format=bare --disk-format=vmdk \ --container-format=bare --disk-format=vmdk \
--property vmware_disktype="sparse" \ --property vmware_disktype="sparse" \
--property vmware_adaptertype="ide" &lt; \ --property vmware_adaptertype="ide" &lt; \
precise-server-cloudimg-amd64-disk1.vmdk</userinput></screen> precise-server-cloudimg-amd64-disk1.vmdk</userinput></screen>
<para>Note that the <code>vmware_disktype</code> is set to <emphasis role="italic" <para>Note that the <code>vmware_disktype</code> is set to
>sparse</emphasis> and the <code>vmware_adaptertype</code> is set to <emphasis <emphasis role="italic">sparse</emphasis> and the
role="italic">ide</emphasis> in the command above.</para> <code>vmware_adaptertype</code> is set to <emphasis
<para>If the image did not come from the <code>qemu-img</code> utility, the role="italic">ide</emphasis> in the previous command.</para>
<code>vmware_disktype</code> and <code>vmware_adaptertype</code> might be different. To <para>If the image did not come from the <code>qemu-img</code>
determine the image adapter type from an image file, use the following command and look for utility, the <code>vmware_disktype</code> and
the <code>ddb.adapterType=</code> line :</para> <code>vmware_adaptertype</code> might be different. To
determine the image adapter type from an image file, use the
following command and look for the
<code>ddb.adapterType=</code> line:</para>
<para> <para>
<screen><prompt>$</prompt> <userinput>head -20 &lt;vmdk file name></userinput></screen> <screen><prompt>$</prompt> <userinput>head -20 &lt;vmdk file name></userinput></screen>
</para> </para>
<para>Assuming a preallocated disk type and an iSCSI "lsiLogic" adapter type, below is the <para>Assuming a preallocated disk type and an iSCSI lsiLogic
command to upload the VMDK disk:</para> adapter type, the following command uploads the VMDK
disk:</para>
<screen><prompt>$</prompt> <userinput>glance image-create name="ubuntu-thick-scsi" disk_format=vmdk \ <screen><prompt>$</prompt> <userinput>glance image-create name="ubuntu-thick-scsi" disk_format=vmdk \
container_format=bare is_public=true \ container_format=bare is_public=true \
--property vmware_adaptertype="lsiLogic" \ --property vmware_adaptertype="lsiLogic" \
--property vmware_disktype="preallocated" \ --property vmware_disktype="preallocated" \
--property vmware_ostype="ubuntu64Guest" &lt; ubuntuLTS-flat.vmdk</userinput></screen> --property vmware_ostype="ubuntu64Guest" &lt; ubuntuLTS-flat.vmdk</userinput></screen>
<para>Currently, there is a limitation that OS boot VMDK disks with an IDE adapter type cannot <para>Currently, OS boot VMDK disks with an IDE adapter type
be attached to a virtual SCSI controller and likewise disks with one of the SCSI adapter cannot be attached to a virtual SCSI controller and likewise
types (e.g. busLogic, lsiLogic) cannot be attached to the IDE controller. Therefore, as the disks with one of the SCSI adapter types (such as, busLogic,
examples above show, it is important to set the <code>vmware_adaptertype</code> property lsiLogic) cannot be attached to the IDE controller. Therefore,
correctly. The default adapter type is "lsiLogic" which is SCSI, so you may omit the as the previous examples show, it is important to set the
vmware_adaptertype property if you are certain that the image adapter type is <code>vmware_adaptertype</code> property correctly. The
"lsiLogic."</para> default adapter type is lsiLogic, which is SCSI, so you can
omit the <parameter>vmware_adaptertype</parameter> property if
you are certain that the image adapter type is
lsiLogic.</para>
</section> </section>
<section xml:id="VMware_tagging_images"> <section xml:id="VMware_tagging_images">
<title>Tagging VMware Images</title> <title>Tag VMware images</title>
<para>In a mixed hypervisor environment, OpenStack Compute uses the <para>In a mixed hypervisor environment, OpenStack Compute uses
<code>hypervisor_type</code> tag to match images to the correct hypervisor type. For the <code>hypervisor_type</code> tag to match images to the
VMware images, set the hypervisor type to "vmware" as shown below. Other valid hypervisor correct hypervisor type. For VMware images, set the hypervisor
types include: xen, qemu, kvm, lxc, uml, hyperv, and powervm.</para> type to <literal>vmware</literal>. Other valid hypervisor
types include: xen, qemu, kvm, lxc, uml, hyperv, and
powervm.</para>
<screen><prompt>$</prompt> <userinput>glance image-create name="ubuntu-thick-scsi" disk_format=vmdk \ <screen><prompt>$</prompt> <userinput>glance image-create name="ubuntu-thick-scsi" disk_format=vmdk \
container_format=bare is_public=true \ container_format=bare is_public=true \
--property vmware_adaptertype="lsiLogic" \ --property vmware_adaptertype="lsiLogic" \
@ -302,135 +374,169 @@ container_format=bare is_public=true \
--property vmware_ostype="ubuntu64Guest" &lt; ubuntuLTS-flat.vmdk</userinput></screen> --property vmware_ostype="ubuntu64Guest" &lt; ubuntuLTS-flat.vmdk</userinput></screen>
</section> </section>
<section xml:id="VMware_optimizing_images"> <section xml:id="VMware_optimizing_images">
<title>Optimizing Images</title> <title>Optimize images</title>
<para>Monolithic Sparse disks are considerably faster to download but have the overhead of an <para>Monolithic Sparse disks are considerably faster to
additional conversion step. When imported into ESX, sparse disks get converted to VMFS flat download but have the overhead of an additional conversion
thin provisioned disks. The download and conversion steps only affect the first launched step. When imported into ESX, sparse disks get converted to
instance that uses the sparse disk image. The converted disk image is cached, so subsequent VMFS flat thin provisioned disks. The download and conversion
instances that use this disk image can simply use the cached version.</para> steps only affect the first launched instance that uses the
<para>To avoid the conversion step (at the cost of longer download times) consider converting sparse disk image. The converted disk image is cached, so
sparse disks to thin provisioned or preallocated disks before loading them into the subsequent instances that use this disk image can simply use
OpenStack Image Service. Below are some tools that can be used to pre-convert sparse the cached version.</para>
disks.</para> <para>To avoid the conversion step (at the cost of longer
download times) consider converting sparse disks to thin
provisioned or preallocated disks before loading them into the
OpenStack Image Service. Below are some tools that can be used
to pre-convert sparse disks.</para>
<orderedlist> <orderedlist>
<listitem><para><emphasis role="bold">Using vSphere CLI (or sometimes called the remote CLI or rCLI) <listitem>
tools</emphasis></para> <para><emphasis role="bold">Using vSphere CLI (or sometimes
<para>Assuming that the sparse disk is made available on a datastore accessible by an called the remote CLI or rCLI) tools</emphasis></para>
ESX host, the following command converts it to preallocated format:</para> <para>Assuming that the sparse disk is made available on a
data store accessible by an ESX host, the following
command converts it to preallocated format:</para>
<programlisting>vmkfstools --server=ip_of_some_ESX_host -i /vmfs/volumes/datastore1/sparse.vmdk /vmfs/volumes/datastore1/converted.vmdk</programlisting> <programlisting>vmkfstools --server=ip_of_some_ESX_host -i /vmfs/volumes/datastore1/sparse.vmdk /vmfs/volumes/datastore1/converted.vmdk</programlisting>
<para>(Note that the vifs tool from the same CLI package can be used to upload the disk to <para>(Note that the vifs tool from the same CLI package can
be converted. The vifs tool can also be used to download the converted disk if be used to upload the disk to be converted. The vifs tool
can also be used to download the converted disk if
necessary.)</para> necessary.)</para>
</listitem> </listitem>
<listitem><para><emphasis role="bold">Using vmkfstools directly on the ESX host</emphasis></para> <listitem>
<para>If the SSH service is enabled on an ESX host, the sparse disk can be uploaded to the <para><emphasis role="bold">Using vmkfstools directly on the
ESX datastore via scp and the vmkfstools local to the ESX host can use used to perform ESX host</emphasis></para>
the conversion: (After logging in to the host via ssh)</para> <para>If the SSH service is enabled on an ESX host, the
sparse disk can be uploaded to the ESX data store via scp
and the vmkfstools local to the ESX host can use used to
perform the conversion: (After logging in to the host via
ssh)</para>
<programlisting>vmkfstools -i /vmfs/volumes/datastore1/sparse.vmdk /vmfs/volumes/datastore1/converted.vmdk</programlisting> <programlisting>vmkfstools -i /vmfs/volumes/datastore1/sparse.vmdk /vmfs/volumes/datastore1/converted.vmdk</programlisting>
</listitem> </listitem>
<listitem> <listitem>
<para><emphasis role="bold">vmware-vdiskmanager</emphasis></para> <para><emphasis role="bold"
<para><code>vmware-vdiskmanager</code> is a utility that comes bundled with VMware Fusion and VMware >vmware-vdiskmanager</emphasis></para>
Workstation. Below is an example of converting a sparse disk to preallocated format:</para> <para><code>vmware-vdiskmanager</code> is a utility that
comes bundled with VMware Fusion and VMware Workstation.
Below is an example of converting a sparse disk to
preallocated format:</para>
<programlisting>'/Applications/VMware Fusion.app/Contents/Library/vmware-vdiskmanager' -r sparse.vmdk -t 4 converted.vmdk</programlisting> <programlisting>'/Applications/VMware Fusion.app/Contents/Library/vmware-vdiskmanager' -r sparse.vmdk -t 4 converted.vmdk</programlisting>
<para>In all of the above cases, the converted vmdk is actually a pair of files: the <para>In all of the above cases, the converted vmdk is
descriptor file <emphasis role="italic">converted.vmdk</emphasis> and the actual virtual actually a pair of files: the descriptor file <emphasis
disk data file <emphasis role="italic">converted-flat.vmdk</emphasis>. The file to be role="italic">converted.vmdk</emphasis> and the actual
uploaded to the OpenStack Image Service is <emphasis role="italic" virtual disk data file <emphasis role="italic"
>converted-flat.vmdk</emphasis>. The file to be uploaded
to the OpenStack Image Service is <emphasis role="italic"
>converted-flat.vmdk</emphasis>.</para> >converted-flat.vmdk</emphasis>.</para>
</listitem> </listitem>
</orderedlist> </orderedlist>
</section> </section>
<section xml:id="VMware_copying_images"> <section xml:id="VMware_copying_images">
<title>Image Handling</title> <title>Image handling</title>
<para>The ESX hypervisor requires a copy of the VMDK file in order to boot up a virtual <para>The ESX hypervisor requires a copy of the VMDK file in
machine. As a result, the vCenter OpenStack Compute driver must download the VMDK via HTTP order to boot up a virtual machine. As a result, the vCenter
from the OpenStack Image Service to a datastore that is visible to the hypervisor. To OpenStack Compute driver must download the VMDK via HTTP from
optimize this process, the first time a VMDK file is used, it gets cached in the datastore. the OpenStack Image Service to a data store that is visible to
Subsequent virtual machines that need the VMDK use the cached version and don't have to copy the hypervisor. To optimize this process, the first time a
the file again from the OpenStack Image Service.</para> VMDK file is used, it gets cached in the data store.
<para>Even with a cached VMDK, there is still a copy operation from the cache location to the Subsequent virtual machines that need the VMDK use the cached
hypervisor file directory in the shared datastore. To avoid this copy, boot the image in version and don't have to copy the file again from the
linked_clone mode. To learn how to enable this mode, see <xref linkend="VMWare_config"/>. OpenStack Image Service.</para>
Note also that it is possible to override the linked_clone mode on a per-image basis by <para>Even with a cached VMDK, there is still a copy operation
using the <code>vmware_linked_clone</code> property in the OpenStack Image Service.</para> from the cache location to the hypervisor file directory in
the shared data store. To avoid this copy, boot the image in
linked_clone mode. To learn how to enable this mode, see <xref
linkend="VMWare_config"/>. Note also that it is possible to
override the linked_clone mode on a per-image basis by using
the <code>vmware_linked_clone</code> property in the OpenStack
Image Service.</para>
</section> </section>
</section> </section>
<section xml:id="VMWare_networking"> <section xml:id="VMWare_networking">
<title>Networking with VMware vSphere</title> <title>Networking with VMware vSphere</title>
<para>The VMware driver supports networking with both <systemitem class="service">nova-network</systemitem> and the OpenStack Networking Service.</para> <para>The VMware driver supports networking with both <systemitem
class="service">nova-network</systemitem> and the OpenStack
Networking Service.</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
<para>If using <systemitem class="service">nova-network</systemitem> with the FlatManager or <para>If using <systemitem class="service"
FlatDHCPManager, before provisioning VMs, create a port group with the same name as the >nova-network</systemitem> with the FlatManager or
<literal>flat_network_bridge</literal> value in <filename>nova.conf</filename> (default FlatDHCPManager, before provisioning VMs, create a port
is <literal>br100</literal>). All VM NICs will be attached to this port group. Ensure the group with the same name as the
flat interface of the node running <systemitem class="service">nova-network</systemitem> has a path to this <literal>flat_network_bridge</literal> value in
<filename>nova.conf</filename> (default is
<literal>br100</literal>). All VM NICs will be attached to
this port group. Ensure the flat interface of the node
running <systemitem class="service"
>nova-network</systemitem> has a path to this
network.</para> network.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>If using <systemitem class="service">nova-network</systemitem> with the VlanManager, before provisioning VMs, make sure the <para>If using <systemitem class="service"
<literal>vlan_interface</literal> configuration option is set to match the ESX host interface >nova-network</systemitem> with the VlanManager, before
that will handle VLAN-tagged VM traffic. OpenStack Compute will automatically create the provisioning VMs, make sure the
corresponding port groups.</para> <literal>vlan_interface</literal> 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.</para>
</listitem> </listitem>
<listitem> <listitem>
<para>If using the OpenStack Networking Service, before provisioning VMs, create a port group <para>If using the OpenStack Networking Service, before
with the same name as the provisioning VMs, create a port group with the same name as
<literal>vmware.integration_bridge</literal> value in the <literal>vmware.integration_bridge</literal> value in
<filename>nova.conf</filename> (default is <filename>nova.conf</filename> (default is
<literal>br-int</literal>). All VM NICs will be attached to <literal>br-int</literal>). All VM NICs will be attached
this port group for management by the OpenStack Networking to this port group for management by the OpenStack
Plugin.</para> Networking plug-in.</para>
</listitem> </listitem>
</itemizedlist> </itemizedlist>
</section> </section>
<section xml:id="VMWare_volumes"> <section xml:id="VMWare_volumes">
<title>Volumes with VMware vSphere</title> <title>Volumes with VMware vSphere</title>
<para>The VMware driver supports attaching volumes from the OpenStack Block Storage service. The <para>The VMware driver supports attaching volumes from the
VMware VMDK driver for OpenStack Block Storage is recommended and should be used for managing OpenStack Block Storage service. The VMware VMDK driver for
volumes based on vSphere datastores. More information about the VMware VMDK driver can be OpenStack Block Storage is recommended and should be used for
found at: <link managing volumes based on vSphere data stores. More information
about the VMware VMDK driver can be found at: <link
xlink:href="http://docs.openstack.org/trunk/config-reference/content/vmware-vmdk-driver.html" xlink:href="http://docs.openstack.org/trunk/config-reference/content/vmware-vmdk-driver.html"
>VMware VMDK Driver</link>. There is also a "iscsi" volume driver which provides limited >VMware VMDK Driver</link>. Also an iscsi volume driver
support and can be used only for attachments.</para> provides limited support and can be used only for
attachments.</para>
</section> </section>
<section xml:id="VMWare_additional_config"> <section xml:id="VMWare_additional_config">
<title>vSphere 5.0 (and below) additional setup</title> <title>vSphere 5.0 and earlier additional set up</title>
<para>Users of vSphere 5.0 or earlier will need to locally host their WSDL files. These steps <para>Users of vSphere 5.0 or earlier must host their WSDL files
are applicable for vCenter 5.0 or ESXi 5.0 and you may accomplish this by either mirroring the locally. These steps are applicable for vCenter 5.0 or ESXi 5.0
WSDL from the vCenter or ESXi server you intend on using, or you may download the SDK directly and you can either mirror the WSDL from the vCenter or ESXi
from VMware. These are both workaround steps used to fix a <link server that you intend to use or you can download the SDK
directly from VMware. These workaround steps fix a <link
xlink:href="http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&amp;externalId=2010507" xlink:href="http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&amp;externalId=2010507"
>known issue</link> with the WSDL that was resolved in later versions.</para> >known issue</link> with the WSDL that was resolved in later
versions.</para>
<procedure> <procedure>
<title>Mirror WSDL from vCenter (or ESXi)</title> <title>Mirror WSDL from vCenter (or ESXi)</title>
<step> <step>
<para>You'll need the IP address for your vCenter or ESXi host that you'll be mirroring the <para>Set the <code>VMWAREAPI_IP</code> shell variable to the
files from. Set the shell variable <code>VMWAREAPI_IP</code> to the IP address to allow IP address for your vCenter or ESXi host from where you plan
you to cut and paste commands from these instructions: to mirror files. For example:</para>
<screen><prompt>$</prompt> <userinput>export VMWAREAPI_IP=&lt;your_vsphere_host_ip&gt;</userinput></screen> <screen><prompt>$</prompt> <userinput>export VMWAREAPI_IP=&lt;your_vsphere_host_ip&gt;</userinput></screen>
</para>
</step> </step>
<step> <step>
<para>Create a local file system directory to hold the WSDL files in. <para>Create a local file system directory to hold the WSDL
<screen><prompt>$</prompt> <userinput>mkdir -p /opt/stack/vmware/wsdl/5.0</userinput></screen> files:</para>
</para> <screen><prompt>$</prompt> <userinput>mkdir -p /opt/stack/vmware/wsdl/5.0</userinput></screen>
</step> </step>
<step> <step>
<para>Change into the new directory. <para>Change into the new directory.
<screen><prompt>$</prompt> <userinput>cd /opt/stack/vmware/wsdl/5.0</userinput></screen> <screen><prompt>$</prompt> <userinput>cd /opt/stack/vmware/wsdl/5.0</userinput> </screen></para>
</para>
</step> </step>
<step> <step>
<para>Install a command line tool that can download the files like <command>wget</command>. <para>Use your OS-specific tools to install a command-line
Install it with your OS specific tools.</para> tool that can download files like
<command>wget</command>.</para>
</step> </step>
<step> <step>
<para>Download the files to the local file cache. <para>Download the files to the local file cache:</para>
<programlisting language="bash">wget --no-check-certificate https://$VMWAREAPI_IP/sdk/vimService.wsdl <programlisting language="bash">wget --no-check-certificate https://$VMWAREAPI_IP/sdk/vimService.wsdl
wget --no-check-certificate https://$VMWAREAPI_IP/sdk/vim.wsdl wget --no-check-certificate https://$VMWAREAPI_IP/sdk/vim.wsdl
wget --no-check-certificate https://$VMWAREAPI_IP/sdk/core-types.xsd wget --no-check-certificate https://$VMWAREAPI_IP/sdk/core-types.xsd
wget --no-check-certificate https://$VMWAREAPI_IP/sdk/query-messagetypes.xsd wget --no-check-certificate https://$VMWAREAPI_IP/sdk/query-messagetypes.xsd
@ -438,53 +544,61 @@ wget --no-check-certificate https://$VMWAREAPI_IP/sdk/query-types.xsd
wget --no-check-certificate https://$VMWAREAPI_IP/sdk/vim-messagetypes.xsd wget --no-check-certificate https://$VMWAREAPI_IP/sdk/vim-messagetypes.xsd
wget --no-check-certificate https://$VMWAREAPI_IP/sdk/reflect-messagetypes.xsd wget --no-check-certificate https://$VMWAREAPI_IP/sdk/reflect-messagetypes.xsd
wget --no-check-certificate https://$VMWAREAPI_IP/sdk/reflect-types.xsd</programlisting> wget --no-check-certificate https://$VMWAREAPI_IP/sdk/reflect-types.xsd</programlisting>
There will be two files that did not fetch properly <filename>reflect-types.xsd</filename> <para>Because the <filename>reflect-types.xsd</filename> and
and <filename>reflect-messagetypes.xsd</filename>. These two files will need to be stubbed <filename>reflect-messagetypes.xsd</filename> files do not
out. The following XML listing can be used to replace the missing file content. The XML fetch properly, you must stub out these files. Use the
parser underneath Python can be very particular and if you put a space in the wrong place following XML listing to replace the missing file content.
it can break the parser. Copy the contents below carefully and watch the formatting The XML parser underneath Python can be very particular and
carefully. if you put a space in the wrong place, it can break the
<programlisting language="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt; parser. Copy the following contents and formatting
carefully.</para>
<programlisting language="xml">&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;schema &lt;schema
targetNamespace="urn:reflect" targetNamespace="urn:reflect"
xmlns="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
elementFormDefault="qualified"&gt; elementFormDefault="qualified"&gt;
&lt;/schema&gt; &lt;/schema&gt; </programlisting>
</programlisting>
</para>
</step> </step>
<step> <step>
<para>Now that the files are locally present, tell the driver to look for the SOAP service <para>Now that the files are locally present, tell the driver
WSDLs in the local file system and not on the remote vSphere server. The following setting to look for the SOAP service WSDLs in the local file system
should be added to the <filename>nova.conf</filename> for your <systemitem class="service">nova-compute</systemitem> node: and not on the remote vSphere server. Add the following
<programlisting language="ini">[vmware] setting to the <filename>nova.conf</filename> file for your
<systemitem class="service">nova-compute</systemitem>
node:</para>
<programlisting language="ini">[vmware]
wsdl_location=file:///opt/stack/vmware/wsdl/5.0/vimService.wsdl</programlisting> wsdl_location=file:///opt/stack/vmware/wsdl/5.0/vimService.wsdl</programlisting>
</para>
</step> </step>
</procedure> </procedure>
<para>Alternatively, download the version appropriate SDK from <link <para>Alternatively, download the version appropriate SDK from
<link
xlink:href="http://www.vmware.com/support/developer/vc-sdk/" xlink:href="http://www.vmware.com/support/developer/vc-sdk/"
>http://www.vmware.com/support/developer/vc-sdk/</link> and copy it into >http://www.vmware.com/support/developer/vc-sdk/</link> and
<filename>/opt/stack/vmware</filename>. You should ensure that the WSDL is available, in for copy it to the <filename>/opt/stack/vmware</filename> file. Make
example <filename>/opt/stack/vmware/SDK/wsdl/vim25/vimService.wsdl</filename>. Below we will sure that the WSDL is available, in for example
point <filename>nova.conf</filename> to fetch this WSDL file from the local file system using <filename>/opt/stack/vmware/SDK/wsdl/vim25/vimService.wsdl</filename>.
a URL.</para> You must point <filename>nova.conf</filename> to fetch this WSDL
<para>When using the VMwareVCDriver (i.e vCenter) with OpenStack Compute with vSphere version file from the local file system by using a URL.</para>
5.0 or below, <filename>nova.conf</filename> must include the following extra config <para>When using the VMwareVCDriver (vCenter) with OpenStack
option:</para> Compute with vSphere version 5.0 or earlier,
<filename>nova.conf</filename> must include the following
extra config option:</para>
<programlisting language="ini">[vmware] <programlisting language="ini">[vmware]
wsdl_location=file:///opt/stack/vmware/SDK/wsdl/vim25/vimService.wsdl</programlisting> wsdl_location=file:///opt/stack/vmware/SDK/wsdl/vim25/vimService.wsdl</programlisting>
</section> </section>
<section xml:id="VMWareESXDriver_details"> <section xml:id="VMWareESXDriver_details">
<title>Using the VMware ESX Driver</title> <title>VMware ESX driver</title>
<para>This section covers details of using the VMwareESXDriver. Note that the ESX Driver has not <para>This section covers details of using the VMwareESXDriver.
been extensively tested and is not recommended. To configure the VMware vCenter Driver The ESX Driver has not been extensively tested and is not
instead, see <xref linkend="VMWareVCDriver_details"/></para> recommended. To configure the VMware vCenter driver instead, see
<xref linkend="VMWareVCDriver_details"/>.</para>
<section xml:id="VMWareESXDriver_configuration_options"> <section xml:id="VMWareESXDriver_configuration_options">
<title>VMwareESXDriver configuration options</title> <title>VMwareESXDriver configuration options</title>
<para>When using the VMwareESXDriver (i.e., no vCenter) with OpenStack Compute, configure <para>When you use the VMwareESXDriver (no vCenter) with
<filename>nova.conf</filename> with the following VMware-specific config options:</para> OpenStack Compute, add the following VMware-specific
configuration options to the <filename>nova.conf</filename>
file:</para>
<programlisting language="ini">[DEFAULT] <programlisting language="ini">[DEFAULT]
compute_driver=vmwareapi.VMwareESXDriver compute_driver=vmwareapi.VMwareESXDriver
@ -493,21 +607,24 @@ host_ip=&lt;ESXi host IP&gt;
host_username=&lt;ESXi host username&gt; host_username=&lt;ESXi host username&gt;
host_password=&lt;ESXi host password&gt; host_password=&lt;ESXi host password&gt;
wsdl_location=http://127.0.0.1:8080/vmware/SDK/wsdl/vim25/vimService.wsdl</programlisting> wsdl_location=http://127.0.0.1:8080/vmware/SDK/wsdl/vim25/vimService.wsdl</programlisting>
<para>Remember that you will have one <systemitem class="service">nova-compute</systemitem> <para>Remember that you will have one <systemitem
service per ESXi host. It is recommended that this host run as a VM on the same ESXi host it class="service">nova-compute</systemitem> service per ESXi
is managing.</para> host. It is recommended that this host run as a VM on the same
<para>Also note that many of the <filename>nova.conf</filename> options mentioned elsewhere in ESXi host that it manages.</para>
this document that are relevant to libvirt do not apply to using this driver.</para> <note>
<para>Many <filename>nova.conf</filename> options are relevant
to libvirt but do not apply to this driver.</para>
</note>
</section> </section>
<section xml:id="VMwareESXDriver_limitations"> <section xml:id="VMwareESXDriver_limitations">
<title>Requirements and limitations</title> <title>Requirements and limitations</title>
<para>The ESXDriver is unable to take advantage of many of the advanced capabilities <para>The ESXDriver cannot use many of the vSphere platform
associated with the vSphere platform, namely vMotion, High Availability, and Dynamic advanced capabilities, namely vMotion, high availability, and
Resource Scheduler (DRS).</para> DRS.</para>
</section> </section>
</section> </section>
<section xml:id="VMWare_config"> <section xml:id="VMWare_config">
<title>Configuration Reference</title> <title>Configuration reference</title>
<xi:include href="../../common/tables/nova-vmware.xml"/> <xi:include href="../../common/tables/nova-vmware.xml"/>
</section> </section>
</section> </section>