Bug 837020

Summary: Switch to finer grained dep on libvirt RPMs
Product: [Retired] oVirt Reporter: Daniel BerrangĂ© <berrange>
Component: vdsmAssignee: Douglas Schilling Landgraf <dougsland>
Status: CLOSED NEXTRELEASE QA Contact: Haim <hateya>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: abaron, acathrow, alitke, bazulay, danken, danken, dougsland, fsimonce, iheim, jkt, mgoldboi, yeylon
Target Milestone: ---   
Target Release: 3.3   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: infra
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-08-07 10:17:11 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:

Description Daniel Berrangé 2012-07-02 14:22:49 UTC
Description of problem:
Currently VDSM requires the following libvirt packages

  Requires: libvirt >= 0.9.10
  Requires: libvirt-python, libvirt-lock-sanlock

The 'libvirt' RPM dep was used to pull in libvirtd and its KVM driver. This also, however, pulls in libvirt's default NAT based network XML and default network filters definitions. I don't believe that VDSM requires either of these default config sets, and the NAT one in particular can cause trouble.

As of Fedora 17 we have a much more fine grained dependancy model for libvirt:

     - libvirt: just a virtual package with dep on libvirt-daemon,
       libvirt-daemon-config-network & libvirt-daemon-config-nwfilter
     - libvirt-daemon: the libvirt daemon and related pieces
     - libvirt-daemon-config-network: the default network config
     - libvirt-daemon-config-nwfilter: the network filter configs
     - libvirt-docs: the website HTML

We then introduce some more virtual (empty) packages
    
     - libvirt-daemon-qemu: Deps on libvirt-daemon & 'qemu'
     - libvirt-daemon-kvm: Deps on libvirt-daemon & 'qemu-kvm'
     - libvirt-daemon-lxc: Deps on libvirt-daemon
     - libvirt-daemon-uml: Deps on libvirt-daemon
     - libvirt-daemon-xen: Deps on libvirt-daemon & 'xen'

which provide a convenient way for apps like VDSM to depend on libvirt.

As of Fedora 18, we also split the actual drivers out into loadable modules, so libvirtd itself no long has a dep on xen-libs.

So for VDSM, which only cares about KVM, and not QEMU, it likely makes sense to replace  "Requires: libvirt" with "Requires: libvirt-daemon-kvm"

this will pull in libvirtd, the KVM driver module, and whatever RPM includes /usr/bin/qemu-kvm, and nothing else.

Version-Release number of selected component (if applicable):
vdsm-4.9.3.2-0.fc17

Comment 1 Dan Kenigsberg 2013-07-31 19:04:29 UTC
Note that since vdsm requires mom, and mom requires libvirt coarsely, the accepted patch has no useful effect until the mom part is taken in http://gerrit.ovirt.org/#/c/15760 .

Comment 2 Douglas Schilling Landgraf 2013-08-01 17:14:24 UTC
(In reply to Dan Kenigsberg from comment #1)
> Note that since vdsm requires mom, and mom requires libvirt coarsely, the
> accepted patch has no useful effect until the mom part is taken in
> http://gerrit.ovirt.org/#/c/15760 .

Thanks Dan, it has been merged today. Moving to MODIFIED again.