Bug 849159

Summary: libvirt requires xen
Product: [Fedora] Fedora Reporter: Kamil Páral <kparal>
Component: libvirtAssignee: Cole Robinson <crobinso>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 17CC: berrange, clalancette, cwickert, eblake, itamar, jforbes, jyang, laine, libvirt-maint, rdieter, veillard, virt-maint
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-09-04 18:55:56 EDT Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Kamil Páral 2012-08-17 09:26:56 EDT
Description of problem:
With https://admin.fedoraproject.org/updates/FEDORA-2012-11957/libvirt-0.9.11.5-2.fc17 update libvirt now requires Xen installed:

> $ yum update libvirt\*
> Loaded plugins: changelog, langpacks, refresh-packagekit, remove-with-leaves, show-leaves
> Dropbox                                                                                                                        |  951 B     00:00     
> Java_esmska                                                                                                                    | 1.7 kB     00:00     
> google-chrome                                                                                                                  |  951 B     00:00 !!! 
> rpmfusion-free-updates                                                                                                         | 3.3 kB     00:00     
> rpmfusion-free-updates-testing                                                                                                 | 3.3 kB     00:00     
> rpmfusion-nonfree-updates                                                                                                      | 3.3 kB     00:00     
> rpmfusion-nonfree-updates-testing                                                                                              | 3.3 kB     00:00     
> updates/metalink                                                                                                               |  21 kB     00:00     
> updates                                                                                                                        | 4.7 kB     00:00     
> updates-testing/metalink                                                                                                       |  17 kB     00:00     
> updates-testing                                                                                                                | 4.7 kB     00:00     
> (1/2): updates/primary_db                                                                                                      | 5.2 MB     00:04     
> (2/2): updates-testing/primary_db                                                                                              | 1.1 MB     00:00     
> (1/3): rpmfusion-nonfree-updates-testing/primary_db                                                                            | 6.7 kB     00:00     
> (2/3): rpmfusion-nonfree-updates/primary_db                                                                                    |  65 kB     00:00     
> (3/3): rpmfusion-free-updates/primary_db                                                                                       | 162 kB     00:00     
> updates/group_gz                                                                                                               | 434 kB     00:00     
> updates-testing/group_gz                                                                                                       | 434 kB     00:00     
> Resolving Dependencies
> --> Running transaction check
> ---> Package libvirt.x86_64 0:0.9.11.4-3.fc17 will be updated
> ---> Package libvirt.x86_64 0:0.9.11.5-2.fc17 will be an update
> --> Processing Dependency: libvirt-daemon-xen = 0.9.11.5-2.fc17 for package: libvirt-0.9.11.5-2.fc17.x86_64
> --> Processing Dependency: libvirt-daemon-uml = 0.9.11.5-2.fc17 for package: libvirt-0.9.11.5-2.fc17.x86_64
> --> Processing Dependency: libvirt-daemon-qemu = 0.9.11.5-2.fc17 for package: libvirt-0.9.11.5-2.fc17.x86_64
> --> Processing Dependency: libvirt-daemon-lxc = 0.9.11.5-2.fc17 for package: libvirt-0.9.11.5-2.fc17.x86_64
> ---> Package libvirt-client.x86_64 0:0.9.11.4-3.fc17 will be updated
> ---> Package libvirt-client.x86_64 0:0.9.11.5-2.fc17 will be an update
> ---> Package libvirt-daemon.x86_64 0:0.9.11.4-3.fc17 will be updated
> ---> Package libvirt-daemon.x86_64 0:0.9.11.5-2.fc17 will be an update
> ---> Package libvirt-daemon-config-network.x86_64 0:0.9.11.4-3.fc17 will be updated
> ---> Package libvirt-daemon-config-network.x86_64 0:0.9.11.5-2.fc17 will be an update
> ---> Package libvirt-daemon-config-nwfilter.x86_64 0:0.9.11.4-3.fc17 will be updated
> ---> Package libvirt-daemon-config-nwfilter.x86_64 0:0.9.11.5-2.fc17 will be an update
> ---> Package libvirt-daemon-kvm.x86_64 0:0.9.11.4-3.fc17 will be updated
> ---> Package libvirt-daemon-kvm.x86_64 0:0.9.11.5-2.fc17 will be an update
> ---> Package libvirt-python.x86_64 0:0.9.11.4-3.fc17 will be updated
> ---> Package libvirt-python.x86_64 0:0.9.11.5-2.fc17 will be an update
> --> Running transaction check
> ---> Package libvirt-daemon-lxc.x86_64 0:0.9.11.5-2.fc17 will be installed
> ---> Package libvirt-daemon-qemu.x86_64 0:0.9.11.5-2.fc17 will be installed
> ---> Package libvirt-daemon-uml.x86_64 0:0.9.11.5-2.fc17 will be installed
> ---> Package libvirt-daemon-xen.x86_64 0:0.9.11.5-2.fc17 will be installed
> --> Processing Dependency: xen for package: libvirt-daemon-xen-0.9.11.5-2.fc17.x86_64
> --> Running transaction check
> ---> Package xen.x86_64 0:4.1.3-2.fc17 will be installed
> --> Processing Dependency: xen-runtime = 4.1.3-2.fc17 for package: xen-4.1.3-2.fc17.x86_64
> --> Running transaction check
> ---> Package xen-runtime.x86_64 0:4.1.3-2.fc17 will be installed
> --> Processing Dependency: xen-hypervisor-abi = 4.1 for package: xen-runtime-4.1.3-2.fc17.x86_64
> --> Running transaction check
> ---> Package xen-hypervisor.x86_64 0:4.1.3-2.fc17 will be installed
> --> Finished Dependency Resolution
> 
> Dependencies Resolved
> 
> ======================================================================================================================================================
>  Package                                          Arch                     Version                            Repository                         Size
> ======================================================================================================================================================
> Updating:
>  libvirt                                          x86_64                   0.9.11.5-2.fc17                    updates-testing                    28 k
>  libvirt-client                                   x86_64                   0.9.11.5-2.fc17                    updates-testing                   3.5 M
>  libvirt-daemon                                   x86_64                   0.9.11.5-2.fc17                    updates-testing                   1.8 M
>  libvirt-daemon-config-network                    x86_64                   0.9.11.5-2.fc17                    updates-testing                    27 k
>  libvirt-daemon-config-nwfilter                   x86_64                   0.9.11.5-2.fc17                    updates-testing                    31 k
>  libvirt-daemon-kvm                               x86_64                   0.9.11.5-2.fc17                    updates-testing                    27 k
>  libvirt-python                                   x86_64                   0.9.11.5-2.fc17                    updates-testing                   316 k
> Installing for dependencies:
>  libvirt-daemon-lxc                               x86_64                   0.9.11.5-2.fc17                    updates-testing                    27 k
>  libvirt-daemon-qemu                              x86_64                   0.9.11.5-2.fc17                    updates-testing                    27 k
>  libvirt-daemon-uml                               x86_64                   0.9.11.5-2.fc17                    updates-testing                    27 k
>  libvirt-daemon-xen                               x86_64                   0.9.11.5-2.fc17                    updates-testing                    27 k
>  xen                                              x86_64                   4.1.3-2.fc17                       updates-testing                   1.0 M
>  xen-hypervisor                                   x86_64                   4.1.3-2.fc17                       updates-testing                   4.0 M
>  xen-runtime                                      x86_64                   4.1.3-2.fc17                       updates-testing                   5.4 M
> 
> Transaction Summary
> ======================================================================================================================================================
> Install             ( 7 Dependent packages)
> Upgrade  7 Packages
> 
> Total download size: 16 M
> Is this ok [y/N]: n

