diff --git a/_service b/_service
index b6dc0a0..2e6cad8 100644
--- a/_service
+++ b/_service
@@ -11,7 +11,7 @@
2.1.7
-->
2.1.7+%cd.%h
- Pacemaker-2.1.7
+ d18a497eb
enable
diff --git a/_servicedata b/_servicedata
index ccb2044..f671ff8 100644
--- a/_servicedata
+++ b/_servicedata
@@ -5,4 +5,4 @@
https://github.com/ClusterLabs/pacemaker.git
- 0f7f88312f7a1ccedee60bf768aba79ee13d41e0
\ No newline at end of file
+ f964f4de46eb9719ac4d93971074573bec7b34b8
\ No newline at end of file
diff --git a/bug-728579_pacemaker-stonith-dev-id.patch b/bug-728579_pacemaker-stonith-dev-id.patch
index 6caff1c..e6ee711 100644
--- a/bug-728579_pacemaker-stonith-dev-id.patch
+++ b/bug-728579_pacemaker-stonith-dev-id.patch
@@ -4,22 +4,22 @@ Date: Thu Sep 6 15:14:58 2012 +0800
Medium: stonith: Expose IDs of stonith resources to stonith agents through "$CRM_meta_st_device_id" environment variable
-Index: pacemaker-2.1.4+20220928.4690461db/daemons/fenced/fenced_commands.c
+Index: pacemaker-2.1.7+20240208.bc5596299/daemons/fenced/fenced_commands.c
===================================================================
---- pacemaker-2.1.4+20220928.4690461db.orig/daemons/fenced/fenced_commands.c
-+++ pacemaker-2.1.4+20220928.4690461db/daemons/fenced/fenced_commands.c
-@@ -1096,6 +1096,7 @@ build_device_from_xml(xmlNode *dev)
+--- pacemaker-2.1.7+20240208.bc5596299.orig/daemons/fenced/fenced_commands.c
++++ pacemaker-2.1.7+20240208.bc5596299/daemons/fenced/fenced_commands.c
+@@ -1151,6 +1151,7 @@ build_device_from_xml(xmlNode *dev)
(const char *) device->on_target_actions->str);
}
-+ g_hash_table_insert(device->params, strdup(CRM_META "_" F_STONITH_DEVICE), strdup(device->id));
++ g_hash_table_insert(device->params, strdup(CRM_META "_" PCMK__XE_ST_DEVICE_ID), strdup(device->id));
device->work = mainloop_add_trigger(G_PRIORITY_HIGH, stonith_device_dispatch, device);
/* TODO: Hook up priority */
-Index: pacemaker-2.1.4+20220928.4690461db/lib/fencing/st_actions.c
+Index: pacemaker-2.1.7+20240208.bc5596299/lib/fencing/st_actions.c
===================================================================
---- pacemaker-2.1.4+20220928.4690461db.orig/lib/fencing/st_actions.c
-+++ pacemaker-2.1.4+20220928.4690461db/lib/fencing/st_actions.c
+--- pacemaker-2.1.7+20240208.bc5596299.orig/lib/fencing/st_actions.c
++++ pacemaker-2.1.7+20240208.bc5596299/lib/fencing/st_actions.c
@@ -31,6 +31,7 @@ struct stonith_action_s {
char *agent;
char *action;
@@ -28,7 +28,7 @@ Index: pacemaker-2.1.4+20220928.4690461db/lib/fencing/st_actions.c
int timeout;
bool async;
void *userdata;
-@@ -226,6 +227,7 @@ stonith__destroy_action(stonith_action_t
+@@ -224,6 +225,7 @@ stonith__destroy_action(stonith_action_t
services_action_free(action->svc_action);
}
pcmk__reset_result(&(action->result));
@@ -36,16 +36,16 @@ Index: pacemaker-2.1.4+20220928.4690461db/lib/fencing/st_actions.c
free(action);
}
}
-@@ -286,6 +288,8 @@ stonith__action_create(const char *agent
+@@ -284,6 +286,8 @@ stonith__action_create(const char *agent
if (device_args) {
char buffer[512];
const char *value = NULL;
-+ const char *st_dev_id_key = CRM_META "_" F_STONITH_DEVICE;
++ const char *st_dev_id_key = CRM_META "_" PCMK__XE_ST_DEVICE_ID;
+ const char *st_dev_id_value = NULL;
snprintf(buffer, sizeof(buffer), "pcmk_%s_retries", action_name);
value = g_hash_table_lookup(device_args, buffer);
-@@ -293,6 +297,11 @@ stonith__action_create(const char *agent
+@@ -291,6 +295,11 @@ stonith__action_create(const char *agent
if (value) {
action->max_retries = atoi(value);
}
@@ -57,7 +57,7 @@ Index: pacemaker-2.1.4+20220928.4690461db/lib/fencing/st_actions.c
}
return action;
-@@ -630,6 +639,10 @@ internal_stonith_action_execute(stonith_
+@@ -628,6 +637,10 @@ internal_stonith_action_execute(stonith_
SVC_ACTION_NON_BLOCKED,
"SVC_ACTION_NON_BLOCKED");
@@ -68,10 +68,10 @@ Index: pacemaker-2.1.4+20220928.4690461db/lib/fencing/st_actions.c
/* keep retries from executing out of control and free previous results */
if (is_retry) {
pcmk__reset_result(&(action->result));
-Index: pacemaker-2.1.4+20220928.4690461db/lib/services/services_linux.c
+Index: pacemaker-2.1.7+20240208.bc5596299/lib/services/services_linux.c
===================================================================
---- pacemaker-2.1.4+20220928.4690461db.orig/lib/services/services_linux.c
-+++ pacemaker-2.1.4+20220928.4690461db/lib/services/services_linux.c
+--- pacemaker-2.1.7+20240208.bc5596299.orig/lib/services/services_linux.c
++++ pacemaker-2.1.7+20240208.bc5596299/lib/services/services_linux.c
@@ -29,6 +29,9 @@
#include "crm/services.h"
#include "crm/services_internal.h"
@@ -90,7 +90,7 @@ Index: pacemaker-2.1.4+20220928.4690461db/lib/services/services_linux.c
+ if (pcmk__str_eq(op->standard, PCMK_RESOURCE_CLASS_STONITH, pcmk__str_casei)
+ && pcmk__str_eq(op->agent, "fence_legacy", pcmk__str_casei)
+ && op->rsc != NULL) {
-+ const char *st_dev_id_key = CRM_META "_" F_STONITH_DEVICE;
++ const char *st_dev_id_key = CRM_META "_" PCMK__XE_ST_DEVICE_ID;
+
+ setenv(st_dev_id_key, op->rsc, 1);
+ }
diff --git a/bug-806256_pacemaker-log-level-notice.patch b/bug-806256_pacemaker-log-level-notice.patch
index a8bc894..8ae4ce1 100644
--- a/bug-806256_pacemaker-log-level-notice.patch
+++ b/bug-806256_pacemaker-log-level-notice.patch
@@ -4,24 +4,24 @@ Date: Thu Mar 14 09:41:53 2013 +0800
Log: Change some messages to notice level (bnc#806256)
-Index: pacemaker-2.1.6+20230821.d00694366/daemons/controld/controld_membership.c
+Index: pacemaker-2.1.7+20240118.9ae4bea49/daemons/controld/controld_membership.c
===================================================================
---- pacemaker-2.1.6+20230821.d00694366.orig/daemons/controld/controld_membership.c
-+++ pacemaker-2.1.6+20230821.d00694366/daemons/controld/controld_membership.c
-@@ -435,7 +435,7 @@ crm_update_quorum(gboolean quorum, gbool
- crm_xml_add_int(update, XML_ATTR_HAVE_QUORUM, quorum);
- crm_xml_add(update, XML_ATTR_DC_UUID, controld_globals.our_uuid);
+--- pacemaker-2.1.7+20240118.9ae4bea49.orig/daemons/controld/controld_membership.c
++++ pacemaker-2.1.7+20240118.9ae4bea49/daemons/controld/controld_membership.c
+@@ -432,7 +432,7 @@ crm_update_quorum(gboolean quorum, gbool
+ crm_xml_add_int(update, PCMK_XA_HAVE_QUORUM, quorum);
+ crm_xml_add(update, PCMK_XA_DC_UUID, controld_globals.our_uuid);
- crm_debug("Updating quorum status to %s", pcmk__btoa(quorum));
+ crm_notice("Updating quorum status to %s", pcmk__btoa(quorum));
- controld_update_cib(XML_TAG_CIB, update, cib_scope_local,
+ controld_update_cib(PCMK_XE_CIB, update, cib_scope_local,
cib_quorum_update_complete);
free_xml(update);
-Index: pacemaker-2.1.6+20230821.d00694366/daemons/controld/controld_transition.c
+Index: pacemaker-2.1.7+20240118.9ae4bea49/daemons/controld/controld_transition.c
===================================================================
---- pacemaker-2.1.6+20230821.d00694366.orig/daemons/controld/controld_transition.c
-+++ pacemaker-2.1.6+20230821.d00694366/daemons/controld/controld_transition.c
-@@ -171,7 +171,7 @@ do_te_invoke(long long action,
+--- pacemaker-2.1.7+20240118.9ae4bea49.orig/daemons/controld/controld_transition.c
++++ pacemaker-2.1.7+20240118.9ae4bea49/daemons/controld/controld_transition.c
+@@ -167,7 +167,7 @@ do_te_invoke(long long action,
CRM_CHECK(controld_globals.transition_graph != NULL,
controld_globals.transition_graph = create_blank_graph();
return);
@@ -30,10 +30,10 @@ Index: pacemaker-2.1.6+20230821.d00694366/daemons/controld/controld_transition.c
controld_globals.transition_graph->id, ref, graph_input);
te_reset_job_counts();
-Index: pacemaker-2.1.6+20230821.d00694366/daemons/fenced/fenced_remote.c
+Index: pacemaker-2.1.7+20240118.9ae4bea49/daemons/fenced/fenced_remote.c
===================================================================
---- pacemaker-2.1.6+20230821.d00694366.orig/daemons/fenced/fenced_remote.c
-+++ pacemaker-2.1.6+20230821.d00694366/daemons/fenced/fenced_remote.c
+--- pacemaker-2.1.7+20240118.9ae4bea49.orig/daemons/fenced/fenced_remote.c
++++ pacemaker-2.1.7+20240118.9ae4bea49/daemons/fenced/fenced_remote.c
@@ -695,7 +695,7 @@ remote_op_timeout_one(gpointer userdata)
static void
finalize_timed_out_op(remote_fencing_op_t *op, const char *reason)
diff --git a/pacemaker-2.1.7+20231219.0f7f88312.tar.xz b/pacemaker-2.1.7+20231219.0f7f88312.tar.xz
deleted file mode 100644
index 1250e54..0000000
--- a/pacemaker-2.1.7+20231219.0f7f88312.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:377bec429837d8b8db33e91f2b23b8d5b6cbaa1653da5ac3a8a2372cfc0f007c
-size 4280884
diff --git a/pacemaker-2.1.7+20240304.d18a497eb.tar.xz b/pacemaker-2.1.7+20240304.d18a497eb.tar.xz
new file mode 100644
index 0000000..e671abd
--- /dev/null
+++ b/pacemaker-2.1.7+20240304.d18a497eb.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8619d982c88eead4bc439d3119e939885b5402813e85ec9d020f8c819519e90d
+size 4328032
diff --git a/pacemaker-cts-StartCmd.patch b/pacemaker-cts-StartCmd.patch
index 3ffddf5..6406ef1 100644
--- a/pacemaker-cts-StartCmd.patch
+++ b/pacemaker-cts-StartCmd.patch
@@ -1,13 +1,13 @@
-Index: pacemaker-2.1.5+20230309.a4b0ea1b5/python/pacemaker/_cts/patterns.py
+Index: pacemaker-2.1.7+20240118.9ae4bea49/python/pacemaker/_cts/patterns.py
===================================================================
---- pacemaker-2.1.5+20230309.a4b0ea1b5.orig/python/pacemaker/_cts/patterns.py
-+++ pacemaker-2.1.5+20230309.a4b0ea1b5/python/pacemaker/_cts/patterns.py
-@@ -135,7 +135,7 @@ class Corosync2Patterns(BasePatterns):
+--- pacemaker-2.1.7+20240118.9ae4bea49.orig/python/pacemaker/_cts/patterns.py
++++ pacemaker-2.1.7+20240118.9ae4bea49/python/pacemaker/_cts/patterns.py
+@@ -139,7 +139,7 @@ class Corosync2Patterns(BasePatterns):
self._name = "crm-corosync"
self._commands.update({
-- "StartCmd" : "service corosync start && service pacemaker start",
-+ "StartCmd" : "service pacemaker start",
- "StopCmd" : "service pacemaker stop; [ ! -e /usr/sbin/pacemaker-remoted ] || service pacemaker_remote stop; service corosync stop",
+- "StartCmd": "service corosync start && service pacemaker start",
++ "StartCmd": "service pacemaker start",
+ "StopCmd": "service pacemaker stop; [ ! -e /usr/sbin/pacemaker-remoted ] || service pacemaker_remote stop; service corosync stop",
- "EpochCmd" : "crm_node -e",
+ "EpochCmd": "crm_node -e",
diff --git a/pacemaker.changes b/pacemaker.changes
index 4f51ae0..bf7c17e 100644
--- a/pacemaker.changes
+++ b/pacemaker.changes
@@ -1,3 +1,143 @@
+-------------------------------------------------------------------
+Thu Mar 14 11:15:30 UTC 2024 - Yan Gao
+
+- Update to version 2.1.7+20240304.d18a497eb:
+- libcrmcommon: use uint32_t for 32-bit magic numbers (gh#ClusterLabs/pacemaker#3381)
+
+-------------------------------------------------------------------
+Thu Mar 14 10:35:21 UTC 2024 - Yan Gao
+
+- Update to version 2.1.7+20240304.d7bf4680c:
+- libcrmcommon: Use free_xml in html_free_priv.
+- libcrmcommon: Free error strings in html/xml outputters.
+- libcrmcommon: Free text/curses private list data.
+- tools: Fix argument validation for crm_attribute update.
+- pacemaker-fenced: improve pcmk_host_list help
+- libcrmcommon, fencer: Fix some option defaults
+- tools: crm_attribute --list-options --all
+- scheduler: Deprecate metadata CLI option
+- controller: Deprecate metadata CLI option
+- based: Deprecate metadata CLI option
+- libcrmcommon: Bump CRM_FEATURE_SET for cluster option listing
+- tools: New crm_attribute --list-options=TYPE option
+- schemas: Update for crm_attribute --list-options
+- schemas: New options API schema
+- schemas: New OCF RA version 1.1 schema
+- tools: deprecate --text-fancy command-line option
+
+-------------------------------------------------------------------
+Thu Mar 14 09:41:58 UTC 2024 - pgajdos@suse.com
+
+- remove dependency on /usr/bin/python3 using
+ %python3_fix_shebang_path macro, [bsc#1212476]
+
+-------------------------------------------------------------------
+Fri Mar 01 10:18:23 UTC 2024 - Yan Gao
+
+- Update to version 2.1.7+20240226.bff14cd3f:
+- libcrmservice: avoid async zombie children by resending ignored SIGCHLD (bsc#1216972, gh#ClusterLabs/pacemaker#3374)
+- fencer: fix pcmk_delay_max description (gh#ClusterLabs/pacemaker#3373)
+
+-------------------------------------------------------------------
+Tue Feb 20 19:51:03 UTC 2024 - Yan Gao
+
+- Update to version 2.1.7+20240220.d4f389e48:
+- libcrmcommon: avoid file descriptor leak in IPC client with async connection (bsc#1219323, gh#ClusterLabs/pacemaker#3351)
+
+-------------------------------------------------------------------
+Tue Feb 20 07:21:52 UTC 2024 - Yan Gao
+
+- Update to version 2.1.7+20240219.a586196f1:
+- libcrmservice: Revert single quotes to double quotes in metadata
+- libcrmcommon: Always output request= in XML output. (gh#ClusterLabs/pacemaker#3362)
+- scheduler: improve date specification argument validation
+- libcrmcommon: Properly handle UTF-8 characters when escaping XML
+- libcrmcommon: Don't include "" as an attribute value
+- tools: Drop newline from crm_rule errors
+- libcrmcommon: Escape XML text content when adding it
+- libcrmcommon: Escape XML text content when dumping XML as string
+- libcrmcommon: crm_xml_escape() shouldn't stop on Unicode characters (gh#ClusterLabs/pacemaker#3323)
+- libcrmcommon: Always use XML substitutions
+- tools: crm_simulate output should match its schema
+
+- Rebase:
+ * bug-728579_pacemaker-stonith-dev-id.patch
+
+-------------------------------------------------------------------
+Tue Feb 06 11:07:06 UTC 2024 - Yan Gao
+
+- Update to version 2.1.7+20240130.4f595be2b:
+- tools: crm_attribute emits garbage for --node localhost or auto (gh#ClusterLabs/pacemaker#3339)
+- scheduler: drop support for rules based on #role attribute
+- CIB: deprecate support for rkt in bundles
+- daemons: use ENOMEM for pcmk__new_client() failure
+- daemons: return ECONNREFUSED to new clients at shutdown
+- libpacemaker: Fix a parameter to the cluster-status message.
+- tools: Fix memory leak in crm_mon with HTML output (gh#ClusterLabs/pacemaker#3332)
+
+-------------------------------------------------------------------
+Tue Feb 06 08:26:12 UTC 2024 - Yan Gao
+
+- Update to version 2.1.7+20240122.d342672cb:
+- pacemaker-attrd: improve some messages for debugging
+- pacemaker-attrd: sync utilization attributes to peers correctly (gh#ClusterLabs/pacemaker#3333)
+- pacemaker-attrd: properly validate attribute set type (gh#ClusterLabs/pacemaker#3333)
+- cib_file: improve error message when schema file is missing
+- libcrmcommon, Pacemaker Explained: improve descriptions of cluster options
+
+-------------------------------------------------------------------
+Mon Jan 29 09:16:24 UTC 2024 - Yan Gao
+
+- Update to version 2.1.7+20240118.9ae4bea49:
+- tools: crm_mon segfaults when fencer connection is lost (bsc#1219220, gh#ClusterLabs/pacemaker#3331)
+
+-------------------------------------------------------------------
+Mon Jan 29 08:21:43 UTC 2024 - Yan Gao
+
+- Update to version 2.1.7+20240117.570909537:
+- pacemaker-attrd: make sure we don't try to log NULL
+- libpe_rules: Warn on invalid value-source in expressions
+- libpe_rules, libpacemaker: Warn on invalid boolean-op
+- CIB: Deprecate resource-discovery-enabled node attribute
+- NLS: update translations for current code base
+- libcib: Do not check CIB feature set for files in cib_perform_op.
+- scheduler: Check the CIB feature set in cluster_status.
+- based: Fix CIB version values
+- attrd: write Pacemaker Remote node attributes even if not in cache (gh#ClusterLabs/pacemaker#3304)
+- based: Add man page for pacemaker-based
+- agents: Use attrd_updater dampen delay in SysInfo (gh#ClusterLabs/pacemaker#3286)
+- libcrmcommon: Check correct env vars in pcmk__node_attr_target() (gh#ClusterLabs/pacemaker#3286)
+
+- Rebase:
+ * bug-806256_pacemaker-log-level-notice.patch
+ * pacemaker-cts-StartCmd.patch
+
+-------------------------------------------------------------------
+Mon Jan 29 08:09:16 UTC 2024 - Yan Gao
+
+- Update to version 2.1.7+20240101.3f4ff3e98:
+- libcrmcommon: use log-friendly name in pacemakerd IPC logs
+- controld,libcrmcommon: improve attrd IPC API messages
+- libcrmcommon: handle NULL attribute manager IPC API connections consistently
+- libcrmcommon: handle disconnected attrd API connections consistently
+- scheduler: restore nvpair behavior without id-ref (gh#ClusterLabs/pacemaker#3292)
+- scheduler: use correct variable in log message
+- scheduler: reject expression without op sooner (gh#ClusterLabs/pacemaker#3292)
+- libcrmcommon: fix NULL dereference in expand_idref() (gh#ClusterLabs/pacemaker#3292)
+- pacemaker-attrd,libcrmcluster: avoid use-after-free when remote node in cluster node cache (gh#ClusterLabs/pacemaker#3293)
+- libcrmcluster: avoid use-after-free in trace log (gh#ClusterLabs/pacemaker#3293)
+- attrd: improve logging of CIB write result
+- attrd: improve messages for CIB wipe
+- scheduler: improve logs for invalid id-ref's (gh#ClusterLabs/pacemaker#3292)
+- scheduler: improve logging of invalid roles
+- scheduler: improve messages when unpacking location constraints
+- scheduler: treat config errors as processing errors
+- HealthSmart: Check the parameter values of check_temperature to avoid error output (gh#ClusterLabs/pacemaker#3289)
+- Modify the HealthCPU, HealthSMART, HealthIOWait scripts about the function of reload and setting the dampen
+- daemons: Only ask for schemas if supported by the server
+- daemons: Download newer schema files to a remote executor.
+- libcrmcommon: Write crm_verify detailed messages to XML
+
-------------------------------------------------------------------
Wed Dec 20 13:44:11 UTC 2023 - Yan Gao
diff --git a/pacemaker.spec b/pacemaker.spec
index 339e772..7d8d7b8 100644
--- a/pacemaker.spec
+++ b/pacemaker.spec
@@ -1,7 +1,7 @@
#
# spec file for package pacemaker
#
-# Copyright (c) 2023 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -129,7 +129,7 @@
%define with_regression_tests 0
Name: pacemaker
-Version: 2.1.7+20231219.0f7f88312
+Version: 2.1.7+20240304.d18a497eb
Release: 0
Summary: Scalable High-Availability cluster resource manager
# AGPL-3.0 licensed extra/clustermon.sh is not present in the binary
@@ -484,6 +484,11 @@ ln -s ../heartbeat/NodeUtilization %{buildroot}%{ocf_root}/resource.d/pacemaker/
%endif
%fdupes -s %{buildroot}
+%if %{suse_version} >= 1600
+%python3_fix_shebang_path %{buildroot}%{_libexecdir}/pacemaker/*
+%python3_fix_shebang_path %{buildroot}%{_datadir}/pacemaker/tests/*
+%python3_fix_shebang_path %{buildroot}%{_datadir}/pacemaker/tests/cts/*
+%endif
%check
make %{_smp_mflags} check
@@ -591,6 +596,7 @@ fi
%endif
%{_sbindir}/fence_watchdog
+%{_mandir}/man7/pacemaker-based.7%{ext_man}
%{_mandir}/man7/pacemaker-controld.7%{ext_man}
%{_mandir}/man7/pacemaker-schedulerd.7%{ext_man}
%{_mandir}/man7/pacemaker-fenced.7%{ext_man}
@@ -661,6 +667,7 @@ fi
%config(noreplace) %{_fillupdir}/sysconfig.pacemaker
%config(noreplace) %{_fillupdir}/sysconfig.crm_mon
%{_mandir}/man7/*pacemaker*
+%exclude %{_mandir}/man7/pacemaker-based.*
%exclude %{_mandir}/man7/pacemaker-controld.*
%exclude %{_mandir}/man7/pacemaker-schedulerd.*
%exclude %{_mandir}/man7/pacemaker-fenced.*