ESX add esxDomainDefineXML()

A given domain XML gets converted to a VMX config, uploaded to the host
and registered as new virtual machine.

* src/esx/esx_driver.c: refactor datastore related path parsing into
  esxUtil_ParseDatastoreRelatedPath()
* src/esx/esx_util.[ch]: add esxUtil_ParseDatastoreRelatedPath()
* src/esx/esx_vi.[ch]: add esxVI_Context_UploadFile(), add datastores to
  the traversal in esxVI_BuildFullTraversalSpecList(), add
  esxVI_LookupDatastoreByName()
* src/esx/esx_vi_methods.[ch]: add esxVI_RegisterVM_Task()
* src/esx/esx_vi_types.c: make some error message more verbose
* src/esx/esx_vmx.[ch]: add esxVMX_AbsolutePathToDatastoreRelatedPath()
  to convert a path into a datastore related path, add esxVMX_ParseFileName()
  to convert from VMX path format to domain XML path format, extend the other
  parsing function to be datastore aware, add esxVMX_FormatFileName() to
  convert from domain XML path format to VMX path format, fix VMX ethernet
  entry formating
* tests/esxutilstest.c: add test for esxUtil_ParseDatastoreRelatedPath()
* tests/vmx2xmldata/*: update domain XML files to use datastore related paths
* tests/xml2vmxdata/*: update domain XML files to use datastore related paths,
  update VMX files to use absolute paths
This commit is contained in:
Matthias Bolte
2009-09-23 14:52:36 +02:00
committed by Daniel Veillard
parent c3aa1f8bdb
commit 49faa15e4f
67 changed files with 1186 additions and 233 deletions

View File

@@ -9,15 +9,21 @@
#include "internal.h"
#include "memory.h"
#include "testutils.h"
#include "esx/esx_util.h"
#include "esx/esx_vmx.h"
static char *progname;
struct testInfo {
const char *input;
const char *output;
esxVI_APIVersion version;
};
static void
testQuietError(void *userData ATTRIBUTE_UNUSED,
virErrorPtr error ATTRIBUTE_UNUSED)
{
/* nothing */
}
static const char* names[] = {
"sda", "sdb", "sdc", "sdd", "sde", "sdf", "sdg", "sdh", "sdi", "sdj", "sdk", "sdl", "sdm", "sdn", "sdo", "sdp", "sdq", "sdr", "sds", "sdt", "sdu", "sdv", "sdw", "sdx", "sdy", "sdz",
@@ -62,6 +68,80 @@ testIndexToDiskName(const void *data ATTRIBUTE_UNUSED)
return 0;
}
struct testPath {
const char *datastoreRelatedPath;
int result;
const char *datastoreName;
const char *directoryName;
const char *fileName;
};
static struct testPath paths[] = {
{ "[datastore] directory/file", 0, "datastore", "directory", "file" },
{ "[datastore] file", 0, "datastore", NULL, "file" },
{ "[] directory/file", -1, NULL, NULL, NULL },
{ "[datastore] directory/", -1, NULL, NULL, NULL },
{ "directory/file", -1, NULL, NULL, NULL },
};
static int
testParseDatastoreRelatedPath(const void *data ATTRIBUTE_UNUSED)
{
int i, result = 0;
char *datastoreName = NULL;
char *directoryName = NULL;
char *fileName = NULL;
for (i = 0; i < ARRAY_CARDINALITY(paths); ++i) {
VIR_FREE(datastoreName);
VIR_FREE(directoryName);
VIR_FREE(fileName);
if (esxUtil_ParseDatastoreRelatedPath(NULL,
paths[i].datastoreRelatedPath,
&datastoreName, &directoryName,
&fileName) != paths[i].result) {
goto failure;
}
if (paths[i].result < 0) {
continue;
}
if (STRNEQ(paths[i].datastoreName, datastoreName)) {
virtTestDifference(stderr, paths[i].datastoreName, datastoreName);
goto failure;
}
if (paths[i].directoryName != NULL &&
STRNEQ(paths[i].directoryName, directoryName)) {
virtTestDifference(stderr, paths[i].directoryName, directoryName);
goto failure;
}
if (STRNEQ(paths[i].fileName, fileName)) {
virtTestDifference(stderr, paths[i].fileName, fileName);
goto failure;
}
}
cleanup:
VIR_FREE(datastoreName);
VIR_FREE(directoryName);
VIR_FREE(fileName);
return result;
failure:
result = -1;
goto cleanup;
}
static int
mymain(int argc, char **argv)
{
@@ -79,10 +159,18 @@ mymain(int argc, char **argv)
return EXIT_FAILURE;
}
if (virtTestRun("VMware IndexToDiskName", 1, testIndexToDiskName,
NULL) < 0) {
result = -1;
}
virSetErrorFunc(NULL, testQuietError);
#define DO_TEST(_name) \
do { \
if (virtTestRun("VMware "#_name, 1, test##_name, \
NULL) < 0) { \
result = -1; \
} \
} while (0)
DO_TEST(IndexToDiskName);
DO_TEST(ParseDatastoreRelatedPath);
return result == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
}

