Bug 224464
Summary: | virt-install crashes reproducibly on creating a xen domU on fc6 | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Max <mahe> | ||||
Component: | xen | Assignee: | Daniel Berrangé <berrange> | ||||
Status: | CLOSED NOTABUG | QA Contact: | Brian Brock <bbrock> | ||||
Severity: | medium | Docs Contact: | |||||
Priority: | medium | ||||||
Version: | 6 | CC: | bstein, katzj, mmcgrath, xen-maint | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | i386 | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | Bug Fix | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2007-02-21 21:32:19 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: | |||||||
Attachments: |
|
Description
Max
2007-01-25 20:13:46 UTC
Created attachment 146615 [details]
text file with output from various shell cmds to better describe the local setup
Can you attach /var/log/xen/xend.log and /var/log/xen/xend-debug.log? Please have a look at comment #1. I included everything there. Hi Perhaps it should be added that I am getting the same error only in my case an Enterprise Linux 4 guest environment is bootstrapped to a Logical Volume. Looking at previos threads that I logged one of the developers / user on the xen user list mentioned this: > There is a suspicious[1] patch in unstable, from the 15 Dec 2006 that > adds a "Force flag" to calls to destroyDevice in DevController.py. If > someone at RedHat grabbed this patch by mistake or not realizing the > consequences in some other way, it may well have caused problems. More details can be found here: http://lists.xensource.com/archives/html/xen-users/2007-01/msg01310.html Hope this helps Graeme Graeme is right. The broken patch is xen-xenbus-force-option.patch. It adds a third parameter to DevController:destroyDevice without updating its callers. Perhaps the parameter could be made optional? Like this: "def destroyDevice(self, devid, force=None)"? Hi Michal Thanks for that. By updating DevController.py and adding the "force=None" default parameter the process at least completes with an error that I can understand. /usr/lib/python2.4/site-packages/xen/xend/server/DevController.py Thanks again Graeme Same problem, its on Xen2 if you want access Jeremy, let me know. The "(xend.err 'destroyDevice() takes exactly 3 arguments (2 given)')" is *not* the root cause of the problems. As mentioned in comment #6, there is a bug where not enough args are given to destroyDevice(), however, this bug only occurrs in the domain cleanup-path. ie by the time this bug hits, the domain is being killed off due to another failure. The most likely root cause is that one of the hotplug scripts failed to complete. I have pushed an updated xen RPM to updates-testing which fixes the destroyDevice() bug, so that root cause underlying bug ought to become visible to the user. Please re-test with xen-3.0.3-6.fc6 and report the real crash problem. # rpm -Uhv xen-3.0.3-6.fc6.x86_64.rpm xen-libs-3.0.3-6.fc6.x86_64.rpm warning: xen-3.0.3-6.fc6.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 30c9ecf8 error: Failed dependencies: error: Failed dependencies: python-virtinst is needed by xen-3.0.3-6.fc6.x86_64 libvirt <= 0.2.0-1.fc6 conflicts with xen-3.0.3-6.fc6.x86_64 This is on an updated FC6 box. I should note that on my last update python-virtinst got replaced by python-xeninst.noarch The updated Xen has dependancies on other packages in updates-testing. These can be trivially resolved by using yum instead of hand selecting RPMs, eg yum --enablerepo=updates-testing update xen [root@xen2 lib]# rpm -q xen xen-3.0.3-6.fc6 [root@xen2 lib]# xenguest-install -p -n mirrors -r 512 -f /dev/mapper/VolGroup00-mirrors --nographics -l nfs:nfsserver:/vol/ftp/fedora.redhat.com/pub/fedora/linux/core/6/x86_64/os/ Starting install... libvir: Xen Daemon error : POST operation failed: (xend.err 'destroyDevice() takes exactly 3 arguments (2 given)') Failed to get devices for domain mirrors Traceback (most recent call last): File "/usr/sbin/xenguest-install", line 380, in ? main() File "/usr/sbin/xenguest-install", line 344, in main dom = guest.start_install(conscb) File "/usr/lib/python2.4/site-packages/xeninst/ParaVirtGuest.py", line 194, in start_install return XenGuest.XenGuest.start_install(self, consolecb) File "/usr/lib/python2.4/site-packages/xeninst/XenGuest.py", line 280, in start_install self.domain = self.conn.createLinux(cxml, 0) File "/usr/lib64/python2.4/site-packages/libvirt.py", line 329, in createLinux if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self) libvirt.libvirtError: virDomainCreateLinux() failed POST operation failed: (xend.err 'destroyDevice() takes exactly 3 arguments (2 given)') Can you confirm whether you rebooted, or restarted XenD after installing the updated RPM ? A restart is neccessary to get XenD to load the updated python modules, and we can't do it automatically in the %post script because it can have a detrimental impact on any VMs you've got running at the time. Also, where did 'xenguest-install' come from ? Is this really an FC6 box ? We renamed the xenguest-install script to be virt-install shortly before FC6 GA release, and the python-xeninst RPM removed from all FC6 related repositories. The RPM should be called python-virtinst and the most recent version in updates-testing is python-virtinst-0.98.0-1.fc6 Fixed: Root cause (for me), the NIC's on that box had recently changed and my new xen bridge is xenbr1, the installer defaults to xenbr0 thus causing the error. The latest python-virtinst package I listed in comment #13 will automatically detect which is your primary bridge device & pick the correct one, so it shouldn't have mattered that your NIC got renamed - it should have automatically picked xenbr1. Or were you still using the obsolete xenguest-install script ? Fails unless I add a -b xenbr1 ============== SNIP =============== Starting install... libvir: Xen Daemon error : POST operation failed: (xend.err 'Device 0 (vif) could not be connected. Could not find bridge device xenbr0') Failed to get devices for domain mirrors Traceback (most recent call last): File "/usr/sbin/xenguest-install", line 380, in ? main() File "/usr/sbin/xenguest-install", line 344, in main dom = guest.start_install(conscb) File "/usr/lib/python2.4/site-packages/xeninst/ParaVirtGuest.py", line 194, in start_install return XenGuest.XenGuest.start_install(self, consolecb) File "/usr/lib/python2.4/site-packages/xeninst/XenGuest.py", line 280, in start_install self.domain = self.conn.createLinux(cxml, 0) File "/usr/lib64/python2.4/site-packages/libvirt.py", line 329, in createLinux if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self) libvirt.libvirtError: virDomainCreateLinux() failed POST operation failed: (xend.err 'Device 0 (vif) could not be connected. Could not find bridge device xenbr0') Ok, so you are still using the obsolete xenguest-install script which is no longer distributed or supported as part of Fedora. If you use 'virt-install' instead it will detect the bridge correctly. |