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


Reply via email to