Tue Jul 6 2021 Klaus Wenninger <kwenning@redhat.com> - 1.5.0-1
- sync with fedora sbd-1.5.0-1 Resolves: rhbz#1979961 Resolves: rhbz#1979573
This commit is contained in:
parent
875bb041df
commit
cdf7377066
@ -0,0 +1,41 @@
|
|||||||
|
From 956f3558d4b619fb19eaa040614dfaf9a226d514 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Klaus Wenninger <klaus.wenninger@aon.at>
|
||||||
|
Date: Mon, 28 Jun 2021 17:37:44 +0200
|
||||||
|
Subject: [PATCH] Build: Fix: correctly derive package version from git
|
||||||
|
|
||||||
|
---
|
||||||
|
Makefile.am | 4 ++--
|
||||||
|
sbd.spec | 2 +-
|
||||||
|
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/Makefile.am b/Makefile.am
|
||||||
|
index e614754..5d53c4c 100644
|
||||||
|
--- a/Makefile.am
|
||||||
|
+++ b/Makefile.am
|
||||||
|
@@ -73,8 +73,8 @@ spec:
|
||||||
|
sed -i 's/global\ build_counter.*/global\ build_counter\ $(COUNT)/' $(distdir)/$(PACKAGE).spec; \
|
||||||
|
echo $(COUNT) > $(BUILD_COUNTER); \
|
||||||
|
fi
|
||||||
|
- if [ -n $(COMMIT_COUNTER) ]; then \
|
||||||
|
- sed -i 's/global\ commit_counter.*/global\ commit_counter\ $(COMMIT_COUNTER)-1/' $(distdir)/$(PACKAGE).spec; \
|
||||||
|
+ if [ -n "$(COMMIT_COUNTER)" ]; then \
|
||||||
|
+ sed -i 's/global\ commit_counter.*/global\ commit_counter\ $(COMMIT_COUNTER)/' $(distdir)/$(PACKAGE).spec; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
srpm: export spec
|
||||||
|
diff --git a/sbd.spec b/sbd.spec
|
||||||
|
index 776e48b..0498db1 100644
|
||||||
|
--- a/sbd.spec
|
||||||
|
+++ b/sbd.spec
|
||||||
|
@@ -20,7 +20,7 @@
|
||||||
|
%global modified %(echo %{longcommit}-|cut -f2 -d-)
|
||||||
|
%global github_owner Clusterlabs
|
||||||
|
%global commit_counter 0
|
||||||
|
-%global build_counter 1
|
||||||
|
+%global build_counter 0
|
||||||
|
%global buildnum %(expr %{commit_counter} + %{build_counter})
|
||||||
|
|
||||||
|
%ifarch s390x s390
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
@ -0,0 +1,43 @@
|
|||||||
|
From 8438c244cc2066fbe9c598a6392e8935cf017d97 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Gao,Yan" <ygao@suse.com>
|
||||||
|
Date: Fri, 25 Jun 2021 15:02:14 +0200
|
||||||
|
Subject: [PATCH] Refactor: sbd-inquisitor: functionize striping leading spaces
|
||||||
|
of an option value
|
||||||
|
|
||||||
|
---
|
||||||
|
src/sbd-inquisitor.c | 11 +++++++++--
|
||||||
|
1 file changed, 9 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/sbd-inquisitor.c b/src/sbd-inquisitor.c
|
||||||
|
index 4fec2fd..53ddfa3 100644
|
||||||
|
--- a/src/sbd-inquisitor.c
|
||||||
|
+++ b/src/sbd-inquisitor.c
|
||||||
|
@@ -40,9 +40,8 @@ bool sync_resource_startup = false;
|
||||||
|
int parse_device_line(const char *line);
|
||||||
|
|
||||||
|
static const char *
|
||||||
|
-get_env_option(const char *option)
|
||||||
|
+sanitize_option_value(const char *value)
|
||||||
|
{
|
||||||
|
- const char *value = getenv(option);
|
||||||
|
size_t max = 0;
|
||||||
|
size_t lpc = 0;
|
||||||
|
|
||||||
|
@@ -61,6 +60,14 @@ get_env_option(const char *option)
|
||||||
|
return (strlen(value + lpc) > 0 ? (value + lpc) : NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
+static const char *
|
||||||
|
+get_env_option(const char *option)
|
||||||
|
+{
|
||||||
|
+ const char *value = getenv(option);
|
||||||
|
+
|
||||||
|
+ return sanitize_option_value(value);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static int
|
||||||
|
recruit_servant(const char *devname, pid_t pid)
|
||||||
|
{
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
@ -0,0 +1,29 @@
|
|||||||
|
From c1bb2a4d8c8ec66c72da3ec080f23b1f858a66af Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Gao,Yan" <ygao@suse.com>
|
||||||
|
Date: Mon, 28 Jun 2021 13:35:56 +0200
|
||||||
|
Subject: [PATCH] Log: sbd-inquisitor: tell the actual watchdog device
|
||||||
|
specified with `-w`
|
||||||
|
|
||||||
|
---
|
||||||
|
src/sbd-inquisitor.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/sbd-inquisitor.c b/src/sbd-inquisitor.c
|
||||||
|
index 53ddfa3..2cf09ac 100644
|
||||||
|
--- a/src/sbd-inquisitor.c
|
||||||
|
+++ b/src/sbd-inquisitor.c
|
||||||
|
@@ -1042,10 +1042,10 @@ int main(int argc, char **argv, char **envp)
|
||||||
|
W_count++;
|
||||||
|
break;
|
||||||
|
case 'w':
|
||||||
|
- cl_log(LOG_NOTICE, "Using watchdog device '%s'", watchdogdev);
|
||||||
|
free(watchdogdev);
|
||||||
|
watchdogdev = strdup(optarg);
|
||||||
|
watchdogdev_is_default = false;
|
||||||
|
+ cl_log(LOG_NOTICE, "Using watchdog device '%s'", watchdogdev);
|
||||||
|
break;
|
||||||
|
case 'd':
|
||||||
|
#if SUPPORT_SHARED_DISK
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
146
0004-Fix-sbd-inquisitor-tolerate-and-strip-any-leading-sp.patch
Normal file
146
0004-Fix-sbd-inquisitor-tolerate-and-strip-any-leading-sp.patch
Normal file
@ -0,0 +1,146 @@
|
|||||||
|
From 1c72cf23561deeb69b04891f3fc4d0613f73fbb0 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Gao,Yan" <ygao@suse.com>
|
||||||
|
Date: Fri, 25 Jun 2021 15:21:38 +0200
|
||||||
|
Subject: [PATCH] Fix: sbd-inquisitor: tolerate and strip any leading spaces of
|
||||||
|
command line option values
|
||||||
|
|
||||||
|
Somehow an user's own monitoring agent doesn't well parse an SBD_DEVICE
|
||||||
|
setting with spaces between the device names:
|
||||||
|
|
||||||
|
SBD_DEVICE="/dev/<a>; /dev/<b>; /dev/<c>"
|
||||||
|
|
||||||
|
And eventually it calls an sbd command:
|
||||||
|
|
||||||
|
`sbd list -d " /dev/<b>"`
|
||||||
|
|
||||||
|
-- A space is prefixed to the device name which is quoted.
|
||||||
|
|
||||||
|
Of course it could be easily fixed in the setting or their agent. But
|
||||||
|
OTOH, sbd'd better tolerate and strip any leading spaces of command line
|
||||||
|
option values.
|
||||||
|
---
|
||||||
|
src/sbd-inquisitor.c | 41 +++++++++++++++++++++++++----------------
|
||||||
|
1 file changed, 25 insertions(+), 16 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/sbd-inquisitor.c b/src/sbd-inquisitor.c
|
||||||
|
index 2cf09ac..944a353 100644
|
||||||
|
--- a/src/sbd-inquisitor.c
|
||||||
|
+++ b/src/sbd-inquisitor.c
|
||||||
|
@@ -999,6 +999,15 @@ int main(int argc, char **argv, char **envp)
|
||||||
|
}
|
||||||
|
|
||||||
|
while ((c = getopt(argc, argv, "czC:DPRTWZhvw:d:n:p:1:2:3:4:5:t:I:F:S:s:r:")) != -1) {
|
||||||
|
+ /* Call it before checking optarg for NULL to make coverity happy */
|
||||||
|
+ const char *sanitized_optarg = sanitize_option_value(optarg);
|
||||||
|
+
|
||||||
|
+ if (optarg && sanitized_optarg == NULL) {
|
||||||
|
+ fprintf(stderr, "Invalid value \"%s\" for option -%c\n", optarg, c);
|
||||||
|
+ exit_status = -2;
|
||||||
|
+ goto out;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
switch (c) {
|
||||||
|
case 'D':
|
||||||
|
break;
|
||||||
|
@@ -1011,11 +1020,11 @@ int main(int argc, char **argv, char **envp)
|
||||||
|
cl_log(LOG_INFO, "Realtime mode deactivated.");
|
||||||
|
break;
|
||||||
|
case 'S':
|
||||||
|
- start_mode = atoi(optarg);
|
||||||
|
+ start_mode = atoi(sanitized_optarg);
|
||||||
|
cl_log(LOG_INFO, "Start mode set to: %d", (int)start_mode);
|
||||||
|
break;
|
||||||
|
case 's':
|
||||||
|
- timeout_startup = atoi(optarg);
|
||||||
|
+ timeout_startup = atoi(sanitized_optarg);
|
||||||
|
cl_log(LOG_INFO, "Start timeout set to: %d", (int)timeout_startup);
|
||||||
|
break;
|
||||||
|
case 'v':
|
||||||
|
@@ -1043,13 +1052,13 @@ int main(int argc, char **argv, char **envp)
|
||||||
|
break;
|
||||||
|
case 'w':
|
||||||
|
free(watchdogdev);
|
||||||
|
- watchdogdev = strdup(optarg);
|
||||||
|
+ watchdogdev = strdup(sanitized_optarg);
|
||||||
|
watchdogdev_is_default = false;
|
||||||
|
cl_log(LOG_NOTICE, "Using watchdog device '%s'", watchdogdev);
|
||||||
|
break;
|
||||||
|
case 'd':
|
||||||
|
#if SUPPORT_SHARED_DISK
|
||||||
|
- if (recruit_servant(optarg, 0) != 0) {
|
||||||
|
+ if (recruit_servant(sanitized_optarg, 0) != 0) {
|
||||||
|
fprintf(stderr, "Invalid device: %s\n", optarg);
|
||||||
|
exit_status = -1;
|
||||||
|
goto out;
|
||||||
|
@@ -1070,48 +1079,48 @@ int main(int argc, char **argv, char **envp)
|
||||||
|
disk_priority = 0;
|
||||||
|
break;
|
||||||
|
case 'n':
|
||||||
|
- local_uname = strdup(optarg);
|
||||||
|
+ local_uname = strdup(sanitized_optarg);
|
||||||
|
cl_log(LOG_INFO, "Overriding local hostname to %s", local_uname);
|
||||||
|
break;
|
||||||
|
case 'p':
|
||||||
|
- pidfile = strdup(optarg);
|
||||||
|
+ pidfile = strdup(sanitized_optarg);
|
||||||
|
cl_log(LOG_INFO, "pidfile set to %s", pidfile);
|
||||||
|
break;
|
||||||
|
case 'C':
|
||||||
|
- timeout_watchdog_crashdump = atoi(optarg);
|
||||||
|
+ timeout_watchdog_crashdump = atoi(sanitized_optarg);
|
||||||
|
cl_log(LOG_INFO, "Setting crashdump watchdog timeout to %d",
|
||||||
|
(int)timeout_watchdog_crashdump);
|
||||||
|
break;
|
||||||
|
case '1':
|
||||||
|
- timeout_watchdog = atoi(optarg);
|
||||||
|
+ timeout_watchdog = atoi(sanitized_optarg);
|
||||||
|
break;
|
||||||
|
case '2':
|
||||||
|
- timeout_allocate = atoi(optarg);
|
||||||
|
+ timeout_allocate = atoi(sanitized_optarg);
|
||||||
|
break;
|
||||||
|
case '3':
|
||||||
|
- timeout_loop = atoi(optarg);
|
||||||
|
+ timeout_loop = atoi(sanitized_optarg);
|
||||||
|
break;
|
||||||
|
case '4':
|
||||||
|
- timeout_msgwait = atoi(optarg);
|
||||||
|
+ timeout_msgwait = atoi(sanitized_optarg);
|
||||||
|
break;
|
||||||
|
case '5':
|
||||||
|
- timeout_watchdog_warn = atoi(optarg);
|
||||||
|
+ timeout_watchdog_warn = atoi(sanitized_optarg);
|
||||||
|
do_calculate_timeout_watchdog_warn = false;
|
||||||
|
cl_log(LOG_INFO, "Setting latency warning to %d",
|
||||||
|
(int)timeout_watchdog_warn);
|
||||||
|
break;
|
||||||
|
case 't':
|
||||||
|
- servant_restart_interval = atoi(optarg);
|
||||||
|
+ servant_restart_interval = atoi(sanitized_optarg);
|
||||||
|
cl_log(LOG_INFO, "Setting servant restart interval to %d",
|
||||||
|
(int)servant_restart_interval);
|
||||||
|
break;
|
||||||
|
case 'I':
|
||||||
|
- timeout_io = atoi(optarg);
|
||||||
|
+ timeout_io = atoi(sanitized_optarg);
|
||||||
|
cl_log(LOG_INFO, "Setting IO timeout to %d",
|
||||||
|
(int)timeout_io);
|
||||||
|
break;
|
||||||
|
case 'F':
|
||||||
|
- servant_restart_count = atoi(optarg);
|
||||||
|
+ servant_restart_count = atoi(sanitized_optarg);
|
||||||
|
cl_log(LOG_INFO, "Servant restart count set to %d",
|
||||||
|
(int)servant_restart_count);
|
||||||
|
break;
|
||||||
|
@@ -1119,7 +1128,7 @@ int main(int argc, char **argv, char **envp)
|
||||||
|
if (timeout_action) {
|
||||||
|
free(timeout_action);
|
||||||
|
}
|
||||||
|
- timeout_action = strdup(optarg);
|
||||||
|
+ timeout_action = strdup(sanitized_optarg);
|
||||||
|
break;
|
||||||
|
case 'h':
|
||||||
|
usage();
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
@ -12,3 +12,11 @@ decision_context: bodhi_update_push_stable
|
|||||||
subject_type: koji_build
|
subject_type: koji_build
|
||||||
rules:
|
rules:
|
||||||
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build.tier0.functional}
|
||||||
|
|
||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-*
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}
|
||||||
|
|
||||||
|
41
sbd.spec
41
sbd.spec
@ -15,10 +15,11 @@
|
|||||||
|
|
||||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||||
#
|
#
|
||||||
%global longcommit 044643922c3044c0bac2f91b1382ff3f2c64a4a2
|
%global longcommit d7f447d689da52897e190114c448d1129f3c5f72
|
||||||
%global shortcommit %(echo %{longcommit}|cut -c1-8)
|
%global shortcommit %(echo %{longcommit}|cut -c1-8)
|
||||||
|
%global modified %(echo %{longcommit}-|cut -f2 -d-)
|
||||||
%global github_owner Clusterlabs
|
%global github_owner Clusterlabs
|
||||||
%global buildnum 3
|
%global buildnum 1
|
||||||
|
|
||||||
%ifarch s390x s390
|
%ifarch s390x s390
|
||||||
# minimum timeout on LPAR diag288 watchdog is 15s
|
# minimum timeout on LPAR diag288 watchdog is 15s
|
||||||
@ -27,16 +28,34 @@
|
|||||||
%global watchdog_timeout_default 5
|
%global watchdog_timeout_default 5
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%global sync_resource_startup_default no
|
# Be careful with sync_resource_startup_default
|
||||||
%global sync_resource_startup_sysconfig yes
|
# being enabled. This configuration has
|
||||||
|
# to be in sync with configuration in pacemaker
|
||||||
|
# where it is called sbd_sync - assure by e.g.
|
||||||
|
# mutual rpm dependencies.
|
||||||
|
%bcond_without sync_resource_startup_default
|
||||||
|
# Syncing enabled per default will lead to
|
||||||
|
# syncing enabled on upgrade without adaption
|
||||||
|
# of the config.
|
||||||
|
# Setting can still be overruled via sysconfig.
|
||||||
|
# The setting in the config-template packaged
|
||||||
|
# will follow the default if below is is left
|
||||||
|
# empty. But it is possible to have the setting
|
||||||
|
# in the config-template deviate from the default
|
||||||
|
# by setting below to an explicit 'yes' or 'no'.
|
||||||
|
%global sync_resource_startup_sysconfig ""
|
||||||
|
|
||||||
Name: sbd
|
Name: sbd
|
||||||
Summary: Storage-based death
|
Summary: Storage-based death
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
Version: 1.4.2
|
Version: 1.5.0
|
||||||
Release: %{buildnum}%{?dist}.2
|
Release: %{buildnum}%{?dist}
|
||||||
Url: https://github.com/%{github_owner}/%{name}
|
Url: https://github.com/%{github_owner}/%{name}
|
||||||
Source0: https://github.com/%{github_owner}/%{name}/archive/%{longcommit}/%{name}-%{longcommit}.tar.gz
|
Source0: https://github.com/%{github_owner}/%{name}/archive/%{longcommit}/%{name}-%{longcommit}.tar.gz
|
||||||
|
Patch0: 0001-Build-Fix-correctly-derive-package-version-from-git.patch
|
||||||
|
Patch1: 0002-Refactor-sbd-inquisitor-functionize-striping-leading.patch
|
||||||
|
Patch2: 0003-Log-sbd-inquisitor-tell-the-actual-watchdog-device-s.patch
|
||||||
|
Patch3: 0004-Fix-sbd-inquisitor-tolerate-and-strip-any-leading-sp.patch
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
BuildRequires: automake
|
BuildRequires: automake
|
||||||
BuildRequires: libuuid-devel
|
BuildRequires: libuuid-devel
|
||||||
@ -65,6 +84,9 @@ ExclusiveArch: i686 x86_64 s390x aarch64 ppc64le
|
|||||||
|
|
||||||
This package contains the storage-based death functionality.
|
This package contains the storage-based death functionality.
|
||||||
|
|
||||||
|
Available rpmbuild rebuild options:
|
||||||
|
--with(out) : sync_resource_startup_default
|
||||||
|
|
||||||
%package tests
|
%package tests
|
||||||
Summary: Storage-based death environment for regression tests
|
Summary: Storage-based death environment for regression tests
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
@ -84,7 +106,7 @@ regression-testing sbd.
|
|||||||
./autogen.sh
|
./autogen.sh
|
||||||
export CFLAGS="$RPM_OPT_FLAGS -Wall -Werror"
|
export CFLAGS="$RPM_OPT_FLAGS -Wall -Werror"
|
||||||
%configure --with-watchdog-timeout-default=%{watchdog_timeout_default} \
|
%configure --with-watchdog-timeout-default=%{watchdog_timeout_default} \
|
||||||
--with-sync-resource-startup-default=%{sync_resource_startup_default} \
|
--with-sync-resource-startup-default=%{?with_sync_resource_startup_default:yes}%{!?with_sync_resource_startup_default:no} \
|
||||||
--with-sync-resource-startup-sysconfig=%{sync_resource_startup_sysconfig}
|
--with-sync-resource-startup-sysconfig=%{sync_resource_startup_sysconfig}
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
@ -157,6 +179,11 @@ fi
|
|||||||
%{_libdir}/libsbdtestbed*
|
%{_libdir}/libsbdtestbed*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
Tue Jul 6 2021 Klaus Wenninger <kwenning@redhat.com> - 1.5.0-1
|
||||||
|
- sync with fedora sbd-1.5.0-1
|
||||||
|
Resolves: rhbz#1979961
|
||||||
|
Resolves: rhbz#1979573
|
||||||
|
|
||||||
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1.4.2-3.2
|
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 1.4.2-3.2
|
||||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (sbd-044643922c3044c0bac2f91b1382ff3f2c64a4a2.tar.gz) = de8b4c06b6382a56102af85b7b9f295ccf2ee5118213c4e95c4d314b681d2dcfa58702cd1ad7de667283508d69a36499bb767f4594745883c6fca0c54e365216
|
SHA512 (sbd-d7f447d689da52897e190114c448d1129f3c5f72.tar.gz) = 45a8d6f5b9a03f0c310ed0472baddbd5fb59e1d928611078da938c11d5e6ff43520dd8f7b17e1c2fee86a73c4c6e744782e1d09ac8563db4858e6293fb783afe
|
||||||
|
Loading…
Reference in New Issue
Block a user