diff --git a/_service b/_service
index e925266..1570fc8 100644
--- a/_service
+++ b/_service
@@ -8,10 +8,10 @@
To update to a new release, change "revision" to the desired
git commit hash and bump "version" if necessary
- 2.1.5
+ 2.1.6
-->
- 2.1.5+%cd.%h
- 22590c566
+ 2.1.6+%cd.%h
+ Pacemaker-2.1.6
enable
diff --git a/_servicedata b/_servicedata
index 7aaff94..26bea26 100644
--- a/_servicedata
+++ b/_servicedata
@@ -5,4 +5,4 @@
https://github.com/ClusterLabs/pacemaker.git
- 4a1e3fa1f24f1d31785456c030d19919c27bdb5b
\ No newline at end of file
+ 6fdc9deea294bbad629b003c6ae036aaed8e3ee0
\ No newline at end of file
diff --git a/bug-806256_pacemaker-log-level-notice.patch b/bug-806256_pacemaker-log-level-notice.patch
index b56bde3..54e665f 100644
--- a/bug-806256_pacemaker-log-level-notice.patch
+++ b/bug-806256_pacemaker-log-level-notice.patch
@@ -4,23 +4,23 @@ Date: Thu Mar 14 09:41:53 2013 +0800
Log: Change some messages to notice level (bnc#806256)
-Index: pacemaker-2.1.5+20230309.a4b0ea1b5/daemons/controld/controld_membership.c
+Index: pacemaker-2.1.5+20230412.b2ca1c3b1/daemons/controld/controld_membership.c
===================================================================
---- pacemaker-2.1.5+20230309.a4b0ea1b5.orig/daemons/controld/controld_membership.c
-+++ pacemaker-2.1.5+20230309.a4b0ea1b5/daemons/controld/controld_membership.c
-@@ -426,7 +426,7 @@ crm_update_quorum(gboolean quorum, gbool
+--- pacemaker-2.1.5+20230412.b2ca1c3b1.orig/daemons/controld/controld_membership.c
++++ pacemaker-2.1.5+20230412.b2ca1c3b1/daemons/controld/controld_membership.c
+@@ -421,7 +421,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);
- 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, call_options,
+ controld_update_cib(XML_TAG_CIB, update, cib_scope_local,
cib_quorum_update_complete);
free_xml(update);
-Index: pacemaker-2.1.5+20230309.a4b0ea1b5/daemons/controld/controld_transition.c
+Index: pacemaker-2.1.5+20230412.b2ca1c3b1/daemons/controld/controld_transition.c
===================================================================
---- pacemaker-2.1.5+20230309.a4b0ea1b5.orig/daemons/controld/controld_transition.c
-+++ pacemaker-2.1.5+20230309.a4b0ea1b5/daemons/controld/controld_transition.c
+--- pacemaker-2.1.5+20230412.b2ca1c3b1.orig/daemons/controld/controld_transition.c
++++ pacemaker-2.1.5+20230412.b2ca1c3b1/daemons/controld/controld_transition.c
@@ -182,7 +182,7 @@ do_te_invoke(long long action,
CRM_CHECK(controld_globals.transition_graph != NULL,
controld_globals.transition_graph = create_blank_graph();
@@ -30,10 +30,10 @@ Index: pacemaker-2.1.5+20230309.a4b0ea1b5/daemons/controld/controld_transition.c
controld_globals.transition_graph->id, ref, graph_input);
te_reset_job_counts();
-Index: pacemaker-2.1.5+20230309.a4b0ea1b5/daemons/fenced/fenced_remote.c
+Index: pacemaker-2.1.5+20230412.b2ca1c3b1/daemons/fenced/fenced_remote.c
===================================================================
---- pacemaker-2.1.5+20230309.a4b0ea1b5.orig/daemons/fenced/fenced_remote.c
-+++ pacemaker-2.1.5+20230309.a4b0ea1b5/daemons/fenced/fenced_remote.c
+--- pacemaker-2.1.5+20230412.b2ca1c3b1.orig/daemons/fenced/fenced_remote.c
++++ pacemaker-2.1.5+20230412.b2ca1c3b1/daemons/fenced/fenced_remote.c
@@ -687,7 +687,7 @@ remote_op_timeout_one(gpointer userdata)
static void
finalize_timed_out_op(remote_fencing_op_t *op, const char *reason)
diff --git a/bug-977201_pacemaker-controld-self-fencing.patch b/bug-977201_pacemaker-controld-self-fencing.patch
index b14a755..1f832b4 100644
--- a/bug-977201_pacemaker-controld-self-fencing.patch
+++ b/bug-977201_pacemaker-controld-self-fencing.patch
@@ -4,10 +4,10 @@ Date: Mon Jun 13 17:26:27 2016 +0200
Fix: controld: Prevent unwanted self-fencing if "stateful_merge_wait" state of dlm is not available
-Index: pacemaker-2.0.2+20190725.4b4fea3eb/extra/resources/controld.in
+Index: pacemaker-2.0.2+20190725.4b4fea3eb/agents/ocf/controld.in
===================================================================
---- pacemaker-2.0.2+20190725.4b4fea3eb.orig/extra/resources/controld.in
-+++ pacemaker-2.0.2+20190725.4b4fea3eb/extra/resources/controld.in
+--- pacemaker-2.0.2+20190725.4b4fea3eb.orig/agents/ocf/controld.in
++++ pacemaker-2.0.2+20190725.4b4fea3eb/agents/ocf/controld.in
@@ -226,10 +226,6 @@ controld_monitor() {
if [ -n "$smw" ] && [ $smw -eq 1 ]; then
ocf_log err "DLM status is: stateful_merge_wait"
diff --git a/bug-995365_pacemaker-cts-restart-systemd-journald.patch b/bug-995365_pacemaker-cts-restart-systemd-journald.patch
index dc257ef..7b79f8f 100644
--- a/bug-995365_pacemaker-cts-restart-systemd-journald.patch
+++ b/bug-995365_pacemaker-cts-restart-systemd-journald.patch
@@ -1,17 +1,20 @@
-Index: pacemaker/cts/lab/CTSaudits.py
+Index: pacemaker-2.1.5+20230505.f342042ae/cts/lab/CTSaudits.py
===================================================================
---- pacemaker.orig/cts/lab/CTSaudits.py
-+++ pacemaker/cts/lab/CTSaudits.py
-@@ -67,10 +67,8 @@ class LogAudit(ClusterAudit):
+--- pacemaker-2.1.5+20230505.f342042ae.orig/cts/lab/CTSaudits.py
++++ pacemaker-2.1.5+20230505.f342042ae/cts/lab/CTSaudits.py
+@@ -80,13 +80,9 @@ class LogAudit(ClusterAudit):
for node in nodes:
if self.CM.Env["have_systemd"]:
-- if self.CM.rsh(node, "systemctl stop systemd-journald.socket") != 0:
+- (rc, _) = self.CM.rsh(node, "systemctl stop systemd-journald.socket")
++ (rc, _) = self.CM.rsh(node, "systemctl restart systemd-journald.socket")
+ if rc != 0:
- self.CM.log ("ERROR: Cannot stop 'systemd-journald' on %s" % node)
-- if self.CM.rsh(node, "systemctl start systemd-journald.service") != 0:
+-
+- (rc, _) = self.CM.rsh(node, "systemctl start systemd-journald.service")
+- if rc != 0:
- self.CM.log ("ERROR: Cannot start 'systemd-journald' on %s" % node)
-+ if self.CM.rsh(node, "systemctl restart systemd-journald.socket") != 0:
+ self.CM.log ("ERROR: Cannot restart 'systemd-journald' on %s" % node)
- if self.CM.rsh(node, "service %s restart" % self.CM.Env["syslogd"]) != 0:
- self.CM.log ("ERROR: Cannot restart '%s' on %s" % (self.CM.Env["syslogd"], node))
+ (rc, _) = self.CM.rsh(node, "service %s restart" % self.CM.Env["syslogd"])
+ if rc != 0:
diff --git a/pacemaker-2.1.5+20230320.22590c566.tar.xz b/pacemaker-2.1.5+20230320.22590c566.tar.xz
deleted file mode 100644
index 537898b..0000000
--- a/pacemaker-2.1.5+20230320.22590c566.tar.xz
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:8a9ca2c2122beb4a48d85fddd0997c5ccc2320a69ecd2039e7b603a4a1d6b618
-size 4171964
diff --git a/pacemaker-2.1.6+20230524.6fdc9deea.tar.xz b/pacemaker-2.1.6+20230524.6fdc9deea.tar.xz
new file mode 100644
index 0000000..4cd0043
--- /dev/null
+++ b/pacemaker-2.1.6+20230524.6fdc9deea.tar.xz
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:e04b705fc394d8739501fa884fd06cae583851a48afb36b6ac36985c6d75e097
+size 4182636
diff --git a/pacemaker.changes b/pacemaker.changes
index cffc509..755f67c 100644
--- a/pacemaker.changes
+++ b/pacemaker.changes
@@ -1,3 +1,139 @@
+-------------------------------------------------------------------
+Mon Jun 19 08:57:42 UTC 2023 - Yan Gao
+
+- rpm: build with --with-sbd-sync-default="true" only for sle_version >= 150400 (bsc#1180966)
+- rpm: build with --enable-legacy-links only for suse_version < 1600
+- rpm: build with --enable-compat-2.0 only for suse_version < 1600 (jsc#PED-106, jsc#PED-294)
+- rpm: build with --with-concurrent-fencing-default=true only for sle_version >= 150400
+- rpm: build with --with-resource-stickiness-default=1 only for sle_version >= 150400
+- rpm: build with --with-nagios=true only for suse_version < 1600 (jsc#PED-3877, jsc#PED-4446)
+- agents: create symlink ocf:pacemaker:NodeUtilization only for suse_version < 1600 in favor of ocf:heartbeat:NodeUtilization (bsc#1070347)
+
+-------------------------------------------------------------------
+Sat Jun 17 14:14:47 UTC 2023 - Yan Gao
+
+- Update to version 2.1.6+20230524.6fdc9deea (Pacemaker-2.1.6):
+- scheduler: ensure earlier group member starts happen after later member stops
+
+-------------------------------------------------------------------
+Sat Jun 17 12:29:11 UTC 2023 - Yan Gao
+
+- Update to version 2.1.5+20230502.802a72226 (Pacemaker-2.1.6-rc2):
+- rpm: avoid bare wildcards under shared directories in spec
+- scheduler: consider mandatory colocations before optional
+
+-------------------------------------------------------------------
+Sat Jun 17 12:19:07 UTC 2023 - Yan Gao
+
+- Update to version 2.1.5+20230501.832463d94:
+- daemons: pacemakerd -S should wait for shutdown before returning (bsc#1210857)
+
+-------------------------------------------------------------------
+Sat Jun 17 12:13:21 UTC 2023 - Yan Gao
+
+- Update to version 2.1.5+20230501.b049bbeea:
+- scheduler: deprecate support for Nagios resources (jsc#PED-3877, jsc#PED-4446)
+- scheduler: deprecate "moon" in date_spec elements in rules
+- daemons: Preserve transient attrs when possible
+- daemons: Sync remote connection info with new controllers.
+- daemons: Record the node hosting a remote connection resource.
+- daemons: Add node hosting connection resource to state XML.
+- daemons: Broadcast remote node state changes to all controllers
+- daemons: Add daemon uptime to execd XML replies.
+
+-------------------------------------------------------------------
+Sat Jun 17 11:47:18 UTC 2023 - Yan Gao
+
+- Update to version 2.1.5+20230424.6127934e3:
+- fencer: fencing timeout sent to peer takes no delay into account (bsc#1210074)
+- libpacemaker: initial timeout for fencing callback takes any requested fencing delay into account (bsc#1210074)
+- controller: use "target" terminology consistently (bsc#1210074)
+- controller: log fencing timeout consistently in seconds as priority fencing delay (bsc#1210074)
+- controller: initial timeout for fencing callback takes any priority fencing delay into account (bsc#1210074)
+- fencer: apply requested fencing delay only for the first device (bsc#1210074)
+- fencer: fencing timeouts take any pcmk_delay_base into account (bsc#1210074)
+- fencer: add correct values of pcmk_delay_base/max to query rely (bsc#1210074)
+- fencer: per-operation fencing timeout takes any requested fencing delay into account (bsc#1210074)
+- fencer: total fencing timeout takes any requested fencing delay into account (bsc#1210074)
+- cts-fencing: regression test for fencing timeouts taking fencing delays into account (bsc#1210074)
+
+-------------------------------------------------------------------
+Fri Jun 16 18:32:29 UTC 2023 - Yan Gao
+
+- Update to version 2.1.5+20230418.ccc3b3344:
+- python: Default CTS iterations to 1.
+
+-------------------------------------------------------------------
+Fri Jun 16 18:09:17 UTC 2023 - Yan Gao
+
+- Update to version 2.1.5+20230417.095c09eee (Pacemaker-2.1.6-rc1):
+- NLS: update translations for current code base
+- sysconfig: improve help text
+- sysconfig: overhaul enviroment variable descriptions
+- tools: avoid use-after-free of attribute ID
+- tools: fix use-after-free of attribute set name
+
+-------------------------------------------------------------------
+Fri Jun 16 17:54:21 UTC 2023 - Yan Gao
+
+- Update to version 2.1.5+20230411.dbe567bfd:
+- controller: avoid use-after-free when disconnecting proxy IPCs during shutdown (bsc#1209640)
+
+-------------------------------------------------------------------
+Fri Jun 16 11:25:54 UTC 2023 - Yan Gao
+
+- Update to version 2.1.5+20230410.97fbe1f31:
+- daemons: Add the default port to pacemaker-remoted help output.
+- controller: Don't use "//" in the fence XML query.
+- scheduler: attenuate chained "with this" colocation scores
+- scheduler: don't add group colocations twice
+- controller: Unlocked lrm_resource should include cleared/expired
+- controller: Ensure we don't ignore relevant CIB replacements
+- based: Use correct local-only diff logic
+- scheduler: make asymmetric ordering handling more efficient
+- scheduler: use correct action when determining order set flags
+
+- Rebase:
+ * bug-806256_pacemaker-log-level-notice.patch
+ * bug-977201_pacemaker-controld-self-fencing.patch
+
+-------------------------------------------------------------------
+Wed Jun 14 12:32:29 UTC 2023 - Yan Gao
+
+- Update to version 2.1.5+20230403.7945075ce:
+- tools: Deprecate crm_mon --simple-status
+- tools: crm_mon can use update mode with XML, text, none
+- tools: Last-one-wins for crm_mon --daemonize and --one-shot
+- tools: Fix crm_mon seg fault when curses is missing (CLBZ#5512)
+- tools: Don't ignore invalid format in reconcile_output_formats
+- tools: Case-sensitive comparisons in reconcile_output_format()
+- tools: Implement --output-as=none in crm_mon.c
+
+-------------------------------------------------------------------
+Wed Jun 14 10:19:08 UTC 2023 - Yan Gao
+
+- Update to version 2.1.5+20230328.76c42a514:
+- python: Disable the too-many-statements warning from pylint.
+- scheduler: NULL-check when adding colocations to list
+- scheduler: always add clone constraints to instances' lists
+- scheduler: avoid trace log and method call if not needed
+- scheduler: always add group's own "this with" colocations
+- scheduler: always add group's own "with this" colocations
+- scheduler: add "group with" colocations to later members independent of assignment
+- scheduler: always add "group with" colocations to first member
+- scheduler: always add "with group" colocations to last member
+- controller: Delay join finalization if a transition is in progress
+
+-------------------------------------------------------------------
+Wed Jun 14 08:26:11 UTC 2023 - Yan Gao
+
+- Update to version 2.1.5+20230323.ee1bc67ff:
+- crm_resource: Add the --element option for delete & set
+- extra/resources/SysInfo.in: This calculation of cpu_load returns an incorrect value in Darwin and Linux
+
+- Rebase:
+ * bug-995365_pacemaker-cts-restart-systemd-journald.patch
+
-------------------------------------------------------------------
Wed Mar 22 16:11:09 UTC 2023 - Yan Gao
@@ -1601,8 +1737,8 @@ Fri Sep 10 14:04:23 UTC 2021 - Yan Gao
- scheduler: Output the clone header if there are no instances.
- scheduler: Sort brief output of resources.
- scheduler: Fix display of active resources on offline nodes.
-- tools: avoid memory leaks in crm_mon
-- tools: avoid (insignificant) memory leaks
+- tools: avoid memory leaks in crm_mon (bsc#1211678)
+- tools: avoid (insignificant) memory leaks (bsc#1211678)
-------------------------------------------------------------------
Fri Sep 10 13:45:08 UTC 2021 - Yan Gao
@@ -2062,12 +2198,12 @@ Fri Mar 19 14:36:46 UTC 2021 - Yan Gao
- Update to version 2.0.5+20210128.aa41a984d:
- cibsecret: use crmadmin -N (which also lists guest and remote nodes) to get nodes to sync to
-- tools: Free --resource=/--node= memory in crm_mon.
-- scheduler: Free the result of pe__node_display_name in one place.
-- tools: Free command-line related memory.
-- libcrmcommon: Don't leak memory in pcmk__cmdline_preproc.
-- libcrmcommon: Free the results in various test cases.
-- libpe_rules, libcrmcommon: Free the whole xml doc, not just the node.
+- tools: Free --resource=/--node= memory in crm_mon. (bsc#1211678)
+- scheduler: Free the result of pe__node_display_name in one place. (bsc#1211678)
+- tools: Free command-line related memory. (bsc#1211678)
+- libcrmcommon: Don't leak memory in pcmk__cmdline_preproc. (bsc#1211678)
+- libcrmcommon: Free the results in various test cases. (bsc#1211678)
+- libpe_rules, libcrmcommon: Free the whole xml doc, not just the node. (bsc#1211678)
- crmadmin: use cluster instead of member term and remove pacemaker_remote node type
- crmadmin: list remote/guest nodes and add parameter/variable to choose which node type(s) to list
diff --git a/pacemaker.spec b/pacemaker.spec
index 81d0f85..e8436e0 100644
--- a/pacemaker.spec
+++ b/pacemaker.spec
@@ -57,13 +57,21 @@
## to synchronization improves safety, without requiring higher-level tools
## to be aware of the setting or requiring users to modify configurations
## after upgrading to versions that support synchronization.
+%if 0%{?suse_version} >= 1540 || 0%{?sle_version} >= 150400
%bcond_without sbd_sync
+%else
+%bcond_with sbd_sync
+%endif
## Add option to turn off hardening of libraries and daemon executables
%bcond_with hardening
## Add option to disable links for legacy daemon names
+%if 0%{?suse_version} < 1600
%bcond_without legacy_links
+%else
+%bcond_with legacy_links
+%endif
# Define globals for convenient use later
@@ -72,13 +80,19 @@
## Distro-specific configuration choices
### Use 2.0-style output when other distro packages don't support current output
+%if 0%{?suse_version} < 1600
%global compat20 --enable-compat-2.0
+%endif
### Default concurrent-fencing to true when distro prefers that
+%if 0%{?suse_version} >= 1540 || 0%{?sle_version} >= 150400
%global concurrent_fencing --with-concurrent-fencing-default=true
+%endif
### Default resource-stickiness to 1 when distro prefers that
+%if 0%{?suse_version} >= 1540 || 0%{?sle_version} >= 150400
%global resource_stickiness --with-resource-stickiness-default=1
+%endif
# Python-related definitions
@@ -98,13 +112,18 @@
%define _fillupdir /var/adm/fillup-templates
%endif
+%if 0%{?suse_version} < 1600
%define with_nagios 1
+%else
+%define with_nagios 0
+%endif
+
%define enable_cluster_libs_pkg 0
%define enable_fatal_warnings 0
%define with_regression_tests 0
Name: pacemaker
-Version: 2.1.5+20230320.22590c566
+Version: 2.1.6+20230524.6fdc9deea
Release: 0
Summary: Scalable High-Availability cluster resource manager
# AGPL-3.0 licensed extra/clustermon.sh is not present in the binary
@@ -395,6 +414,8 @@ autoreconf -fvi
--disable-silent-rules \
%if %{with_nagios}
--with-nagios=true \
+%else
+ --with-nagios=false \
%endif
%if !%{enable_fatal_warnings}
--enable-fatal-warnings=no \
@@ -451,7 +472,9 @@ ln -s service %{buildroot}%{_sbindir}/rccrm_mon
mv %{buildroot}%{_sbindir}/crm_report %{buildroot}%{_sbindir}/crm_report.pacemaker
install -m 755 %{SOURCE1} %{buildroot}%{_sbindir}/crm_report
+%if 0%{?suse_version} < 1600
ln -s ../heartbeat/NodeUtilization %{buildroot}%{ocf_root}/resource.d/pacemaker/
+%endif
%fdupes -s %{buildroot}
@@ -630,20 +653,21 @@ fi
%config(noreplace) %{_fillupdir}/sysconfig.pacemaker
%config(noreplace) %{_fillupdir}/sysconfig.crm_mon
-%{_mandir}/man7/*
+%{_mandir}/man7/*pacemaker*
%exclude %{_mandir}/man7/pacemaker-controld.*
%exclude %{_mandir}/man7/pacemaker-schedulerd.*
%exclude %{_mandir}/man7/pacemaker-fenced.*
%exclude %{_mandir}/man7/ocf_pacemaker_controld.*
%exclude %{_mandir}/man7/ocf_pacemaker_o2cb.*
%exclude %{_mandir}/man7/ocf_pacemaker_remote.*
-%{_mandir}/man8/*
-%if %{with stonithd}
-%exclude %{_mandir}/man8/fence_legacy.*
+%{_mandir}/man8/crm*.8%{ext_man}
+%{_mandir}/man8/attrd_updater.*
+%{_mandir}/man8/cibadmin.*
+%if %{with cibsecrets}
+%{_mandir}/man8/cibsecret.*
%endif
-%exclude %{_mandir}/man8/fence_watchdog.*
-%exclude %{_mandir}/man8/pacemakerd.*
-%exclude %{_mandir}/man8/pacemaker-remoted.*
+%{_mandir}/man8/iso8601.*
+%{_mandir}/man8/stonith_admin.*
#%license licenses/GPLv2
%license COPYING
@@ -718,8 +742,16 @@ fi
%files devel
%{_includedir}/pacemaker
-%{_libdir}/*.so
-%{_libdir}/pkgconfig/*.pc
+%{_libdir}/libcib.so
+%{_libdir}/liblrmd.so
+%{_libdir}/libcrmservice.so
+%{_libdir}/libcrmcommon.so
+%{_libdir}/libpe_status.so
+%{_libdir}/libpe_rules.so
+%{_libdir}/libpacemaker.so
+%{_libdir}/libstonithd.so
+%{_libdir}/libcrmcluster.so
+%{_libdir}/pkgconfig/*pacemaker*.pc
#%license licenses/LGPLv2.1
%license COPYING
%doc ChangeLog