View File

@@ -12,7 +12,7 @@
<on_crash>destroy</on_crash>
<devices>
<disk type='file' device='cdrom'>
<source file='cdrom.iso'/>
<source file='[datastore] directory/cdrom.iso'/>
<target dev='hda' bus='ide'/>
</disk>
</devices>

View File

@@ -12,7 +12,7 @@
<on_crash>destroy</on_crash>
<devices>
<disk type='file' device='cdrom'>
<source file='cdrom.iso'/>
<source file='[datastore] directory/cdrom.iso'/>
<target dev='sda' bus='scsi'/>
</disk>
</devices>

View File

@@ -14,7 +14,7 @@
<devices>
<disk type='file' device='disk'>
<driver name='lsilogic'/>
<source file='Fedora11.vmdk'/>
<source file='[datastore] directory/Fedora11.vmdk'/>
<target dev='sda' bus='scsi'/>
</disk>
<interface type='bridge'>

View File

@@ -14,12 +14,12 @@
<devices>
<disk type='file' device='disk'>
<driver name='lsilogic' cache='writethrough'/>
<source file='Debian1.vmdk'/>
<source file='[datastore] directory/Debian1.vmdk'/>
<target dev='sda' bus='scsi'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='buslogic'/>
<source file='Debian1-cdrom.iso'/>
<source file='[datastore] directory/Debian1-cdrom.iso'/>
<target dev='sdp' bus='scsi'/>
</disk>
<disk type='file' device='cdrom'>
@@ -31,7 +31,7 @@
<target dev='hdb' bus='ide'/>
</disk>
<disk type='file' device='disk'>
<source file='Debian1-IDE.vmdk'/>
<source file='[datastore] directory/Debian1-IDE.vmdk'/>
<target dev='hdd' bus='ide'/>
</disk>
<disk type='block' device='floppy'>

View File

@@ -14,15 +14,15 @@
<devices>
<disk type='file' device='disk'>
<driver name='lsilogic'/>
<source file='Debian2.vmdk'/>
<source file='[datastore] directory/Debian2.vmdk'/>
<target dev='sda' bus='scsi'/>
</disk>
<disk type='file' device='cdrom'>
<source file='/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/Isos/debian-testing-amd64-netinst.iso'/>
<source file='[498076b2-02796c1a-ef5b-000ae484a6a3] Isos/debian-testing-amd64-netinst.iso'/>
<target dev='hda' bus='ide'/>
</disk>
<disk type='file' device='floppy'>
<source file='/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/Debian2/dummy.flp'/>
<source file='[498076b2-02796c1a-ef5b-000ae484a6a3] Debian2/dummy.flp'/>
<target dev='fdb' bus='fdc'/>
</disk>
<interface type='bridge'>

View File

@@ -14,7 +14,7 @@
<devices>
<disk type='file' device='disk'>
<driver name='lsilogic'/>
<source file='virtMonServ1.vmdk'/>
<source file='[datastore] directory/virtMonServ1.vmdk'/>
<target dev='sda' bus='scsi'/>
</disk>
<interface type='bridge'>
@@ -26,15 +26,15 @@
<source bridge='VM Switch 2'/>
</interface>
<serial type='file'>
<source path='/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/virtMonServ1/serial1.file'/>
<source path='[498076b2-02796c1a-ef5b-000ae484a6a3] virtMonServ1/serial1.file'/>
<target port='0'/>
</serial>
<parallel type='file'>
<source path='/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/virtMonServ1/parallel1.file'/>
<source path='[498076b2-02796c1a-ef5b-000ae484a6a3] virtMonServ1/parallel1.file'/>
<target port='0'/>
</parallel>
<console type='file'>
<source path='/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/virtMonServ1/serial1.file'/>
<source path='[498076b2-02796c1a-ef5b-000ae484a6a3] virtMonServ1/serial1.file'/>
<target port='0'/>
</console>
</devices>

