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.*