[systemd-devel] machines get killed when scopes are destroyed

Daniel P. Berrange berrange at redhat.com
Mon Nov 18 02:12:42 PST 2013


On Mon, Nov 18, 2013 at 03:03:18AM +0100, Zbigniew Jędrzejewski-Szmek wrote:
> v0lZy reported on IRC that his qemu machines get killed when shutting
> down the host. libvirt-guests.service is designed to suspend them
> during shutdown, but when it was run, the guests were all already dead.
> 
> And indeed, each qemu is running inside a scope, which is not
> connected by any dependencies to either systemd-machine.service, or
> libvirt-guests.service. libvirt-guests.service does not depend on
> systemd-machine.service either. This means that when shutdown is
> ordered, the scopes will stopped in parallel to other
> libvirt-guests.service, and depending on timing, qemus will be just
> killed with SIGTERM.
> 
> For this whole thing to work correctly, we need to ensure that
> scopes are not terminated prematurely. If we introduced a target
> like libvirt-ready.target, and made libvirt-guests.service be
> After=libvirt-ready.target, and made all the scopes be
> Before=libvirt-ready.target, I think the vms would have a chance
> to shutdown properly. But that's pretty complicated.
> And I'm not even sure how to do that properly. Any better
> ideas?

I don't have an answer for you, but just want to ask that you file a
bug against libvirt for this problem. This is an unintended regression
in libvirt functionality with the switch to systemd scopes.

http://libvirt.org/bugs.html

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|


More information about the systemd-devel mailing list