View File

@@ -12,7 +12,7 @@
<on_crash>destroy</on_crash>
<devices>
<disk type='file' device='floppy'>
<source file='floppy.flp'/>
<source file='[datastore] directory/floppy.flp'/>
<target dev='fda' bus='fdc'/>
</disk>
</devices>

View File

@@ -13,7 +13,7 @@
<on_crash>destroy</on_crash>
<devices>
<disk type='file' device='disk'>
<source file='Debian-System1-0-cl2.vmdk'/>
<source file='[datastore] directory/Debian-System1-0-cl2.vmdk'/>
<target dev='hda' bus='ide'/>
</disk>
<interface type='bridge'>

View File

@@ -13,7 +13,7 @@
<on_crash>destroy</on_crash>
<devices>
<disk type='file' device='disk'>
<source file='Debian-System1-0-cl3.vmdk'/>
<source file='[datastore] directory/Debian-System1-0-cl3.vmdk'/>
<target dev='hda' bus='ide'/>
</disk>
<interface type='bridge'>

View File

@@ -13,7 +13,7 @@
<on_crash>destroy</on_crash>
<devices>
<disk type='file' device='disk'>
<source file='Debian-System1-0-cl1.vmdk'/>
<source file='[datastore] directory/Debian-System1-0-cl1.vmdk'/>
<target dev='hda' bus='ide'/>
</disk>
<interface type='bridge'>

View File

@@ -13,7 +13,7 @@
<on_crash>destroy</on_crash>
<devices>
<disk type='file' device='disk'>
<source file='Debian-System1-0-cl2.vmdk'/>
<source file='[datastore] directory/Debian-System1-0-cl2.vmdk'/>
<target dev='hda' bus='ide'/>
</disk>
<interface type='bridge'>

View File

@@ -12,7 +12,7 @@
<on_crash>destroy</on_crash>
<devices>
<disk type='file' device='disk'>
<source file='harddisk.vmdk'/>
<source file='[datastore] directory/harddisk.vmdk'/>
<target dev='hda' bus='ide'/>
</disk>
</devices>

View File

@@ -12,7 +12,7 @@
<on_crash>destroy</on_crash>
<devices>
<disk type='file' device='disk'>
<source file='harddisk.vmdk'/>
<source file='[datastore] directory/harddisk.vmdk'/>
<target dev='sda' bus='scsi'/>
</disk>
</devices>

View File

@@ -12,7 +12,7 @@
<on_crash>destroy</on_crash>
<devices>
<parallel type='file'>
<source path='parallel0.file'/>
<source path='[datastore] directory/parallel0.file'/>
<target port='0'/>
</parallel>
</devices>

View File

@@ -13,7 +13,7 @@
<devices>
<disk type='file' device='disk'>
<driver name='buslogic'/>
<source file='harddisk.vmdk'/>
<source file='[datastore] directory/harddisk.vmdk'/>
<target dev='sda' bus='scsi'/>
</disk>
</devices>

View File

@@ -13,7 +13,7 @@
<devices>
<disk type='file' device='disk'>
<driver name='buslogic' cache='writethrough'/>
<source file='harddisk.vmdk'/>
<source file='[datastore] directory/harddisk.vmdk'/>
<target dev='sda' bus='scsi'/>
</disk>
</devices>

View File

@@ -12,11 +12,11 @@
<on_crash>destroy</on_crash>
<devices>
<serial type='file'>
<source path='serial0.file'/>
<source path='[datastore] directory/serial0.file'/>
<target port='0'/>
</serial>
<console type='file'>
<source path='serial0.file'/>
<source path='[datastore] directory/serial0.file'/>
<target port='0'/>
</console>
</devices>

View File

