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

Daniel P. Berrange berrange at redhat.com
Mon Jul 29 15:25:47 UTC 2013


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.


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 libvir-list mailing list