Bug 441875 - Unable to start non-bootloader guest using XML from virsh dumpxml
Summary: Unable to start non-bootloader guest using XML from virsh dumpxml
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: libvirt
Version: 9
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Daniel Veillard
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-04-10 16:57 UTC by Kaitlin Rupert
Modified: 2009-01-22 13:08 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-01-22 13:08:14 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Kaitlin Rupert 2008-04-10 16:57:28 UTC
Description of problem:
It's possible to define a run a non-bootloader guest.  However, if you dump the
XML of this guest and then try to define and then start a guest using the XML
later on, the start fails.

Version-Release number of selected component (if applicable):
libvirt-devel-0.4.1-3.fc9
libvirt-0.4.1-3.fc9

How reproducible:
Always - also seen this issue using libvirt 0.4.0 on a SLES 10 system.

Steps to Reproduce:
1. Define guest using <kernel> and <initrd> tags instead of a bootloader (see
XML below).
2. Start guest to verify guest properly works.
3. virsh dumpxml and save the output.
4. Shutdown and undefine guest.
5. Define guest using the XML captured from virsh dumpxml.
6. Start guest - this will fail.
7. virsh dumpxml - notice that the <kernel> and <initrd> tags have been stripped
away.
  
Actual results:
Start fails with the following error:

libvir: Xen Daemon error : POST operation failed: (xend.err "(2, 'Invalid
kernel', 'xc_dom_find_loader: no loader found\\n')")
error: Failed to start domain no_bootloader

Expected results:
The guest should start properly.

Additional info:
1) The steps to reproduce are contrived, but can cause problems like the following:

xml = virDomainGetXMLDesc() on SystemA
virDomainDefineXML(conn, xml) on SystemB.

The define is successful, but the user is unable to start the guest on SystemB.

2) After Step 3 above, remove the <bootloader /> tag from the XML generated by
dumpxml.  You should be able to start the guest with no problems.

3) XML used for guest:

<domain type='xen' id='1683'>
  <name>no_bootloader</name>
  <uuid>feee7d6a-cde2-11dc-9f3b-0011259da336</uuid>
  <os>
    <type>linux</type>
    <kernel>/data/users/kaitlin/default-xen-kernel</kernel>
    <initrd>/data/users/kaitlin/default-xen-initrd</initrd>
    <cmdline>TERM=xterm </cmdline>
  </os>
  <memory>131172</memory>
  <vcpu>1</vcpu>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <interface type='network'>
       <source network='default'/>
       <mac address="11:22:33:44:55:66"/>
    </interface>
    <disk type='file' device='disk'>
      <driver name='file'/>
      <source file='/data/users/kaitlin/default-xen-dimage'/>
      <target dev='xvda'/>
    </disk>
    <console tty='/dev/pts/4'/>
  </devices>
</domain>

Comment 1 Bug Zapper 2008-05-14 09:15:29 UTC
Changing version to '9' as part of upcoming Fedora 9 GA.
More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 2 Daniel Berrangé 2009-01-22 13:08:14 UTC
THis problem should be fixed in latest version of libvirt 0.5.1


Note You need to log in before you can comment on or make changes to this bug.