Description of problem: When trying to create a xen virtual machine using virt-manager the following error is shown via the GUI: Guest Install Error ERROR: virDomainCreateLinux() failed Running virt-manager from a terminal yields a bit more information: [root@greatjob ~]# virt-manager libvir: Xen Daemon error : POST operation failed: (xend.err 'destroyDevice() takes exactly 3 arguments (2 given)') Failed to get devices for domain kklsjdflksd The system is an inspiron e1505 laptop. From cpuinfo .... model name: Intel(R) Core(TM)2 CPU T7200 @ 2.00GHz flags: fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc up pni monitor ds_cpl vmx est tm2 cx16 xtpr lahf_lm Version-Release number of selected component (if applicable): [root@greatjob ~]# uname -a Linux greatjob 2.6.18-8.1.1.el5xen #1 SMP Mon Feb 26 21:05:12 EST 2007 i686 i686 i386 GNU/Linux [root@greatjob ~]# rpm -qa | grep xen kmod-ipw3945-xen-1.0-4.7.el5 xen-3.0.3-25.0.3.el5 xen-libs-3.0.3-25.0.3.el5 kernel-xen-2.6.18-8.1.1.el5 [root@greatjob ~]# rpm -qa | grep virt rhn-virtualization-host-1.0.1-41 virt-manager-0.2.6-7.0.2.el5 rhn-kickstart-virtualization-2.0.10-2.el5 libvirt-python-0.1.8-15.el5 rhn-virtualization-common-1.0.1-41 python-virtinst-0.99.0-2.el5 libvirt-0.1.8-15.el5 [root@greatjob ~]# How reproducible: For me it happens no matter what I try to use. FC6, RHEL5, Rawhide, it doesn't matter what the guest is .... Steps to Reproduce: 1. Attempt to create a vm on an inspiron E1505 using virt manager 2. use either type of virtualization 3. see the error Actual results: The error posted in description Expected results: It creates the vm Additional info: If you are in the rdu office you can come see it first hand if that would help (it errors on my laptop).
Even though this error occurs I can still seem to run a VM install by restarting the virt-manager, selecting the new vm and unpausing it ...
Hum, if it's in a paused state this seems to indicate the error comes when activating the devices (now why would it try to destroy one, maybe one of the device gave a problem). Usually the sequence is 1/ create the domain 2/ activate the devices 3/ unpause the domain so step 2 fails on some device apparently. Having an idea of what parameters you used for the domain creation would certainly help, it's gonna be near impossible to diagnose without further details. Daniel
Here is my latest attempt .... (using virt-manager) .... System Name: fc7 Type: Paravirtualized Install Media URL: http://download.fedora.redhat.com/pub/fedora/linux/core/test/6.93/Fedora/i386/os/ Simple File: /tmp/fc7disk (5GB Allocate entire disk) VM Max MB: 500MB VM Startup MB: 500MB VCPUs: 1
Here is another .... System Name: Gentoo Type: Full Virt Install Media: Downloaded ISO Disk Image: LVM Partition called genroo VM Max MB: 500 VM Startup MB: 500 VPUs: 1 Error is: libvir: Xen Daemon error : POST operation failed: (xend.err 'destroyDevice() takes exactly 3 arguments (2 given)') Failed to get devices for domain gentoo The only difference I notice is that non-FC/RH distros don't even start after unpausing in full virtualization mode.
Can you provide the following log files as attachements to this ticket - /var/log/audit/audit.log - /var/log/xen/xend.log - /var/log/xen/xend-debug.log - /root/.virt-manager/virt-manager.log NB, for the latter, please capture it immediately after the 'new vm wizard' shows failure, because it is cleared everytime virt-manager starts. WRT to comment #3 - if you have SELinux enabled you need to make sure the disk is located under /var/lib/xen/images. WRT to comment #4 - if using an ISO image, that also needs to be under /var/lib/xen/images. These restrictions don't apply to use of LVM partitions, or direct use of the host CDROM device. Alternatively, you can have a separate directory somewhere & label it with 'xen_image_t' - eg chcon -t xen_image_t /some/dir The 'destroyDevice()' error message always indicates that either a virtual NIC, or block device setup process failed in some way. Based on info thus far I think SELinux denial is most likely explanation, but the log files I mention above should be able to confirm this.
Created attachment 153908 [details] virt-manager log for the last attempt
Created attachment 153909 [details] tail -n 500 /var/log/xen/xend-debug.log | less > /tmp/xend-debug.log
Created attachment 153910 [details] tail -n 500 /var/log/xen/xend.log | less > /tmp/xend.log
I verified that selinux us disabled via /etc/sysconfig/selinux as well as system-config-securitylevel-tui. audit.log is simply just variations of: type=USER_END msg=audit(1178057522.377:112): user pid=3105 uid=0 auid=0 msg='PAM: session close acct=root : exe="/usr /sbin/crond" (hostname=?, addr=?, terminal=cron res=success)' ty I have attached the last 500 lines from the other files to this ticket.
I get a similar error using virt-install from an ssh session: libvir: Xen Daemon error : GET operation failed: libvir: Xen Daemon error : POST operation failed: (xend.err "Error creating domain: (2, 'Invalid kernel', 'xc_dom_find_loader: no loader found\\n')") Traceback (most recent call last): File "/usr/sbin/virt-install", line 629, in <module> main() File "/usr/sbin/virt-install", line 578, in main dom = guest.start_install(conscb,progresscb) File "/usr/lib/python2.5/site-packages/virtinst/Guest.py", line 649, in start_install return self._do_install(consolecb, meter) File "/usr/lib/python2.5/site-packages/virtinst/Guest.py", line 666, in _do_install self.domain = self.conn.createLinux(install_xml, 0) File "/usr/lib/python2.5/site-packages/libvirt.py", line 503, in createLinux if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self) libvirt.libvirtError: virDomainCreateLinux() failed POST operation failed: (xend.err "Error creating domain: (2, 'Invalid kernel', 'xc_dom_find_loader: no loader found\\n')") But apparently, I cannot continue the install after this point.
I'm getting the same problem, both with a paravirtualized and a fully virtualized guest on RHEL 5 (SELinux disabled): [root@dbenini ~]# virt-install -n test1 -r 512 -f /mnt/test/Xen/test1.dsk -s 2 -v -c /dev/scd0 Would you like to enable graphics support? (yes or no) no Starting install... libvir: Xen Daemon error : POST operation failed: (xend.err 'destroyDevice() takes exactly 3 arguments (2 given)') Failed to get devices for domain test1 Traceback (most recent call last): File "/usr/sbin/virt-install", line 447, in ? main() File "/usr/sbin/virt-install", line 411, in main dom = guest.start_install(conscb) File "/usr/lib/python2.4/site-packages/virtinst/XenGuest.py", line 367, in start_install self.domain = self.conn.createLinux(cxml, 0) File "/usr/lib/python2.4/site-packages/libvirt.py", line 249, in createLinux if ret is None:raise libvirtError('virDomainCreateLinux() failed') libvirt.libvirtError: virDomainCreateLinux() failed
Davide (comment #11) and Steve (comment #9), Can you try reproducing this against the latest RHEL5.1 spin? If you still have problems, please re-report the error message and the package versions. Mark (comment #10), This doesn't appear to be the same error message as the others reported in this bug. Can you try to reproduce your issue, and if you still encounter problems open a separate bug?
After some months of testing on RHEL 5.1, I never experienced this issue again. Thanks.
Yes, I believe the destroyDevice() bug was fixed by another BZ during 5.1 development. Closing this out based on Comment #13. Chris Lalancette