<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jul 6, 2017 at 12:34 PM, Christian Ehrhardt <span dir="ltr"><<a href="mailto:christian.ehrhardt@canonical.com" target="_blank">christian.ehrhardt@canonical.com</a>></span> wrote:</div><div class="gmail_quote"><br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>To get there was complex, but the TL;DR to get into bad state is "invoke-rc.d libvirtd start"</div></div></blockquote><div><br></div><div>I checked and it does eventually nothing more "active" than:</div><div>$ systemctl start libvirtd.service</div><div><br></div><div>But calling that manually didn't trigger anything.</div><div><br></div><div>But doing so via invoke-rc.d still does trigger it on Ubuntu, yet this simplified form does not trigger it on Debian.</div><div>(remember the remove/install loop triggered on both distributions, I checked once more for sanity - it still does)</div><div><br></div><div>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).</div><div>Turns out it was instead the daemon-reload.</div><div><br></div><div>$ systemctl daemon-reload</div><div><br></div><div>And that is true on both Distributions.</div><div>Summarizing he interim knowledge.</div><div><br></div><div>1. libvirtd has a bad status where it's service does not properly track tasks somehow</div><div>2. if restarted from this status it looses libvirt-lxc containers</div><div>3. the following sequence seems to be the minimal one to demonstrate (short enough to fit in the bug itself now)</div><div><br></div><div><div>$ 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</div><div># output starting with good case </div><div> libvirtd.service - Virtualization daemon</div><div> Loaded: loaded (/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)</div><div> Active: active (running) since Thu 2017-07-06 08:12:34 EDT; 6ms ago</div><div> Docs: man:libvirtd(8)</div><div> <a href="http://libvirt.org">http://libvirt.org</a></div><div> Main PID: 18229 (libvirtd)</div><div> Tasks: 17 (limit: 4915) <<<< good case, also has pid=<number> in ExecStart</div><div> CGroup: /system.slice/libvirtd.service</div><div> ├─18229 /usr/sbin/libvirtd</div><div> └─18247 /usr/sbin/dnsmasq --version</div><div>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 }</div><div># here is the daemon-reload<br></div><div># after this is bad case:</div><div> libvirtd.service - Virtualization daemon</div><div> Loaded: loaded (/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)</div><div> Active: active (running) since Thu 2017-07-06 08:12:34 EDT; 143ms ago</div><div> Docs: man:libvirtd(8)</div><div> <a href="http://libvirt.org">http://libvirt.org</a></div><div> Main PID: 18229 (libvirtd)</div><div> CGroup: /system.slice/libvirtd.service</div><div> └─18229 /usr/sbin/libvirtd</div><div>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 }</div></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div>
</div></div>