On Thu, Dec 12, 2019 at 7:04 PM Michal Privoznik <mpriv...@redhat.com>
wrote:

> On 12/3/19 9:56 AM, Christian Ehrhardt wrote:
> > The most common operation of libvirt-guests is to manage the local
> > libvirtd. But users might have disabled that and while we are
> > After=libvirtd for ordering we are not Requiring it..
> > OTOH adding that or any harder dependency might affect our ordering.
> >
> > But if people have disabled libvirt they will do a full retry loop
> > until timeout. Lets check if the local service is active at all and skip
> > fast if it is not.
> >
> > Fixes: https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1854653
> >
> > Reported-by: Doug Smythies <dsmyth...@telus.net>
> > Signed-off-by: Christian Ehrhardt <christian.ehrha...@canonical.com>
> > ---
> >   tools/libvirt-guests.sh.in | 8 ++++++++
> >   1 file changed, 8 insertions(+)
> >
> > diff --git a/tools/libvirt-guests.sh.in b/tools/libvirt-guests.sh.in
> > index 4bc6e866f0..5a9930ee2f 100644
> > --- a/tools/libvirt-guests.sh.in
> > +++ b/tools/libvirt-guests.sh.in
> > @@ -90,6 +90,14 @@ test_connect()
> >   {
> >       uri=$1
> >
> > +    if [ "x$uri" = xdefault ]; then
> > +        # Default config is most common and for the local libvirtd
> > +        # Check if it is active before wasting time in connect loop
> > +        if ! systemctl -q is-active libvirtd; then
>
> Systemd is still not the only init out there:
>
> moe ~ # systemctl -q is-active libvirtd
> -su: systemctl: command not found
>
> However, this will make libvirt-guests unusable when using split daemons
> (which are not enabled yet). So I guess we need to check whether either
> libvirtd or any of the hypervisor daemons is running (we can't assume
> the default URI is qemu:///system).


Just for completeness - we can assume that because that is what the
["x$uri" = xdefault] check is for.
For any non default cases it would have not tried to fast path it.

But I like Daniels suggestion of maybe just dropping the retry logic on
this one.
Therefore consider this patch obsolete and I'll send a very different v2
somewhen later.

Also, it would be nice to print a
> message why we tested connection unusable. Something like:
>
>    eval_gettext "Libvirtd is not running. Skipping."
>    return 1
>
> Michal
>
>

-- 
Christian Ehrhardt
Staff Engineer, Ubuntu Server
Canonical Ltd
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to