Re: [libvirt PATCH 34/42] systemd: Make modular daemons conflict with libvirtd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Sep 25, 2023 at 08:58:32PM +0200, Andrea Bolognani wrote:
> We want to make sure that, at any given time, we have either the
> modular daemons or the monolithic one running, never both. In
> order to achieve that, make every single modular unit conflict
> with the corresponding libvirtd unit.
> 
> We set both Conflicts=libvirtd.unit and After=libvirtd.unit: this
> tells systemd that, whenever virtfood.unit and libvirtd.unit are
> part of the same transaction, the former should win out.
> 
> Thanks to this, if both the modular daemons and the monolithic
> one have been enabled because of outdated automation or a simple
> mistake of the administrator, the request to start libvirtd at
> boot will be ignored and the result will be a regular modular
> deployment.
> 
> If the request to start libvirtd is made when the modular daemons
> are already running, we have no way to prevent systemd from
> complying with that request; however, thanks to the way the
> conflict relationship has been declared, they will be shut down
> cleanly before libvirtd is started. From the user's point of
> view, the transition from modular to monolithic will be
> completely transparent: it's basically the same scenario as a
> regular package upgrade, just with an extra twist.
> 
> Note that, while switching from modular to monolithic at runtime
> happens automatically, going back requires manual intervention,
> i.e. starting all the necessary sockets one by one. That's okay:
> the goal here is to prevent misconfiguration and force of habit
> to accidentally disrupt a working setup, not to encourage the
> scenario. In a correctly configured and managed host, it should
> never occur.
> 
> Signed-off-by: Andrea Bolognani <abologna@xxxxxxxxxx>
> ---
>  src/virtd-admin.socket.in | 2 ++
>  src/virtd-ro.socket.in    | 2 ++
>  src/virtd-tcp.socket.in   | 2 ++
>  src/virtd-tls.socket.in   | 2 ++
>  src/virtd.service.in      | 3 ++-
>  src/virtd.socket.in       | 2 ++
>  6 files changed, 12 insertions(+), 1 deletion(-)

Reviewed-by: Daniel P. Berrangé <berrange@xxxxxxxxxx>


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 :|




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux