[Pkg-libvirt-maintainers] Bug#867379: trigger seems to be in "invoke-rc.d libvirtd start"

Christian Ehrhardt christian.ehrhardt at canonical.com
Thu Jul 6 12:17:41 UTC 2017


On Thu, Jul 6, 2017 at 12:34 PM, Christian Ehrhardt <
christian.ehrhardt at canonical.com> wrote:

To get there was complex, but the TL;DR to get into bad state is
> "invoke-rc.d libvirtd start"
>

I checked and it does eventually nothing more "active" than:
$ systemctl start libvirtd.service

But calling that manually didn't trigger anything.

But doing so via invoke-rc.d still does trigger it on Ubuntu, yet this
simplified form does not trigger it on Debian.
(remember the remove/install loop triggered on both distributions, I
checked once more for sanity - it still does)

So I went and checked what I considered the non active part of the calls
from invoke-rc.d in Ubuntu (since it felt closer to the root cause).
Turns out it was instead the daemon-reload.

$ systemctl daemon-reload

And that is true on both Distributions.
Summarizing he interim knowledge.

1. libvirtd has a bad status where it's service does not properly track
tasks somehow
2. if restarted from this status it looses libvirt-lxc containers
3. the following sequence seems to be the minimal one to demonstrate (short
enough to fit in the bug itself now)

$ systemctl restart libvirtd; systemctl status -n 0 --no-pager libvirtd;
systemctl show libvirtd | grep ExecStart; systemctl daemon-reload;
systemctl status -n 0 --no-pager libvirtd; systemctl show libvirtd | grep
ExecStart
# output starting with good case
  libvirtd.service - Virtualization daemon
   Loaded: loaded (/lib/systemd/system/libvirtd.service; enabled; vendor
preset: enabled)
   Active: active (running) since Thu 2017-07-06 08:12:34 EDT; 6ms ago
     Docs: man:libvirtd(8)
           http://libvirt.org
 Main PID: 18229 (libvirtd)
    Tasks: 17 (limit: 4915)
 <<<< good case, also has pid=<number> in ExecStart
   CGroup: /system.slice/libvirtd.service
           ├─18229 /usr/sbin/libvirtd
           └─18247 /usr/sbin/dnsmasq --version
ExecStart={ path=/usr/sbin/libvirtd ; argv[]=/usr/sbin/libvirtd
$libvirtd_opts ; ignore_errors=no ; start_time=[Thu 2017-07-06 08:12:34
EDT] ; stop_time=[n/a] ; pid=18229 ; code=(null) ; status=0/0 }
# here is the daemon-reload
# after this is bad case:
  libvirtd.service - Virtualization daemon
   Loaded: loaded (/lib/systemd/system/libvirtd.service; enabled; vendor
preset: enabled)
   Active: active (running) since Thu 2017-07-06 08:12:34 EDT; 143ms ago
     Docs: man:libvirtd(8)
           http://libvirt.org
 Main PID: 18229 (libvirtd)
   CGroup: /system.slice/libvirtd.service
           └─18229 /usr/sbin/libvirtd
ExecStart={ path=/usr/sbin/libvirtd ; argv[]=/usr/sbin/libvirtd
$libvirtd_opts ; ignore_errors=no ; start_time=[n/a] ; stop_time=[n/a] ;
pid=0 ; code=(null) ; status=0/0 }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-libvirt-maintainers/attachments/20170706/0b4d7a04/attachment.html>


More information about the Pkg-libvirt-maintainers mailing list