@@ -35,7 +35,8 @@ testCompareFiles(const char *vmx, const char *xml, esxVI_APIVersion apiVersion)
goto failure;
}
def = esxVMX_ParseConfig(NULL, vmxData, apiVersion);
def = esxVMX_ParseConfig(NULL, NULL, vmxData, "datastore", "directory",
apiVersion);
if (def == NULL) {
goto failure;

View File

@@ -7,4 +7,4 @@ memsize = "4"
numvcpus = "1"
ide0:0.present = "true"
ide0:0.deviceType = "cdrom-image"
ide0:0.fileName = "cdrom.iso"
ide0:0.fileName = "/vmfs/volumes/testing/isos/cdrom.iso"

View File

@@ -7,7 +7,7 @@
</os>
<devices>
<disk type='file' device='cdrom'>
<source file='cdrom.iso'/>
<source file='[testing] isos/cdrom.iso'/>
<target dev='hda' bus='ide'/>
</disk>
</devices>

View File

@@ -8,4 +8,4 @@ numvcpus = "1"
scsi0.present = "true"
scsi0:0.present = "true"
scsi0:0.deviceType = "cdrom-image"
scsi0:0.fileName = "cdrom.iso"
scsi0:0.fileName = "/vmfs/volumes/testing/isos/cdrom.iso"

View File

@@ -7,7 +7,7 @@
</os>
<devices>
<disk type='file' device='cdrom'>
<source file='cdrom.iso'/>
<source file='[testing] isos/cdrom.iso'/>
<target dev='sda' bus='scsi'/>
</disk>
</devices>

View File

@@ -9,9 +9,9 @@ scsi0.present = "true"
scsi0.virtualDev = "lsilogic"
scsi0:0.present = "true"
scsi0:0.deviceType = "scsi-hardDisk"
scsi0:0.fileName = "Fedora11.vmdk"
scsi0:0.fileName = "/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/Fedora11/Fedora11.vmdk"
ethernet0.present = "true"
ethernet0.networkName = "VM Network"
ethernet0.connectionType = "bridged"
ethernet0.addressType = "static"
ethernet0.address = "00:50:56:91:48:C7"
ethernet0.addressType = "generated"
ethernet0.generatedAddress = "00:50:56:91:48:C7"

View File

@@ -14,7 +14,7 @@
<devices>
<disk type='file' device='disk'>
<driver name='lsilogic'/>
<source file='Fedora11.vmdk'/>
<source file='[498076b2-02796c1a-ef5b-000ae484a6a3] Fedora11/Fedora11.vmdk'/>
<target dev='sda' bus='scsi'/>
</disk>
<interface type='bridge'>

View File

@@ -13,11 +13,11 @@ scsi1.present = "true"
scsi1.virtualDev = "buslogic"
scsi0:0.present = "true"
scsi0:0.deviceType = "scsi-hardDisk"
scsi0:0.fileName = "Debian1.vmdk"
scsi0:0.fileName = "/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/virtDebian1/Debian1.vmdk"
scsi0:0.writeThrough = "true"
scsi1:0.present = "true"
scsi1:0.deviceType = "cdrom-image"
scsi1:0.fileName = "Debian1-cdrom.iso"
scsi1:0.fileName = "/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/virtDebian1/Debian1-cdrom.iso"
ide0:0.present = "true"
ide0:0.deviceType = "cdrom-image"
ide0:0.fileName = "/vmimages/tools-isoimages/linux.iso"
@@ -26,7 +26,7 @@ ide0:1.deviceType = "atapi-cdrom"
ide0:1.fileName = "/dev/scd0"
ide1:1.present = "true"
ide1:1.deviceType = "ata-hardDisk"
ide1:1.fileName = "Debian1-IDE.vmdk"
ide1:1.fileName = "/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/virtDebian1/Debian1-IDE.vmdk"
floppy0.present = "true"
floppy0.fileType = "device"
floppy0.fileName = "/dev/fd0"

View File

@@ -14,12 +14,12 @@
<devices>
<disk type='file' device='disk'>
<driver name='lsilogic' cache='writethrough'/>
<source file='Debian1.vmdk'/>
<source file='[498076b2-02796c1a-ef5b-000ae484a6a3] virtDebian1/Debian1.vmdk'/>
<target dev='sda' bus='scsi'/>
</disk>
<disk type='file' device='cdrom'>
<driver name='buslogic'/>
<source file='Debian1-cdrom.iso'/>
<source file='[498076b2-02796c1a-ef5b-000ae484a6a3] virtDebian1/Debian1-cdrom.iso'/>
<target dev='sdp' bus='scsi'/>
</disk>
<disk type='file' device='cdrom'>
@@ -31,7 +31,7 @@
<target dev='hdb' bus='ide'/>
</disk>
<disk type='file' device='disk'>
<source file='Debian1-IDE.vmdk'/>
<source file='[498076b2-02796c1a-ef5b-000ae484a6a3] virtDebian1/Debian1-IDE.vmdk'/>
<target dev='hdd' bus='ide'/>
</disk>
<disk type='block' device='floppy'>

View File

@@ -10,7 +10,7 @@ scsi0.present = "true"
scsi0.virtualDev = "lsilogic"
scsi0:0.present = "true"
scsi0:0.deviceType = "scsi-hardDisk"
scsi0:0.fileName = "Debian2.vmdk"
scsi0:0.fileName = "/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/Debian2/Debian2.vmdk"
ide0:0.present = "true"
ide0:0.deviceType = "cdrom-image"
ide0:0.fileName = "/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/Isos/debian-testing-amd64-netinst.iso"

View File

@@ -14,15 +14,15 @@
<devices>
<disk type='file' device='disk'>
<driver name='lsilogic'/>
<source file='Debian2.vmdk'/>
<source file='[498076b2-02796c1a-ef5b-000ae484a6a3] Debian2/Debian2.vmdk'/>
<target dev='sda' bus='scsi'/>
</disk>
<disk type='file' device='cdrom'>
<source file='/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/Isos/debian-testing-amd64-netinst.iso'/>
<source file='[498076b2-02796c1a-ef5b-000ae484a6a3] Isos/debian-testing-amd64-netinst.iso'/>
<target dev='hda' bus='ide'/>
</disk>
<disk type='file' device='floppy'>
<source file='/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/Debian2/dummy.flp'/>
<source file='[498076b2-02796c1a-ef5b-000ae484a6a3] Debian2/dummy.flp'/>
<target dev='fdb' bus='fdc'/>
</disk>
<interface type='bridge'>

View File

@@ -9,17 +9,17 @@ scsi0.present = "true"
scsi0.virtualDev = "lsilogic"
scsi0:0.present = "true"
scsi0:0.deviceType = "scsi-hardDisk"
scsi0:0.fileName = "virtMonServ1.vmdk"
scsi0:0.fileName = "/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/virtMonServ1/virtMonServ1.vmdk"
ethernet0.present = "true"
ethernet0.networkName = "VM Network"
ethernet0.connectionType = "bridged"
ethernet0.addressType = "static"
ethernet0.address = "00:50:56:91:66:D4"
ethernet0.addressType = "generated"
ethernet0.generatedAddress = "00:50:56:91:66:D4"
ethernet1.present = "true"
ethernet1.networkName = "VM Switch 2"
ethernet1.connectionType = "bridged"
ethernet1.addressType = "static"
ethernet1.address = "00:50:56:91:0C:51"
ethernet1.addressType = "generated"
ethernet1.generatedAddress = "00:50:56:91:0C:51"
serial0.present = "true"
serial0.fileType = "file"
serial0.fileName = "/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/virtMonServ1/serial1.file"

View File

@@ -14,7 +14,7 @@
<devices>
<disk type='file' device='disk'>
<driver name='lsilogic'/>
<source file='virtMonServ1.vmdk'/>
<source file='[498076b2-02796c1a-ef5b-000ae484a6a3] virtMonServ1/virtMonServ1.vmdk'/>
<target dev='sda' bus='scsi'/>
</disk>
<interface type='bridge'>
@@ -26,15 +26,15 @@
<source bridge='VM Switch 2'/>
</interface>
<serial type='file'>
<source path='/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/virtMonServ1/serial1.file'/>
<source path='[498076b2-02796c1a-ef5b-000ae484a6a3] virtMonServ1/serial1.file'/>
<target port='0'/>
</serial>
<parallel type='file'>
<source path='/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/virtMonServ1/parallel1.file'/>
<source path='[498076b2-02796c1a-ef5b-000ae484a6a3] virtMonServ1/parallel1.file'/>
<target port='0'/>
</parallel>
<console type='file'>
<source path='/vmfs/volumes/498076b2-02796c1a-ef5b-000ae484a6a3/virtMonServ1/serial1.file'/>
<source path='[498076b2-02796c1a-ef5b-000ae484a6a3] virtMonServ1/serial1.file'/>
<target port='0'/>
</console>
</devices>

View File

@@ -8,5 +8,5 @@ numvcpus = "1"
ethernet0.present = "true"
ethernet0.networkName = "VM Network"
ethernet0.connectionType = "bridged"
ethernet0.addressType = "static"
ethernet0.address = "00:50:56:11:22:33"
ethernet0.addressType = "generated"
ethernet0.generatedAddress = "00:50:56:11:22:33"

View File

@@ -9,5 +9,5 @@ ethernet0.present = "true"
ethernet0.networkName = "VM Network"
ethernet0.connectionType = "custom"
ethernet0.vnet = "vmnet7"
ethernet0.addressType = "static"
ethernet0.address = "00:50:56:11:22:33"
ethernet0.addressType = "generated"
ethernet0.generatedAddress = "00:50:56:11:22:33"

View File

@@ -9,5 +9,5 @@ ethernet0.present = "true"
ethernet0.virtualDev = "e1000"
ethernet0.networkName = "VM Network"
ethernet0.connectionType = "bridged"
ethernet0.addressType = "static"
ethernet0.address = "00:50:56:11:22:33"
ethernet0.addressType = "generated"
ethernet0.generatedAddress = "00:50:56:11:22:33"

View File

@@ -7,4 +7,4 @@ memsize = "4"
numvcpus = "1"
floppy0.present = "true"
floppy0.fileType = "file"
floppy0.fileName = "floppy.flp"
floppy0.fileName = "/vmfs/volumes/testing/floppy.flp"

View File

@@ -7,7 +7,7 @@
</os>
<devices>
<disk type='file' device='floppy'>
<source file='floppy.flp'/>
<source file='[testing] floppy.flp'/>
<target dev='fda' bus='fdc'/>
</disk>
</devices>

View File

@@ -7,7 +7,7 @@ memsize = "32"
numvcpus = "1"
ide0:0.present = "true"
ide0:0.deviceType = "ata-hardDisk"
ide0:0.fileName = "Debian-System1-0-cl2.vmdk"
ide0:0.fileName = "/vmfs/volumes/storage/Server1/Debian-System1-0-cl2.vmdk"
ethernet0.present = "true"
ethernet0.networkName = "net1"
ethernet0.connectionType = "custom"

View File

@@ -13,7 +13,7 @@
<on_crash>destroy</on_crash>
<devices>
<disk type='file' device='disk'>
<source file='Debian-System1-0-cl2.vmdk'/>
<source file='[storage] Server1/Debian-System1-0-cl2.vmdk'/>
<target dev='hda' bus='ide'/>
</disk>
<interface type='bridge'>

View File

@@ -7,7 +7,7 @@ memsize = "32"
numvcpus = "1"
ide0:0.present = "true"
ide0:0.deviceType = "ata-hardDisk"
ide0:0.fileName = "Debian-System1-0-cl3.vmdk"
ide0:0.fileName = "/vmfs/volumes/storage/Server2/Debian-System1-0-cl3.vmdk"
ethernet0.present = "true"
ethernet0.networkName = "net1"
ethernet0.connectionType = "custom"

View File

@@ -13,7 +13,7 @@
<on_crash>destroy</on_crash>
<devices>
<disk type='file' device='disk'>
<source file='Debian-System1-0-cl3.vmdk'/>
<source file='[storage] Server2/Debian-System1-0-cl3.vmdk'/>
<target dev='hda' bus='ide'/>
</disk>
<interface type='bridge'>

View File

@@ -7,7 +7,7 @@ memsize = "32"
numvcpus = "1"
ide0:0.present = "true"
ide0:0.deviceType = "ata-hardDisk"
ide0:0.fileName = "Debian-System1-0-cl1.vmdk"
ide0:0.fileName = "/vmfs/volumes/storage/Router/Debian-System1-0-cl1.vmdk"
ethernet0.present = "true"
ethernet0.networkName = "net1"
ethernet0.connectionType = "custom"

View File

@@ -13,7 +13,7 @@
<on_crash>destroy</on_crash>
<devices>
<disk type='file' device='disk'>
<source file='Debian-System1-0-cl1.vmdk'/>
<source file='[storage] Router/Debian-System1-0-cl1.vmdk'/>
<target dev='hda' bus='ide'/>
</disk>
<interface type='bridge'>

View File

@@ -7,7 +7,7 @@ memsize = "264"
numvcpus = "1"
ide0:0.present = "true"
ide0:0.deviceType = "ata-hardDisk"
ide0:0.fileName = "Debian-System1-0-cl2.vmdk"
ide0:0.fileName = "/vmfs/volumes/storage/Client/Debian-System1-0-cl2.vmdk"
ethernet0.present = "true"
ethernet0.networkName = "net2"
ethernet0.connectionType = "custom"

View File

@@ -13,7 +13,7 @@
<on_crash>destroy</on_crash>
<devices>
<disk type='file' device='disk'>
<source file='Debian-System1-0-cl2.vmdk'/>
<source file='[storage] Client/Debian-System1-0-cl2.vmdk'/>
<target dev='hda' bus='ide'/>
</disk>
<interface type='bridge'>

View File

@@ -7,4 +7,4 @@ memsize = "4"
numvcpus = "1"
ide0:0.present = "true"
ide0:0.deviceType = "ata-hardDisk"
ide0:0.fileName = "harddisk.vmdk"
ide0:0.fileName = "/vmfs/volumes/datastore/directory/harddisk.vmdk"

View File

@@ -7,7 +7,7 @@
</os>
<devices>
<disk type='file' device='disk'>
<source file='harddisk.vmdk'/>
<source file='[datastore] directory/harddisk.vmdk'/>
<target dev='hda' bus='ide'/>
</disk>
</devices>

View File

@@ -8,4 +8,4 @@ numvcpus = "1"
scsi0.present = "true"
scsi0:0.present = "true"
scsi0:0.deviceType = "scsi-hardDisk"
scsi0:0.fileName = "harddisk.vmdk"
scsi0:0.fileName = "/vmfs/volumes/datastore/directory/harddisk.vmdk"

View File

@@ -7,7 +7,7 @@
</os>
<devices>
<disk type='file' device='disk'>
<source file='harddisk.vmdk'/>
<source file='[datastore] directory/harddisk.vmdk'/>
<target dev='sda' bus='scsi'/>
</disk>
</devices>

View File

@@ -7,4 +7,4 @@ memsize = "4"
numvcpus = "1"
parallel0.present = "true"
parallel0.fileType = "file"
parallel0.fileName = "parallel0.file"
parallel0.fileName = "/vmfs/volumes/datastore/directory/parallel0.file"

View File

@@ -7,7 +7,7 @@
</os>
<devices>
<parallel type='file'>
<source path='parallel0.file'/>
<source path='[datastore] directory/parallel0.file'/>
<target port='0'/>
</parallel>
</devices>

View File

@@ -9,4 +9,4 @@ scsi0.present = "true"
scsi0.virtualDev = "buslogic"
scsi0:0.present = "true"
scsi0:0.deviceType = "scsi-hardDisk"
scsi0:0.fileName = "harddisk.vmdk"
scsi0:0.fileName = "/vmfs/volumes/datastore/directory/harddisk.vmdk"

View File

@@ -8,7 +8,7 @@
<devices>
<disk type='file' device='disk'>
<driver name='buslogic'/>
<source file='harddisk.vmdk'/>
<source file='[datastore] directory/harddisk.vmdk'/>
<target dev='sda' bus='scsi'/>
</disk>
</devices>

View File

@@ -9,5 +9,5 @@ scsi0.present = "true"
scsi0.virtualDev = "buslogic"
scsi0:0.present = "true"
scsi0:0.deviceType = "scsi-hardDisk"
scsi0:0.fileName = "harddisk.vmdk"
scsi0:0.fileName = "/vmfs/volumes/datastore/directory/harddisk.vmdk"
scsi0:0.writeThrough = "true"

View File

@@ -8,7 +8,7 @@
<devices>
<disk type='file' device='disk'>
<driver name='buslogic' cache='writethrough'/>
<source file='harddisk.vmdk'/>
<source file='[datastore] directory/harddisk.vmdk'/>
<target dev='sda' bus='scsi'/>
</disk>
</devices>

View File

@@ -7,5 +7,5 @@ memsize = "4"
numvcpus = "1"
serial0.present = "true"
serial0.fileType = "file"
serial0.fileName = "serial0.file"
serial0.fileName = "/vmfs/volumes/datastore/directory/serial0.file"
serial0.yieldOnMsrRead = "true"

View File

@@ -7,7 +7,7 @@
</os>
<devices>
<serial type='file'>
<source path='serial0.file'/>
<source path='[datastore] directory/serial0.file'/>
<target port='0'/>
</serial>
</devices>

View File

@@ -89,7 +89,7 @@ testCompareFiles(const char *xml, const char *vmx, esxVI_APIVersion apiVersion)
goto failure;
}
formatted = esxVMX_FormatConfig(NULL, def, apiVersion);
formatted = esxVMX_FormatConfig(NULL, NULL, def, apiVersion);
if (formatted == NULL) {
goto failure;