[libvirt PATCH 0/4] remote: switch to modular daemons by default

Daniel P. Berrangé berrange at redhat.com
Thu Jun 10 13:43:13 UTC 2021


This series first improves driver probing when using modular daemons.

Currently when URI is NULL, we connect to virtproxyd and it looks
at which UNIX sockets exist and what binaries exist, to decide which
modular hypervisor daemon to connect to.

This means the common case results in all traffic going via virtproxyd.
Moving the logic out of virtproxyd into the remote client means we can
avoid using virtproxyd by default.

With this, we can now switch to the modular daemons by default. The
latter change primarily impacts how autostart works

When running as root we simply connect to whatever UNIX socket exists
and rely on systemd to autostart if needed. Whether the UNIX sockets
are for the modular daemon or libvirt doesn't matter - we'll look for
both. Defaults are dependent on the distros' systemd presets. I intend
to get Fedora / RHEL-9 presets changed to use the modular daemons.

When running as non-root, we again try to connect to whatever UNIX
socket exists, whethe a modular daemon or libvirtd. When no socket
exists though, we need to pick a daemon to start and that's where
the meson default setting toggle comes into effect, so we prefer
spawning modular daemons now and don't spawn libvirtd.

Daniel P. Berrangé (4):
  remote: extract logic for probing for modular daemons
  remote: add support for probing drivers with modular daemons
  remote: remove probing logic from virtproxyd dispatcher
  remote: switch to auto-spawn modular daemons by default

 meson.build                         |   6 +-
 meson_options.txt                   |   2 +-
 src/libvirt_remote.syms             |   5 +
 src/remote/remote_daemon_dispatch.c | 130 +------------------
 src/remote/remote_sockets.c         | 192 ++++++++++++++++++++++++++--
 src/remote/remote_sockets.h         |   7 +
 6 files changed, 202 insertions(+), 140 deletions(-)

-- 
2.31.1





More information about the libvir-list mailing list