Description of problem: Running domain cannot be rebooted once xend was restarted. Version-Release number of selected component (if applicable): 3.0.3-64.el5, 3.0.3-73.el5 How reproducible: always Steps to Reproduce: 1. install Xen domU using an image file 2. xm create domU 2. service xend restart 3. xm reboot domU Actual results: Rebooting fails with (/var/log/xen/xend.log) [2008-10-30 06:11:28 xend.XendDomainInfo 10655] ERROR (XendDomainInfo:212) Domain construction failed Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 205, in create vm.initDomain() File "/usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 1483, in initDomain channel_details = self.image.createImage() File "/usr/lib/python2.4/site-packages/xen/xend/image.py", line 120, in createImage return self.createDomain() File "/usr/lib/python2.4/site-packages/xen/xend/image.py", line 129, in createDomain raise VmError('Kernel image does not exist: %s' % self.kernel) VmError: Kernel image does not exist: /var/lib/xen/boot_kernel.Ta2u5w [2008-10-30 06:11:28 xend.XendDomainInfo 10655] DEBUG (XendDomainInfo:1589) XendDomainInfo.destroy: domid=7 [2008-10-30 06:11:28 xend.XendDomainInfo 10655] DEBUG (XendDomainInfo:1597) XendDomainInfo.destroyDomain(7) [2008-10-30 06:11:28 xend.XendDomainInfo 10655] ERROR (XendDomainInfo:1893) Failed to restart domain 6. Traceback (most recent call last): File "/usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 1878, in restart new_dom = XendDomain.instance().domain_create(config) File "/usr/lib/python2.4/site-packages/xen/xend/XendDomain.py", line 238, in domain_create dominfo = XendDomainInfo.create(config) File "/usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 205, in create vm.initDomain() File "/usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 1483, in initDomain channel_details = self.image.createImage() File "/usr/lib/python2.4/site-packages/xen/xend/image.py", line 120, in createImage return self.createDomain() File "/usr/lib/python2.4/site-packages/xen/xend/image.py", line 129, in createDomain raise VmError('Kernel image does not exist: %s' % self.kernel) VmError: Kernel image does not exist: /var/lib/xen/boot_kernel.Ta2u5w Expected results: successful reboot Additional info:
I don't think this is neccessarily related to the fact that you did a 'service xend restart' - I'm pretty sure I've seen this without having restarted xend. I'm betting on some kind of race condition.
Well, maybe it is not related but it happens to me every time I restart xend service. Being always reproducible, it would be a very nice race condition.
OK, this is really related to the fact xend daemon is restarted. After restarting the daemon, bootloader and bootloader_args are lost from domain's configuration. It seems upstream is also affected although it dies with a bit different error...
Created attachment 326110 [details] Patch to fix this bug When xend is restarted, bootloader settings of all running domains are lost. The attached patches fixes this by saving bootloader and bootloader_args to xenstore database. Forward-ported version of this patch is already upstream as c/s 18859 (http://xenbits.xensource.com/xen-unstable.hg?rev/63aa939c114c).
A test package which fixes this issue (and several others as well) has been made available at: http://people.redhat.com/jdenemar/xen/ Could the reporter try it out and report if it fixes the problem or not? Thank you for your cooperation.
Cool stuff, it really works. Great job... (Oh man, why did I ask myself? :-))
Fix built into xen-3.0.3-85.el5
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2009-1328.html