commit pacemaker for openSUSE:Factory

Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package pacemaker for openSUSE:Factory checked in at 2022-06-29 16:01:00 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/pacemaker (Old) and /work/SRC/openSUSE:Factory/.pacemaker.new.1548 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "pacemaker" Wed Jun 29 16:01:00 2022 rev:144 rq:985605 version:2.1.4+20220615.dc6eb4362 Changes: -------- --- /work/SRC/openSUSE:Factory/pacemaker/pacemaker.changes 2022-05-30 12:43:04.256320303 +0200 +++ /work/SRC/openSUSE:Factory/.pacemaker.new.1548/pacemaker.changes 2022-06-29 16:01:57.732670939 +0200 @@ -1,0 +2,31 @@ +Tue Jun 21 13:20:12 UTC 2022 - Yan Gao <ygao@suse.com> + +- Update to version 2.1.4+20220615.dc6eb4362 (Pacemaker-2.1.4) + +------------------------------------------------------------------- +Thu Jun 09 17:12:47 UTC 2022 - Yan Gao <ygao@suse.com> + +- Update to version 2.1.3+20220608.d7fce3868: +- libstonithd: pull exit reason directly from history replies +- fencer: assume unknown status from older fencers' history replies +- resources: add SystemHealth parameter to its meta-data +- resources: remove no-longer-relevant DTD reference from meta-data +- resources: typo in HealthSMART meta-data + +------------------------------------------------------------------- +Tue Jun 07 10:45:08 UTC 2022 - Yan Gao <ygao@suse.com> + +- Update to version 2.1.3+20220603.ea9bebf6c (Pacemaker-2.1.4-rc1): +- fencer: avoid use-after-free with self-fencing and topology +- fencer: get target-by-attribute working again +- libcrmcommon: fix a wrong separator in the .warning CSS declaration +- fencer: avoid memory leaks when processing topology requests +- Fix print spec for unsigned int count +- fencing: delegate shouldn't matter when checking equivalent fencing + +------------------------------------------------------------------- +Thu Jun 02 07:38:49 UTC 2022 - Yan Gao <ygao@suse.com> + +- Update to version 2.1.3+20220601.da2fd79c8 (Pacemaker-2.1.3) + +------------------------------------------------------------------- Old: ---- pacemaker-2.1.2+20220526.b387f8972.tar.xz New: ---- pacemaker-2.1.4+20220615.dc6eb4362.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ pacemaker.spec ++++++ --- /var/tmp/diff_new_pack.UapK89/_old 2022-06-29 16:01:58.348671759 +0200 +++ /var/tmp/diff_new_pack.UapK89/_new 2022-06-29 16:01:58.352671764 +0200 @@ -104,7 +104,7 @@ %define with_regression_tests 0 Name: pacemaker -Version: 2.1.2+20220526.b387f8972 +Version: 2.1.4+20220615.dc6eb4362 Release: 0 Summary: Scalable High-Availability cluster resource manager # AGPL-3.0 licensed extra/clustermon.sh is not present in the binary ++++++ _service ++++++ --- /var/tmp/diff_new_pack.UapK89/_old 2022-06-29 16:01:58.388671811 +0200 +++ /var/tmp/diff_new_pack.UapK89/_new 2022-06-29 16:01:58.392671818 +0200 @@ -8,10 +8,10 @@ To update to a new release, change "revision" to the desired git commit hash and bump "version" if necessary - <param name="version">2.1.2</param> + <param name="version">2.1.4</param> --> - <param name="versionformat">2.1.2+%cd.%h</param> - <param name="revision">b387f8972</param> + <param name="versionformat">2.1.4+%cd.%h</param> + <param name="revision">Pacemaker-2.1.4</param> <param name="changesgenerate">enable</param> </service> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.UapK89/_old 2022-06-29 16:01:58.428671865 +0200 +++ /var/tmp/diff_new_pack.UapK89/_new 2022-06-29 16:01:58.432671871 +0200 @@ -5,6 +5,6 @@ </service> <service name="tar_scm"> <param name="url">https://github.com/ClusterLabs/pacemaker.git</param> - <param name="changesrevision">761f125623a4e46b827bc07013fdf930b08aa802</param></service></servicedata> + <param name="changesrevision">dc6eb4362e67c1497a413434eba097063bf1ef83</param></service></servicedata> (No newline at EOF) ++++++ pacemaker-2.1.2+20220526.b387f8972.tar.xz -> pacemaker-2.1.4+20220615.dc6eb4362.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/ChangeLog new/pacemaker-2.1.4+20220615.dc6eb4362/ChangeLog --- old/pacemaker-2.1.2+20220526.b387f8972/ChangeLog 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/ChangeLog 2022-06-15 16:27:17.000000000 +0200 @@ -1,24 +1,19 @@ -* Mon May 16 2022 Ken Gaillot <kgaillot@redhat.com> Pacemaker-2.1.3-rc2 -- Changesets: 28 -- Diff: 24 files changed, 810 insertions(+), 156 deletions(-) - -- Features added since Pacemaker-2.1.3-rc1 - + rpm: crm_attribute is now part of the pacemaker-cli package instead of - the pacemaker package - -- Fixes since Pacemaker-2.1.3-rc1 - + scheduler: make multiple-active="stop_unexpected" actually work - + libcrmcommon: retry IPC requests after EAGAIN errors - + tools: get attrd_updater -Y working again (regression in 2.1.3-rc1) - + tools: support command-line crm_attribute calls on Pacemaker remote nodes - whose node name in the cluster differs from their local hostname - -- Public API changes since Pacemaker-2.1.3-rc1 - + libstonithd: deprecate stonith_t:call_timeout - -* Mon Apr 18 2022 Ken Gaillot <kgaillot@redhat.com> Pacemaker-2.1.3-rc1 -- Changesets: 779 -- Diff: 330 files changed, 22740 insertions(+), 12103 deletions(-) +* Mon Jun 13 2022 Ken Gaillot <kgaillot@redhat.com> Pacemaker-2.1.4 +- Changesets: 17 +- Diff: 9 files changed, 52 insertions(+), 18 deletions(-) + +- Fixes since Pacemaker-2.1.3 + + fencing: get target-by-attribute working again (regression in 2.1.3) + + fencing: avoid use-after-free when processing self-fencing requests + with topology (regression in 2.1.3) + + resources: typo in HealthSMART meta-data (regression in 2.1.3) + + fencing: avoid memory leaks when processing topology requests + + fencing: delegate shouldn't matter when checking equivalent fencing + + tools: fix CSS syntax error in crm_mon --output-as=html + +* Wed Jun 1 2022 Ken Gaillot <kgaillot@redhat.com> Pacemaker-2.1.3 +- Changesets: 814 +- Diff: 332 files changed, 23435 insertions(+), 12137 deletions(-) - Features added since Pacemaker-2.1.2 + Internal failures of resource actions (such as an OCF agent not being @@ -28,6 +23,8 @@ + build: configure script supports experimental --enable-nls option to enable native language translations (currently only Chinese translations of certain help text are available) + + rpm: crm_attribute is now part of the pacemaker-cli package instead of + the pacemaker package + CIB: resources support allow-unhealthy-nodes meta-attribute to exempt the resource from bans due to node health checks (particularly useful for health monitoring resources themselves) @@ -69,12 +66,15 @@ + resources: use correct syntax in Stateful meta-data (regression introduced in 2.1.0) + corosync: repeat corosync_cfg_trackstart if first attempt fails + + libcrmcommon: retry IPC requests after EAGAIN errors + executor,scheduler: treat "no secrets" fence results as a hard error + fencing: handle dynamic target query failures better + fencing: don't set stonith action to pending if fork fails + pacemakerd: avoid race condition when subdaemaon is checked while exiting + scheduler: avoid memory leak when displaying clones in certain conditions + scheduler: properly set data set flags when scheduling actions + + tools: support command-line crm_attribute calls on Pacemaker remote nodes + whose node name in the cluster differs from their local hostname + tools: prevent possible crm_resource crashes if multiple commands specified - Public API changes since Pacemaker-2.1.2 @@ -96,6 +96,7 @@ + libpe_status: deprecate pe_order_stonith_stop + libpe_status: deprecate pe_rsc_starting and pe_rsc_stopping + libstonithd: add exit_reason member to stonith_history_t + + libstonithd: deprecate stonith_t:call_timeout + libstonithd: stonith_api_del_notification() with NULL second argument removes all notifications diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/cts/lab/CIB.py new/pacemaker-2.1.4+20220615.dc6eb4362/cts/lab/CIB.py --- old/pacemaker-2.1.2+20220526.b387f8972/cts/lab/CIB.py 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/cts/lab/CIB.py 2022-06-15 16:27:17.000000000 +0200 @@ -127,7 +127,7 @@ (rc, output) = self.Factory.rsh(self.Factory.target, r"""awk -v RS="}" """ r"""'/^(\s*nodelist\s*{)?\s*node\s*{.*(ring0_addr|name):\s*%s(\s+|$)/""" - r"""{gsub(/.*nodeid:\s*/,"");gsub(/\s+.*$/,"");print}'%s""" + r"""{gsub(/.*nodeid:\s*/,"");gsub(/\s+.*$/,"");print}' %s""" % (node_name, CTSvars.COROSYNC_CONF), None) if rc == 0 and len(output) == 1: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/daemons/fenced/fenced_commands.c new/pacemaker-2.1.4+20220615.dc6eb4362/daemons/fenced/fenced_commands.c --- old/pacemaker-2.1.2+20220526.b387f8972/daemons/fenced/fenced_commands.c 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/daemons/fenced/fenced_commands.c 2022-06-15 16:27:17.000000000 +0200 @@ -1549,7 +1549,7 @@ } if (!stand_alone /* if standalone, there's no attribute manager */ && (crm_element_value(level, XML_ATTR_STONITH_TARGET_ATTRIBUTE) != NULL) - && (crm_element_value(level, XML_ATTR_STONITH_TARGET_VALUE) == NULL)) { + && (crm_element_value(level, XML_ATTR_STONITH_TARGET_VALUE) != NULL)) { return fenced_target_by_attribute; } return fenced_target_by_unknown; @@ -1669,6 +1669,7 @@ if (tp == NULL) { pcmk__set_result(result, CRM_EX_ERROR, PCMK_EXEC_ERROR, strerror(ENOMEM)); + free(target); return; } tp->kind = mode; @@ -3326,6 +3327,7 @@ "Unprivileged users must delete level via CIB"); } fenced_send_level_notification(op, &request->result, device_id); + free(device_id); return fenced_construct_reply(request->xml, NULL, &request->result); } @@ -3496,7 +3498,7 @@ .result = PCMK__UNKNOWN_RESULT, }; - request.op = crm_element_value(request.xml, F_STONITH_OPERATION); + request.op = crm_element_value_copy(request.xml, F_STONITH_OPERATION); CRM_CHECK(request.op != NULL, return); if (pcmk_is_set(request.call_options, st_opt_sync_call)) { @@ -3504,6 +3506,6 @@ } handle_request(&request); - pcmk__reset_result(&request.result); + pcmk__reset_request(&request); } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/daemons/fenced/fenced_history.c new/pacemaker-2.1.4+20220615.dc6eb4362/daemons/fenced/fenced_history.c --- old/pacemaker-2.1.2+20220526.b387f8972/daemons/fenced/fenced_history.c 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/daemons/fenced/fenced_history.c 2022-06-15 16:27:17.000000000 +0200 @@ -233,6 +233,8 @@ remote_fencing_op_t *op = NULL; char *id = crm_element_value_copy(xml_op, F_STONITH_REMOTE_OP_ID); int state; + int exit_status = CRM_EX_OK; + int execution_status = PCMK_EXEC_DONE; long long completed; long long completed_nsec = 0L; @@ -257,7 +259,23 @@ op->completed_nsec = completed_nsec; crm_element_value_int(xml_op, F_STONITH_STATE, &state); op->state = (enum op_state) state; - stonith__xe_get_result(xml_op, &op->result); + + /* @COMPAT We can't use stonith__xe_get_result() here because + * fencers <2.1.3 didn't include results, leading it to assume an error + * status. Instead, set an unknown status in that case. + */ + if ((crm_element_value_int(xml_op, XML_LRM_ATTR_RC, &exit_status) < 0) + || (crm_element_value_int(xml_op, XML_LRM_ATTR_OPSTATUS, + &execution_status) < 0)) { + exit_status = CRM_EX_INDETERMINATE; + execution_status = PCMK_EXEC_UNKNOWN; + } + pcmk__set_result(&op->result, exit_status, execution_status, + crm_element_value(xml_op, XML_LRM_ATTR_EXIT_REASON)); + pcmk__set_result_output(&op->result, + crm_element_value_copy(xml_op, F_STONITH_OUTPUT), + NULL); + g_hash_table_replace(rv, id, op); CRM_LOG_ASSERT(g_hash_table_lookup(rv, id) != NULL); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/ClusterMon.in new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/ClusterMon.in --- old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/ClusterMon.in 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/ClusterMon.in 2022-06-15 16:27:17.000000000 +0200 @@ -32,8 +32,7 @@ meta_data() { cat <<END <?xml version="1.0"?> -<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd"> -<resource-agent name="ClusterMon" version="1.0"> +<resource-agent name="ClusterMon" version="1.1"> <version>1.0</version> <longdesc lang="en"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/HealthCPU new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/HealthCPU --- old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/HealthCPU 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/HealthCPU 2022-06-15 16:27:17.000000000 +0200 @@ -2,7 +2,7 @@ # # ocf:pacemaker:HealthCPU resource agent # -# Copyright 2004-2019 the Pacemaker project contributors +# Copyright 2004-2022 the Pacemaker project contributors # # The version control history for this file may have further details. # @@ -32,8 +32,7 @@ meta_data() { cat <<END <?xml version="1.0"?> -<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd"> -<resource-agent name="HealthCPU" version="0.1"> +<resource-agent name="HealthCPU" version="1.0"> <version>1.0</version> <longdesc lang="en"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/HealthSMART.in new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/HealthSMART.in --- old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/HealthSMART.in 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/HealthSMART.in 2022-06-15 16:27:17.000000000 +0200 @@ -108,7 +108,7 @@ The path to the smartctl program, used for querying device health. </longdesc> <shortdesc lang="en">The path to the smartctl program</shortdesc> -<contest type="string" default="/usr/sbin/smartctl"/> +<content type="string" default="/usr/sbin/smartctl"/> </parameter> <parameter name="dampen" reloadable="1"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/Makefile.am new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/Makefile.am --- old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/Makefile.am 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/Makefile.am 2022-06-15 16:27:17.000000000 +0200 @@ -36,5 +36,20 @@ endif + +# Pass correct local values to validate target manually +RNG := /dev/null +OCF_ROOT := /usr/lib/ocf + +.PHONY: validate +validate: all + @cat "$(RNG)" >/dev/null 2>/dev/null || { echo "Must specify valid RNG" && false; } + @[ -x "$(OCF_ROOT)/lib/heartbeat" ] || { echo "Must specify valid OCF_ROOT" && false; } + @for AGENT in $(dist_ocf_SCRIPTS) $(ocf_SCRIPTS); do \ + echo -e "\n\n## $$AGENT:"; \ + OCF_ROOT="$(OCF_ROOT)" "$(builddir)/$$AGENT" meta-data \ + | xmllint --noout --relaxng $(RNG) - || break; \ + done + clean-generic: rm -f $(man7_MANS) $(ocf_SCRIPTS:%=%.xml) $(dist_ocf_SCRIPTS:%=%.xml) *~ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/SysInfo.in new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/SysInfo.in --- old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/SysInfo.in 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/SysInfo.in 2022-06-15 16:27:17.000000000 +0200 @@ -35,7 +35,6 @@ meta_data() { cat <<END <?xml version="1.0"?> -<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd"> <resource-agent name="SysInfo" version="1.0"> <version>1.0</version> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/SystemHealth new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/SystemHealth --- old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/SystemHealth 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/SystemHealth 2022-06-15 16:27:17.000000000 +0200 @@ -2,7 +2,7 @@ # # ocf:pacemaker:SystemHealth resource agent # -# Copyright 2009-2019 the Pacemaker project contributors +# Copyright 2009-2022 the Pacemaker project contributors # # The version control history for this file may have further details. # @@ -22,8 +22,7 @@ meta_data() { cat <<END <?xml version="1.0"?> -<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd"> -<resource-agent name="SystemHealth" version="0.1"> +<resource-agent name="SystemHealth" version="1.0"> <version>1.0</version> <longdesc lang="en"> @@ -33,6 +32,11 @@ <shortdesc lang="en">SystemHealth resource agent</shortdesc> <parameters> + <parameter name="program"> + <longdesc lang="en">Path to notifyServicelogEvent command</longdesc> + <shortdesc lang="en">Path to notify command</shortdesc> + <content type="string" default="/usr/sbin/notifyServicelogEvent"/> + </parameter> </parameters> <actions> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/controld new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/controld --- old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/controld 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/controld 2022-06-15 16:27:17.000000000 +0200 @@ -2,7 +2,7 @@ # # ocf:pacemaker:controld resource agent # -# Copyright 2008-2021 the Pacemaker project contributors +# Copyright 2008-2022 the Pacemaker project contributors # # The version control history for this file may have further details. # @@ -52,8 +52,7 @@ meta_data() { cat <<END <?xml version="1.0"?> -<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd"> -<resource-agent name="controld" version="1.1"> +<resource-agent name="controld" version="1.2"> <version>1.0</version> <longdesc lang="en"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/ifspeed.in new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/ifspeed.in --- old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/ifspeed.in 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/ifspeed.in 2022-06-15 16:27:17.000000000 +0200 @@ -64,7 +64,6 @@ meta_data() { cat <<END <?xml version="1.0"?> -<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd"> <resource-agent name="ifspeed" version="1.0"> <version>1.0</version> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/o2cb.in new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/o2cb.in --- old/pacemaker-2.1.2+20220526.b387f8972/extra/resources/o2cb.in 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/extra/resources/o2cb.in 2022-06-15 16:27:17.000000000 +0200 @@ -363,7 +363,6 @@ meta_data() { cat <<END <?xml version="1.0"?> -<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd"> <resource-agent name="o2cb" version="1.0"> <version>1.0</version> <longdesc lang="en"> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/include/crm/common/messages_internal.h new/pacemaker-2.1.4+20220615.dc6eb4362/include/crm/common/messages_internal.h --- old/pacemaker-2.1.2+20220526.b387f8972/include/crm/common/messages_internal.h 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/include/crm/common/messages_internal.h 2022-06-15 16:27:17.000000000 +0200 @@ -50,11 +50,14 @@ * generically, but each daemon uses a different XML attribute for it, * so the daemon is responsible for populating this field. * + * This must be a copy of the XML field, and not just a pointer into xml, + * because handlers might modify the original XML. + * * @TODO Create a per-daemon struct with IPC handlers, IPC endpoints, etc., * and the name of the XML attribute for IPC commands, then replace this - * with a convenience function to grab the command. + * with a convenience function to copy the command. */ - const char *op; // IPC command from xml + char *op; // IPC command name } pcmk__request_t; #define pcmk__set_request_flags(request, flags_to_set) do { \ @@ -72,6 +75,7 @@ const char *pcmk__message_name(const char *name); GHashTable *pcmk__register_handlers(pcmk__server_command_t handlers[]); xmlNode *pcmk__process_request(pcmk__request_t *request, GHashTable *handlers); +void pcmk__reset_request(pcmk__request_t *request); /*! * \internal diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/lib/common/Makefile.am new/pacemaker-2.1.4+20220615.dc6eb4362/lib/common/Makefile.am --- old/pacemaker-2.1.2+20220526.b387f8972/lib/common/Makefile.am 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/lib/common/Makefile.am 2022-06-15 16:27:17.000000000 +0200 @@ -31,7 +31,7 @@ noinst_HEADERS = crmcommon_private.h mock_private.h -libcrmcommon_la_LDFLAGS = -version-info 43:0:9 +libcrmcommon_la_LDFLAGS = -version-info 43:1:9 libcrmcommon_la_CFLAGS = $(CFLAGS_HARDENED_LIB) libcrmcommon_la_LDFLAGS += $(LDFLAGS_HARDENED_LIB) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/lib/common/messages.c new/pacemaker-2.1.4+20220615.dc6eb4362/lib/common/messages.c --- old/pacemaker-2.1.2+20220526.b387f8972/lib/common/messages.c 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/lib/common/messages.c 2022-06-15 16:27:17.000000000 +0200 @@ -276,3 +276,18 @@ return (*handler)(request); } + +/*! + * \internal + * \brief Free memory used within a request (but not the request itself) + * + * \param[in] request Request to reset + */ +void +pcmk__reset_request(pcmk__request_t *request) +{ + free(request->op); + request->op = NULL; + + pcmk__reset_result(&(request->result)); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/lib/common/output_html.c new/pacemaker-2.1.4+20220615.dc6eb4362/lib/common/output_html.c --- old/pacemaker-2.1.2+20220526.b387f8972/lib/common/output_html.c 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/lib/common/output_html.c 2022-06-15 16:27:17.000000000 +0200 @@ -33,7 +33,7 @@ ".rsc-multiple { color: orange }\n" ".rsc-ok { color: green }\n" - ".warning { color: red, font-weight: bold }"; + ".warning { color: red; font-weight: bold }"; static gboolean cgi_output = FALSE; static char *stylesheet_link = NULL; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/lib/fencing/Makefile.am new/pacemaker-2.1.4+20220615.dc6eb4362/lib/fencing/Makefile.am --- old/pacemaker-2.1.2+20220526.b387f8972/lib/fencing/Makefile.am 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/lib/fencing/Makefile.am 2022-06-15 16:27:17.000000000 +0200 @@ -14,7 +14,7 @@ lib_LTLIBRARIES = libstonithd.la -libstonithd_la_LDFLAGS = -version-info 34:0:8 +libstonithd_la_LDFLAGS = -version-info 34:1:8 libstonithd_la_CFLAGS = $(CFLAGS_HARDENED_LIB) libstonithd_la_LDFLAGS += $(LDFLAGS_HARDENED_LIB) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/lib/fencing/st_client.c new/pacemaker-2.1.4+20220615.dc6eb4362/lib/fencing/st_client.c --- old/pacemaker-2.1.2+20220526.b387f8972/lib/fencing/st_client.c 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/lib/fencing/st_client.c 2022-06-15 16:27:17.000000000 +0200 @@ -705,7 +705,6 @@ stonith_history_t *kvp; long long completed; long long completed_nsec = 0L; - pcmk__action_result_t result = PCMK__UNKNOWN_RESULT; kvp = calloc(1, sizeof(stonith_history_t)); kvp->target = crm_element_value_copy(op, F_STONITH_TARGET); @@ -718,11 +717,8 @@ crm_element_value_ll(op, F_STONITH_DATE_NSEC, &completed_nsec); kvp->completed_nsec = completed_nsec; crm_element_value_int(op, F_STONITH_STATE, &kvp->state); - - stonith__xe_get_result(op, &result); - kvp->exit_reason = result.exit_reason; - result.exit_reason = NULL; - pcmk__reset_result(&result); + kvp->exit_reason = crm_element_value_copy(op, + XML_LRM_ATTR_EXIT_REASON); if (last) { last->next = kvp; @@ -2203,8 +2199,7 @@ if ((prev_hp->state == st_done) && pcmk__str_eq(event->target, prev_hp->target, pcmk__str_casei) && pcmk__str_eq(event->action, prev_hp->action, pcmk__str_casei) && - pcmk__str_eq(event->delegate, prev_hp->delegate, pcmk__str_casei) && - ((event->completed < prev_hp->completed) || + ((event->completed < prev_hp->completed) || ((event->completed == prev_hp->completed) && (event->completed_nsec < prev_hp->completed_nsec)))) { ret = TRUE; break; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/m4/version.m4 new/pacemaker-2.1.4+20220615.dc6eb4362/m4/version.m4 --- old/pacemaker-2.1.2+20220526.b387f8972/m4/version.m4 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/m4/version.m4 2022-06-15 16:27:17.000000000 +0200 @@ -1,2 +1,2 @@ -m4_define([VERSION_NUMBER], [2.1.3]) +m4_define([VERSION_NUMBER], [2.1.4]) m4_define([PCMK_URL], [https://ClusterLabs.org/pacemaker/]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/po/zh_CN.po new/pacemaker-2.1.4+20220615.dc6eb4362/po/zh_CN.po --- old/pacemaker-2.1.2+20220526.b387f8972/po/zh_CN.po 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/po/zh_CN.po 2022-06-15 16:27:17.000000000 +0200 @@ -11,7 +11,7 @@ msgstr "" "Project-Id-Version: Pacemaker 2\n" "Report-Msgid-Bugs-To: developers@clusterlabs.org\n" -"POT-Creation-Date: 2022-04-08 10:34-0500\n" +"POT-Creation-Date: 2022-06-03 09:28-0500\n" "PO-Revision-Date: 2021-11-08 11:04+0800\n" "Last-Translator: Vivi <developers@clusterlabs.org>\n" "Language-Team: CHINESE <wangluwei@uniontech.org>\n" @@ -107,20 +107,20 @@ "������������������������������������������PID������������Evicting client������������������������������������" "���������������������������������������" -#: lib/common/options.c:590 +#: lib/common/options.c:594 msgid " Allowed values: " msgstr "" -#: lib/pengine/common.c:131 +#: lib/pengine/common.c:119 msgid "Whether watchdog integration is enabled" msgstr "���������������������������������" -#: tools/crm_resource.c:1388 +#: tools/crm_resource.c:1405 #, fuzzy, c-format msgid "Metadata query for %s failed: %s" msgstr "���������%s������������������: %s\n" -#: tools/crm_resource.c:1394 +#: tools/crm_resource.c:1411 #, c-format msgid "'%s' is not a valid agent specification" msgstr "'%s' ������������������������" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pacemaker-2.1.2+20220526.b387f8972/tools/crm_resource.c new/pacemaker-2.1.4+20220615.dc6eb4362/tools/crm_resource.c --- old/pacemaker-2.1.2+20220526.b387f8972/tools/crm_resource.c 2022-05-26 18:38:25.000000000 +0200 +++ new/pacemaker-2.1.4+20220615.dc6eb4362/tools/crm_resource.c 2022-06-15 16:27:17.000000000 +0200 @@ -299,7 +299,7 @@ unsigned int count = pcmk_controld_api_replies_expected(capi); if (count > 0) { - out->info(out, "Waiting for %d %s from the controller", + out->info(out, "Waiting for %u %s from the controller", count, pcmk__plural_alt(count, "reply", "replies")); exit_code = CRM_EX_DISCONNECT; // For unexpected disconnects mainloop = g_main_loop_new(NULL, FALSE);
participants (1)
-
Source-Sync