On Mon, Dec 18, 2017 at 3:35 PM, Daniel P. Berrange <berrange(a)redhat.com> wrote:
On Mon, Dec 18, 2017 at 03:22:57PM +0100, Christian Ehrhardt wrote:
> Hi,
> on libvirt 3.10 I see a set of qemu processes used for capability
> probing [1] (in my case 8x x86_64 and 3xi386 which seems a lot, but
> ok).
> But when stopping the service those still stay around [2].
>
> That is correct for guests that were started by libvirt as their
> lifecycle isn't tied to the libvirtd service. But those probes are
> IMHO tied to the service.
>
> At first this might seem non-relevant, but e.g. when users want to
> uninstall they might think on stopping their guests, but I'd assume no
> one will clean up the capability probes before the hard removal.
> But then on the removal scripts will run into issues e.g. failing to
> remove users as they are still in use by those qemu processes.
>
> Right now Distro's have to be aware to clean those up at least at
> times where packaging would expect them to be gone, but I wanted to
> ask if there would be a consensus that it would be "correct" to stop
> the processes on a libvirtd stop?
Well in general they should all be killed immediately after libvirt
finishes probing the capabilities - they should only live for a fraction
of a second.
Yes that is how it always was before.
I expected something in a more recent libvirt was changed to keep them
around and thereby debugged in the wrong direction.
Just recently ~1h ago it resolved in my test environment to no more
show up hanging after a restart of libvirtd.
If these are getting stuck, it is an indication of a bug somewhere
in either QEMU or libvirt. So from that POV, the "correct" way to
stop them would be to find and fix the bug that is preventing them
being killed.
I wish I'd have thought that way of it while it still occurred.
Thanks a lot for the hint Daniel, now at least everything makes sense.
Next time I see this I know which way to look at it and will gather
debug data - for now it seems unreproducible even in a new test
environment :-/
--
Christian Ehrhardt
Software Engineer, Ubuntu Server
Canonical Ltd