Bug 748592

Summary: Fails with UUID parsing error
Product: [Community] Virtualization Tools Reporter: purpleidea
Component: libvirtAssignee: Libvirt Maintainers <libvirt-maint>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: crobinso, jtomko, purpleidea, xen-maint
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-07-28 15:43:09 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description purpleidea 2011-10-25 00:15:20 UTC
Description of problem:

[james@workstation ~]$ virsh -c esx://root.10.10/?no_verify=1
Enter root's password for 10.10.10.10: 
error: internal error Could not parse UUID from string '53d19f64-d663-a017-8922- 030487e7ad4'
error: failed to connect to the hypervisor

or

virt-v2v -ic esx://root.10.10/?no_verify=1 -os default -of raw -oa sparse themachine
virt-v2v: Failed to connect to esx://root.10.10/?no_verify=1: libvirt error code: 1, message: internal error Could not parse UUID from string '53d19f64-d663-a017-8922- 030487e7ad4'


Version-Release number of selected component (if applicable):
Fedora 14

How reproducible:

Always

Steps to Reproduce:
1.
2.
3.
  
Actual results:
Nothing happens

Expected results:
Something should happen.

Additional info:
I'm trying to migrate legacy systems from esx (of which I know little about) to KVM. I noticed that there is a space in the UUID shown in the parse error. Maybe this is why. Does anyone know how to hack around this problem.

Thanks!
James

Comment 1 Matthew Booth 2011-10-25 08:33:38 UTC
This is a failure in libvirt's ESX driver. However, that UUID is definitely corrupt: one of the hex digits has been replaced by a space. The interesting question is where it came from. I see 3 possibilities:

* libvirt corrupted the UUID whilst obtaining it.
* The corrupt UUID is an ESX quirk which libvirt needs to work around.
* The corrupt UUID indicates a genuine problem on the ESX server.

There are several code paths which could generate this error, so I suspect narrowing it down will require either a debugger or an instrumented build. I'm pushing this over to libvirt, as it doesn't touch any code in virt-v2v.

Comment 2 purpleidea 2012-04-30 23:06:34 UTC
If someone has a workaround, I'd be happy to test it and move off of vmware servers.
Thanks!

Comment 3 Ján Tomko 2015-07-28 15:43:09 UTC
This should be fixed upstream by
commit 791da4e7367326b09357c94a5fd626efd8a85aa8
Author:     Matthias Bolte <matthias.bolte>
AuthorDate: 2011-02-18 10:09:32 +0100
Commit:     Matthias Bolte <matthias.bolte>
CommitDate: 2011-02-18 17:59:05 +0100

    esx: Ignore malformed host UUID from BIOS
    
    Etienne Gosset reported that libvirt fails to connect to his ESX
    server because it failed to parse its malformed host UUID, that
    contains an additional space and lacks one hexdigit in the last
    group:
    
    xxxxxxxx-xxxx-xxxx-xxxx- xxxxxxxxxxx
    
    Don't treat this as a fatal error, just ignore it.

git describe: v0.8.8-26-g791da4e contains: v0.9.0~309