On Fri, Mar 07, 2008 at 02:50:03PM +0000, Mark McLoughlin wrote:
On Sun, 2008-02-03 at 18:47 +0000, Daniel P. Berrange wrote:
> -
> - if ((str == NULL) || (strcmp(str, "hvm"))) {
> - res = virDomainParseXMLOSDescPV(conn, node,
> - &buf, ctxt,
> - xendConfigVersion);
> - } else {
> + if ((str != NULL) && STREQ(str, "hvm"))
> hvm = 1;
> - res = virDomainParseXMLOSDescHVM(conn, node, &buf, ctxt,
> - vcpus, xendConfigVersion);
> - }
> + xmlFree(str);
> + str = NULL;
>
> - free(str);
> + if (hvm)
> + virBufferAdd(&buf, "(image (hvm ", 12);
> + else
> + virBufferAdd(&buf, "(image (linux ", 14);
Okay, I was seeing something weird that is at least somewhat related to
this patch.
This is with libvirt-0.4.0-5.fc9.i386 and python-virtinst cset
374:507a70e9ed10
Trying to do a paravirt install with virt-install I was seeing it blow
up with "virDomainCreateLinux() failed XML description for domain is not
well formed or invalid"
The problem was <os><type>xen</type>
Changing that to <os><type>linux</type> made it work fine
Updating to libvirt CVS made it work fine too, since you now don't check
that the os type is "linux"
Dunno, haven't looked into this much and I'm not sure if it's of any
real concern ... just thought I'd mention it.
The problem is that the Xen driver expects the OS type to be 'linux'
but the capabilities XML is advertising the OS type as 'xen'. Technically
'xen' is the correct value, since its refering to a guest ABI & the ABI
is xen, not linux. Since we can't break XML semantics we have to stick
with 'linux'. Thus I've added a workaround to make virt-install still
use 'linux' if talking to the Xen driver.
Dan.
--
|: Red Hat, Engineering, Boston -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://ovirt.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|