On Thu, Aug 29, 2013 at 5:19 AM, Michal Privoznik <mprivozn(a)redhat.com>wrote:
On 28.08.2013 23:53, Doug Goldstein wrote:
> A user was having an issue with this specific VMWare Fusion config and
> he gave me permission to add it as part of our test suite to further
> expand our VMX test coverage. Unfortunately our VMX parser and
> generator does not support many features contained within and just
> silently ignores fields it does not understand so they had to
> be removed out in the xml2vmx test. The original unmodified version
> exists in the vmx2xml test.
> ---
> tests/vmx2xmldata/vmx2xml-fusion-in-the-wild-1.vmx | 88
++++++++++++++++++++++
> tests/vmx2xmldata/vmx2xml-fusion-in-the-wild-1.xml | 38 ++++++++++
> tests/vmx2xmltest.c | 2 +
> tests/xml2vmxdata/xml2vmx-fusion-in-the-wild-1.vmx | 30 ++++++++
> tests/xml2vmxdata/xml2vmx-fusion-in-the-wild-1.xml | 40 ++++++++++
> tests/xml2vmxtest.c | 2 +
> 6 files changed, 200 insertions(+)
> create mode 100644 tests/vmx2xmldata/vmx2xml-fusion-in-the-wild-1.vmx
> create mode 100644 tests/vmx2xmldata/vmx2xml-fusion-in-the-wild-1.xml
> create mode 100644 tests/xml2vmxdata/xml2vmx-fusion-in-the-wild-1.vmx
> create mode 100644 tests/xml2vmxdata/xml2vmx-fusion-in-the-wild-1.xml
>
> diff --git a/tests/vmx2xmldata/vmx2xml-fusion-in-the-wild-1.vmx
b/tests/vmx2xmldata/vmx2xml-fusion-in-the-wild-1.vmx
> new file mode 100644
> index 0000000..ef6af19
> --- /dev/null
> +++ b/tests/vmx2xmldata/vmx2xml-fusion-in-the-wild-1.vmx
> @@ -0,0 +1,88 @@
> +.encoding = "UTF-8"
> +config.version = "8"
> +virtualHW.version = "9"
> +memsize = "3572"
> +MemAllowAutoScaleDown = "FALSE"
> +MemTrimRate = "-1"
> +displayName = "ATTM_VM"
> +guestOS = "winxppro"
> +numvcpus = "2"
> +sound.present = "TRUE"
> +sound.filename = "-1"
> +sound.autodetect = "TRUE"
> +usb.present = "TRUE"
> +ethernet0.present = "TRUE"
> +ethernet0.addressType = "generated"
> +ethernet0.connectionType = "bridged"
> +ethernet1.present = "TRUE"
> +ethernet1.addressType = "generated"
> +ethernet1.connectionType = "bridged"
> +scsi0:0.present = "TRUE"
> +scsi0:0.fileName = "ATTM_VM.vmdk"
> +pciBridge0.present = "TRUE"
> +tools.upgrade.policy = "useGlobal"
> +ehci.present = "TRUE"
> +ide0:0.present = "TRUE"
> +ide0:0.autodetect = "TRUE"
> +ide0:0.filename = "auto detect"
> +ide0:0.deviceType = "atapi-cdrom"
> +scsi0.present = "TRUE"
> +scsi0.virtualDev = "buslogic"
> +buslogic.noDriver = "FALSE"
> +extendedConfigFile = "ATTM_VM.vmxf"
> +virtualHW.productCompatibility = "hosted"
> +pciBridge4.present = "TRUE"
> +pciBridge4.virtualDev = "pcieRootPort"
> +pciBridge4.pciSlotNumber = "21"
> +pciBridge4.functions = "8"
> +pciBridge5.present = "TRUE"
> +pciBridge5.virtualDev = "pcieRootPort"
> +pciBridge5.pciSlotNumber = "22"
> +pciBridge5.functions = "8"
> +pciBridge6.present = "TRUE"
> +pciBridge6.virtualDev = "pcieRootPort"
> +pciBridge6.pciSlotNumber = "23"
> +pciBridge6.functions = "8"
> +pciBridge7.present = "TRUE"
> +pciBridge7.virtualDev = "pcieRootPort"
> +pciBridge7.pciSlotNumber = "24"
> +pciBridge7.functions = "8"
> +vmci0.present = "TRUE"
> +hpet0.present = "TRUE"
> +usb.vbluetooth.startConnected = "TRUE"
> +mks.enable3d = "TRUE"
> +ethernet0.linkStatePropagation.enable = "TRUE"
> +ethernet1.linkStatePropagation.enable = "TRUE"
> +ide0:0.startConnected = "FALSE"
> +ethernet0.generatedAddress = "00:0c:29:3b:64:ea"
> +ethernet1.generatedAddress = "00:0c:29:3b:64:f4"
> +vmci0.id = "-952408854"
> +tools.syncTime = "FALSE"
> +uuid.location = "56 4d 70 88 01 a1 98 32-e7 2b 67 90 c7 3b 64 ea"
> +uuid.bios = "56 4d 70 88 01 a1 98 32-e7 2b 67 90 c7 3b 64 ea"
> +cleanShutdown = "TRUE"
> +replay.supported = "FALSE"
> +replay.filename = ""
> +scsi0:0.redo = ""
> +pciBridge0.pciSlotNumber = "17"
> +scsi0.pciSlotNumber = "16"
> +usb.pciSlotNumber = "32"
> +ethernet0.pciSlotNumber = "33"
> +ethernet1.pciSlotNumber = "34"
> +sound.pciSlotNumber = "35"
> +ehci.pciSlotNumber = "36"
> +vmci0.pciSlotNumber = "37"
> +usb:1.present = "TRUE"
> +ethernet0.generatedAddressOffset = "0"
> +ethernet1.generatedAddressOffset = "10"
> +vmotion.checkpointFBSize = "134217728"
> +usb:1.speed = "2"
> +usb:1.deviceType = "hub"
> +usb:1.port = "1"
> +usb:1.parent = "-1"
> +floppy0.startConnected = "FALSE"
> +softPowerOff = "FALSE"
> +usb:0.present = "TRUE"
> +usb:0.deviceType = "hid"
> +usb:0.port = "0"
> +usb:0.parent = "-1"
> diff --git a/tests/vmx2xmldata/vmx2xml-fusion-in-the-wild-1.xml
b/tests/vmx2xmldata/vmx2xml-fusion-in-the-wild-1.xml
> new file mode 100644
> index 0000000..dd8c12a
> --- /dev/null
> +++ b/tests/vmx2xmldata/vmx2xml-fusion-in-the-wild-1.xml
> @@ -0,0 +1,38 @@
> +<domain type='vmware'>
> + <name>ATTM_VM</name>
> + <uuid>564d7088-01a1-9832-e72b-6790c73b64ea</uuid>
> + <memory unit='KiB'>3657728</memory>
> + <currentMemory unit='KiB'>3657728</currentMemory>
> + <vcpu placement='static'>2</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'>
> + <source file='[datastore] directory/ATTM_VM.vmdk'/>
> + <target dev='sda' bus='scsi'/>
> + <address type='drive' controller='0' bus='0'
target='0' unit='0'/>
> + </disk>
> + <disk type='block' device='cdrom'>
This fails the test until we add:
<source dev='auto detect'/>
> + <target dev='hda' bus='ide' tray='open'/>
> + <address type='drive' controller='0' bus='0'
target='0' unit='0'/>
> + </disk>
> + <controller type='scsi' index='0'
model='buslogic'/>
> + <controller type='ide' index='0'/>
> + <interface type='bridge'>
> + <mac address='00:0c:29:3b:64:ea'/>
> + <source bridge=''/>
> + </interface>
> + <interface type='bridge'>
> + <mac address='00:0c:29:3b:64:f4'/>
> + <source bridge=''/>
> + </interface>
> + <video>
> + <model type='vmvga' vram='4096'/>
> + </video>
> + </devices>
> +</domain>
> diff --git a/tests/vmx2xmltest.c b/tests/vmx2xmltest.c
> index 479c84c..9e6e9fd 100644
> --- a/tests/vmx2xmltest.c
> +++ b/tests/vmx2xmltest.c
> @@ -286,6 +286,8 @@ mymain(void)
> DO_TEST("ws-in-the-wild-1", "ws-in-the-wild-1");
> DO_TEST("ws-in-the-wild-2", "ws-in-the-wild-2");
>
> + DO_TEST("fusion-in-the-wild-1", "fusion-in-the-wild-1");
> +
> DO_TEST("annotation", "annotation");
>
> DO_TEST("smbios", "smbios");
> diff --git a/tests/xml2vmxdata/xml2vmx-fusion-in-the-wild-1.vmx
b/tests/xml2vmxdata/xml2vmx-fusion-in-the-wild-1.vmx
> new file mode 100644
> index 0000000..7f6551b
> --- /dev/null
> +++ b/tests/xml2vmxdata/xml2vmx-fusion-in-the-wild-1.vmx
> @@ -0,0 +1,30 @@
> +.encoding = "UTF-8"
> +config.version = "8"
> +virtualHW.version = "9"
> +guestOS = "other"
> +uuid.bios = "56 4d 70 88 01 a1 98 32-e7 2b 67 90 c7 3b 64 ea"
> +displayName = "ATTM_VM"
> +memsize = "3572"
> +numvcpus = "2"
> +scsi0.present = "true"
> +scsi0.virtualDev = "buslogic"
> +scsi0:0.present = "true"
> +scsi0:0.deviceType = "scsi-hardDisk"
> +scsi0:0.fileName = "/vmfs/volumes/datastore/directory/ATTM_VM.vmdk"
> +ide0:0.present = "true"
> +ide0:0.autodetect = "true"
This ^^^
> +ide0:0.deviceType = "atapi-cdrom"
> +ide0:0.fileName = "auto detect"
and this ^^^ line make the testsuite fail.
Doh. I dropped the "auto detect" patch from the series and I must have
tested with it still in. Re-spin coming.
> +floppy0.present = "false"
> +floppy1.present = "false"
> +ethernet0.present = "true"
> +ethernet0.connectionType = "bridged"
> +ethernet0.addressType = "generated"
> +ethernet0.generatedAddress = "00:0c:29:3b:64:ea"
> +ethernet0.generatedAddressOffset = "0"
> +ethernet1.present = "true"
> +ethernet1.connectionType = "bridged"
> +ethernet1.addressType = "generated"
> +ethernet1.generatedAddress = "00:0c:29:3b:64:f4"
> +ethernet1.generatedAddressOffset = "0"
> +svga.vramSize = "4194304"
> diff --git a/tests/xml2vmxdata/xml2vmx-fusion-in-the-wild-1.xml
b/tests/xml2vmxdata/xml2vmx-fusion-in-the-wild-1.xml
> new file mode 100644
> index 0000000..4a09add
> --- /dev/null
> +++ b/tests/xml2vmxdata/xml2vmx-fusion-in-the-wild-1.xml
> @@ -0,0 +1,40 @@
> +<domain type='vmware'>
> + <name>ATTM_VM</name>
> + <uuid>564d7088-01a1-9832-e72b-6790c73b64ea</uuid>
> + <memory unit='KiB'>3657728</memory>
> + <currentMemory unit='KiB'>3657728</currentMemory>
> + <vcpu placement='static'>2</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'>
> + <source file='[datastore] directory/ATTM_VM.vmdk'/>
> + <target dev='sda' bus='scsi'/>
> + <address type='drive' controller='0' bus='0'
target='0' unit='0'/>
> + </disk>
> + <disk type='block' device='cdrom'>
> + <driver name='atapi'/>
> + <target dev='hda' bus='ide' tray='open'/>
> + <address type='drive' controller='0' bus='0'
target='0' unit='0'/>
> + </disk>
> + <controller type='scsi' index='0'
model='buslogic'/>
> + <controller type='ide' index='0'/>
> + <interface type='bridge'>
> + <mac address='00:0c:29:3b:64:ea'/>
> + <source bridge=''/>
> + </interface>
> + <interface type='bridge'>
> + <mac address='00:0c:29:3b:64:f4'/>
> + <source bridge=''/>
> + </interface>
> + <video>
> + <model type='vmvga' vram='4096'/>
> + </video>
> + <memballoon model='none'/>
> + </devices>
> +</domain>
> diff --git a/tests/xml2vmxtest.c b/tests/xml2vmxtest.c
> index cb1c29c..ebd54fc 100644
> --- a/tests/xml2vmxtest.c
> +++ b/tests/xml2vmxtest.c
> @@ -299,6 +299,8 @@ mymain(void)
> DO_TEST("ws-in-the-wild-1", "ws-in-the-wild-1", 8);
> DO_TEST("ws-in-the-wild-2", "ws-in-the-wild-2", 8);
>
> + DO_TEST("fusion-in-the-wild-1", "fusion-in-the-wild-1",
9);
> +
> DO_TEST("annotation", "annotation", 4);
>
> DO_TEST("smbios", "smbios", 4);
>
--
Doug Goldstein