Bug 618091
Summary: | v2v fail to convert the ESX guest with snapshot which store the disk file & configure file on different storage, | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Mohua Li <moli> |
Component: | virt-v2v | Assignee: | Matthew Booth <mbooth> |
Status: | CLOSED WONTFIX | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | 6.0 | CC: | hbrock, leiwang, llim, mbooth, mkenneth, moli, mshao, mzhan, rjones, rwu, syeghiay, tzheng, ycui, yupzhang |
Target Milestone: | rc | Keywords: | RHELNAK |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: |
virt-v2v is able to convert guests running on ESX server. A current limitation in virt-v2v means that if an ESX guest has a disk with a snapshot, the snapshot must be on the same datastore as the underlying disk storage. If the snapshot and underlying storage are on different datastores, virt-v2v will report a 404 error while trying to retrieve the storage.
|
Story Points: | --- |
Clone Of: | 618090 | Environment: | |
Last Closed: | 2012-08-14 15:10:05 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 600220, 618090 | ||
Bug Blocks: | 782183, 840699 |
Comment 2
RHEL Program Management
2010-07-26 05:17:56 UTC
Set the keyword as "TestBlocker". Since it is normally for our customers to have a guest with snapshot, and it will block them to convert those guests. It's not clear to me why this bug has appeared. Has anybody encountered this problem with a RHEL 6 package in testing? mdbooth, yes i met this bug on rhel6, the most obvious thing is when i converting the ESX4.0-RHEL5.4-i386 guest with snapshot it fail with error, after i delete the snapshot convert could continue, but it only happens to the guest which store the disk & configure file on different storage, see the configure files of the guest as below, error message, virt-v2v -ic esx://10.66.65.108/?no_verify=1 -op test $vm -------------------- ESX4.0-RHEL5.4-i386 -------------------- ** HEAD https://10.66.65.108/folder/ESX4.0-RHEL5.4-i386/ESX4-RHEL5U4-i386-noxen-smp-000001-flat.vmdk?dcPath=ha-datacenter&dsName=libvirt2 ==> 401 Unauthorized ** HEAD https://10.66.65.108/folder/ESX4.0-RHEL5.4-i386/ESX4-RHEL5U4-i386-noxen-smp-000001-flat.vmdk?dcPath=ha-datacenter&dsName=libvirt2 ==> 404 Not Found (1s) ** HEAD https://10.66.65.108/folder/ESX4.0-RHEL5.4-i386/ESX4-RHEL5U4-i386-noxen-smp-flat.vmdk?dcPath=ha-datacenter&dsName=libvirt2 ==> 404 Not Found virt-v2v: Failed to connect to ESX server: 404 Not Found //guest configure file without snapshot, /vmfs/volumes/e1b334a5-cc0a83cd/ESX4.0-RHEL5.4-i386 # cat ESX4.0-RHEL5.4-i386.vmx .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 = "ESX4.0-RHEL5.4-i386.nvram" deploymentPlatform = "windows" virtualHW.productCompatibility = "hosted" unity.customColor = "|23C0C0C0" tools.upgrade.policy = "useGlobal" powerType.powerOff = "soft" powerType.powerOn = "default" powerType.suspend = "hard" powerType.reset = "soft" displayName = "ESX4.0-RHEL5.4-i386" extendedConfigFile = "ESX4.0-RHEL5.4-i386.vmxf" floppy0.present = "TRUE" scsi0.present = "TRUE" scsi0.sharedBus = "none" scsi0.virtualDev = "lsilogic" memsize = "256" scsi0:0.present = "TRUE" scsi0:0.fileName = "/vmfs/volumes/a97dfb73-6aa61a37/ESXi4/Linux/ESX4-RHEL5U4-i386-noxen-smp/ESX4-RHEL5U4-i386-noxen-smp.vmdk" scsi0:0.deviceType = "scsi-hardDisk" ide1:0.present = "TRUE" ide1:0.clientDevice = "TRUE" ide1:0.deviceType = "cdrom-raw" ide1:0.startConnected = "FALSE" floppy0.startConnected = "FALSE" floppy0.clientDevice = "TRUE" ethernet0.present = "TRUE" ethernet0.networkName = "VM Network" ethernet0.addressType = "generated" guestOSAltName = "Red Hat Enterprise Linux 5 (32-bit)" guestOS = "rhel5" uuid.location = "56 4d 41 b6 3e 1c 64 c3-e6 df 8f fa 1f f2 ce 0e" uuid.bios = "56 4d 41 b6 3e 1c 64 c3-e6 df 8f fa 1f f2 ce 0e" vc.uuid = "52 a0 0d da 17 0d 48 bb-34 4c 09 3e 2e 8c e2 ce" ethernet0.generatedAddress = "00:0c:29:f2:ce:0e" cleanShutdown = "TRUE" replay.supported = "TRUE" sched.swap.derivedName = "/vmfs/volumes/e1b334a5-cc0a83cd/ESX4.0-RHEL5.4-i386/ESX4.0-RHEL5.4-i386-a0d27d4e.vswp" scsi0:0.redo = "" vmotion.checkpointFBSize = "134217728" pciBridge0.pciSlotNumber = "17" pciBridge4.pciSlotNumber = "21" pciBridge5.pciSlotNumber = "22" pciBridge6.pciSlotNumber = "23" pciBridge7.pciSlotNumber = "24" scsi0.pciSlotNumber = "16" ethernet0.pciSlotNumber = "32" vmci0.pciSlotNumber = "33" ethernet0.generatedAddressOffset = "0" vmci0.id = "536006158" hostCPUID.0 = "0000000d756e65476c65746e49656e69" guestCPUID.0 = "0000000d756e65476c65746e49656e69" userCPUID.0 = "0000000d756e65476c65746e49656e69" hostCPUID.1 = "0001067a000408000408e3fdbfebfbff" guestCPUID.1 = "0001067a00010800800822010febfbff" userCPUID.1 = "0001067a00040800000822010febfbff" hostCPUID.80000001 = "00000000000000000000000120100800" guestCPUID.80000001 = "00000000000000000000000120100800" userCPUID.80000001 = "00000000000000000000000120100800" evcCompatibilityMode = "FALSE" tools.remindInstall = "TRUE" floppy0.fileName = "/dev/fd0" ethernet1.present = "TRUE" ethernet1.virtualDev = "e1000" ethernet1.networkName = "VM Network" ethernet1.addressType = "generated" ethernet1.generatedAddress = "00:0c:29:f2:ce:18" ethernet1.pciSlotNumber = "34" ethernet1.generatedAddressOffset = "10" svga.vramSize = "134217728" vmci0.unrestricted = "TRUE" /vmfs/volumes/e1b334a5-cc0a83cd/ESX4.0-RHEL5.4-i386 # pwd /vmfs/volumes/libvirt2/ESX4.0-RHEL5.4-i386 /vmfs/volumes/e1b334a5-cc0a83cd/ESX4.0-RHEL5.4-i386 # ls /vmfs/volumes/a97dfb73-6aa61a37/ESXi4/Linux/ESX4-RHEL5U4-i386-noxen-smp ESX4-RHEL5U4-i386-noxen-smp-flat.vmdk ESX4-RHEL5U4-i386-noxen-smp.vmdk ESX4-RHEL5U4-i386-noxen-smp.vmx vmware-1.log ESX4-RHEL5U4-i386-noxen-smp.nvram ESX4-RHEL5U4-i386-noxen-smp.vmsd ESX4-RHEL5U4-i386-noxen-smp.vmxf vmware.log //guest file with snapshot /vmfs/volumes/e1b334a5-cc0a83cd/ESX4.0-RHEL5.4-i386 # cat *vmx .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 = "ESX4.0-RHEL5.4-i386.nvram" deploymentPlatform = "windows" virtualHW.productCompatibility = "hosted" unity.customColor = "|23C0C0C0" tools.upgrade.policy = "useGlobal" powerType.powerOff = "soft" powerType.powerOn = "default" powerType.suspend = "hard" powerType.reset = "soft" displayName = "ESX4.0-RHEL5.4-i386" extendedConfigFile = "ESX4.0-RHEL5.4-i386.vmxf" floppy0.present = "TRUE" scsi0.present = "TRUE" scsi0.sharedBus = "none" scsi0.virtualDev = "lsilogic" memsize = "256" scsi0:0.present = "TRUE" scsi0:0.fileName = "ESX4-RHEL5U4-i386-noxen-smp-000001.vmdk" scsi0:0.deviceType = "scsi-hardDisk" ide1:0.present = "TRUE" ide1:0.clientDevice = "TRUE" ide1:0.deviceType = "cdrom-raw" ide1:0.startConnected = "FALSE" floppy0.startConnected = "FALSE" floppy0.clientDevice = "TRUE" ethernet0.present = "TRUE" ethernet0.networkName = "VM Network" ethernet0.addressType = "generated" guestOSAltName = "Red Hat Enterprise Linux 5 (32-bit)" guestOS = "rhel5" uuid.location = "56 4d 41 b6 3e 1c 64 c3-e6 df 8f fa 1f f2 ce 0e" uuid.bios = "56 4d 41 b6 3e 1c 64 c3-e6 df 8f fa 1f f2 ce 0e" vc.uuid = "52 a0 0d da 17 0d 48 bb-34 4c 09 3e 2e 8c e2 ce" ethernet0.generatedAddress = "00:0c:29:f2:ce:0e" cleanShutdown = "TRUE" replay.supported = "TRUE" sched.swap.derivedName = "/vmfs/volumes/e1b334a5-cc0a83cd/ESX4.0-RHEL5.4-i386/ESX4.0-RHEL5.4-i386-a0d27d4e.vswp" scsi0:0.redo = "" vmotion.checkpointFBSize = "134217728" pciBridge0.pciSlotNumber = "17" pciBridge4.pciSlotNumber = "21" pciBridge5.pciSlotNumber = "22" pciBridge6.pciSlotNumber = "23" pciBridge7.pciSlotNumber = "24" scsi0.pciSlotNumber = "16" ethernet0.pciSlotNumber = "32" vmci0.pciSlotNumber = "33" ethernet0.generatedAddressOffset = "0" vmci0.id = "536006158" hostCPUID.0 = "0000000d756e65476c65746e49656e69" guestCPUID.0 = "0000000d756e65476c65746e49656e69" userCPUID.0 = "0000000d756e65476c65746e49656e69" hostCPUID.1 = "0001067a000408000408e3fdbfebfbff" guestCPUID.1 = "0001067a00010800800822010febfbff" userCPUID.1 = "0001067a00040800000822010febfbff" hostCPUID.80000001 = "00000000000000000000000120100800" guestCPUID.80000001 = "00000000000000000000000120100800" userCPUID.80000001 = "00000000000000000000000120100800" evcCompatibilityMode = "FALSE" tools.remindInstall = "TRUE" floppy0.fileName = "/dev/fd0" ethernet1.present = "TRUE" ethernet1.virtualDev = "e1000" ethernet1.networkName = "VM Network" ethernet1.addressType = "generated" ethernet1.generatedAddress = "00:0c:29:f2:ce:18" ethernet1.pciSlotNumber = "34" ethernet1.generatedAddressOffset = "10" svga.vramSize = "134217728" vmci0.unrestricted = "TRUE" /vmfs/volumes/e1b334a5-cc0a83cd/ESX4.0-RHEL5.4-i386 # ls ESX4-RHEL5U4-i386-noxen-smp-000001-delta.vmdk ESX4.0-RHEL5.4-i386-aux.xml ESX4.0-RHEL5.4-i386.vmx vmware-11.log vmware-8.log ESX4-RHEL5U4-i386-noxen-smp-000001.vmdk ESX4.0-RHEL5.4-i386.nvram ESX4.0-RHEL5.4-i386.vmxf vmware-12.log vmware-9.log ESX4.0-RHEL5.4-i386-Snapshot4.vmsn ESX4.0-RHEL5.4-i386.vmsd vmware-10.log vmware-13.log vmware.log mdbooth, yes i met this bug on rhel6, the most obvious thing is when i converting the ESX4.0-RHEL5.4-i386 guest with snapshot it fail with error, after i delete the snapshot convert could continue, but it only happens to the guest which store the disk & configure file on different storage, see the configure files of the guest as below, error message, virt-v2v -ic esx://10.66.65.108/?no_verify=1 -op test $vm -------------------- ESX4.0-RHEL5.4-i386 -------------------- ** HEAD https://10.66.65.108/folder/ESX4.0-RHEL5.4-i386/ESX4-RHEL5U4-i386-noxen-smp-000001-flat.vmdk?dcPath=ha-datacenter&dsName=libvirt2 ==> 401 Unauthorized ** HEAD https://10.66.65.108/folder/ESX4.0-RHEL5.4-i386/ESX4-RHEL5U4-i386-noxen-smp-000001-flat.vmdk?dcPath=ha-datacenter&dsName=libvirt2 ==> 404 Not Found (1s) ** HEAD https://10.66.65.108/folder/ESX4.0-RHEL5.4-i386/ESX4-RHEL5U4-i386-noxen-smp-flat.vmdk?dcPath=ha-datacenter&dsName=libvirt2 ==> 404 Not Found virt-v2v: Failed to connect to ESX server: 404 Not Found //guest configure file without snapshot, /vmfs/volumes/e1b334a5-cc0a83cd/ESX4.0-RHEL5.4-i386 # cat ESX4.0-RHEL5.4-i386.vmx .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 = "ESX4.0-RHEL5.4-i386.nvram" deploymentPlatform = "windows" virtualHW.productCompatibility = "hosted" unity.customColor = "|23C0C0C0" tools.upgrade.policy = "useGlobal" powerType.powerOff = "soft" powerType.powerOn = "default" powerType.suspend = "hard" powerType.reset = "soft" displayName = "ESX4.0-RHEL5.4-i386" extendedConfigFile = "ESX4.0-RHEL5.4-i386.vmxf" floppy0.present = "TRUE" scsi0.present = "TRUE" scsi0.sharedBus = "none" scsi0.virtualDev = "lsilogic" memsize = "256" scsi0:0.present = "TRUE" scsi0:0.fileName = "/vmfs/volumes/a97dfb73-6aa61a37/ESXi4/Linux/ESX4-RHEL5U4-i386-noxen-smp/ESX4-RHEL5U4-i386-noxen-smp.vmdk" scsi0:0.deviceType = "scsi-hardDisk" ide1:0.present = "TRUE" ide1:0.clientDevice = "TRUE" ide1:0.deviceType = "cdrom-raw" ide1:0.startConnected = "FALSE" floppy0.startConnected = "FALSE" floppy0.clientDevice = "TRUE" ethernet0.present = "TRUE" ethernet0.networkName = "VM Network" ethernet0.addressType = "generated" guestOSAltName = "Red Hat Enterprise Linux 5 (32-bit)" guestOS = "rhel5" uuid.location = "56 4d 41 b6 3e 1c 64 c3-e6 df 8f fa 1f f2 ce 0e" uuid.bios = "56 4d 41 b6 3e 1c 64 c3-e6 df 8f fa 1f f2 ce 0e" vc.uuid = "52 a0 0d da 17 0d 48 bb-34 4c 09 3e 2e 8c e2 ce" ethernet0.generatedAddress = "00:0c:29:f2:ce:0e" cleanShutdown = "TRUE" replay.supported = "TRUE" sched.swap.derivedName = "/vmfs/volumes/e1b334a5-cc0a83cd/ESX4.0-RHEL5.4-i386/ESX4.0-RHEL5.4-i386-a0d27d4e.vswp" scsi0:0.redo = "" vmotion.checkpointFBSize = "134217728" pciBridge0.pciSlotNumber = "17" pciBridge4.pciSlotNumber = "21" pciBridge5.pciSlotNumber = "22" pciBridge6.pciSlotNumber = "23" pciBridge7.pciSlotNumber = "24" scsi0.pciSlotNumber = "16" ethernet0.pciSlotNumber = "32" vmci0.pciSlotNumber = "33" ethernet0.generatedAddressOffset = "0" vmci0.id = "536006158" hostCPUID.0 = "0000000d756e65476c65746e49656e69" guestCPUID.0 = "0000000d756e65476c65746e49656e69" userCPUID.0 = "0000000d756e65476c65746e49656e69" hostCPUID.1 = "0001067a000408000408e3fdbfebfbff" guestCPUID.1 = "0001067a00010800800822010febfbff" userCPUID.1 = "0001067a00040800000822010febfbff" hostCPUID.80000001 = "00000000000000000000000120100800" guestCPUID.80000001 = "00000000000000000000000120100800" userCPUID.80000001 = "00000000000000000000000120100800" evcCompatibilityMode = "FALSE" tools.remindInstall = "TRUE" floppy0.fileName = "/dev/fd0" ethernet1.present = "TRUE" ethernet1.virtualDev = "e1000" ethernet1.networkName = "VM Network" ethernet1.addressType = "generated" ethernet1.generatedAddress = "00:0c:29:f2:ce:18" ethernet1.pciSlotNumber = "34" ethernet1.generatedAddressOffset = "10" svga.vramSize = "134217728" vmci0.unrestricted = "TRUE" /vmfs/volumes/e1b334a5-cc0a83cd/ESX4.0-RHEL5.4-i386 # pwd /vmfs/volumes/libvirt2/ESX4.0-RHEL5.4-i386 /vmfs/volumes/e1b334a5-cc0a83cd/ESX4.0-RHEL5.4-i386 # ls /vmfs/volumes/a97dfb73-6aa61a37/ESXi4/Linux/ESX4-RHEL5U4-i386-noxen-smp ESX4-RHEL5U4-i386-noxen-smp-flat.vmdk ESX4-RHEL5U4-i386-noxen-smp.vmdk ESX4-RHEL5U4-i386-noxen-smp.vmx vmware-1.log ESX4-RHEL5U4-i386-noxen-smp.nvram ESX4-RHEL5U4-i386-noxen-smp.vmsd ESX4-RHEL5U4-i386-noxen-smp.vmxf vmware.log //guest file with snapshot /vmfs/volumes/e1b334a5-cc0a83cd/ESX4.0-RHEL5.4-i386 # cat *vmx .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 = "ESX4.0-RHEL5.4-i386.nvram" deploymentPlatform = "windows" virtualHW.productCompatibility = "hosted" unity.customColor = "|23C0C0C0" tools.upgrade.policy = "useGlobal" powerType.powerOff = "soft" powerType.powerOn = "default" powerType.suspend = "hard" powerType.reset = "soft" displayName = "ESX4.0-RHEL5.4-i386" extendedConfigFile = "ESX4.0-RHEL5.4-i386.vmxf" floppy0.present = "TRUE" scsi0.present = "TRUE" scsi0.sharedBus = "none" scsi0.virtualDev = "lsilogic" memsize = "256" scsi0:0.present = "TRUE" scsi0:0.fileName = "ESX4-RHEL5U4-i386-noxen-smp-000001.vmdk" scsi0:0.deviceType = "scsi-hardDisk" ide1:0.present = "TRUE" ide1:0.clientDevice = "TRUE" ide1:0.deviceType = "cdrom-raw" ide1:0.startConnected = "FALSE" floppy0.startConnected = "FALSE" floppy0.clientDevice = "TRUE" ethernet0.present = "TRUE" ethernet0.networkName = "VM Network" ethernet0.addressType = "generated" guestOSAltName = "Red Hat Enterprise Linux 5 (32-bit)" guestOS = "rhel5" uuid.location = "56 4d 41 b6 3e 1c 64 c3-e6 df 8f fa 1f f2 ce 0e" uuid.bios = "56 4d 41 b6 3e 1c 64 c3-e6 df 8f fa 1f f2 ce 0e" vc.uuid = "52 a0 0d da 17 0d 48 bb-34 4c 09 3e 2e 8c e2 ce" ethernet0.generatedAddress = "00:0c:29:f2:ce:0e" cleanShutdown = "TRUE" replay.supported = "TRUE" sched.swap.derivedName = "/vmfs/volumes/e1b334a5-cc0a83cd/ESX4.0-RHEL5.4-i386/ESX4.0-RHEL5.4-i386-a0d27d4e.vswp" scsi0:0.redo = "" vmotion.checkpointFBSize = "134217728" pciBridge0.pciSlotNumber = "17" pciBridge4.pciSlotNumber = "21" pciBridge5.pciSlotNumber = "22" pciBridge6.pciSlotNumber = "23" pciBridge7.pciSlotNumber = "24" scsi0.pciSlotNumber = "16" ethernet0.pciSlotNumber = "32" vmci0.pciSlotNumber = "33" ethernet0.generatedAddressOffset = "0" vmci0.id = "536006158" hostCPUID.0 = "0000000d756e65476c65746e49656e69" guestCPUID.0 = "0000000d756e65476c65746e49656e69" userCPUID.0 = "0000000d756e65476c65746e49656e69" hostCPUID.1 = "0001067a000408000408e3fdbfebfbff" guestCPUID.1 = "0001067a00010800800822010febfbff" userCPUID.1 = "0001067a00040800000822010febfbff" hostCPUID.80000001 = "00000000000000000000000120100800" guestCPUID.80000001 = "00000000000000000000000120100800" userCPUID.80000001 = "00000000000000000000000120100800" evcCompatibilityMode = "FALSE" tools.remindInstall = "TRUE" floppy0.fileName = "/dev/fd0" ethernet1.present = "TRUE" ethernet1.virtualDev = "e1000" ethernet1.networkName = "VM Network" ethernet1.addressType = "generated" ethernet1.generatedAddress = "00:0c:29:f2:ce:18" ethernet1.pciSlotNumber = "34" ethernet1.generatedAddressOffset = "10" svga.vramSize = "134217728" vmci0.unrestricted = "TRUE" /vmfs/volumes/e1b334a5-cc0a83cd/ESX4.0-RHEL5.4-i386 # ls ESX4-RHEL5U4-i386-noxen-smp-000001-delta.vmdk ESX4.0-RHEL5.4-i386-aux.xml ESX4.0-RHEL5.4-i386.vmx vmware-11.log vmware-8.log ESX4-RHEL5U4-i386-noxen-smp-000001.vmdk ESX4.0-RHEL5.4-i386.nvram ESX4.0-RHEL5.4-i386.vmxf vmware-12.log vmware-9.log ESX4.0-RHEL5.4-i386-Snapshot4.vmsn ESX4.0-RHEL5.4-i386.vmsd vmware-10.log vmware-13.log vmware.log To replicate this bug you must have at least 2 datastores on your ESX server. Create a new guest, and select its default datastore to be A. When you create its disk, explicitly create it on datastore B. Once the guest is created, create a snapshot. Note that the snapshot is written to datastore A, whereas the the underlying storage is on datastore B. In my case, I have datastores called yellow:storage and blue_vmware. The underlying storage is: https://yellow.rhev.marston/folder/RHEL5-32/RHEL5-32-flat.vmdk?dcPath=ha-datacenter&dsName=blue_vmware The snapshot referenced in the vmx is: https://yellow.rhev.marston/folder/RHEL5-32/RHEL5-32-000001.vmdk?dcPath=ha-datacenter&dsName=yellow:storage1 virt-v2v fails to obtain the flat storage, because it expects the snapshot and underlying storage to be in the same datastore. virt-v2v currently relies purely on path munging to determine the location of the underlying datastore. Path munging cannot work in this case, as there is no link in the path to the other datastore. I don't see how this can be fixed without parsing the vmdk, which is something we've been putting off. As this bug will not be resolved for 6.0.0, we should add a release note pointing out that virt-v2v cannot convert an ESX guest containing snapshots if any volume has the snapshot and underlying storage on different datastores. Tentatively set release target to 6.2, because we've already ruled out parsing VMDK for 6.1. Since it requires a specific set of circumstances to reproduce, remove "TestBlocker" and "Blocker" flag. But it's possible for customers to have such circumstances, so it's better to add it to release note, which Matt has required. Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: virt-v2v is able to convert guests running on ESX server. A current limitation in virt-v2v means that if an ESX guest has a disk with a snapshot, the snapshot must be on the same datastore as the underlying disk storage. If the snapshot and underlying storage are on different datastores, virt-v2v will report a 404 error while trying to retrieve the storage. |