Is this really intentional? Why do I have to have Xen installed, when I want to use just KVM?

Version-Release number of selected component (if applicable):
libvirt-0.9.11.5-2.fc17.x86_64
Comment 1 Eric Blake 2012-08-17 10:05:32 EDT
(In reply to comment #0)
> Description of problem:
> With
> https://admin.fedoraproject.org/updates/FEDORA-2012-11957/libvirt-0.9.11.5-2.
> fc17 update libvirt now requires Xen installed:
>

Yes.  In F17, we intentionally split 'libvirt' into more subpackages.  The top-level 'libvirt' package remains as an umbrella package, and for back-compat reasons, it must pull in ALL libvirt support.  But if you don't want ALL libvirt support, then _only_ install the subpackages that you need.


> > ---> Package libvirt.x86_64 0:0.9.11.5-2.fc17 will be an update
> > --> Processing Dependency: libvirt-daemon-xen = 0.9.11.5-2.fc17 for package: libvirt-0.9.11.5-2.fc17.x86_64
> > --> Processing Dependency: libvirt-daemon-uml = 0.9.11.5-2.fc17 for package: libvirt-0.9.11.5-2.fc17.x86_64
> > --> Processing Dependency: libvirt-daemon-qemu = 0.9.11.5-2.fc17 for package: libvirt-0.9.11.5-2.fc17.x86_64
> > --> Processing Dependency: libvirt-daemon-lxc = 0.9.11.5-2.fc17 for package: libvirt-0.9.11.5-2.fc17.x86_64
...
> > ---> Package libvirt-daemon-kvm.x86_64 0:0.9.11.4-3.fc17 will be updated
> > ---> Package libvirt-daemon-kvm.x86_64 0:0.9.11.5-2.fc17 will be an update

That is, 'libvirt' installs support for multiple daemon technologies (xen, uml, qemu, lxc, kvm), or you can install _just_ the technologies you want by installing, for example, 'libvirt-daemon-kvm'.

> 
> Is this really intentional? Why do I have to have Xen installed, when I want
> to use just KVM?

Yes it is really intentional.  No, you do not have to have xen installed to use libvirt-daemon-xen.  Uninstall the 'libvirt' umbrella and instead focus on the 'libvirt-daemon-*' technologies that you want.
Comment 2 Eric Blake 2012-08-17 10:08:50 EDT
(In reply to comment #1)

> > Is this really intentional? Why do I have to have Xen installed, when I want
> > to use just KVM?
> 
> Yes it is really intentional.  No, you do not have to have xen installed to
> use libvirt-daemon-xen.  Uninstall the 'libvirt' umbrella and instead focus

Typo: you do not have to have xen installed to use libvirt-daemon-kvm (you _do_ have to have it installed to use libvirt-daemon-xen).

> on the 'libvirt-daemon-*' technologies that you want.
Comment 3 Kamil Páral 2012-08-17 10:47:58 EDT
(In reply to comment #1)
> Uninstall the 'libvirt' umbrella and instead focus
> on the 'libvirt-daemon-*' technologies that you want.

Thanks, that solved the issue.
Comment 4 Christoph Wickert 2012-08-20 04:10:18 EDT
(In reply to comment #1)

> Yes.  In F17, we intentionally split 'libvirt' into more subpackages.  The
> top-level 'libvirt' package remains as an umbrella package, and for
> back-compat reasons, it must pull in ALL libvirt support.

This change should have happened during F17 development and not after release. Please consult https://fedoraproject.org/wiki/Updates_Policy#Stable_Releases
Comment 5 Rex Dieter 2012-08-20 09:51:19 EDT
I agree with Christoph, in particular, since xen was pulled in, the appearance of my grub2 boot menu changed drastically, to accomodate the new xen-related hypervisor options.  it was a little shocking and surprising.
Comment 6 Kamil Páral 2012-08-20 11:03:45 EDT
This is still just in updates-testing and can be unpushed. Eric, please reconsider. Thanks.
Comment 7 Eric Blake 2012-08-20 11:22:58 EDT
Reopening - it appears that Cole pulled too many libvirt.spec file changes into the v0.9.11-maint branch.  This change is intentional for F18, but we shouldn't be mucking with the package layout of F17.
Comment 8 Daniel Berrange 2012-08-21 10:12:33 EDT
Ok, I see what went wrong here. Initially 

commit d815da8211d3cd89102059c0a6278f8b91ba899f
Author: Cole Robinson <crobinso@redhat.com>
Date:   Mon Aug 13 19:05:41 2012 -0400

    Rebased to version 0.9.11.5
    CVE-2012-3445 crash in virTypedParameterArrayClear (bz 844734)
    Fix libvirt-guests (bz 843836)
    Fix occasional loss of domain events in boxes (bz 819617)


added a bunch of bogus deps on the driver modules, which do not exist in Fedora 17 - everything is still linked directly into libvirtd

The next change attempted to fix these bogus deps by renaming them to depend on teh libvirt-daemon-XXX packages. This is *also* bogus. THe libvirt RPM should only depend on the 'libvirt-daemon' package.

Basically we need to revert this delta in F17:

@@ -307,8 +307,11 @@ Requires: libvirt-daemon-config-network = %{version}-%{release}
 %if %{with_nwfilter}
 Requires: libvirt-daemon-config-nwfilter = %{version}-%{release}
 %endif
-# XXX when we turn on driver modules, we need to add
-# deps on each driver (Requires: libvirt-daemon-drv-qemu)
+Requires: libvirt-daemon-kvm = %{version}-%{release}
+Requires: libvirt-daemon-lxc = %{version}-%{release}
+Requires: libvirt-daemon-qemu = %{version}-%{release}
+Requires: libvirt-daemon-uml = %{version}-%{release}
+Requires: libvirt-daemon-xen = %{version}-%{release}
 %endif
 Requires: libvirt-client = %{version}-%{release}
Comment 9 Fedora Update System 2012-08-22 11:13:37 EDT
libvirt-0.9.11.5-3.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/libvirt-0.9.11.5-3.fc17
Comment 10 Fedora Update System 2012-08-22 17:13:43 EDT
Package libvirt-0.9.11.5-3.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing libvirt-0.9.11.5-3.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-12523/libvirt-0.9.11.5-3.fc17
then log in and leave karma (feedback).
Comment 11 Fedora Update System 2012-09-04 18:55:56 EDT
libvirt-0.9.11.5-3.fc17 has been pushed to the Fedora 17 stable repository.  If problems still persist, please make note of it in this bug report.