Bug 1334554
| Summary: | Provide back compat /usr/lib/xen/bin/qemu-system-i386 | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Konrad Rzeszutek Wilk <ketuzsezr> |
| Component: | xen | Assignee: | Michael Young <m.a.young> |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 24 | CC: | agedosier, berrange, clalancette, crobinso, itamar, jfehlig, ketuzsezr, laine, libvirt-maint, m.a.young, raistlin, veillard, virt-maint |
| Target Milestone: | --- | Keywords: | Reopened |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | xen-4.6.1-8.fc24 xen-4.5.3-5.fc22 xen-4.5.3-5.fc23 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2016-05-28 23:22:31 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Attachments: | |||
My work-around was to link qemu-dm: cd /usr/lib/xen/bin;ln -s qemu-dm qemu-system-i386 What is weird that xen.spec has:
./configure --prefix=%{_prefix} --libdir=%{_libdir} --with-system-seabios=%{seabiosloc} --with-system-qemu=/usr/bin/qemu-system-i386
Which means that the Xen package won't built its own version of qemu-system-i386 but expects one at /usr/bin/qemu-system-i386
But the only ones there are:
[root@tst032 SPECS]# ls -al /usr/bin/ | grep qemu-
-rwxr-xr-x. 1 root root 1293984 May 2 16:42 qemu-img
lrwxrwxrwx. 1 root root 8 Apr 18 17:35 qemu-img-xen -> qemu-img
-rwxr-xr-x. 1 root root 1380512 May 2 16:42 qemu-io
-rwxr-xr-x. 1 root root 1269760 May 2 16:42 qemu-nbd
lrwxrwxrwx. 1 root root 8 Apr 18 17:35 qemu-nbd-xen -> qemu-img
?
Adding MA Young on this bug.
Thanks for the report, please provide virt-manager --debug when reproducing Created attachment 1155802 [details]
virt-install -v -n F24-64 --memory 1024 --cdrom /root/Fedora-Server-dvd-x86_64-24_Alpha-1.7.iso --disk /var/lib/libvirt/images/f24-i686.img --network bridge=switch,mac=00:0f:4b:01:00:87 --debug 2>~
#cd /usr/lib/xen/bin
# # Delete the work-around:
# rm qemu-system-i386
# virt-install -v -n F24-64 --memory 1024 --cdrom /root/Fedora-Server-dvd-x86_64-24_Alpha-1.7.iso --disk /var/lib/libvirt/images/f24-i686.img --network bridge=switch,mac=00:0f:4b:01:00:87 --debug 2>~/stderr.1334554.txt
Can you provide 'sudo virsh capabilities' as well ? virt-manager --debug has it but I forgot virt-install --debug doesn't have it capabilities will confirm, but I suspect this is an issue with libvirt libxl code, which has this: # ifndef LIBXL_FIRMWARE_DIR # define LIBXL_FIRMWARE_DIR "/usr/lib/xen/boot" # endif # ifndef LIBXL_EXECBIN_DIR # define LIBXL_EXECBIN_DIR "/usr/lib/xen/bin" # endif Maybe there's a way this can be programmatically determined via libxl? Does xen --with-system-qemu=/usr/bin/qemu-system-i386 make it into libxl somehow? CCing jfehlig who's the libvirt libxl maintainer What version of Xen? LIBXL_{EXECBIN,FIRMWARE}_DIR come from the corresponding entries in /usr/share/pkgconfig/xenlight.pc. I guess those are not updated when specifying alternate firmwares or qemu (--with-system-seabios, --with-system-qemu).
(In reply to Jim Fehlig from comment #7) > What version of Xen? LIBXL_{EXECBIN,FIRMWARE}_DIR come from the > corresponding entries in /usr/share/pkgconfig/xenlight.pc. I guess those are > not updated when specifying alternate firmwares or qemu > (--with-system-seabios, --with-system-qemu). [root@tst032 ~]# rpm -qa | grep xen xen-licenses-4.6.1-6.fc24.x86_64 xen-libs-4.6.1-6.fc24.x86_64 xen-runtime-4.6.1-6.fc24.x86_64 libvirt-daemon-driver-xen-1.3.3.1-1.fc24.x86_64 xen-hypervisor-4.6.1-6.fc24.x86_64 xen-4.6.1-6.fc24.x86_64 And said file: [root@tst032 ~]# more /usr/share/pkgconfig/xenlight.pc prefix=/usr includedir=${prefix}/include libdir=/usr/lib64 xenfirmwaredir=/usr/lib/xen/boot libexec_bin=/usr/lib/xen/bin Name: Xenlight Description: The Xenlight library for Xen hypervisor Version: 4.6.0 Cflags: -I${includedir} Libs: -L${libdir} -lxenlight Created attachment 1155823 [details] virsh capabilities output (In reply to Cole Robinson from comment #5) > Can you provide 'sudo virsh capabilities' as well ? virt-manager --debug has > it but I forgot virt-install --debug doesn't have it Pls see attached. ..
> Maybe there's a way this can be programmatically determined via libxl? Does
> xen --with-system-qemu=/usr/bin/qemu-system-i386 make it into libxl somehow?
>
Means:
--with-system-qemu[=PATH]
Use system supplied qemu PATH or qemu (taken from
$PATH) as qemu-xen device model instead of building
and installing our own version
And
#dnf provides /usr/bin/qemu-system-i386
Last metadata expiration check: 0:00:43 ago on Tue May 10 14:04:30 2016.
qemu-system-x86-2:2.6.0-0.2.rc4.fc24.x86_64 : QEMU system emulator for x86
Repo : updates-testing
qemu-system-x86-2:2.6.0-0.1.rc2.fc24.x86_64 : QEMU system emulator for x86
Repo : fedora
.. which of course I don't have installed.
Perhaps the xen.spec file needs an extra Requires: qemu-system-x86?
It has:
[root@tst032 SPECS]# cat xen.spec |grep Requires | grep qem
BuildRequires: seabios-bin ipxe-roms-qemu
#Requires: /usr/bin/qemu-img /usr/bin/qemu-nbd
Requires: /usr/bin/qemu-img
(In reply to Konrad Rzeszutek Wilk from comment #10) > .. > > Maybe there's a way this can be programmatically determined via libxl? Does > > xen --with-system-qemu=/usr/bin/qemu-system-i386 make it into libxl somehow? > > > Means: > --with-system-qemu[=PATH] > > Use system supplied qemu PATH or qemu (taken from > > $PATH) as qemu-xen device model instead of > building > and installing our own version > > And > #dnf provides /usr/bin/qemu-system-i386 <facepalm> /usr/lib/xen/bin/qemu-system-i386! Right, so now I caught up on what you folks were talking about! (In reply to Cole Robinson from comment #6) > Maybe there's a way this can be programmatically determined via libxl? Does > xen --with-system-qemu=/usr/bin/qemu-system-i386 make it into libxl somehow? Sadly it doesn't. If using the qemu, seabios, etc built by Xen, then the pkgconfig variables are correct. But obviously the information is useless when using the system variants of those. I'm not sure how to best fix this. Options are adding similar configure options to libvirt or allow the paths to be specified in /etc/libvirt/libxl.conf. Opinions or other suggestions? The simplest fix for Fedora is probably to have xen set up those symlinks for the time being But if this is configured at the xen level, then maybe the proper fix is to add a libxl API to report the default emulator to libvirt. Adding a libvirt configure flag to match is not ideal since it means the packages need to coordinate. (In reply to Cole Robinson from comment #13) > The simplest fix for Fedora is probably to have xen set up those symlinks > for the time being Yes. Or install a wrapper that invokes the system qemu. It is probably needed anyhow for all the existing VM config containing <emulator>/usr/lib/xen/bin/qemu-system-i386</emulator> > But if this is configured at the xen level, then maybe the proper fix is to > add a libxl API to report the default emulator to libvirt. Yes, that would be ideal. libxl needs to gain the ability to report capabilities info. (In reply to Jim Fehlig from comment #14) > (In reply to Cole Robinson from comment #13) > > The simplest fix for Fedora is probably to have xen set up those symlinks > > for the time being > > Yes. Or install a wrapper that invokes the system qemu. It is probably > needed anyhow for all the existing VM config containing > <emulator>/usr/lib/xen/bin/qemu-system-i386</emulator> That's a very good point, so bouncing this to the xen package. xen will probably need to ship symlinks forever unfortunately, it's roughly what we have to do in the qemu package for /usr/bin/qemu-kvm which was once a distinct binary Looks like duplicate of this one (or vice versa): https://bugzilla.redhat.com/show_bug.cgi?id=1299745 xen-4.6.1-8.fc24 has been submitted as an update to Fedora 24. https://bodhi.fedoraproject.org/updates/FEDORA-2016-a21b2cb7a0 Thanks! Fix verified. xen-4.5.3-4.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-beba065b97 xen-4.6.1-8.fc24 has been pushed to the Fedora 24 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-a21b2cb7a0 xen-4.5.3-4.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2016-a54261a145 xen-4.5.3-4.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-a54261a145 xen-4.5.3-4.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-beba065b97 xen-4.6.1-8.fc24 has been pushed to the Fedora 24 stable repository. If problems still persist, please make note of it in this bug report. xen-4.5.3-5.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2016-19c82866bb xen-4.5.3-5.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2016-8fd9019541 xen-4.5.3-5.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-8fd9019541 xen-4.5.3-5.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2016-19c82866bb xen-4.5.3-5.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report. xen-4.5.3-5.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report. |
Description of problem: When trying to create a guest under virt-manager with Xen installed (dnf install xen; reboot; boot in it) I get this message: nable to complete install: 'unsupported configuration: emulator '/usr/lib/xen/bin/qemu-system-i386' not found' Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/asyncjob.py", line 90, in cb_wrapper callback(asyncjob, *args, **kwargs) File "/usr/share/virt-manager/virtManager/create.py", line 2277, in _do_async_install guest.start_install(meter=meter) File "/usr/share/virt-manager/virtinst/guest.py", line 501, in start_install noboot) File "/usr/share/virt-manager/virtinst/guest.py", line 416, in _create_guest dom = self.conn.createLinux(start_xml or final_xml, 0) File "/usr/lib64/python2.7/site-packages/libvirt.py", line 3701, in createLinux if ret is None:raise libvirtError('virDomainCreateLinux() failed', conn=self) libvirtError: unsupported configuration: emulator '/usr/lib/xen/bin/qemu-system-i386' not found Which is true. There is no such file anymore: [root@tst032 ~]# rpm -ql xen-runtime | grep qemu | grep -v share /etc/xen/scripts/qemu-ifup /usr/bin/qemu-img-xen /usr/bin/qemu-nbd-xen /usr/lib/systemd/system/xen-qemu-dom0-disk-backend.service /usr/lib/xen/bin/qemu-dm Version-Release number of selected component (if applicable): [root@tst032 ~]# rpm -qa | grep virt-manager virt-manager-common-1.3.2-3.fc24.noarch virt-manager-1.3.2-3.fc24.noarch How reproducible: 100% Steps to Reproduce: 1. virt-manager 2. create a guest (fully virt) 3. try launching it. Actual results: Error message Expected results: VNC window Additional info: