mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
esx: Allow '-' in VMX entry names
Add a test for this. Reported by Frank Dirks.
This commit is contained in:
@@ -561,7 +561,7 @@ virConfParseName(virConfParserCtxtPtr ctxt)
|
|||||||
while ((ctxt->cur < ctxt->end) &&
|
while ((ctxt->cur < ctxt->end) &&
|
||||||
(c_isalnum(CUR) || (CUR == '_') ||
|
(c_isalnum(CUR) || (CUR == '_') ||
|
||||||
((ctxt->conf->flags & VIR_CONF_FLAG_VMX_FORMAT) &&
|
((ctxt->conf->flags & VIR_CONF_FLAG_VMX_FORMAT) &&
|
||||||
((CUR == ':') || (CUR == '.')))))
|
((CUR == ':') || (CUR == '.') || (CUR == '-')))))
|
||||||
NEXT;
|
NEXT;
|
||||||
ret = strndup(base, ctxt->cur - base);
|
ret = strndup(base, ctxt->cur - base);
|
||||||
if (ret == NULL) {
|
if (ret == NULL) {
|
||||||
|
|||||||
@@ -25,8 +25,8 @@ typedef enum {
|
|||||||
} virConfType;
|
} virConfType;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
VIR_CONF_FLAG_VMX_FORMAT = 1, /* allow : and . in names for compatibility with
|
VIR_CONF_FLAG_VMX_FORMAT = 1, /* allow ':', '.' and '-' in names for compatibility
|
||||||
VMware VMX configuration file, but restrict
|
with VMware VMX configuration file, but restrict
|
||||||
allowed value types to string only */
|
allowed value types to string only */
|
||||||
} virConfFlags;
|
} virConfFlags;
|
||||||
|
|
||||||
|
|||||||
97
tests/vmx2xmldata/vmx2xml-esx-in-the-wild-5.vmx
Normal file
97
tests/vmx2xmldata/vmx2xml-esx-in-the-wild-5.vmx
Normal file
@@ -0,0 +1,97 @@
|
|||||||
|
.encoding = "UTF-8"
|
||||||
|
config.version = "8"
|
||||||
|
virtualHW.version = "7"
|
||||||
|
pciBridge0.present = "true"
|
||||||
|
pciBridge4.present = "true"
|
||||||
|
pciBridge4.virtualDev = "pcieRootPort"
|
||||||
|
pciBridge4.functions = "8"
|
||||||
|
pciBridge5.present = "true"
|
||||||
|
pciBridge5.virtualDev = "pcieRootPort"
|
||||||
|
pciBridge5.functions = "8"
|
||||||
|
pciBridge6.present = "true"
|
||||||
|
pciBridge6.virtualDev = "pcieRootPort"
|
||||||
|
pciBridge6.functions = "8"
|
||||||
|
pciBridge7.present = "true"
|
||||||
|
pciBridge7.virtualDev = "pcieRootPort"
|
||||||
|
pciBridge7.functions = "8"
|
||||||
|
vmci0.present = "true"
|
||||||
|
nvram = "vmtest.nvram"
|
||||||
|
virtualHW.productCompatibility = "hosted"
|
||||||
|
powerType.powerOff = "soft"
|
||||||
|
powerType.powerOn = "hard"
|
||||||
|
powerType.suspend = "hard"
|
||||||
|
powerType.reset = "soft"
|
||||||
|
displayName = "vmtest.local"
|
||||||
|
extendedConfigFile = "vmtest.vmxf"
|
||||||
|
numvcpus = "2"
|
||||||
|
scsi0.present = "true"
|
||||||
|
scsi0.sharedBus = "none"
|
||||||
|
scsi0.virtualDev = "lsilogic"
|
||||||
|
memsize = "2048"
|
||||||
|
scsi0:0.present = "true"
|
||||||
|
scsi0:0.fileName = "vmtest-000001.vmdk"
|
||||||
|
scsi0:0.deviceType = "scsi-hardDisk"
|
||||||
|
sched.scsi0:0.shares = "normal"
|
||||||
|
ide0:0.present = "true"
|
||||||
|
ide0:0.fileName = "/vmfs/volumes/4af0231d-1eff559a-6369-0024e84773b6/isos/CentOS-5.5-x86_64-bin-DVD-1of2.iso"
|
||||||
|
ide0:0.deviceType = "cdrom-image"
|
||||||
|
ide1:0.present = "true"
|
||||||
|
ide1:0.clientDevice = "true"
|
||||||
|
ide1:0.deviceType = "atapi-cdrom"
|
||||||
|
ide1:0.startConnected = "false"
|
||||||
|
ethernet0.present = "true"
|
||||||
|
ethernet0.virtualDev = "e1000"
|
||||||
|
ethernet0.networkName = "VM-LAN"
|
||||||
|
ethernet0.addressType = "vpx"
|
||||||
|
ethernet0.generatedAddress = "00:50:56:be:00:15"
|
||||||
|
guestOS = "centos-64"
|
||||||
|
uuid.bios = "42 3e 94 a9 a1 c7 b3 1d-71 61 76 c7 58 6c 83 0e"
|
||||||
|
vc.uuid = "50 3e 06 db f8 d5 45 8e-a2 fb f9 82 02 53 a7 be"
|
||||||
|
log.fileName = "vmware.log"
|
||||||
|
snapshot.action = "keep"
|
||||||
|
sched.cpu.min = "0"
|
||||||
|
sched.cpu.units = "mhz"
|
||||||
|
sched.cpu.shares = "normal"
|
||||||
|
sched.mem.minsize = "0"
|
||||||
|
sched.mem.shares = "normal"
|
||||||
|
tools.upgrade.policy = "manual"
|
||||||
|
cpuid.80000001.eax = "--------------------------------"
|
||||||
|
cpuid.80000001.eax.amd = "--------------------------------"
|
||||||
|
cpuid.80000001.ebx = "--------------------------------"
|
||||||
|
cpuid.80000001.ebx.amd = "--------------------------------"
|
||||||
|
cpuid.80000001.ecx = "--------------------------------"
|
||||||
|
cpuid.80000001.ecx.amd = "--------------------------------"
|
||||||
|
cpuid.80000001.edx = "-----------H--------------------"
|
||||||
|
cpuid.80000001.edx.amd = "-----------H--------------------"
|
||||||
|
replay.supported = "FALSE"
|
||||||
|
replay.filename = ""
|
||||||
|
scsi0:0.redo = ""
|
||||||
|
pciBridge0.pciSlotNumber = "17"
|
||||||
|
pciBridge4.pciSlotNumber = "21"
|
||||||
|
pciBridge5.pciSlotNumber = "22"
|
||||||
|
pciBridge6.pciSlotNumber = "23"
|
||||||
|
pciBridge7.pciSlotNumber = "24"
|
||||||
|
scsi0.pciSlotNumber = "16"
|
||||||
|
ethernet0.pciSlotNumber = "33"
|
||||||
|
vmci0.pciSlotNumber = "32"
|
||||||
|
scsi0.sasWWID = "50 05 05 6b 91 ac 28 90"
|
||||||
|
vmotion.checkpointFBSize = "4194304"
|
||||||
|
hostCPUID.0 = "0000000568747541444d416369746e65"
|
||||||
|
hostCPUID.1 = "00100f420004080000802009178bfbff"
|
||||||
|
hostCPUID.80000001 = "00100f42000004ef000037ffefd3fbff"
|
||||||
|
guestCPUID.0 = "0000000568747541444d416369746e65"
|
||||||
|
guestCPUID.1 = "00100f420000080080802001078bfbff"
|
||||||
|
guestCPUID.80000001 = "00100f42000004ef000001e9ebd3fbff"
|
||||||
|
userCPUID.0 = "0000000568747541444d416369746e65"
|
||||||
|
userCPUID.1 = "00100f420004080080802001078bfbff"
|
||||||
|
userCPUID.80000001 = "00100f42000004ef000001e9ebd3fbff"
|
||||||
|
evcCompatibilityMode = "FALSE"
|
||||||
|
sched.scsi0:0.throughputCap = "off"
|
||||||
|
guest.commands.sharedSecretLogin.hostd-quiescedsnap = "9ARGZmWQPtsUVrAVi/XviNUSQUF0td426itHw2cqHwg="
|
||||||
|
floppy0.present = "FALSE"
|
||||||
|
vmci0.id = "1483506446"
|
||||||
|
tools.syncTime = "FALSE"
|
||||||
|
annotation = "Centos 5.5 64bit Server"
|
||||||
|
uuid.location = "56 4d 58 2e 12 3c 07 e4-0b 84 af d9 ea 5d 83 0a"
|
||||||
|
cleanShutdown = "FALSE"
|
||||||
|
sched.swap.derivedName = "/vmfs/volumes/4bd1a428-b723f5bb-d406-0024e84773db/vmtest/vmtest-56acee0d.vswp"
|
||||||
34
tests/vmx2xmldata/vmx2xml-esx-in-the-wild-5.xml
Normal file
34
tests/vmx2xmldata/vmx2xml-esx-in-the-wild-5.xml
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
<domain type='vmware'>
|
||||||
|
<name>vmtest.local</name>
|
||||||
|
<uuid>423e94a9-a1c7-b31d-7161-76c7586c830e</uuid>
|
||||||
|
<description>Centos 5.5 64bit Server</description>
|
||||||
|
<memory>2097152</memory>
|
||||||
|
<currentMemory>2097152</currentMemory>
|
||||||
|
<vcpu>2</vcpu>
|
||||||
|
<os>
|
||||||
|
<type arch='x86_64'>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'>
|
||||||
|
<source file='[datastore] directory/vmtest-000001.vmdk'/>
|
||||||
|
<target dev='sda' bus='scsi'/>
|
||||||
|
<address type='drive' controller='0' bus='0' unit='0'/>
|
||||||
|
</disk>
|
||||||
|
<disk type='file' device='cdrom'>
|
||||||
|
<source file='[4af0231d-1eff559a-6369-0024e84773b6] isos/CentOS-5.5-x86_64-bin-DVD-1of2.iso'/>
|
||||||
|
<target dev='hda' bus='ide'/>
|
||||||
|
<address type='drive' controller='0' bus='0' unit='0'/>
|
||||||
|
</disk>
|
||||||
|
<controller type='scsi' index='0' model='lsilogic'/>
|
||||||
|
<controller type='ide' index='0'/>
|
||||||
|
<interface type='bridge'>
|
||||||
|
<mac address='00:50:56:be:00:15'/>
|
||||||
|
<source bridge='VM-LAN'/>
|
||||||
|
<model type='e1000'/>
|
||||||
|
</interface>
|
||||||
|
</devices>
|
||||||
|
</domain>
|
||||||
@@ -274,6 +274,7 @@ mymain(int argc, char **argv)
|
|||||||
DO_TEST("esx-in-the-wild-2", "esx-in-the-wild-2", esxVI_ProductVersion_ESX35);
|
DO_TEST("esx-in-the-wild-2", "esx-in-the-wild-2", esxVI_ProductVersion_ESX35);
|
||||||
DO_TEST("esx-in-the-wild-3", "esx-in-the-wild-3", esxVI_ProductVersion_ESX35);
|
DO_TEST("esx-in-the-wild-3", "esx-in-the-wild-3", esxVI_ProductVersion_ESX35);
|
||||||
DO_TEST("esx-in-the-wild-4", "esx-in-the-wild-4", esxVI_ProductVersion_ESX35);
|
DO_TEST("esx-in-the-wild-4", "esx-in-the-wild-4", esxVI_ProductVersion_ESX35);
|
||||||
|
DO_TEST("esx-in-the-wild-5", "esx-in-the-wild-5", esxVI_ProductVersion_ESX40);
|
||||||
|
|
||||||
DO_TEST("gsx-in-the-wild-1", "gsx-in-the-wild-1", esxVI_ProductVersion_ESX35);
|
DO_TEST("gsx-in-the-wild-1", "gsx-in-the-wild-1", esxVI_ProductVersion_ESX35);
|
||||||
DO_TEST("gsx-in-the-wild-2", "gsx-in-the-wild-2", esxVI_ProductVersion_ESX35);
|
DO_TEST("gsx-in-the-wild-2", "gsx-in-the-wild-2", esxVI_ProductVersion_ESX35);
|
||||||
|
|||||||
Reference in New Issue
Block a user