[PATCH V7 09/12] spec: Remove libvirt-daemon dependency from drivers

Daniel P. Berrangé berrange at redhat.com
Wed Jan 11 16:42:49 UTC 2023


On Wed, Jan 11, 2023 at 08:24:08AM -0800, Andrea Bolognani wrote:
> On Tue, Jan 10, 2023 at 04:55:03PM -0700, Jim Fehlig wrote:
> > On 1/9/23 10:42, Jim Fehlig wrote:
> > >   %package daemon-driver-qemu
> > >   Summary: QEMU driver plugin for the libvirtd daemon
> > > -Requires: libvirt-daemon = %{version}-%{release}
> > > +Requires: libvirt-daemon-common = %{version}-%{release}
> >
> > While testing this series I found libvirt-daemon-common alone is not enough.
> > virtqemud.service.in has
> >
> > Requires=virtlogd.socket
> > Requires=virtlockd.socket
> >
> > So we'll need to add libvirt-daemon-lock and libvirt-daemon-log here, and
> > where needed in the other hypervisor drivers. Or adjust the service files.
> > Preferences?
> 
> Those were added in
> 
>   commit 88c5b9f827779ae6fe5a6f08100a4b6184492a1c
>   Author: Daniel P. Berrangé <berrange at redhat.com>
>   Date:   Tue Aug 31 10:59:39 2021 +0100
> 
>     qemu, xen: add missing deps on virtlockd/virtlogd sockets
> 
>     The QEMU driver uses both virtlogd and virtlockd, while the Xen driver
>     uses virtlockd. The libvirtd.service unit contains deps on the socket
>     units for these services, but these deps were missed in the modular
>     daemons. As a result the virtlockd/virtlogd sockets are not started
>     when the virtqemud/virtxend daemons are started.
> 
>     Reviewed-by: Jiri Denemark <jdenemar at redhat.com>
>     Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
> 
> I think we might need to weaken these relationship from Requires to
> Wants, as that should still ensure that the corresponding sockets are
> activated for standard deployments without making more specialized
> ones (e.g. without virtlockd) impossible.

Weakening it to Wants means that virtqemud will still startup even
if virtlogd fails to start. This is bogus because any attempt jto
start a guest will then fail due to inability to connect to
virtlogd's socket.

Users trying to run in non-standard configurations can put in a
systemd unit file override. They already need to edit the virtqemud
configuration, so editting the unit file to match isn't a terrible
burden.

> Similarly, I think we're missing Wants for virtstoraged.socket,
> virtnetworkd.socket, virtsecretd.socket and so on.

We didn't bother with those since it is harmless either way. The
distro unit file presets will configure those sockets to be started
on boot if modular daemons are desired. If a user overrides this
that's fine, we'll just fail to start a guest that has a config
setting that requires them.

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


More information about the libvir-list mailing list