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-v2vAssignee: Matthew Booth <mbooth>
Status: CLOSED WONTFIX QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: high    
Version: 6.0CC: hbrock, leiwang, llim, mbooth, mkenneth, moli, mshao, mzhan, rjones, rwu, syeghiay, tzheng, ycui, yupzhang
Target Milestone: rcKeywords: 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
This issue has been proposed when we are only considering blocker
issues in the current Red Hat Enterprise Linux release.

** If you would still like this issue considered for the current
release, ask your support representative to file as a blocker on
your behalf. Otherwise ask that it be considered for the next
Red Hat Enterprise Linux release. **

Comment 3 Rita Wu 2010-07-26 06:14:27 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.

Comment 5 Matthew Booth 2010-07-26 12:47:03 UTC
It's not clear to me why this bug has appeared. Has anybody encountered this problem with a RHEL 6 package in testing?

Comment 6 Mohua Li 2010-07-27 04:02:15 UTC
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

Comment 7 Mohua Li 2010-07-27 04:02:56 UTC
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

Comment 8 Matthew Booth 2010-08-05 09:32:28 UTC
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.

Comment 9 Matthew Booth 2010-08-05 09:35:50 UTC
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.

Comment 10 Matthew Booth 2010-08-05 09:36:51 UTC
Tentatively set release target to 6.2, because we've already ruled out parsing VMDK for 6.1.

Comment 12 Rita Wu 2010-08-05 10:20:21 UTC
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.

Comment 14 Matthew Booth 2010-08-11 08:51:09 UTC
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.