[libvirt] [PATCH] fix detach-disk for inactive xen domains
by Jim Fehlig
detach-disk was not working for inactive xen domains due to lookup of
device ID from xenstore. When detaching disks there is no need to use
device id as device name can be used directly. Unfortunately that same
is not true for network devices. In fact, AFAICT, there is no way to
"hot unplug" a network device from inactive domain using xen tools.
I have tested attaching/detaching disks to/from both active and inactive
domains. I've also ensured no regressions in attaching/detaching
network devices on active domains and attaching network devices on
inactive domains. As noted above, detaching network devices from
inactive domains does not work, but I'm not sure what we can do about
that since xen tools themselves don't support this. Any suggestions are
kindly welcomed. Oh, and I also ensured all of these scenarios work
with both PV and HVM domains.
Regards,
Jim
15 years
[libvirt] [PATCH] esx: Add documentation to the website
by Matthias Bolte
* docs/drivers.html.in: list the ESX driver
* docs/drvesx.html.in: the new ESX driver documentation
* docs/hvsupport.html.in: add the ESX driver to the matrix
* docs/index.html.in, docs/sitemap.html.in: list the ESX driver
* src/esx/esx_driver.c: fix and cleanup some comments
---
docs/drivers.html.in | 1 +
docs/drvesx.html.in | 497 ++++++++++++++++++++++++++++++++++++++++++++++++
docs/hvsupport.html.in | 69 +++++++-
docs/index.html.in | 3 +
docs/sitemap.html.in | 4 +
src/esx/esx_driver.c | 8 +-
6 files changed, 574 insertions(+), 8 deletions(-)
create mode 100644 docs/drvesx.html.in
diff --git a/docs/drivers.html.in b/docs/drivers.html.in
index 983115a..7e31434 100644
--- a/docs/drivers.html.in
+++ b/docs/drivers.html.in
@@ -24,6 +24,7 @@
<li><strong><a href="drvopenvz.html">OpenVZ</a></strong></li>
<li><strong><a href="drvvbox.html">VirtualBox</a></strong></li>
<li><strong><a href="drvone.html">OpenNebula</a></strong></li>
+ <li><strong><a href="drvesx.html">VMware ESX</a></strong></li>
</ul>
</body>
</html>
diff --git a/docs/drvesx.html.in b/docs/drvesx.html.in
new file mode 100644
index 0000000..893c1e2
--- /dev/null
+++ b/docs/drvesx.html.in
@@ -0,0 +1,497 @@
+<html><body>
+ <h1>VMware ESX hypervisor driver</h1>
+ <ul id="toc"></ul>
+ <p>
+ The libvirt VMware ESX driver can manage VMware ESX/ESXi 3.5/4.0 and
+ VMware GSX 2.0, also called VMware Server 2.0, and possibly later
+ versions.
+ </p>
+
+
+ <h2><a name="prereq">Deployment pre-requisites</a></h2>
+ <p>
+ None. Any out-of-the-box installation of ESX/GSX should work. No
+ preparations are required on the server side, no libvirtd must be
+ installed on the ESX server. The driver uses version 2.5 of the remote,
+ SOAP based
+ <a href="http://www.vmware.com/support/developer/vc-sdk/visdk25pubs/ReferenceGuide/">
+ VMware Virtual Infrastructure API</a> to communicate with the
+ ESX server, like the VMware Virtual Infrastructure Client does. Since
+ version 4.0 this API is called
+ <a href="http://www.vmware.com/support/developer/vc-sdk/visdk400pubs/ReferenceGuide/">
+ VMware vSphere API</a>.
+ </p>
+
+ <h2><a name="uri">Connections to the VMware ESX driver</a></h2>
+ <p>
+ Some example remote connection URIs for the driver are:
+ </p>
+<pre>
+esx://example.com (ESX over HTTPS)
+gsx://example.com (GSX over HTTPS)
+esx://example.com/?transport=http (ESX over HTTP)
+esx://example.com/?no_verify=1 (ESX over HTTPS, but doesn't verify the server's SSL certificate)
+</pre>
+
+
+ <h3><a name="uriformat">URI Format</a></h3>
+ <p>
+ URIs have this general form ('[...]' marks an optional part).
+ </p>
+<pre>
+type://[username@]hostname[:port]/[?extraparameters]
+</pre>
+ <p>
+ The <code>type://</code> is either <code>esx://</code> or
+ <code>gsx://</code> and the driver selects the default port depending
+ on it. For ESX the default HTTPS port is 443, for GSX it is 8333. If
+ the port parameter is given, it overrides the default port.
+ </p>
+
+
+ <h4>Extra parameters</h4>
+ <p>
+ Extra parameters can be added to a URI as part of the query string
+ (the part following '?'). The driver understands the extra parameters
+ shown below.
+ </p>
+ <table class="top_table">
+ <tr>
+ <th>Name</th>
+ <th>Values</th>
+ <th>Meaning</th>
+ </tr>
+ <tr>
+ <td>
+ <code>transport</code>
+ </td>
+ <td>
+ <code>http</code> or <code>https</code>
+ </td>
+ <td>
+ Overrides the default HTTPS transport. For ESX the default
+ HTTP port is 80, for GSX it is 8222.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <code>vcenter</code>
+ </td>
+ <td>
+ Hostname of a VMware vCenter
+ </td>
+ <td>
+ In order to perform a migration the driver needs to know the
+ VMware vCenter for the ESX server.
+ </td>
+ </tr>
+ <tr>
+ <td>
+ <code>no_verify</code>
+ </td>
+ <td>
+ <code>0</code> or <code>1</code>
+ </td>
+ <td>
+ If set to 1, this disables libcurl client checks of the server's
+ SSL certificate. The default value it 0.
+ </td>
+ </tr>
+ </table>
+
+
+ <h3><a name="auth">Authentication</a></h3>
+ <p>
+ In order to perform any useful operation the driver needs to log into
+ the ESX server. Therefore, only <code>virConnectOpenAuth</code> can be
+ used to connect to an ESX server, <code>virConnectOpen</code> and
+ <code>virConnectOpenReadOnly</code> don't work.
+ To log into an ESX server or vCenter the driver will request
+ credentials using the callback passed to the
+ <code>virConnectOpenAuth</code> function. The driver passes the
+ hostname as challenge parameter to the callback. This enables the
+ callback to distinguish between requests for ESX server and vCenter.
+ </p>
+ <p>
+ <strong>Note</strong>: During the ongoing driver development, testing
+ is done using an unrestricted <code>root</code> account. Problems may
+ occur if you use a restricted account. Detailed testing with restricted
+ accounts has not been done yet.
+ </p>
+
+
+ <h2><a name="xmlspecial">Specialties in the domain XML config</a></h2>
+ <p>
+ There are several specialties in the domain XML config for ESX domains.
+ </p>
+
+ <h3>Restrictions</h3>
+ <p>
+ There are some restrictions for some values of the domain XML config.
+ The driver will complain if this restrictions are violated.
+ </p>
+ <ul>
+ <li>
+ Memory size has to be a multiple of 4096
+ </li>
+ <li>
+ Number of virtual CPU has to be 1 or a multiple of 2
+ </li>
+ <li>
+ Valid MAC address prefixes are <code>00:0c:29</code> and
+ <code>00:50:56</code>
+ </li>
+ </ul>
+
+
+ <h3>Datastore references</h3>
+ <p>
+ Storage is managed in datastores. VMware uses a special path format to
+ reference files in a datastore. Basically, the datastore name is put
+ into squared braces in front of the path.
+ </p>
+<pre>
+[datastore] directory/filename
+</pre>
+ <p>
+ To define a new domain the driver converts the domain XML into a
+ VMware VMX file and uploads it to a datastore known to the ESX server.
+ Because multiple datastores may be known to an ESX server the driver
+ needs to decide to which datastores the VMX file should be uploaded.
+ The driver deduces this information from the path of the source of the
+ first file-based harddisk listed in the domain XML.
+ </p>
+
+
+ <h3>Available hardware</h3>
+ <p>
+ VMware ESX supports different models of SCSI controllers and network
+ cards.
+ </p>
+
+ <h4>SCSI controller models</h4>
+ <dl>
+ <dt><code>buslogic</code></dt>
+ <dd>
+ BusLogic SCSI controller for older guests.
+ </dd>
+ <dt><code>lsilogic</code></dt>
+ <dd>
+ LSI Logic SCSI controller for recent guests.
+ </dd>
+ </dl>
+ <p>
+ Here a domain XML snippet:
+ </p>
+<pre>
+ ...
+ <disk type='file' device='disk'>
+ <driver name='<strong>lsilogic</strong>'/>
+ <source file='[local-storage] Fedora11/Fedora11.vmdk'/>
+ <target dev='sda' bus='scsi'/>
+ </disk>
+ ...
+</pre>
+
+
+ <h4>Network card models</h4>
+ <dl>
+ <dt><code>vlance</code></dt>
+ <dd>
+ AMD PCnet32 network card for older guests.
+ </dd>
+ <dt><code>vmxnet</code>, <code>vmxnet3</code></dt>
+ <dd>
+ Special VMware VMXnet network card, requires VMware tools inside
+ the guest.
+ </dd>
+ <dt><code>e1000</code></dt>
+ <dd>
+ Intel E1000 network card for recent guests.
+ </dd>
+ </dl>
+ <p>
+ Here a domain XML snippet:
+ </p>
+<pre>
+ ...
+ <interface type='bridge'>
+ <mac address='00:50:56:25:48:c7'/>
+ <source bridge='VM Network'/>
+ <model type='<strong>e1000</strong>'/>
+ </interface>
+ ...
+</pre>
+
+
+ <h2><a name="importexport">Import and export of domain XML configs</a></h2>
+ <p>
+ The ESX driver currently supports a native config format known as
+ <code>vmware-vmx</code> to handle VMware VMX configs.
+ </p>
+
+
+ <h3><a name="xmlimport">Converting from VMware VMX config to domain XML config</a></h3>
+ <p>
+ The <code>virsh domxml-from-native</code> provides a way to convert an
+ existing VMware VMX config into a domain XML config that can then be
+ used by libvirt.
+ </p>
+<pre>
+$ cat > demo.vmx << EOF
+#!/usr/bin/vmware
+config.version = "8"
+virtualHW.version = "4"
+floppy0.present = "false"
+nvram = "Fedora11.nvram"
+deploymentPlatform = "windows"
+virtualHW.productCompatibility = "hosted"
+tools.upgrade.policy = "useGlobal"
+powerType.powerOff = "default"
+powerType.powerOn = "default"
+powerType.suspend = "default"
+powerType.reset = "default"
+displayName = "Fedora11"
+extendedConfigFile = "Fedora11.vmxf"
+scsi0.present = "true"
+scsi0.sharedBus = "none"
+scsi0.virtualDev = "lsilogic"
+memsize = "1024"
+scsi0:0.present = "true"
+scsi0:0.fileName = "/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/Fedora11/Fedora11.vmdk"
+scsi0:0.deviceType = "scsi-hardDisk"
+ide0:0.present = "true"
+ide0:0.clientDevice = "true"
+ide0:0.deviceType = "cdrom-raw"
+ide0:0.startConnected = "false"
+ethernet0.present = "true"
+ethernet0.networkName = "VM Network"
+ethernet0.addressType = "vpx"
+ethernet0.address = "00:50:56:91:48:c7"
+chipset.onlineStandby = "false"
+guestOSAltName = "Red Hat Enterprise Linux 5 (32-Bit)"
+guestOS = "rhel5"
+uuid.bios = "50 11 5e 16 9b dc 49 d7-f1 71 53 c4 d7 f9 17 10"
+snapshot.action = "keep"
+sched.cpu.min = "0"
+sched.cpu.units = "mhz"
+sched.cpu.shares = "normal"
+sched.mem.minsize = "0"
+sched.mem.shares = "normal"
+toolScripts.afterPowerOn = "true"
+toolScripts.afterResume = "true"
+toolScripts.beforeSuspend = "true"
+toolScripts.beforePowerOff = "true"
+scsi0:0.redo = ""
+tools.syncTime = "false"
+uuid.location = "56 4d b5 06 a2 bd fb eb-ae 86 f7 d8 49 27 d0 c4"
+sched.cpu.max = "unlimited"
+sched.swap.derivedName = "/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/Fedora11/Fedora11-7de040d8.vswp"
+tools.remindInstall = "TRUE"
+EOF
+
+$ virsh -c esx://example.com domxml-from-native vmware-vmx demo.vmx
+Enter username for example.com [root]:
+Enter root password for example.com:
+<domain type='vmware'>
+ <name>Fedora11</name>
+ <uuid>50115e16-9bdc-49d7-f171-53c4d7f91710</uuid>
+ <memory>1048576</memory>
+ <currentMemory>1048576</currentMemory>
+ <vcpu>1</vcpu>
+ <os>
+ <type arch='i686'>hvm</type>
+ </os>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>destroy</on_crash>
+ <devices>
+ <disk type='file' device='disk'>
+ <driver name='lsilogic'/>
+ <source file='[local-storage] Fedora11/Fedora11.vmdk'/>
+ <target dev='sda' bus='scsi'/>
+ </disk>
+ <interface type='bridge'>
+ <mac address='00:50:56:91:48:c7'/>
+ <source bridge='VM Network'/>
+ </interface>
+ </devices>
+</domain>
+</pre>
+
+
+ <h3><a name="xmlexport">Converting from domain XML config to VMware VMX config</a></h3>
+ <p>
+ The <code>virsh domxml-to-native</code> provides a way to convert a
+ domain XML config into a VMware VMX config.
+ </p>
+<pre>
+$ cat > demo.xml << EOF
+<domain type='vmware'>
+ <name>Fedora11</name>
+ <uuid>50115e16-9bdc-49d7-f171-53c4d7f91710</uuid>
+ <memory>1048576</memory>
+ <currentMemory>1048576</currentMemory>
+ <vcpu>1</vcpu>
+ <os>
+ <type arch='x86_64'>hvm</type>
+ </os>
+ <devices>
+ <disk type='file' device='disk'>
+ <driver name='lsilogic'/>
+ <source file='[local-storage] Fedora11/Fedora11.vmdk'/>
+ <target dev='sda' bus='scsi'/>
+ </disk>
+ <interface type='bridge'>
+ <mac address='00:50:56:25:48:c7'/>
+ <source bridge='VM Network'/>
+ </interface>
+ </devices>
+</domain>
+EOF
+
+$ virsh -c esx://example.com domxml-to-native vmware-vmx demo.xml
+Enter username for example.com [root]:
+Enter root password for example.com:
+config.version = "8"
+virtualHW.version = "4"
+guestOS = "other-64"
+uuid.bios = "50 11 5e 16 9b dc 49 d7-f1 71 53 c4 d7 f9 17 10"
+displayName = "Fedora11"
+memsize = "1024"
+numvcpus = "1"
+scsi0.present = "true"
+scsi0.virtualDev = "lsilogic"
+scsi0:0.present = "true"
+scsi0:0.deviceType = "scsi-hardDisk"
+scsi0:0.fileName = "/vmfs/volumes/local-storage/Fedora11/Fedora11.vmdk"
+ethernet0.present = "true"
+ethernet0.networkName = "VM Network"
+ethernet0.connectionType = "bridged"
+ethernet0.addressType = "static"
+ethernet0.address = "00:50:56:25:48:C7"
+</pre>
+
+
+ <h2><a name="xmlconfig">Example domain XML configs</a></h2>
+
+ <h3>Fedora11 on x86_64</h3>
+<pre>
+<domain type='vmware'>
+ <name>Fedora11</name>
+ <uuid>50115e16-9bdc-49d7-f171-53c4d7f91710</uuid>
+ <memory>1048576</memory>
+ <currentMemory>1048576</currentMemory>
+ <vcpu>1</vcpu>
+ <os>
+ <type arch='x86_64'>hvm</type>
+ </os>
+ <devices>
+ <disk type='file' device='disk'>
+ <source file='[local-storage] Fedora11/Fedora11.vmdk'/>
+ <target dev='sda' bus='scsi'/>
+ </disk>
+ <interface type='bridge'>
+ <mac address='00:50:56:25:48:c7'/>
+ <source bridge='VM Network'/>
+ </interface>
+ </devices>
+</domain>
+</pre>
+
+
+ <h2><a name="migration">Migration</a></h2>
+ <p>
+ A migration cannot be initiated on an ESX server directly, a VMware
+ vCenter is necessary for this. The vCenter hostname has to be passed
+ to the driver via the <code>vcenter</code> query parameter.
+ </p>
+<pre>
+esx://example.com/?vcenter=example-vcenter.com
+</pre>
+ <p>
+ Here an example how to migrate the domain <code>Fedora11</code> from
+ ESX server <code>example-src.com</code> to ESX server
+ <code>example-dst.com</code> involving vCenter
+ <code>example-vcenter.com</code> using <code>virsh</code>.
+ </p>
+<pre>
+$ virsh -c esx://example-src.com/?vcenter=example-vcenter.com migrate Fedora11 esx://example-dst.com/?vcenter=example-vcenter.com
+Enter username for example-src.com [root]:
+Enter root password for example-src.com:
+Enter username for example-vcenter.com [administrator]:
+Enter administrator password for example-vcenter.com:
+Enter username for example-dst.com [root]:
+Enter root password for example-dst.com:
+Enter username for example-vcenter.com [administrator]:
+Enter administrator password for example-vcenter.com:
+</pre>
+
+
+ <h2><a name="scheduler">Scheduler configuration</a></h2>
+ <p>
+ The driver exposes the ESX CPU scheduler. The parameters listed below
+ are available to control the scheduler.
+ </p>
+ <dl>
+ <dt><code>reservation</code></dt>
+ <dd>
+ The amount of CPU resource in MHz that is guaranteed to be
+ available to the domain. Valid values are 0 and greater.
+ </dd>
+ <dt><code>limit</code></dt>
+ <dd>
+ The CPU utilization of the domain will be
+ limited to this value in MHz, even if more CPU resources are
+ available. If the limit is set to -1, the CPU utilization of the
+ domain is unlimited. If the limit is not set to -1, it must be
+ greater than or equal to the reservation.
+ </dd>
+ <dt><code>shares</code></dt>
+ <dd>
+ Shares are used to determine relative CPU
+ allocation between domains. In general, a domain with more shares
+ gets proportionally more of the CPU resource. Valid values are 0
+ and greater. The special values -1, -2 and -3 represent the
+ predefined shares level <code>low</code>, <code>normal</code> and
+ <code>high</code>.
+ </dd>
+ </dl>
+
+
+ <h2><a name="tools">VMware tools</a></h2>
+ <p>
+ Some actions require installed VMware tools. If the VMware tools are
+ not installed in the guest and one of the actions below is to be
+ performed the ESX server raises an error and the driver reports it.
+ </p>
+ <ul>
+ <li>
+ <code>virDomainReboot</code>
+ </li>
+ <li>
+ <code>virDomainShutdown</code>
+ </li>
+ </ul>
+
+
+ <h2><a name="links">Links</a></h2>
+ <ul>
+ <li>
+ <a href="http://www.vmware.com/support/developer/vc-sdk/">
+ VMware vSphere Web Services SDK Documentation
+ </a>
+ </li>
+ <li>
+ <a href="http://www.vmware.com/pdf/esx3_memory.pdf">
+ The Role of Memory in VMware ESX Server 3
+ </a>
+ </li>
+ <li>
+ <a href="http://www.sanbarrow.com/vmx.html">
+ VMware VMX config parameters
+ </a>
+ </li>
+ </ul>
+</body></html>
diff --git a/docs/hvsupport.html.in b/docs/hvsupport.html.in
index 4775561..4cc2634 100644
--- a/docs/hvsupport.html.in
+++ b/docs/hvsupport.html.in
@@ -23,6 +23,7 @@ updated on <i>2008-06-05</i>.
<th><a href="remote.html">Remote</a></th>
<th><a href="drvvbox.html">VirtualBox</a></th>
<th><a href="drvone.html">ONE</a></th>
+ <th><a href="drvesx.html">ESX</a></th>
</tr>
<tr>
<td> virConnectClose </td>
@@ -33,6 +34,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virConnectGetCapabilities </td>
@@ -43,6 +45,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.1 </td>
</tr>
<tr>
<td> virConnectGetHostname </td>
@@ -53,6 +56,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> x </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virConnectGetMaxVcpus </td>
@@ -63,6 +67,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> x </td>
<td> x </td>
+ <td> x </td>
</tr>
<tr>
<td> virConnectGetType </td>
@@ -73,6 +78,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virConnectGetURI </td>
@@ -83,6 +89,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virConnectGetVersion </td>
@@ -93,6 +100,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virConnectListDefinedDomains </td>
@@ -103,6 +111,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virConnectListDomains </td>
@@ -113,6 +122,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virConnectNumOfDefinedDomains </td>
@@ -123,6 +133,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virConnectNumOfDomains </td>
@@ -133,6 +144,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virConnectOpen </td>
@@ -143,6 +155,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> x </td>
</tr>
<tr>
<td> virConnectOpenAuth </td>
@@ -153,6 +166,7 @@ updated on <i>2008-06-05</i>.
<td> </td>
<td> </td>
<td> </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virConnectOpenReadOnly </td>
@@ -163,6 +177,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> x </td>
<td> x </td>
+ <td> x </td>
</tr>
<tr>
<td> virDomainAttachDevice </td>
@@ -173,6 +188,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> x </td>
+ <td> x </td>
</tr>
<tr>
<td> virDomainBlockPeek </td>
@@ -183,6 +199,7 @@ updated on <i>2008-06-05</i>.
<td> x </td>
<td> x </td>
<td> x </td>
+ <td> x </td>
</tr>
<tr>
<td> virDomainBlockStats </td>
@@ -193,6 +210,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.2 </td>
<td> x </td>
<td> x </td>
+ <td> x </td>
</tr>
<tr>
<td> virDomainCoreDump </td>
@@ -203,6 +221,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> x </td>
<td> x </td>
+ <td> x </td>
</tr>
<tr>
<td> virDomainCreate </td>
@@ -213,6 +232,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainCreateLinux </td>
@@ -223,6 +243,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> x </td>
</tr>
<tr>
<td> virDomainDefineXML </td>
@@ -233,6 +254,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.2 </td>
</tr>
<tr>
<td> virDomainDestroy </td>
@@ -243,6 +265,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainDetachDevice </td>
@@ -253,6 +276,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> x </td>
+ <td> x </td>
</tr>
<tr>
<td> virDomainFree </td>
@@ -263,6 +287,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainGetAutostart </td>
@@ -273,11 +298,12 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> x </td>
<td> x </td>
+ <td> x </td>
</tr>
<tr>
<td> virDomainGetConnect </td>
<td> 0.3.0 </td>
- <td colspan="6"> not a HV function </td>
+ <td colspan="7"> not a HV function </td>
</tr>
<tr>
<td> virDomainGetID </td>
@@ -288,6 +314,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainGetInfo </td>
@@ -298,6 +325,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainGetMaxMemory </td>
@@ -308,6 +336,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> x </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainGetMaxVcpus </td>
@@ -318,6 +347,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> x </td>
<td> x </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainGetName </td>
@@ -328,6 +358,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainGetOSType </td>
@@ -338,6 +369,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainGetSchedulerParameters </td>
@@ -348,6 +380,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> x </td>
<td> x </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainGetSchedulerType </td>
@@ -358,6 +391,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> x </td>
<td> x </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainGetUUID </td>
@@ -368,6 +402,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainGetUUIDString </td>
@@ -378,6 +413,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainGetVcpus </td>
@@ -388,6 +424,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> x </td>
<td> x </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainInterfaceStats </td>
@@ -398,6 +435,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.2 </td>
<td> x </td>
<td> x </td>
+ <td> x </td>
</tr>
<tr>
<td> virDomainGetXMLDesc </td>
@@ -408,6 +446,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> x </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainLookupByID </td>
@@ -418,6 +457,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainLookupByName </td>
@@ -428,6 +468,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainLookupByUUID </td>
@@ -438,6 +479,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainLookupByUUIDString </td>
@@ -448,6 +490,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainMigrate </td>
@@ -458,6 +501,7 @@ updated on <i>2008-06-05</i>.
<td> 0.3.2 </td>
<td> x </td>
<td> x </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainPinVcpu </td>
@@ -468,6 +512,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> x </td>
<td> x </td>
+ <td> x </td>
</tr>
<tr>
<td> virDomainReboot </td>
@@ -478,6 +523,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> x </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainRestore </td>
@@ -488,7 +534,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> x </td>
<td> x </td>
-
+ <td> x </td>
</tr>
<tr>
<td> virDomainResume </td>
@@ -499,6 +545,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainSave </td>
@@ -509,6 +556,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> x </td>
+ <td> x </td>
</tr>
<tr>
<td> virDomainSetAutostart </td>
@@ -519,6 +567,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> x </td>
<td> x </td>
+ <td> x </td>
</tr>
<tr>
<td> virDomainSetMaxMemory </td>
@@ -528,6 +577,8 @@ updated on <i>2008-06-05</i>.
<td> x </td>
<td> ≥ 0.3.0 </td>
<td> x </td>
+ <td> x </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainSetMemory </td>
@@ -538,6 +589,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> x </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainSetSchedulerParameters </td>
@@ -548,6 +600,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> x </td>
<td> x </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainSetVcpus </td>
@@ -558,6 +611,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> x </td>
<td> x </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainShutdown </td>
@@ -568,6 +622,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainSuspend </td>
@@ -578,6 +633,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virDomainUndefine </td>
@@ -588,17 +644,18 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> ≥ 0.6.4 </td>
+ <td> ≥ 0.7.1 </td>
</tr>
<tr>
<td> virGetVersion </td>
<td> All </td>
<td> All </td>
- <td colspan="5"> Returns -1 if HV unsupported. </td>
+ <td colspan="6"> Returns -1 if HV unsupported. </td>
</tr>
<tr>
<td> virInitialize </td>
<td> 0.1.0 </td>
- <td colspan="6"> not a HV function </td>
+ <td colspan="7"> not a HV function </td>
</tr>
<tr>
<td> virDomainMemoryPeek </td>
@@ -609,6 +666,7 @@ updated on <i>2008-06-05</i>.
<td> x </td>
<td> x </td>
<td> x </td>
+ <td> x </td>
</tr>
<tr>
<td> virNodeGetInfo </td>
@@ -619,6 +677,7 @@ updated on <i>2008-06-05</i>.
<td> ≥ 0.3.0 </td>
<td> ≥ 0.6.3 </td>
<td> x </td>
+ <td> ≥ 0.7.0 </td>
</tr>
<tr>
<td> virNodeGetFreeMemory </td>
@@ -629,6 +688,7 @@ updated on <i>2008-06-05</i>.
<td> x </td>
<td> x </td>
<td> x </td>
+ <td> ≥ 0.7.2 </td>
</tr>
<tr>
<td> virNodeGetCellsFreeMemory </td>
@@ -639,6 +699,7 @@ updated on <i>2008-06-05</i>.
<td> x </td>
<td> x </td>
<td> x </td>
+ <td> x </td>
</tr>
</table>
<h3>Network functions</h3>
diff --git a/docs/index.html.in b/docs/index.html.in
index efb7e8a..57ea84e 100644
--- a/docs/index.html.in
+++ b/docs/index.html.in
@@ -56,6 +56,9 @@
The <a href="http://www.virtualbox.org/">VirtualBox</a> hypervisor
</li>
<li>
+ The <a href="http://www.vmware.com/">VMware ESX and GSX</a> hypervisors
+ </li>
+ <li>
Storage on IDE/SCSI/USB disks, FibreChannel, LVM, iSCSI, NFS and filesystems
</li>
</ul>
diff --git a/docs/sitemap.html.in b/docs/sitemap.html.in
index a999da4..424897f 100644
--- a/docs/sitemap.html.in
+++ b/docs/sitemap.html.in
@@ -160,6 +160,10 @@
<a href="drvone.html">OpenNebula</a>
<span>Driver for OpenNebula</span>
</li>
+ <li>
+ <a href="drvesx.html">VMware ESX</a>
+ <span>Driver for VMware ESX</span>
+ </li>
</ul>
</li>
<li>
diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c
index fe75aa3..b84250c 100644
--- a/src/esx/esx_driver.c
+++ b/src/esx/esx_driver.c
@@ -247,7 +247,7 @@ esxCapsInit(virConnectPtr conn)
* If no port is specified the default port is set dependent on the scheme and
* transport parameter:
* - esx+http 80
- * - esx+https 433
+ * - esx+https 443
* - gsx+http 8222
* - gsx+https 8333
*
@@ -2791,13 +2791,13 @@ esxDomainUndefine(virDomainPtr domain)
*
* - reservation (VIR_DOMAIN_SCHED_FIELD_LLONG >= 0, in megaherz)
*
- * Amount of CPU resource that is guaranteed available to the domain.
+ * The amount of CPU resource that is guaranteed to be available to the domain.
*
*
* - limit (VIR_DOMAIN_SCHED_FIELD_LLONG >= 0, or -1, in megaherz)
*
- * The CPU utilization of the domain will not exceed this limit, even if
- * there are available CPU resources. If the limit is set to -1, the CPU
+ * The CPU utilization of the domain will be limited to this value, even if
+ * more CPU resources are available. If the limit is set to -1, the CPU
* utilization of the domain is unlimited. If the limit is not set to -1, it
* must be greater than or equal to the reservation.
*
--
1.6.0.4
15 years
[libvirt] [PATCH] esx: Fix CPU clock Hz to MHz conversion
by Matthias Bolte
---
src/esx/esx_driver.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/esx/esx_driver.c b/src/esx/esx_driver.c
index b84250c..5737fe9 100644
--- a/src/esx/esx_driver.c
+++ b/src/esx/esx_driver.c
@@ -878,7 +878,7 @@ esxNodeGetInfo(virConnectPtr conn, virNodeInfoPtr nodeinfo)
nodeinfo->memory = memorySize / 1024; /* Scale from bytes to kilobytes */
nodeinfo->cpus = cpuInfo_numCpuCores;
- nodeinfo->mhz = cpuInfo_hz / (1024 * 1024); /* Scale from hz to mhz */
+ nodeinfo->mhz = cpuInfo_hz / (1000 * 1000); /* Scale from hz to mhz */
nodeinfo->nodes = numaInfo_numNodes;
nodeinfo->sockets = cpuInfo_numCpuPackages;
nodeinfo->cores = cpuInfo_numCpuPackages > 0
--
1.6.0.4
15 years
[libvirt] [PATCH] esx: Fix memory leak in esxVI_HostCpuIdInfo_Free()
by Matthias Bolte
---
src/esx/esx_vi_types.c | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/src/esx/esx_vi_types.c b/src/esx/esx_vi_types.c
index 73d3069..9af9f73 100644
--- a/src/esx/esx_vi_types.c
+++ b/src/esx/esx_vi_types.c
@@ -1496,6 +1496,7 @@ ESX_VI__TEMPLATE__FREE(HostCpuIdInfo,
{
esxVI_HostCpuIdInfo_Free(&item->_next);
+ esxVI_Int_Free(&item->level);
VIR_FREE(item->vendor);
VIR_FREE(item->eax);
VIR_FREE(item->ebx);
--
1.6.0.4
15 years
[libvirt] [PATCH] esx: Fix MAC address formatting
by Matthias Bolte
VMware uses two MAC address prefixes: 00:0c:29 and 00:50:56. The 00:0c:29
prefix is used for ESX server generated addresses. The 00:50:56 prefix is
split into two parts. MAC addresses above 00:50:56:3f:ff:ff are generated
by a vCenter. The rest of the 00:50:56 prefix can be assigned manually.
Any MAC address within the 00:0c:29 and 00:50:56 prefix can be specified
in a domain XML config and the driver will handle the details internally.
* src/esx/esx_vmx.c: fix MAC address formatting
* tests/xml2vmxdata/*: update test files accordingly
---
src/esx/esx_vmx.c | 21 ++++++++++++++++++---
tests/xml2vmxdata/xml2vmx-esx-in-the-wild-1.vmx | 2 +-
tests/xml2vmxdata/xml2vmx-esx-in-the-wild-2.vmx | 1 +
tests/xml2vmxdata/xml2vmx-esx-in-the-wild-3.vmx | 1 +
tests/xml2vmxdata/xml2vmx-esx-in-the-wild-4.vmx | 4 ++--
tests/xml2vmxdata/xml2vmx-ethernet-bridged.vmx | 4 ++--
tests/xml2vmxdata/xml2vmx-ethernet-custom.vmx | 4 ++--
tests/xml2vmxdata/xml2vmx-ethernet-e1000.vmx | 4 ++--
tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-1.vmx | 1 +
tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-2.vmx | 1 +
tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-3.vmx | 2 ++
tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-4.vmx | 1 +
12 files changed, 34 insertions(+), 12 deletions(-)
diff --git a/src/esx/esx_vmx.c b/src/esx/esx_vmx.c
index 97ad43e..9a9fe0a 100644
--- a/src/esx/esx_vmx.c
+++ b/src/esx/esx_vmx.c
@@ -277,8 +277,10 @@ def->nets[0]...
ethernet0.addressType = "vpx" # default to "generated"
->mac = <value> <=> ethernet0.generatedAddress = "<value>"
- # 00:0c:29 prefix for autogenerated mac's
+ # 00:0c:29 prefix for autogenerated mac's -> ethernet0.addressType = "generated"
# 00:50:56 prefix for manual configured mac's
+ # 00:50:56:00:00:00 - 00:50:56:3f:ff:ff -> ethernet0.addressType = "static"
+ # 00:50:56:40:00:00 - 00:50:56:ff:ff:ff -> ethernet0.addressType = "vpx"
# 00:05:69 old prefix from esx 1.5
@@ -2687,12 +2689,25 @@ esxVMX_FormatEthernet(virConnectPtr conn, virDomainNetDefPtr def,
virFormatMacAddr(def->mac, mac_string);
- if ((def->mac[0] == 0x00 && def->mac[1] == 0x0c && def->mac[2] == 0x29) ||
- (def->mac[0] == 0x00 && def->mac[1] == 0x50 && def->mac[2] == 0x56)) {
+ if (def->mac[0] == 0x00 && def->mac[1] == 0x0c && def->mac[2] == 0x29) {
virBufferVSprintf(buffer, "ethernet%d.addressType = \"generated\"\n",
controller);
virBufferVSprintf(buffer, "ethernet%d.generatedAddress = \"%s\"\n",
controller, mac_string);
+ virBufferVSprintf(buffer, "ethernet%d.generatedAddressOffset = \"0\"\n",
+ controller);
+ } else if (def->mac[0] == 0x00 && def->mac[1] == 0x50 && def->mac[2] == 0x56) {
+ if (def->mac[3] <= 0x3f) {
+ virBufferVSprintf(buffer, "ethernet%d.addressType = \"static\"\n",
+ controller);
+ virBufferVSprintf(buffer, "ethernet%d.address = \"%s\"\n",
+ controller, mac_string);
+ } else {
+ virBufferVSprintf(buffer, "ethernet%d.addressType = \"vpx\"\n",
+ controller);
+ virBufferVSprintf(buffer, "ethernet%d.generatedAddress = \"%s\"\n",
+ controller, mac_string);
+ }
} else {
ESX_ERROR(conn, VIR_ERR_INTERNAL_ERROR,
"Unsupported MAC address prefix '%02X:%02X:%02X', expecting "
diff --git a/tests/xml2vmxdata/xml2vmx-esx-in-the-wild-1.vmx b/tests/xml2vmxdata/xml2vmx-esx-in-the-wild-1.vmx
index ea14588..077d907 100644
--- a/tests/xml2vmxdata/xml2vmx-esx-in-the-wild-1.vmx
+++ b/tests/xml2vmxdata/xml2vmx-esx-in-the-wild-1.vmx
@@ -13,5 +13,5 @@ scsi0:0.fileName = "/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/Fedora11/F
ethernet0.present = "true"
ethernet0.networkName = "VM Network"
ethernet0.connectionType = "bridged"
-ethernet0.addressType = "generated"
+ethernet0.addressType = "vpx"
ethernet0.generatedAddress = "00:50:56:91:48:C7"
diff --git a/tests/xml2vmxdata/xml2vmx-esx-in-the-wild-2.vmx b/tests/xml2vmxdata/xml2vmx-esx-in-the-wild-2.vmx
index 05e3d46..f507548 100644
--- a/tests/xml2vmxdata/xml2vmx-esx-in-the-wild-2.vmx
+++ b/tests/xml2vmxdata/xml2vmx-esx-in-the-wild-2.vmx
@@ -36,3 +36,4 @@ ethernet0.networkName = "VM Network"
ethernet0.connectionType = "bridged"
ethernet0.addressType = "generated"
ethernet0.generatedAddress = "00:0C:29:3C:98:3E"
+ethernet0.generatedAddressOffset = "0"
diff --git a/tests/xml2vmxdata/xml2vmx-esx-in-the-wild-3.vmx b/tests/xml2vmxdata/xml2vmx-esx-in-the-wild-3.vmx
index d418475..10559fb 100644
--- a/tests/xml2vmxdata/xml2vmx-esx-in-the-wild-3.vmx
+++ b/tests/xml2vmxdata/xml2vmx-esx-in-the-wild-3.vmx
@@ -22,3 +22,4 @@ ethernet0.networkName = "VM Network"
ethernet0.connectionType = "bridged"
ethernet0.addressType = "generated"
ethernet0.generatedAddress = "00:0C:29:F5:C3:0C"
+ethernet0.generatedAddressOffset = "0"
diff --git a/tests/xml2vmxdata/xml2vmx-esx-in-the-wild-4.vmx b/tests/xml2vmxdata/xml2vmx-esx-in-the-wild-4.vmx
index 68f6d6d..068f0f8 100644
--- a/tests/xml2vmxdata/xml2vmx-esx-in-the-wild-4.vmx
+++ b/tests/xml2vmxdata/xml2vmx-esx-in-the-wild-4.vmx
@@ -13,12 +13,12 @@ scsi0:0.fileName = "/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/virtMonSer
ethernet0.present = "true"
ethernet0.networkName = "VM Network"
ethernet0.connectionType = "bridged"
-ethernet0.addressType = "generated"
+ethernet0.addressType = "vpx"
ethernet0.generatedAddress = "00:50:56:91:66:D4"
ethernet1.present = "true"
ethernet1.networkName = "VM Switch 2"
ethernet1.connectionType = "bridged"
-ethernet1.addressType = "generated"
+ethernet1.addressType = "vpx"
ethernet1.generatedAddress = "00:50:56:91:0C:51"
serial0.present = "true"
serial0.fileType = "file"
diff --git a/tests/xml2vmxdata/xml2vmx-ethernet-bridged.vmx b/tests/xml2vmxdata/xml2vmx-ethernet-bridged.vmx
index 73ca8a8..7d9c6f7 100644
--- a/tests/xml2vmxdata/xml2vmx-ethernet-bridged.vmx
+++ b/tests/xml2vmxdata/xml2vmx-ethernet-bridged.vmx
@@ -8,5 +8,5 @@ numvcpus = "1"
ethernet0.present = "true"
ethernet0.networkName = "VM Network"
ethernet0.connectionType = "bridged"
-ethernet0.addressType = "generated"
-ethernet0.generatedAddress = "00:50:56:11:22:33"
+ethernet0.addressType = "static"
+ethernet0.address = "00:50:56:11:22:33"
diff --git a/tests/xml2vmxdata/xml2vmx-ethernet-custom.vmx b/tests/xml2vmxdata/xml2vmx-ethernet-custom.vmx
index cc42140..fb4b116 100644
--- a/tests/xml2vmxdata/xml2vmx-ethernet-custom.vmx
+++ b/tests/xml2vmxdata/xml2vmx-ethernet-custom.vmx
@@ -9,5 +9,5 @@ ethernet0.present = "true"
ethernet0.networkName = "VM Network"
ethernet0.connectionType = "custom"
ethernet0.vnet = "vmnet7"
-ethernet0.addressType = "generated"
-ethernet0.generatedAddress = "00:50:56:11:22:33"
+ethernet0.addressType = "static"
+ethernet0.address = "00:50:56:11:22:33"
diff --git a/tests/xml2vmxdata/xml2vmx-ethernet-e1000.vmx b/tests/xml2vmxdata/xml2vmx-ethernet-e1000.vmx
index dd2c86d..3aed46c 100644
--- a/tests/xml2vmxdata/xml2vmx-ethernet-e1000.vmx
+++ b/tests/xml2vmxdata/xml2vmx-ethernet-e1000.vmx
@@ -9,5 +9,5 @@ ethernet0.present = "true"
ethernet0.virtualDev = "e1000"
ethernet0.networkName = "VM Network"
ethernet0.connectionType = "bridged"
-ethernet0.addressType = "generated"
-ethernet0.generatedAddress = "00:50:56:11:22:33"
+ethernet0.addressType = "static"
+ethernet0.address = "00:50:56:11:22:33"
diff --git a/tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-1.vmx b/tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-1.vmx
index 8b2d6a4..526fe3c 100644
--- a/tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-1.vmx
+++ b/tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-1.vmx
@@ -14,3 +14,4 @@ ethernet0.connectionType = "custom"
ethernet0.vnet = "/dev/vmnet1"
ethernet0.addressType = "generated"
ethernet0.generatedAddress = "00:0C:29:D6:2B:D3"
+ethernet0.generatedAddressOffset = "0"
diff --git a/tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-2.vmx b/tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-2.vmx
index d811b7f..34f006d 100644
--- a/tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-2.vmx
+++ b/tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-2.vmx
@@ -14,3 +14,4 @@ ethernet0.connectionType = "custom"
ethernet0.vnet = "/dev/vmnet1"
ethernet0.addressType = "generated"
ethernet0.generatedAddress = "00:0C:29:D6:CB:A4"
+ethernet0.generatedAddressOffset = "0"
diff --git a/tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-3.vmx b/tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-3.vmx
index 7109fb9..a2a3575 100644
--- a/tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-3.vmx
+++ b/tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-3.vmx
@@ -14,9 +14,11 @@ ethernet0.connectionType = "custom"
ethernet0.vnet = "/dev/vmnet1"
ethernet0.addressType = "generated"
ethernet0.generatedAddress = "00:0C:29:C4:BE:5A"
+ethernet0.generatedAddressOffset = "0"
ethernet1.present = "true"
ethernet1.networkName = "net2"
ethernet1.connectionType = "custom"
ethernet1.vnet = "/dev/vmnet2"
ethernet1.addressType = "generated"
ethernet1.generatedAddress = "00:0C:29:C4:BE:64"
+ethernet1.generatedAddressOffset = "0"
diff --git a/tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-4.vmx b/tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-4.vmx
index ee9b8c9..765d35c 100644
--- a/tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-4.vmx
+++ b/tests/xml2vmxdata/xml2vmx-gsx-in-the-wild-4.vmx
@@ -14,3 +14,4 @@ ethernet0.connectionType = "custom"
ethernet0.vnet = "/dev/vmnet2"
ethernet0.addressType = "generated"
ethernet0.generatedAddress = "00:0C:29:C5:E3:5D"
+ethernet0.generatedAddressOffset = "0"
--
1.6.0.4
15 years
[libvirt] [PATCH] Change DTD references to use public instead of system identifier
by Matthias Bolte
Debian's /etc/xml/catalog doesn't contain system identifiers, so use
public identifiers instead.
* docs/Makefile.am: use public instead of system identifier
* docs/site.xsl: use matching public identifier
---
docs/Makefile.am | 6 +++---
docs/site.xsl | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/docs/Makefile.am b/docs/Makefile.am
index d819869..d53f305 100644
--- a/docs/Makefile.am
+++ b/docs/Makefile.am
@@ -106,7 +106,7 @@ ChangeLog.html.in: ChangeLog.xml ChangeLog.xsl
%.html: %.html.tmp
@(if [ -x $(XMLLINT) -a -x $(XMLCATALOG) ] ; then \
- if $(XMLCATALOG) /etc/xml/catalog "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" > /dev/null ; then \
+ if $(XMLCATALOG) /etc/xml/catalog "-//W3C//DTD XHTML 1.0 Strict//EN" > /dev/null ; then \
echo "Validating $@" ; \
$(XMLLINT) --nonet --format --valid $< > $@ || : ; \
else echo "missing XHTML1 DTD" ; fi ; fi );
@@ -117,7 +117,7 @@ html/index.html: libvirt-api.xml newapi.xsl page.xsl sitemap.html.in
echo "Rebuilding the HTML pages from the XML API" ; \
$(XSLTPROC) --nonet $(srcdir)/newapi.xsl libvirt-api.xml ; fi )
-@(if [ -x $(XMLLINT) -a -x $(XMLCATALOG) ] ; then \
- if $(XMLCATALOG) /etc/xml/catalog "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" > /dev/null ; then \
+ if $(XMLCATALOG) /etc/xml/catalog "-//W3C//DTD XHTML 1.0 Strict//EN" > /dev/null ; then \
echo "Validating the resulting XHTML pages" ; \
$(XMLLINT) --nonet --valid --noout html/*.html ; \
else echo "missing XHTML1 DTD" ; fi ; fi );
@@ -159,4 +159,4 @@ uninstall-local:
for h in $(apihtml); do rm $(DESTDIR)$(HTML_DIR)/$$h; done
for p in $(apipng); do rm $(DESTDIR)$(HTML_DIR)/$$p; done
for f in $(devhelphtml) $(devhelppng) $(devhelpcss); do \
- rm $(DESTDIR)$(DEVHELP_DIR)$$f ; done
\ No newline at end of file
+ rm $(DESTDIR)$(DEVHELP_DIR)$$f ; done
diff --git a/docs/site.xsl b/docs/site.xsl
index b2983bd..86cfd41 100644
--- a/docs/site.xsl
+++ b/docs/site.xsl
@@ -11,7 +11,7 @@
method="xml"
encoding="ISO-8859-1"
indent="yes"
- doctype-public="-//W3C//DTD XHTML 1.0//EN"
+ doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"/>
<xsl:variable name="href_base" select="''"/>
--
1.6.0.4
15 years
[libvirt] [PATCH] esx: Handle 'vmxnet3' in esxVMX_FormatEthernet()
by Matthias Bolte
In commit 3c80fac2588cbc9e5ee7e7069e1ca4468f2359d3 'vmxnet3' handling
was added to esxVMX_ParseEthernet(), but not to the inverse function
esxVMX_FormatEthernet().
---
src/esx/esx_vmx.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/src/esx/esx_vmx.c b/src/esx/esx_vmx.c
index 536bf2d..97ad43e 100644
--- a/src/esx/esx_vmx.c
+++ b/src/esx/esx_vmx.c
@@ -1758,7 +1758,8 @@ esxVMX_ParseEthernet(virConnectPtr conn, virConfPtr conf, int controller,
STRCASENEQ(virtualDev, "e1000")) {
ESX_ERROR(conn, VIR_ERR_INTERNAL_ERROR,
"Expecting VMX entry '%s' to be 'vlance' or 'vmxnet' or "
- "'vmxnet3' or 'e1000' but found '%s'", virtualDev_name, virtualDev);
+ "'vmxnet3' or 'e1000' but found '%s'", virtualDev_name,
+ virtualDev);
goto failure;
}
@@ -2646,11 +2647,12 @@ esxVMX_FormatEthernet(virConnectPtr conn, virDomainNetDefPtr def,
if (def->model != NULL) {
if (STRCASENEQ(def->model, "vlance") &&
STRCASENEQ(def->model, "vmxnet") &&
+ STRCASENEQ(def->model, "vmxnet3") &&
STRCASENEQ(def->model, "e1000")) {
ESX_ERROR(conn, VIR_ERR_INTERNAL_ERROR,
"Expecting domain XML entry 'devices/interfase/model' "
- "to be 'vlance' or 'vmxnet' or 'e1000' but found '%s'",
- def->model);
+ "to be 'vlance' or 'vmxnet' or 'vmxnet3' or 'e1000' but "
+ "found '%s'", def->model);
return -1;
}
--
1.6.0.4
15 years
[libvirt] make install fails, missing HTML files
by Thomas Treutner
Hi,
I'm not sure if this is a bug or if I'm missing some tools:
When doing a fresh git clone && ./autogen.sh, make install fails because it
complains about some missing HTML doc files.
# ./autogen.sh
......
configure: Libraries
configure:
configure: libxml: -I/usr/include/libxml2 -lxml2
configure: libcurl: no
configure: libssh2: no
configure: gnutls: -lgnutls -lpthread
configure: sasl: -lsasl2
configure: avahi: no
configure: polkit: no
configure: selinux: no
configure: apparmor: no
configure: numactl: no
configure: capng: no
configure: xen: -lxenstore
configure: hal: no
configure: devkit: no
configure: netcf: no
configure: xmlrpc: no
.......
# make
.........
make[3]: Leaving directory `/root/tmp/libvirt/docs'
(./apibuild.py)
missing XHTML1 DTD
missing XHTML1 DTD
missing XHTML1 DTD
missing XHTML1 DTD
missing XHTML1 DTD
missing XHTML1 DTD
..... (lots more)
# ll docs/*html | wc -l
8
# ll docs/*html.in | wc -l
51
Could someone please cross-check?
thx,kr tom
15 years
[libvirt] Entering freeze for 0.7.3
by Daniel Veillard
I think that all expected feature patches have been pushed to git head
so it's time to enter feature freeze, and just do cleanup and bug fixing
patches until next friday.
So the plan is to get 0.7.3 out on the 20th and we then have one month
before the end of year holliday season to push the following release
(probably 0.7.4 as I don't see a major feature landing in next month,
but we never know).
so let's focuse on debug for the coming week !
happy hacking :-)
Daniel
--
Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
daniel(a)veillard.com | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library http://libvirt.org/
15 years