Hello community,

here is the log from the commit of package prometheus-ha_cluster_exporter for 
openSUSE:Factory checked in at 2020-09-12 00:13:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/prometheus-ha_cluster_exporter (Old)
 and      /work/SRC/openSUSE:Factory/.prometheus-ha_cluster_exporter.new.4249 
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "prometheus-ha_cluster_exporter"

Sat Sep 12 00:13:33 2020 rev:8 rq:833805 version:1.2.0+git.1599131770.8912739

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/prometheus-ha_cluster_exporter/prometheus-ha_cluster_exporter.changes
    2020-07-14 08:01:30.718221385 +0200
+++ 
/work/SRC/openSUSE:Factory/.prometheus-ha_cluster_exporter.new.4249/prometheus-ha_cluster_exporter.changes
  2020-09-12 00:14:22.293320871 +0200
@@ -1,0 +2,11 @@
+Fri Sep 11 13:41:08 2020 UTC - [email protected]
+
+- Release 1.2.0
+
+  ## Added
+  - Implement SBD watchdog and msgwait timeout metrics (#174)
+
+  ## Fixed
+  - Handle correctly corosync membership parsing with qdevice enabled (#172)
+
+-------------------------------------------------------------------

Old:
----
  prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c.tar.gz

New:
----
  prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ prometheus-ha_cluster_exporter.spec ++++++
--- /var/tmp/diff_new_pack.cAYOg7/_old  2020-09-12 00:14:25.373323818 +0200
+++ /var/tmp/diff_new_pack.cAYOg7/_new  2020-09-12 00:14:25.377323822 +0200
@@ -18,7 +18,7 @@
 
 Name:           prometheus-ha_cluster_exporter
 # Version will be processed via set_version source service
-Version:        1.1.0+git.1594637514.c1eae0c
+Version:        1.2.0+git.1599131770.8912739
 Release:        0
 Summary:        Prometheus exporter for Pacemaker HA clusters metrics
 License:        Apache-2.0
@@ -28,16 +28,12 @@
 Source1:        vendor.tar.gz
 ExclusiveArch:  aarch64 x86_64 ppc64le s390x
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-BuildRequires:  go >= 1.12
+BuildRequires:  golang-packaging
+BuildRequires:  golang(API) >= 1.12
 Provides:       ha_cluster_exporter = %{version}-%{release}
 Provides:       prometheus(ha_cluster_exporter) = %{version}-%{release}
-# Unlike C/C++ packages, Golang packages do not have header files. They are 
statically built so the main package is also the devel package.
-Provides:       %{name}-devel = %{version}
-Provides:       %{name}-devel-static = %{version}
-
-# Make sure that the binary is not getting stripped.
-%undefine _build_create_debug
-%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
+
+%{go_nostrip}
 
 %description
 Prometheus exporter for Pacemaker HA clusters metrics
@@ -52,6 +48,7 @@
 
 export CGO_ENABLED=0
 go build -mod=vendor \
+         -buildmode=pie \
          -ldflags="-s -w -X main.version=%{version}" \
          -o %{shortname}
 

++++++ _service ++++++
--- /var/tmp/diff_new_pack.cAYOg7/_old  2020-09-12 00:14:25.409323853 +0200
+++ /var/tmp/diff_new_pack.cAYOg7/_new  2020-09-12 00:14:25.409323853 +0200
@@ -2,12 +2,12 @@
     <service name="tar_scm" mode="disabled">
         <param 
name="url">git://github.com/ClusterLabs/ha_cluster_exporter.git</param>
         <param name="scm">git</param>
-        <param name="revision">1.1.0</param>
+        <param name="revision">1.2.0</param>
         <param name="exclude">.git</param>
         <param name="exclude">.github</param>
         <param name="exclude">dashboards</param>
         <param 
name="exclude">packaging/obs/grafana-ha-cluster-dashboards</param>
-        <param name="version">1.1.0+git.1594637514.c1eae0c</param>
+        <param name="version">1.2.0+git.1599131770.8912739</param>
         <param name="filename">prometheus-ha_cluster_exporter</param>
     </service>
     <service name="set_version" mode="disabled">

++++++ prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c.tar.gz -> 
prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/collector/corosync/corosync.go
 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/collector/corosync/corosync.go
--- 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/collector/corosync/corosync.go
      2020-07-13 12:51:54.000000000 +0200
+++ 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/collector/corosync/corosync.go
      2020-09-03 13:16:10.000000000 +0200
@@ -45,7 +45,7 @@
 
        // We suppress the exec errors because if any interface is faulty the 
tools will exit with code 1, but we still want to parse the output.
        cfgToolOutput, _ := exec.Command(c.cfgToolPath, "-s").Output()
-       quorumToolOutput, _ := exec.Command(c.quorumToolPath).Output()
+       quorumToolOutput, _ := exec.Command(c.quorumToolPath, "-p").Output()
 
        status, err := c.parser.Parse(cfgToolOutput, quorumToolOutput)
        if err != nil {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/collector/corosync/parser.go
 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/collector/corosync/parser.go
--- 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/collector/corosync/parser.go
        2020-07-13 12:51:54.000000000 +0200
+++ 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/collector/corosync/parser.go
        2020-09-03 13:16:10.000000000 +0200
@@ -35,10 +35,11 @@
 }
 
 type Member struct {
-       Id    string
-       Name  string
-       Votes uint64
-       Local bool
+       Id      string
+       Name    string
+       Qdevice string
+       Votes   uint64
+       Local   bool
 }
 
 func NewParser() Parser {
@@ -211,11 +212,12 @@
        /*
           Membership information
           ----------------------
-             Nodeid      Votes Name
-                       1          1 192.168.125.24
-                       2          1 192.168.125.25 (local)
+          Nodeid      Votes    Qdevice Name
+               1          1    A,V,NMW nfs01 (local)
+               2          1    A,V,NMW nfs02
+               0          1            Qdevice
        */
-       sectionRE := regexp.MustCompile(`(?m)Membership 
information\n-+\s+Nodeid\s+Votes\s+Name\n+((?:.*\n?)+)`)
+       sectionRE := regexp.MustCompile(`(?m)Membership 
information\n-+\s+Nodeid\s+Votes\s+Qdevice\s+Name\n+((?:.*\n?)+)`)
        sectionMatch := sectionRE.FindSubmatch(quorumToolOutput)
        if sectionMatch == nil {
                return nil, errors.New("could not find membership information")
@@ -223,9 +225,9 @@
 
        // we also need a second regex to capture the single elements of each 
node line, e.g.:
        /*
-               1          1 192.168.125.24 (local)
+               1          1  A,V,NMW 192.168.125.24 (local)
        */
-       linesRE := 
regexp.MustCompile(`(?m)(?P<node_id>\w+)\s+(?P<votes>\d+)\s(?P<name>[\w-\.]+)(?:\s(?P<local>\(local\)))?\n?`)
+       linesRE := 
regexp.MustCompile(`(?m)(?P<node_id>\w+)\s+(?P<votes>\d+)\s+(?P<qdevice>(\w,?)+)?\s+(?P<name>[\w-\.]+)(?:\s(?P<local>\(local\)))?\n?`)
        linesMatches := linesRE.FindAllSubmatch(sectionMatch[1], -1)
        for _, match := range linesMatches {
                matches := extractRENamedCaptureGroups(linesRE, match)
@@ -241,10 +243,11 @@
                }
 
                members = append(members, Member{
-                       Id:    matches["node_id"],
-                       Name:  matches["name"],
-                       Votes: votes,
-                       Local: local,
+                       Id:      matches["node_id"],
+                       Name:    matches["name"],
+                       Votes:   votes,
+                       Local:   local,
+                       Qdevice: matches["qdevice"],
                })
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/collector/corosync/parser_test.go
 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/collector/corosync/parser_test.go
--- 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/collector/corosync/parser_test.go
   2020-07-13 12:51:54.000000000 +0200
+++ 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/collector/corosync/parser_test.go
   2020-09-03 13:16:10.000000000 +0200
@@ -38,9 +38,9 @@
 
 Membership information
 ----------------------
-       Nodeid      Votes Name
-1084780051          1 dma-dog-hana01 (local)
-1084780052          1 dma-dog-hana02`)
+       Nodeid      Votes Qdevice Name
+1084780051          1      NR dma-dog-hana01 (local)
+1084780052          1      A,V,NMW dma-dog-hana02`)
 
        status, err := p.Parse(cfgToolOutput, quoromToolOutput)
        assert.NoError(t, err)
@@ -67,10 +67,12 @@
        assert.Len(t, members, 2)
        assert.Exactly(t, "1084780051", members[0].Id)
        assert.Exactly(t, "dma-dog-hana01", members[0].Name)
+       assert.Exactly(t, "NR", members[0].Qdevice)
        assert.True(t, members[0].Local)
        assert.EqualValues(t, 1, members[0].Votes)
        assert.Exactly(t, "1084780052", members[1].Id)
        assert.Exactly(t, "dma-dog-hana02", members[1].Name)
+       assert.Exactly(t, "A,V,NMW", members[1].Qdevice)
        assert.False(t, members[1].Local)
        assert.EqualValues(t, 1, members[1].Votes)
 }
@@ -250,8 +252,8 @@
 func TestParseMembersUintError(t *testing.T) {
        quoromToolOutput := []byte(`Membership information
 ----------------------
-       Nodeid      Votes Name
-1084780051 10000000000000000000000000000000000000000000000 dma-dog-hana01`)
+    Nodeid      Votes Qdevice Name
+1084780051 10000000000000000000000000000000000000000000000 NW dma-dog-hana01`)
 
        _, err := parseMembers(quoromToolOutput)
 
@@ -280,9 +282,9 @@
 
 Membership information
 ----------------------
-    Nodeid      Votes Name
-         1          1 192.168.127.20
-         2          1 192.168.127.21 (local)`)
+    Nodeid      Votes Qdevice Name
+         1          1      NR  192.168.127.20
+         2          1      NR  192.168.127.21 (local)`)
 
        members, err := parseMembers(quorumToolOutput)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/collector/sbd/sbd.go
 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/collector/sbd/sbd.go
--- 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/collector/sbd/sbd.go
        2020-07-13 12:51:54.000000000 +0200
+++ 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/collector/sbd/sbd.go
        2020-09-03 13:16:10.000000000 +0200
@@ -6,6 +6,7 @@
        "os"
        "os/exec"
        "regexp"
+       "strconv"
        "strings"
 
        "github.com/pkg/errors"
@@ -20,6 +21,7 @@
 const SBD_STATUS_UNHEALTHY = "unhealthy"
 const SBD_STATUS_HEALTHY = "healthy"
 
+// NewCollector create a new sbd collector
 func NewCollector(sbdPath string, sbdConfigPath string) (*sbdCollector, error) 
{
        err := checkArguments(sbdPath, sbdConfigPath)
        if err != nil {
@@ -33,6 +35,7 @@
        }
 
        c.SetDescriptor("devices", "SBD devices; one line per device", 
[]string{"device", "status"})
+       c.SetDescriptor("timeouts", "SBD timeouts for each device and type", 
[]string{"device", "type"})
 
        return c, nil
 }
@@ -68,6 +71,15 @@
                ch <- c.MakeGaugeMetric("devices", 1, sbdDev, sbdStatus)
        }
 
+       sbdWatchdogs, sbdMsgWaits := c.getSbdTimeouts(sbdDevices)
+       for sbdDev, sbdWatchdog := range sbdWatchdogs {
+               ch <- c.MakeGaugeMetric("timeouts", sbdWatchdog, sbdDev, 
"watchdog")
+       }
+
+       for sbdDev, sbdMsgWait := range sbdMsgWaits {
+               ch <- c.MakeGaugeMetric("timeouts", sbdMsgWait, sbdDev, 
"msgwait")
+       }
+
        return nil
 }
 
@@ -132,3 +144,39 @@
 
        return sbdStatuses
 }
+
+// for each sbd device, extract the watchdog and msgwait timeout via regex
+func (c *sbdCollector) getSbdTimeouts(sbdDevices []string) 
(map[string]float64, map[string]float64) {
+       sbdWatchdogs := make(map[string]float64)
+       sbdMsgWaits := make(map[string]float64)
+       for _, sbdDev := range sbdDevices {
+               sbdDump, _ := exec.Command(c.sbdPath, "-d", sbdDev, 
"dump").Output()
+
+               regexW := regexp.MustCompile(`Timeout \(msgwait\)  *: \d+`)
+               regex := regexp.MustCompile(`Timeout \(watchdog\)  *: \d+`)
+
+               msgWaitLine := regexW.FindStringSubmatch(string(sbdDump))
+               watchdogLine := regex.FindStringSubmatch(string(sbdDump))
+
+               if watchdogLine == nil || msgWaitLine == nil {
+                       continue
+               }
+
+               // get the timeout from the line
+               regexNumber := regexp.MustCompile(`\d+`)
+               watchdogTimeout := 
regexNumber.FindString(string(watchdogLine[0]))
+               msgWaitTimeout := regexNumber.FindString(string(msgWaitLine[0]))
+
+               // map the timeout to the device
+               if s, err := strconv.ParseFloat(watchdogTimeout, 64); err == 
nil {
+                       sbdWatchdogs[sbdDev] = s
+               }
+
+               // map the timeout to the device
+               if s, err := strconv.ParseFloat(msgWaitTimeout, 64); err == nil 
{
+                       sbdMsgWaits[sbdDev] = s
+               }
+
+       }
+       return sbdWatchdogs, sbdMsgWaits
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/collector/sbd/sbd_test.go
 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/collector/sbd/sbd_test.go
--- 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/collector/sbd/sbd_test.go
   2020-07-13 12:51:54.000000000 +0200
+++ 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/collector/sbd/sbd_test.go
   2020-09-03 13:16:10.000000000 +0200
@@ -214,6 +214,13 @@
 }
 
 func TestSBDCollector(t *testing.T) {
-       collector, _ := NewCollector("../../test/fake_sbd.sh", 
"../../test/fake_sbdconfig")
+       collector, _ := NewCollector("../../test/fake_sbd_dump.sh", 
"../../test/fake_sbdconfig")
+       assertcustom.Metrics(t, collector, "sbd.metrics")
+}
+
+func TestWatchdog(t *testing.T) {
+       collector, err := NewCollector("../../test/fake_sbd_dump.sh", 
"../../test/fake_sbdconfig")
+
+       assert.Nil(t, err)
        assertcustom.Metrics(t, collector, "sbd.metrics")
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/doc/metrics.md 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/doc/metrics.md
--- 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/doc/metrics.md  
    2020-07-13 12:51:54.000000000 +0200
+++ 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/doc/metrics.md  
    2020-09-03 13:16:10.000000000 +0200
@@ -198,7 +198,8 @@
 The SBD subsystems collect devices stats by parsing its configuration and the 
output of `sbd --dump`.
 
 0. [Sample](../test/sbd.metrics)
-2. [`ha_cluster_sbd_devices`](#ha_cluster_sbd_devices)
+1. [`ha_cluster_sbd_devices`](#ha_cluster_sbd_devices)
+2. [`ha_cluster_sbd_timeouts`](#ha_cluster_sbd_timeouts)
 
 ### `ha_cluster_sbd_devices`
 
@@ -214,6 +215,18 @@
 
 The total number of lines for this metric will be the cardinality of `device`.
 
+### `ha_cluster_sbd_timeouts`
+
+#### Description
+
+The SBD timeouts pro SBD device
+Value is an integer expessing the timeout
+
+#### Labels
+
+- `device`: the path of the SBD device
+- `type`:  either `watchdog` or `msgwait`
+
 
 ## DRBD
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/packaging/obs/prometheus-ha_cluster_exporter/prometheus-ha_cluster_exporter.spec
 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/packaging/obs/prometheus-ha_cluster_exporter/prometheus-ha_cluster_exporter.spec
--- 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/packaging/obs/prometheus-ha_cluster_exporter/prometheus-ha_cluster_exporter.spec
    2020-07-13 12:51:54.000000000 +0200
+++ 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/packaging/obs/prometheus-ha_cluster_exporter/prometheus-ha_cluster_exporter.spec
    2020-09-03 13:16:10.000000000 +0200
@@ -25,16 +25,12 @@
 Source1:        vendor.tar.gz
 ExclusiveArch:  aarch64 x86_64 ppc64le s390x
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-BuildRequires:  go >= 1.12
+BuildRequires:  golang-packaging
+BuildRequires:  golang(API) >= 1.12
 Provides:       ha_cluster_exporter = %{version}-%{release}
 Provides:       prometheus(ha_cluster_exporter) = %{version}-%{release}
-# Unlike C/C++ packages, Golang packages do not have header files. They are 
statically built so the main package is also the devel package.
-Provides:       %{name}-devel = %{version}
-Provides:       %{name}-devel-static = %{version}
-
-# Make sure that the binary is not getting stripped.
-%undefine _build_create_debug
-%define __arch_install_post export NO_BRP_STRIP_DEBUG=true
+
+%{go_nostrip}
 
 %description
 Prometheus exporter for Pacemaker HA clusters metrics
@@ -49,6 +45,7 @@
 
 export CGO_ENABLED=0
 go build -mod=vendor \
+         -buildmode=pie \
          -ldflags="-s -w -X main.version=%{version}" \
          -o %{shortname}
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/test/corosync.metrics
 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/test/corosync.metrics
--- 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/test/corosync.metrics
       2020-07-13 12:51:54.000000000 +0200
+++ 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/test/corosync.metrics
       2020-09-03 13:16:10.000000000 +0200
@@ -1,3 +1,8 @@
+# HELP ha_cluster_corosync_member_votes How many votes each member node has 
contributed with to the current quorum
+# TYPE ha_cluster_corosync_member_votes gauge
+ha_cluster_corosync_member_votes{local="false",node="Qdevice",node_id="0"} 1
+ha_cluster_corosync_member_votes{local="false",node="stefanotorresi-hana02",node_id="1084783376"}
 1
+ha_cluster_corosync_member_votes{local="true",node="stefanotorresi-hana01",node_id="1084783375"}
 1
 # HELP ha_cluster_corosync_quorate Whether or not the cluster is quorate
 # TYPE ha_cluster_corosync_quorate gauge
 ha_cluster_corosync_quorate 1
@@ -14,7 +19,3 @@
 # TYPE ha_cluster_corosync_rings gauge
 
ha_cluster_corosync_rings{address="10.0.0.1",node_id="1084783375",number="0",ring_id="1084783375/40"}
 0
 
ha_cluster_corosync_rings{address="172.16.0.1",node_id="1084783375",number="1",ring_id="1084783375/40"}
 1
-# HELP ha_cluster_corosync_member_votes How many votes each member node has 
contributed with to the current quorum
-# TYPE ha_cluster_corosync_member_votes gauge
-ha_cluster_corosync_member_votes{local="true",node="stefanotorresi-hana01",node_id="1084783375"}
 1
-ha_cluster_corosync_member_votes{local="false",node="stefanotorresi-hana02",node_id="1084783376"}
 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/test/fake_corosync-quorumtool.sh
 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/test/fake_corosync-quorumtool.sh
--- 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/test/fake_corosync-quorumtool.sh
    2020-07-13 12:51:54.000000000 +0200
+++ 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/test/fake_corosync-quorumtool.sh
    2020-09-03 13:16:10.000000000 +0200
@@ -20,7 +20,8 @@
 
 Membership information
 ----------------------
-    Nodeid      Votes Name
-1084783375          1 stefanotorresi-hana01 (local)
-1084783376          1 stefanotorresi-hana02
+    Nodeid      Votes  Qdevice Name
+1084783375          1      NR  stefanotorresi-hana01 (local)
+1084783376          1  A,V,NMW stefanotorresi-hana02
+         0          1            Qdevice
 EOF
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/test/fake_sbd_dump.sh
 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/test/fake_sbd_dump.sh
--- 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/test/fake_sbd_dump.sh
       1970-01-01 01:00:00.000000000 +0100
+++ 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/test/fake_sbd_dump.sh
       2020-09-03 13:16:10.000000000 +0200
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+
+cat <<EOF
+==Dumping header on disk /dev/vdc
+Header version     : 2.1
+UUID               : 1ed3171d-066d-47ca-8f76-aec25d9efed4
+Number of slots    : 255
+Sector size        : 512
+Timeout (watchdog) : 9
+Timeout (allocate) : 2
+Timeout (loop)     : 1
+Timeout (msgwait)  : 10
+==Header on disk /dev/vdc is dumped
+EOF
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/test/sbd.metrics
 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/test/sbd.metrics
--- 
old/prometheus-ha_cluster_exporter-1.1.0+git.1594637514.c1eae0c/test/sbd.metrics
    2020-07-13 12:51:54.000000000 +0200
+++ 
new/prometheus-ha_cluster_exporter-1.2.0+git.1599131770.8912739/test/sbd.metrics
    2020-09-03 13:16:10.000000000 +0200
@@ -1,4 +1,10 @@
 # HELP ha_cluster_sbd_devices SBD devices; one line per device
 # TYPE ha_cluster_sbd_devices gauge
 ha_cluster_sbd_devices{device="/dev/vdc",status="healthy"} 1
-ha_cluster_sbd_devices{device="/dev/vdd",status="unhealthy"} 1
+ha_cluster_sbd_devices{device="/dev/vdd",status="healthy"} 1
+# HELP ha_cluster_sbd_timeouts SBD timeouts for each device and type
+# TYPE ha_cluster_sbd_timeouts gauge
+ha_cluster_sbd_timeouts{device="/dev/vdc",type="msgwait"} 10
+ha_cluster_sbd_timeouts{device="/dev/vdc",type="watchdog"} 9
+ha_cluster_sbd_timeouts{device="/dev/vdd",type="msgwait"} 10
+ha_cluster_sbd_timeouts{device="/dev/vdd",type="watchdog"} 9

++++++ vendor.tar.gz ++++++


Reply via email to