import pacemaker-2.1.2-2.el8
This commit is contained in:
parent
994e6bf051
commit
1c2712ba5d
73
SOURCES/004-systemd-metadata.patch
Normal file
73
SOURCES/004-systemd-metadata.patch
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
From 09ef95a2eed48b4eb7488788a1b655d67eafe783 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Chris Lumens <clumens@redhat.com>
|
||||||
|
Date: Tue, 30 Nov 2021 14:47:12 -0500
|
||||||
|
Subject: [PATCH] Low: libcrmservice: Handle systemd service templates.
|
||||||
|
|
||||||
|
These unit files (which have an @ sign at the end) expect to be
|
||||||
|
parameterized by an instance name. Not providing an instance name
|
||||||
|
causes the dbus lookup to fail, and we fall back to assume this is an
|
||||||
|
LSB service. If the user doesn't provide an instance name, just add a
|
||||||
|
fake one. It doesn't seem to matter what name is given for the lookup.
|
||||||
|
|
||||||
|
See: rhbz#2003151
|
||||||
|
---
|
||||||
|
lib/services/systemd.c | 22 ++++++++++++++++------
|
||||||
|
1 file changed, 16 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/services/systemd.c b/lib/services/systemd.c
|
||||||
|
index 8e9fff484..27a3b376d 100644
|
||||||
|
--- a/lib/services/systemd.c
|
||||||
|
+++ b/lib/services/systemd.c
|
||||||
|
@@ -206,17 +206,27 @@ systemd_unit_extension(const char *name)
|
||||||
|
}
|
||||||
|
|
||||||
|
static char *
|
||||||
|
-systemd_service_name(const char *name)
|
||||||
|
+systemd_service_name(const char *name, bool add_instance_name)
|
||||||
|
{
|
||||||
|
- if (name == NULL) {
|
||||||
|
+ if (pcmk__str_empty(name)) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (systemd_unit_extension(name)) {
|
||||||
|
return strdup(name);
|
||||||
|
- }
|
||||||
|
|
||||||
|
- return crm_strdup_printf("%s.service", name);
|
||||||
|
+ /* Services that end with an @ sign are systemd templates. They expect an
|
||||||
|
+ * instance name to follow the service name. If no instance name was
|
||||||
|
+ * provided, just add "x" to the string as the instance name. It doesn't
|
||||||
|
+ * seem to matter for purposes of looking up whether a service exists or
|
||||||
|
+ * not.
|
||||||
|
+ */
|
||||||
|
+ } else if (add_instance_name && *(name+strlen(name)-1) == '@') {
|
||||||
|
+ return crm_strdup_printf("%sx.service", name);
|
||||||
|
+
|
||||||
|
+ } else {
|
||||||
|
+ return crm_strdup_printf("%s.service", name);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
@@ -427,7 +437,7 @@ invoke_unit_by_name(const char *arg_name, svc_action_t *op, char **path)
|
||||||
|
CRM_ASSERT(msg != NULL);
|
||||||
|
|
||||||
|
// Add the (expanded) unit name as the argument
|
||||||
|
- name = systemd_service_name(arg_name);
|
||||||
|
+ name = systemd_service_name(arg_name, op == NULL || pcmk__str_eq(op->action, "meta-data", pcmk__str_none));
|
||||||
|
CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_STRING, &name,
|
||||||
|
DBUS_TYPE_INVALID));
|
||||||
|
free(name);
|
||||||
|
@@ -944,7 +954,7 @@ invoke_unit_by_path(svc_action_t *op, const char *unit)
|
||||||
|
/* (ss) */
|
||||||
|
{
|
||||||
|
const char *replace_s = "replace";
|
||||||
|
- char *name = systemd_service_name(op->agent);
|
||||||
|
+ char *name = systemd_service_name(op->agent, pcmk__str_eq(op->action, "meta-data", pcmk__str_none));
|
||||||
|
|
||||||
|
CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_STRING, &name, DBUS_TYPE_INVALID));
|
||||||
|
CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_STRING, &replace_s, DBUS_TYPE_INVALID));
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
2200
SOURCES/005-fencing-reasons.patch
Normal file
2200
SOURCES/005-fencing-reasons.patch
Normal file
File diff suppressed because it is too large
Load Diff
143
SOURCES/006-stateful-metadata.patch
Normal file
143
SOURCES/006-stateful-metadata.patch
Normal file
@ -0,0 +1,143 @@
|
|||||||
|
From b52fe799c89637e2a761a5725c2376db5c05f2d1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ken Gaillot <kgaillot@redhat.com>
|
||||||
|
Date: Tue, 30 Nov 2021 15:51:54 -0600
|
||||||
|
Subject: [PATCH 1/2] Low: resources: remove DOCTYPE from OCF 1.1-compliant
|
||||||
|
agents
|
||||||
|
|
||||||
|
OCF 1.1 replaced the DTD schema with RNG, but DOCTYPE still refers to the DTD.
|
||||||
|
There's no DOCTYPE for RNG, and DOCTYPE is optional, so just remove it.
|
||||||
|
---
|
||||||
|
extra/resources/Dummy | 3 +--
|
||||||
|
extra/resources/HealthIOWait | 3 +--
|
||||||
|
extra/resources/Stateful | 3 +--
|
||||||
|
extra/resources/attribute | 3 +--
|
||||||
|
extra/resources/ping | 3 +--
|
||||||
|
extra/resources/remote | 3 +--
|
||||||
|
6 files changed, 6 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/extra/resources/Dummy b/extra/resources/Dummy
|
||||||
|
index a344deac0..56584e564 100755
|
||||||
|
--- a/extra/resources/Dummy
|
||||||
|
+++ b/extra/resources/Dummy
|
||||||
|
@@ -58,8 +58,7 @@
|
||||||
|
meta_data() {
|
||||||
|
cat <<END
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
-<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
|
||||||
|
-<resource-agent name="Dummy" version="2.0">
|
||||||
|
+<resource-agent name="Dummy" version="2.1">
|
||||||
|
<version>1.1</version>
|
||||||
|
|
||||||
|
<longdesc lang="en">
|
||||||
|
diff --git a/extra/resources/HealthIOWait b/extra/resources/HealthIOWait
|
||||||
|
index 43a8b70c4..5f1483ef7 100755
|
||||||
|
--- a/extra/resources/HealthIOWait
|
||||||
|
+++ b/extra/resources/HealthIOWait
|
||||||
|
@@ -25,8 +25,7 @@
|
||||||
|
meta_data() {
|
||||||
|
cat <<END
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
-<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
|
||||||
|
-<resource-agent name="HealthIOWait" version="1.1">
|
||||||
|
+<resource-agent name="HealthIOWait" version="1.2">
|
||||||
|
<version>1.1</version>
|
||||||
|
|
||||||
|
<longdesc lang="en">
|
||||||
|
diff --git a/extra/resources/Stateful b/extra/resources/Stateful
|
||||||
|
index ae3424bbf..0d2062d51 100755
|
||||||
|
--- a/extra/resources/Stateful
|
||||||
|
+++ b/extra/resources/Stateful
|
||||||
|
@@ -39,8 +39,7 @@ SCORE_PROMOTED=10
|
||||||
|
meta_data() {
|
||||||
|
cat <<END
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
-<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
|
||||||
|
-<resource-agent name="Stateful" version="1.1">
|
||||||
|
+<resource-agent name="Stateful" version="1.2">
|
||||||
|
<version>1.1</version>
|
||||||
|
|
||||||
|
<longdesc lang="en">
|
||||||
|
diff --git a/extra/resources/attribute b/extra/resources/attribute
|
||||||
|
index 1800dff8f..a2bd353e0 100755
|
||||||
|
--- a/extra/resources/attribute
|
||||||
|
+++ b/extra/resources/attribute
|
||||||
|
@@ -57,8 +57,7 @@ END
|
||||||
|
meta_data() {
|
||||||
|
cat <<END
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
-<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
|
||||||
|
-<resource-agent name="attribute" version="1.1">
|
||||||
|
+<resource-agent name="attribute" version="1.2">
|
||||||
|
<version>1.1</version>
|
||||||
|
<shortdesc lang="en">Manages a node attribute</shortdesc>
|
||||||
|
<longdesc lang="en">
|
||||||
|
diff --git a/extra/resources/ping b/extra/resources/ping
|
||||||
|
index 6e296979f..7cc6b802d 100755
|
||||||
|
--- a/extra/resources/ping
|
||||||
|
+++ b/extra/resources/ping
|
||||||
|
@@ -36,8 +36,7 @@
|
||||||
|
meta_data() {
|
||||||
|
cat <<END
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
-<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
|
||||||
|
-<resource-agent name="ping" version="1.1">
|
||||||
|
+<resource-agent name="ping" version="1.2">
|
||||||
|
<version>1.1</version>
|
||||||
|
|
||||||
|
<longdesc lang="en">
|
||||||
|
diff --git a/extra/resources/remote b/extra/resources/remote
|
||||||
|
index a53262bb6..f7e40dc81 100755
|
||||||
|
--- a/extra/resources/remote
|
||||||
|
+++ b/extra/resources/remote
|
||||||
|
@@ -24,8 +24,7 @@
|
||||||
|
meta_data() {
|
||||||
|
cat <<END
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
-<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
|
||||||
|
-<resource-agent name="remote" version="1.0">
|
||||||
|
+<resource-agent name="remote" version="1.1">
|
||||||
|
<version>1.1</version>
|
||||||
|
<shortdesc lang="en">Pacemaker Remote connection</shortdesc>
|
||||||
|
<parameters>
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
||||||
|
|
||||||
|
From 70f469120f8db6a024c786466ee74a6c7fbd1f43 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ken Gaillot <kgaillot@redhat.com>
|
||||||
|
Date: Tue, 30 Nov 2021 15:53:39 -0600
|
||||||
|
Subject: [PATCH 2/2] Fix: resources: use correct syntax in Stateful meta-data
|
||||||
|
|
||||||
|
The OCF standard only allows "0" or "1" for booleans.
|
||||||
|
|
||||||
|
This fixes incorrect ocf:pacemaker:Stateful meta-data syntax introduced by
|
||||||
|
7024398 as a regression in the 2.1.0 release.
|
||||||
|
---
|
||||||
|
extra/resources/Stateful | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/extra/resources/Stateful b/extra/resources/Stateful
|
||||||
|
index 0d2062d51..2ebe6725f 100755
|
||||||
|
--- a/extra/resources/Stateful
|
||||||
|
+++ b/extra/resources/Stateful
|
||||||
|
@@ -57,7 +57,7 @@ Location to store the resource state in
|
||||||
|
<content type="string" default="${HA_VARRUN%%/}/Stateful-${OCF_RESOURCE_INSTANCE}.state" />
|
||||||
|
</parameter>
|
||||||
|
|
||||||
|
-<parameter name="envfile" reloadable="true">
|
||||||
|
+<parameter name="envfile" reloadable="1">
|
||||||
|
<longdesc lang="en">
|
||||||
|
If this is set, the environment will be dumped to this file for every call.
|
||||||
|
</longdesc>
|
||||||
|
@@ -65,7 +65,7 @@ If this is set, the environment will be dumped to this file for every call.
|
||||||
|
<content type="string" default="" />
|
||||||
|
</parameter>
|
||||||
|
|
||||||
|
-<parameter name="notify_delay" reloadable="true">
|
||||||
|
+<parameter name="notify_delay" reloadable="1">
|
||||||
|
<longdesc lang="en">
|
||||||
|
The notify action will sleep for this many seconds before returning,
|
||||||
|
to simulate a long-running notify.
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
39
SOURCES/007-memory-leak.patch
Normal file
39
SOURCES/007-memory-leak.patch
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
From f491d9d5a7ed554fed985de356bb085fdec3421c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ken Gaillot <kgaillot@redhat.com>
|
||||||
|
Date: Tue, 7 Dec 2021 09:01:00 -0600
|
||||||
|
Subject: [PATCH] Fix: fencer: avoid memory leak when broadcasting history
|
||||||
|
differences
|
||||||
|
|
||||||
|
Regression introduced in 2.1.0 by dbc27b2
|
||||||
|
---
|
||||||
|
daemons/fenced/fenced_history.c | 7 +++++--
|
||||||
|
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/daemons/fenced/fenced_history.c b/daemons/fenced/fenced_history.c
|
||||||
|
index bc159383c..a9c57dc86 100644
|
||||||
|
--- a/daemons/fenced/fenced_history.c
|
||||||
|
+++ b/daemons/fenced/fenced_history.c
|
||||||
|
@@ -484,8 +484,6 @@ stonith_fence_history(xmlNode *msg, xmlNode **output,
|
||||||
|
!pcmk__str_eq(remote_peer, stonith_our_uname, pcmk__str_casei)) {
|
||||||
|
xmlNode *history = get_xpath_object("//" F_STONITH_HISTORY_LIST,
|
||||||
|
msg, LOG_NEVER);
|
||||||
|
- GHashTable *received_history =
|
||||||
|
- history?stonith_xml_history_to_list(history):NULL;
|
||||||
|
|
||||||
|
/* either a broadcast created directly upon stonith-API request
|
||||||
|
* or a diff as response to such a thing
|
||||||
|
@@ -497,6 +495,11 @@ stonith_fence_history(xmlNode *msg, xmlNode **output,
|
||||||
|
if (!history ||
|
||||||
|
!crm_is_true(crm_element_value(history,
|
||||||
|
F_STONITH_DIFFERENTIAL))) {
|
||||||
|
+ GHashTable *received_history = NULL;
|
||||||
|
+
|
||||||
|
+ if (history != NULL) {
|
||||||
|
+ received_history = stonith_xml_history_to_list(history);
|
||||||
|
+ }
|
||||||
|
out_history =
|
||||||
|
stonith_local_history_diff_and_merge(received_history, TRUE, NULL);
|
||||||
|
if (out_history) {
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
43
SOURCES/008-fencing-history.patch
Normal file
43
SOURCES/008-fencing-history.patch
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
From 0339e89f3238b31df78b864dae8684b82c370741 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ken Gaillot <kgaillot@redhat.com>
|
||||||
|
Date: Mon, 13 Dec 2021 15:22:40 -0600
|
||||||
|
Subject: [PATCH] Fix: fencer: get current time correctly
|
||||||
|
|
||||||
|
f52bc8e1ce (2.1.2) introduced a regression by using clock_gettime() with
|
||||||
|
CLOCK_MONOTONIC to get the current time. Use qb_util_timespec_from_epoch_get()
|
||||||
|
instead (which as of this writing uses clock_gettime() with CLOCK_REALTIME if
|
||||||
|
available, and falls back to gettimeofday() if not).
|
||||||
|
---
|
||||||
|
daemons/fenced/fenced_commands.c | 11 +++--------
|
||||||
|
1 file changed, 3 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/daemons/fenced/fenced_commands.c b/daemons/fenced/fenced_commands.c
|
||||||
|
index f34cb4f13..7685cb8c3 100644
|
||||||
|
--- a/daemons/fenced/fenced_commands.c
|
||||||
|
+++ b/daemons/fenced/fenced_commands.c
|
||||||
|
@@ -2746,19 +2746,14 @@ bool fencing_peer_active(crm_node_t *peer)
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
-void set_fencing_completed(remote_fencing_op_t * op)
|
||||||
|
+void
|
||||||
|
+set_fencing_completed(remote_fencing_op_t *op)
|
||||||
|
{
|
||||||
|
-#ifdef CLOCK_MONOTONIC
|
||||||
|
struct timespec tv;
|
||||||
|
|
||||||
|
- clock_gettime(CLOCK_MONOTONIC, &tv);
|
||||||
|
-
|
||||||
|
+ qb_util_timespec_from_epoch_get(&tv);
|
||||||
|
op->completed = tv.tv_sec;
|
||||||
|
op->completed_nsec = tv.tv_nsec;
|
||||||
|
-#else
|
||||||
|
- op->completed = time(NULL);
|
||||||
|
- op->completed_nsec = 0L;
|
||||||
|
-#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
@ -36,7 +36,7 @@
|
|||||||
## can be incremented to build packages reliably considered "newer"
|
## can be incremented to build packages reliably considered "newer"
|
||||||
## than previously built packages with the same pcmkversion)
|
## than previously built packages with the same pcmkversion)
|
||||||
%global pcmkversion 2.1.2
|
%global pcmkversion 2.1.2
|
||||||
%global specversion 1
|
%global specversion 2
|
||||||
|
|
||||||
## Upstream commit (full commit ID, abbreviated commit ID, or tag) to build
|
## Upstream commit (full commit ID, abbreviated commit ID, or tag) to build
|
||||||
%global commit ada5c3b36e2adf1703d54d39f40a4b8628eca175
|
%global commit ada5c3b36e2adf1703d54d39f40a4b8628eca175
|
||||||
@ -266,6 +266,11 @@ Source1: nagios-agents-metadata-%{nagios_hash}.tar.gz
|
|||||||
Patch1: 001-acl-group-schema.patch
|
Patch1: 001-acl-group-schema.patch
|
||||||
Patch2: 002-fencing-reasons.patch
|
Patch2: 002-fencing-reasons.patch
|
||||||
Patch3: 003-fencing-reasons.patch
|
Patch3: 003-fencing-reasons.patch
|
||||||
|
Patch4: 004-systemd-metadata.patch
|
||||||
|
Patch5: 005-fencing-reasons.patch
|
||||||
|
Patch6: 006-stateful-metadata.patch
|
||||||
|
Patch7: 007-memory-leak.patch
|
||||||
|
Patch8: 008-fencing-history.patch
|
||||||
|
|
||||||
# downstream-only commits
|
# downstream-only commits
|
||||||
#Patch1xx: 1xx-xxxx.patch
|
#Patch1xx: 1xx-xxxx.patch
|
||||||
@ -963,6 +968,14 @@ exit 0
|
|||||||
%license %{nagios_name}-%{nagios_hash}/COPYING
|
%license %{nagios_name}-%{nagios_hash}/COPYING
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Dec 16 2021 Ken Gaillot <kgaillot@redhat.com> - 2.1.2-2
|
||||||
|
- Correctly get metadata for systemd agent names that end in '@'
|
||||||
|
- Use correct OCF 1.1 syntax in ocf:pacemaker:Stateful meta-data
|
||||||
|
- Fix regression in displayed times in crm_mon's fence history
|
||||||
|
- Resolves: rhbz2003151
|
||||||
|
- Resolves: rhbz2027370
|
||||||
|
- Resolves: rhbz2032027
|
||||||
|
|
||||||
* Tue Nov 30 2021 Ken Gaillot <kgaillot@redhat.com> - 2.1.2-1
|
* Tue Nov 30 2021 Ken Gaillot <kgaillot@redhat.com> - 2.1.2-1
|
||||||
- Allow per-host fence delays for a single fence device
|
- Allow per-host fence delays for a single fence device
|
||||||
- Use OCF 1.1 enum type in cluster option metadata for better validation
|
- Use OCF 1.1 enum type in cluster option metadata for better validation
|
||||||
|
Loading…
Reference in New Issue
Block a user