Hello community, here is the log from the commit of package sbd for openSUSE:Factory checked in at 2019-01-28 20:49:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/sbd (Old) and /work/SRC/openSUSE:Factory/.sbd.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "sbd" Mon Jan 28 20:49:54 2019 rev:27 rq:669074 version:1.4.0+20190123.1829c40 Changes: -------- --- /work/SRC/openSUSE:Factory/sbd/sbd.changes 2018-10-04 19:02:49.287119646 +0200 +++ /work/SRC/openSUSE:Factory/.sbd.new.28833/sbd.changes 2019-01-28 20:50:44.465759885 +0100 @@ -1,0 +2,19 @@ +Thu Jan 24 13:14:37 UTC 2019 - [email protected] + +- Update to version 1.4.0+20190123.1829c40: +- sbd.sysconfig: watchdog timeout set in the on-disk metadata takes precedence +- sbd.8.pod: use the generic term "cluster services" instead of the specific "openais" (bsc#1112918) + +------------------------------------------------------------------- +Thu Jan 17 14:36:27 UTC 2019 - [email protected] + +- Update to version 1.4.0+20190114.7f33d1a (v1.4.0) + +------------------------------------------------------------------- +Wed Jan 9 16:27:08 UTC 2019 - [email protected] + +- Update to version 1.3.1+20181218.dbae8ab: +- make timeout-action executed by sbd configurable +- use pacemaker's new pe api with constructors/destructors + +------------------------------------------------------------------- Old: ---- sbd-1.3.1+20180920.bf16663.tar.xz New: ---- sbd-1.4.0+20190123.1829c40.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ sbd.spec ++++++ --- /var/tmp/diff_new_pack.nbtalb/_old 2019-01-28 20:50:44.933759391 +0100 +++ /var/tmp/diff_new_pack.nbtalb/_new 2019-01-28 20:50:44.933759391 +0100 @@ -1,7 +1,7 @@ # # spec file for package sbd # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2013 Lars Marowsky-Bree # # All modifications and additions to the file contributed by third parties @@ -23,7 +23,7 @@ %endif Name: sbd -Version: 1.3.1+20180920.bf16663 +Version: 1.4.0+20190123.1829c40 Release: 0 Summary: Storage-based death License: GPL-2.0-or-later ++++++ _service ++++++ --- /var/tmp/diff_new_pack.nbtalb/_old 2019-01-28 20:50:44.961759362 +0100 +++ /var/tmp/diff_new_pack.nbtalb/_new 2019-01-28 20:50:44.961759362 +0100 @@ -4,7 +4,7 @@ <param name="exclude">.git</param> <param name="url">https://github.com/ClusterLabs/sbd.git</param> <param name="revision">master</param> - <param name="versionformat">1.3.1+%cd.%h</param> + <param name="versionformat">1.4.0+%cd.%h</param> <param name="changesgenerate">enable</param> </service> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.nbtalb/_old 2019-01-28 20:50:44.973759349 +0100 +++ /var/tmp/diff_new_pack.nbtalb/_new 2019-01-28 20:50:44.977759345 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/ClusterLabs/sbd.git</param> - <param name="changesrevision">bf16663dbb99b9406dd5f264d98fbb86448219dc</param> + <param name="changesrevision">091e10ae3f62239251b53bf7d81d47a57a9b82f2</param> </service> </servicedata> \ No newline at end of file ++++++ sbd-1.3.1+20180920.bf16663.tar.xz -> sbd-1.4.0+20190123.1829c40.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sbd-1.3.1+20180920.bf16663/.travis.yml new/sbd-1.4.0+20190123.1829c40/.travis.yml --- old/sbd-1.3.1+20180920.bf16663/.travis.yml 2018-09-20 17:49:45.000000000 +0200 +++ new/sbd-1.4.0+20190123.1829c40/.travis.yml 2019-01-23 19:26:40.000000000 +0100 @@ -1,16 +1,31 @@ sudo: required language: c +os: + - linux + - linux-ppc64le + env: - global: - - DOCKER_BUILD_IMAGE=alectolytic/rpmbuilder - - OS_ARCH=x86_64 - - PACKAGE=sbd - - BUILD_OS_TYPE=fedora BUILD_OS_DIST= BUILD_OS_VERSION=28 - matrix: - - OS_TYPE=centos OS_MOCK=epel OS_DIST=centos OS_VERSION=7 - - OS_TYPE=centos OS_MOCK=epel OS_DIST=centos OS_VERSION=6 - - OS_TYPE=fedora OS_MOCK=fedora OS_DIST= OS_VERSION=28 + global: + - PACKAGE=sbd + - BUILD_OS_TYPE=fedora BUILD_OS_DIST= BUILD_OS_VERSION=29 + +matrix: + exclude: + - os: linux + - os: linux-ppc64le + + include: + - os: linux + env: OS_ARCH=x86_64 OS_TYPE=centos OS_MOCK=epel OS_DIST=centos OS_VERSION=7 + - os: linux + env: OS_ARCH=x86_64 OS_TYPE=centos OS_MOCK=epel OS_DIST=centos OS_VERSION=6 + - os: linux + env: OS_ARCH=x86_64 OS_TYPE=fedora OS_MOCK=fedora OS_DIST= OS_VERSION=28 + - os: linux + env: OS_ARCH=x86_64 OS_TYPE=fedora OS_MOCK=fedora OS_DIST= OS_VERSION=29 + - os: linux-ppc64le + env: OS_ARCH=ppc64le OS_TYPE=fedora OS_MOCK=fedora OS_DIST= OS_VERSION=29 services: - docker diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sbd-1.3.1+20180920.bf16663/configure.ac new/sbd-1.4.0+20190123.1829c40/configure.ac --- old/sbd-1.3.1+20180920.bf16663/configure.ac 2018-09-20 17:49:45.000000000 +0200 +++ new/sbd-1.4.0+20190123.1829c40/configure.ac 2019-01-23 19:26:40.000000000 +0100 @@ -20,7 +20,7 @@ dnl checks for system services AC_INIT([sbd], - [1.3.1], + [1.4.0], [[email protected]]) AC_CANONICAL_HOST AC_CONFIG_AUX_DIR(.) @@ -76,6 +76,9 @@ AC_CHECK_DECLS([pcmk_cluster_classic_ais, pcmk_cluster_cman],,, [#include <pacemaker/crm/cluster.h>]) +dnl check for new pe-API +AC_CHECK_FUNCS(pe_new_working_set) + if test "$missing" = "yes"; then AC_MSG_ERROR([Missing required libraries or functions.]) fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sbd-1.3.1+20180920.bf16663/man/sbd.8.pod new/sbd-1.4.0+20190123.1829c40/man/sbd.8.pod --- old/sbd-1.3.1+20180920.bf16663/man/sbd.8.pod 2018-09-20 17:49:45.000000000 +0200 +++ new/sbd-1.4.0+20190123.1829c40/man/sbd.8.pod 2019-01-23 19:26:40.000000000 +0100 @@ -294,7 +294,7 @@ Set the start-up wait time for devices. (Defaults to I<120>.) Dynamic block devices such as iSCSI might not be fully initialized and -present yet. This allows to set a timeout for waiting for devices to +present yet. This allows one to set a timeout for waiting for devices to appear on start-up. If set to 0, start-up will be aborted immediately if no devices are available. @@ -333,6 +333,23 @@ Defaults to 240 seconds. Set to zero to disable. +=item B<-r> I<N> + +Actions to be executed when the watchers don't timely report to the sbd +master process or one of the watchers detects that the master process +has died. + +Set timeout-action to comma-separated combination of +noflush|flush plus reboot|crashdump|off. +If just one of both is given the other stays at the default. + +This doesn't affect actions like off, crashdump, reboot explicitly +triggered via message slots. +And it does as well not configure the action a watchdog would +trigger should it run off (there is no generic interface). + +Defaults to flush,reboot. + =back =head2 allocate @@ -476,7 +493,7 @@ introduce an additional single point of failure then. If the SBD device is not accessible, the daemon will fail to start and -inhibit openais startup. +inhibit startup of cluster services. =item Two devices @@ -552,6 +569,8 @@ C<sbd> will fail to start if no C<SBD_DEVICE> is specified. See the installed template for more options that can be configured here. +In general configuration done via parameters takes precedence over +the configuration from the configuration file. =head2 Testing the sbd installation diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sbd-1.3.1+20180920.bf16663/sbd.spec new/sbd-1.4.0+20190123.1829c40/sbd.spec --- old/sbd-1.3.1+20180920.bf16663/sbd.spec 2018-09-20 17:49:45.000000000 +0200 +++ new/sbd-1.4.0+20190123.1829c40/sbd.spec 2019-01-23 19:26:40.000000000 +0100 @@ -15,7 +15,7 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # -%global commit e102d9ed7559a14156d4b1d714b766725155ad14 +%global commit 2d595fdde4f62278b96db1b7fb79aae5e990bb0b %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global github_owner beekhof %global buildnum 1 @@ -24,7 +24,7 @@ Summary: Storage-based death License: GPLv2+ Group: System Environment/Daemons -Version: 1.3.1 +Version: 1.4.0 Release: 0.%{buildnum}.%{shortcommit}.git%{?dist} Url: https://github.com/%{github_owner}/%{name} Source0: https://github.com/%{github_owner}/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz @@ -43,7 +43,7 @@ BuildRequires: make %if 0%{?rhel} > 0 -ExclusiveArch: i686 x86_64 s390x +ExclusiveArch: i686 x86_64 s390x aarch64 ppc64le %endif %if %{defined systemd_requires} @@ -113,6 +113,16 @@ %doc COPYING %changelog +* Mon Jan 14 2019 <[email protected]> - 1.4.0-0.1.2d595fdd.git +- updated travis-CI (ppc64le-build, fedora29, remove need for + alectolytic-build-container) +- make watchdog-device-query easier to be handled by an SELinux-policy +- configurable delay value for SBD_DELAY_START +- use pacemaker's new pe api with constructors/destructors +- make timeout-action executed by sbd configurable +- init script for sysv systems +- version bump to v1.4.0 to denote Pacemaker 2.0.0 compatibility + * Fri Jun 29 2018 <[email protected]> - 1.3.1-0.1.e102d9ed.git - removed unneeded python-devel build-requirement - changed legacy corosync-devel to corosynclib-devel diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sbd-1.3.1+20180920.bf16663/src/sbd-common.c new/sbd-1.4.0+20190123.1829c40/src/sbd-common.c --- old/sbd-1.3.1+20180920.bf16663/src/sbd-common.c 2018-09-20 17:49:45.000000000 +0200 +++ new/sbd-1.4.0+20190123.1829c40/src/sbd-common.c 2019-01-23 19:26:40.000000000 +0100 @@ -98,6 +98,8 @@ " (default is 1, set to 0 to disable)\n" "-P Check Pacemaker quorum and node health (optional, watch only)\n" "-Z Enable trace mode. WARNING: UNSAFE FOR PRODUCTION!\n" +"-r Set timeout-action to comma-separated combination of\n" +" noflush|flush plus reboot|crashdump|off (default is flush,reboot)\n" "Commands:\n" #if SUPPORT_SHARED_DISK "create initialize N slots on <dev> - OVERWRITES DEVICE!\n" @@ -769,7 +771,7 @@ static void -do_exit(char kind) +do_exit(char kind, bool do_flush) { /* TODO: Turn debug_mode into a bit field? Delay + kdump for example */ const char *reason = NULL; @@ -778,12 +780,12 @@ cl_log(LOG_NOTICE, "Initiating kdump"); } else if (debug_mode == 1) { - cl_log(LOG_WARNING, "Initiating kdump instead of panicing the node (debug mode)"); + cl_log(LOG_WARNING, "Initiating kdump instead of panicking the node (debug mode)"); kind = 'c'; } if (debug_mode == 2) { - cl_log(LOG_WARNING, "Shutting down SBD instead of panicing the node (debug mode)"); + cl_log(LOG_WARNING, "Shutting down SBD instead of panicking the node (debug mode)"); watchdog_close(true); exit(0); } @@ -814,7 +816,9 @@ } cl_log(LOG_EMERG, "Rebooting system: %s", reason); - sync(); + if (do_flush) { + sync(); + } if(kind == 'c') { watchdog_close(true); @@ -834,19 +838,25 @@ void do_crashdump(void) { - do_exit('c'); + do_exit('c', true); } void do_reset(void) { - do_exit('b'); + do_exit('b', true); } void do_off(void) { - do_exit('o'); + do_exit('o', true); +} + +void +do_timeout_action(void) +{ + do_exit(timeout_sysrq_char, do_flush); } /* @@ -980,7 +990,7 @@ /* Our parent died unexpectedly. Triggering * self-fence. */ cl_log(LOG_WARNING, "Our parent is dead."); - do_reset(); + do_timeout_action(); } switch (servant_health) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sbd-1.3.1+20180920.bf16663/src/sbd-inquisitor.c new/sbd-1.4.0+20190123.1829c40/src/sbd-inquisitor.c --- old/sbd-1.3.1+20180920.bf16663/src/sbd-inquisitor.c 2018-09-20 17:49:45.000000000 +0200 +++ new/sbd-1.4.0+20190123.1829c40/src/sbd-inquisitor.c 2019-01-23 19:26:40.000000000 +0100 @@ -31,6 +31,8 @@ int servant_restart_count = 1; int start_mode = 0; char* pidfile = NULL; +bool do_flush = true; +char timeout_sysrq_char = 'b'; int parse_device_line(const char *line); @@ -655,7 +657,7 @@ /* At level 2 or above, we do nothing, but expect * things to eventually return to * normal. */ - do_reset(); + do_timeout_action(); } else { cl_log(LOG_ERR, "SBD: DEBUG MODE: Would have fenced due to timeout!"); } @@ -668,7 +670,7 @@ if (debug_mode && watchdog_use) { /* In debug mode, trigger a reset before the watchdog can panic the machine */ - do_reset(); + do_timeout_action(); } } @@ -833,6 +835,7 @@ const char *value = NULL; bool delay_start = false; long delay = 0; + char *timeout_action = NULL; if ((cmdname = strrchr(argv[0], '/')) == NULL) { cmdname = argv[0]; @@ -928,7 +931,12 @@ delay_start? (delay > 0 ? value: "msgwait") : "", delay_start? ")" : ""); - while ((c = getopt(argc, argv, "czC:DPRTWZhvw:d:n:p:1:2:3:4:5:t:I:F:S:s:")) != -1) { + value = getenv("SBD_TIMEOUT_ACTION"); + if(value) { + timeout_action = strdup(value); + } + + while ((c = getopt(argc, argv, "czC:DPRTWZhvw:d:n:p:1:2:3:4:5:t:I:F:S:s:r:")) != -1) { switch (c) { case 'D': break; @@ -1043,6 +1051,12 @@ cl_log(LOG_INFO, "Servant restart count set to %d", (int)servant_restart_count); break; + case 'r': + if (timeout_action) { + free(timeout_action); + } + timeout_action = strdup(optarg); + break; case 'h': usage(); return (0); @@ -1101,6 +1115,39 @@ goto out; } + if (timeout_action) { + char *p[2]; + int i; + char c; + int nrflags = sscanf(timeout_action, "%m[a-z],%m[a-z]%c", &p[0], &p[1], &c); + bool parse_error = (nrflags < 1) || (nrflags > 2); + + for (i = 0; (i < nrflags) && (i < 2); i++) { + if (!strcmp(p[i], "reboot")) { + timeout_sysrq_char = 'b'; + } else if (!strcmp(p[i], "crashdump")) { + timeout_sysrq_char = 'c'; + } else if (!strcmp(p[i], "off")) { + timeout_sysrq_char = 'o'; + } else if (!strcmp(p[i], "flush")) { + do_flush = true; + } else if (!strcmp(p[i], "noflush")) { + do_flush = false; + } else { + parse_error = true; + } + free(p[i]); + } + if (parse_error) { + fprintf(stderr, "Failed to parse timeout-action \"%s\".\n", + timeout_action); + exit_status = -1; + goto out; + } + } + cl_log(LOG_NOTICE, "%s flush + writing \'%c\' to sysrq on timeout", + do_flush?"Doing":"Skipping", timeout_sysrq_char); + #if SUPPORT_SHARED_DISK if (strcmp(argv[optind], "create") == 0) { exit_status = init_devices(servants_leader); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sbd-1.3.1+20180920.bf16663/src/sbd-md.c new/sbd-1.4.0+20190123.1829c40/src/sbd-md.c --- old/sbd-1.3.1+20180920.bf16663/src/sbd-md.c 2018-09-20 17:49:45.000000000 +0200 +++ new/sbd-1.4.0+20190123.1829c40/src/sbd-md.c 2019-01-23 19:26:40.000000000 +0100 @@ -1149,7 +1149,7 @@ if (ppid == 1) { /* Our parent died unexpectedly. Triggering * self-fence. */ - do_reset(); + do_timeout_action(); } /* These attempts are, by definition, somewhat racy. If diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sbd-1.3.1+20180920.bf16663/src/sbd-pacemaker.c new/sbd-1.4.0+20190123.1829c40/src/sbd-pacemaker.c --- old/sbd-1.3.1+20180920.bf16663/src/sbd-pacemaker.c 2018-09-20 17:49:45.000000000 +0200 +++ new/sbd-1.4.0+20190123.1829c40/src/sbd-pacemaker.c 2019-01-23 19:26:40.000000000 +0100 @@ -58,6 +58,31 @@ #include "sbd.h" +#ifndef HAVE_PE_NEW_WORKING_SET + +#define pe_reset_working_set(data_set) cleanup_calculations(data_set) + +static pe_working_set_t * +pe_new_working_set() +{ + pe_working_set_t *data_set = calloc(1, sizeof(pe_working_set_t)); + if (data_set != NULL) { + set_working_set_defaults(data_set); + } + return data_set; +} + +static void +pe_free_working_set(pe_working_set_t *data_set) +{ + if (data_set != NULL) { + pe_reset_working_set(data_set); + free(data_set); + } +} + +#endif + extern int disk_count; static void clean_up(int rc); @@ -74,6 +99,7 @@ static cib_t *cib = NULL; static xmlNode *current_cib = NULL; +static pe_working_set_t *data_set = NULL; static long last_refresh = 0; @@ -361,7 +387,6 @@ mon_refresh_state(gpointer user_data) { xmlNode *cib_copy = NULL; - pe_working_set_t data_set; if(current_cib == NULL) { return FALSE; @@ -382,14 +407,13 @@ } else { last_refresh = time(NULL); - set_working_set_defaults(&data_set); - data_set.input = cib_copy; - data_set.flags |= pe_flag_have_stonith_resource; - cluster_status(&data_set); + data_set->input = cib_copy; + data_set->flags |= pe_flag_have_stonith_resource; + cluster_status(data_set); - compute_status(&data_set); + compute_status(data_set); - cleanup_calculations(&data_set); + pe_reset_working_set(data_set); } return FALSE; @@ -398,6 +422,21 @@ static void clean_up(int rc) { + if (timer_id_reconnect > 0) { + g_source_remove(timer_id_reconnect); + timer_id_reconnect = 0; + } + + if (timer_id_notify > 0) { + g_source_remove(timer_id_notify); + timer_id_notify = 0; + } + + if (data_set != NULL) { + pe_free_working_set(data_set); + data_set = NULL; + } + if (cib != NULL) { cib->cmds->signoff(cib); cib_delete(cib); @@ -425,6 +464,14 @@ set_crm_log_level(LOG_CRIT); } + + if (data_set == NULL) { + data_set = pe_new_working_set(); + } + if (data_set == NULL) { + return -1; + } + if (current_cib == NULL) { cib = cib_new(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sbd-1.3.1+20180920.bf16663/src/sbd.h new/sbd-1.4.0+20190123.1829c40/src/sbd.h --- old/sbd-1.3.1+20180920.bf16663/src/sbd.h 2018-09-20 17:49:45.000000000 +0200 +++ new/sbd-1.4.0+20190123.1829c40/src/sbd.h 2019-01-23 19:26:40.000000000 +0100 @@ -130,6 +130,7 @@ void do_crashdump(void); void do_reset(void); void do_off(void); +void do_timeout_action(void); pid_t make_daemon(void); void maximize_priority(void); void sbd_get_uname(void); @@ -153,6 +154,8 @@ extern char *watchdogdev; extern bool watchdogdev_is_default; extern char* local_uname; +extern bool do_flush; +extern char timeout_sysrq_char; /* Global, non-tunable variables: */ extern int sector_size; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sbd-1.3.1+20180920.bf16663/src/sbd.sh.in new/sbd-1.4.0+20190123.1829c40/src/sbd.sh.in --- old/sbd-1.3.1+20180920.bf16663/src/sbd.sh.in 2018-09-20 17:49:45.000000000 +0200 +++ new/sbd-1.4.0+20190123.1829c40/src/sbd.sh.in 2019-01-23 19:26:40.000000000 +0100 @@ -16,10 +16,30 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. # +### BEGIN INIT INFO +# Provides: sbd +# Required-Start: $network $remote_fs +# Should-Start: $syslog iscsi multipath-tools corosync +# X-Start-Before: pacemaker +# Required-Stop: $network $remote_fs +# Should-Stop: iscsi multipath-tools corosync +# X-Stop-After: pacemaker +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Shared-storage based fencing daemon +# Description: SBD provides a node fencing mechanism for +# Pacemaker-based clusters through the exchange of +# messages via shared block storage such as for +# example a SAN, iSCSI, FCoE. It can be used as +# a STONITH mechanism in all configurations that +# have reliable shared storage. +### END INIT INFO SBD_CONFIG=@CONFIGDIR@/sbd SBD_BIN="/usr/sbin/sbd" +[ -e /lib/lsb/init-functions ] && . /lib/lsb/init-functions + test -x $SBD_BIN || exit 1 test -f $SBD_CONFIG || exit 1 @@ -84,11 +104,23 @@ done } +status() { + if pidofproc -p $SBD_PIDFILE $SBD_BIN >/dev/null 2>&1 ; then + echo "SBD is running." + return 0 + else + echo "SBD is not running." + return 1 + fi +} + case "$1" in -start|stop) +start|stop|status) $1 ;; +restart|force-reload) + stop; start ;; *) - echo "Usage: $0 (start|stop)" + echo "Usage: $0 (start|stop|status|restart|force-reload)" exit 1 ;; esac diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/sbd-1.3.1+20180920.bf16663/src/sbd.sysconfig new/sbd-1.4.0+20190123.1829c40/src/sbd.sysconfig --- old/sbd-1.3.1+20180920.bf16663/src/sbd.sysconfig 2018-09-20 17:49:45.000000000 +0200 +++ new/sbd-1.4.0+20190123.1829c40/src/sbd.sysconfig 2019-01-23 19:26:40.000000000 +0100 @@ -58,7 +58,7 @@ ## Type: integer ## Default: 5 # -# How long, in seconds, the watchdog will wait before panicing the +# How long, in seconds, the watchdog will wait before panicking the # node if no-one tickles it. # # This depends mostly on your storage latency; the majority of devices @@ -68,9 +68,30 @@ # If your sbd device(s) reside on a multipath setup or iSCSI, this # should be the time required to detect a path failure. # +# Be aware that watchdog timeout set in the on-disk metadata takes +# precedence. +# SBD_WATCHDOG_TIMEOUT=5 ## Type: string +## Default: "flush,reboot" +# +# Actions to be executed when the watchers don't timely report to the sbd +# master process or one of the watchers detects that the master process +# has died. +# +# Set timeout-action to comma-separated combination of +# noflush|flush plus reboot|crashdump|off. +# If just one of both is given the other stays at the default. +# +# This doesn't affect actions like off, crashdump, reboot explicitly +# triggered via message slots. +# And it does as well not configure the action a watchdog would +# trigger should it run off (there is no generic interface). +# +SBD_TIMEOUT_ACTION=flush,reboot + +## Type: string ## Default: "" # # Additional options for starting sbd
