[libvirt] [PATCH] Configuring systemd to restart libvirt on abort

Mooli Tayer mtayer at redhat.com
Tue Jul 30 09:43:16 UTC 2013


----- Original Message -----
> On Mon, Jul 29, 2013 at 05:36:21PM +0300, Mooli Tayer wrote:
> > From: Mooli Tayer <mtayer at redhat.com>
> > 
> > This will create a respawn behaviour in case libvirt
> > process exits due to an uncaught signal not specified
> > as a clean exit status.
> > see http://www.freedesktop.org/software/systemd/man/systemd.service.html
> > ---
> >  daemon/libvirtd.service.in | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/daemon/libvirtd.service.in b/daemon/libvirtd.service.in
> > index aa5913b..b3c0849 100644
> > --- a/daemon/libvirtd.service.in
> > +++ b/daemon/libvirtd.service.in
> > @@ -15,6 +15,7 @@ EnvironmentFile=-/etc/sysconfig/libvirtd
> >  ExecStart=@sbindir@/libvirtd $LIBVIRTD_ARGS
> >  ExecReload=/bin/kill -HUP $MAINPID
> >  KillMode=process
> > +Restart=on-abort
> >  # Override the maximum number of opened files
> >  #LimitNOFILE=2048
> 
> I'm wondering whether 'on-abort' is the best choice or if
> 'on-failure' or 'always' are better. The systemd.service
> man page says
> 
> [quote]
>            Takes one of no, on-success, on-failure,
>            on-abort, or always. If set to no (the
>            default) the service will not be restarted. If
>            set to on-success it will be restarted only
>            when the service process exits cleanly. In
>            this context, a clean exit means an exit code
>            of 0, or one of the signals SIGHUP, SIGINT,
>            SIGTERM, or SIGPIPE, and additionally, exit
>            statuses and signals specified in
>            SuccessExitStatus=. If set to on-failure the
>            service will be restarted when the process
>            exits with an nonzero exit code, is terminated
>            by a signal (including on core dump), when an
>            operation (such as service reload) times out,
>            and when the configured watchdog timeout is
>            triggered. If set to on-abort the service will
>            be restarted only if the service process exits
>            due to an uncaught signal not specified as a
>            clean exit status. If set to always the
>            service will be restarted regardless whether
>            it exited cleanly or not, got terminated
>            abnormally by a signal or hit a timeout.
> [/quote]
> 
> I tend towards saying 'on-failure' here.

I agree. we defiantly want restart in the 'on-failure'
cases.
 
> 
> 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 :|
> 
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
> 




More information about the libvir-list mailing list