From 1d3135f1d36f0b84c179079e32dbb48a14d6e1cb129ec8b48bd6a4f553480bbc Mon Sep 17 00:00:00 2001 From: Yan Gao Date: Mon, 13 Jun 2016 15:59:58 +0000 Subject: [PATCH] Accepting request 401722 from home:yan_gao:branches:network:ha-clustering:Factory:Test - libcrmcommon: really ensure crm_time_t structure is fully initialized by API calls - extra: correct syntax error in sample alert script - crmd: avoid timeout on older peers when cancelling a resource operation - crmd: use proper resource agent name when caching metadata - crmd: avoid memory leak when sending fencing alert - liblrmd: avoid memory leak when closing or deleting lrmd connections - extra: improve determination of successful monitors in SNMP alert script - tools: avoid memory leak when crm_mon unpacks constraints - pengine: avoid use-after-free with location constraint + sets + templates - pengine: better error handling when unpacking sets in location constraints - pengine: avoid memory leak when invalid constraint involves set - Build: rename sample alert scripts and install them in datadir - pengine : Correction of the record judgment of the failed information. - Upstream version cs: dd46368eead0d756735216a4bc765466b99274fc - alert-helpers: some fixes in pcmk_smtp_helper.sh - libpengine: log message when stonith disabled, not enabled - pengine: only set unfencing constraints once - tools: don't require node to be known to crm_resource when deleting attribute - libcrmcommon: ensure crm_time_t structure is fully initialized by API calls - attrd: don't leak memory when returning due to malformed update request - crmd: always free result of crm_itoa() - xml: adapt crm_mon.rng per recent reorder of the summary elements - Upstream version cs: 1a05449500f015414b6df68b6d4feb64b713f533 - Rebase: * bug-977201_pacemaker-controld-self-fencing.patch - pengine: properly order stop actions relative to stonith - crm_resource: don't pretend that target-role:started would prevent promotion - crm_mon: consistently print ms resource state OBS-URL: https://build.opensuse.org/request/show/401722 OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/pacemaker?expand=0&rev=246 --- _service | 2 +- ...7201_pacemaker-controld-self-fencing.patch | 16 +++--- pacemaker-1.1.14+git20160527.389294f.tar.bz2 | 3 -- pacemaker-1.1.14+git20160612.dd46368.tar.bz2 | 3 ++ pacemaker.changes | 53 +++++++++++++++++-- pacemaker.spec | 22 ++++---- 6 files changed, 71 insertions(+), 28 deletions(-) delete mode 100644 pacemaker-1.1.14+git20160527.389294f.tar.bz2 create mode 100644 pacemaker-1.1.14+git20160612.dd46368.tar.bz2 diff --git a/_service b/_service index 0f52122..9400b92 100644 --- a/_service +++ b/_service @@ -11,7 +11,7 @@ 1.1.14 --> 1.1.14+git%cd.%h - 389294fd1ebefddad67fff51306f585b758ca860 + dd46368eead0d756735216a4bc765466b99274fc diff --git a/bug-977201_pacemaker-controld-self-fencing.patch b/bug-977201_pacemaker-controld-self-fencing.patch index ea5a55c..beb15fa 100644 --- a/bug-977201_pacemaker-controld-self-fencing.patch +++ b/bug-977201_pacemaker-controld-self-fencing.patch @@ -1,23 +1,19 @@ -commit f61b9889cd169ce2c715a5cc4808321977432ec0 +commit c199dc320b4faa01c19df68a9f2566465f5afa2c Author: Gao,Yan -Date: Sun May 29 20:31:25 2016 +0200 +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 diff --git a/extra/resources/controld b/extra/resources/controld -index 7d75319..908e2ca 100644 +index ddb514a..37d5c62 100644 --- a/extra/resources/controld +++ b/extra/resources/controld -@@ -229,13 +229,9 @@ controld_monitor() { - - case $rc in - 0) smw=$(dlm_tool status -v | grep "stateful_merge_wait=" | cut -d= -f2) -- if [ $smw -eq 1 ]; then -+ if [ "$smw" = "1" ]; then +@@ -232,10 +232,6 @@ controld_monitor() { + if [ -n "$smw" ] && [ $smw -eq 1 ]; then ocf_log err "DLM status is: stateful_merge_wait" rc=$OCF_ERR_GENERIC - elif [ -z "$smw" ] && dlm_tool ls | grep -q "wait fencing" && \ -- ! stonith_admin -H -V | grep -q "wishes to"; then +- ! stonith_admin -H '*' -V | grep -q "wishes to"; then - ocf_log err "DLM status is: wait fencing" - rc=$OCF_ERR_GENERIC else diff --git a/pacemaker-1.1.14+git20160527.389294f.tar.bz2 b/pacemaker-1.1.14+git20160527.389294f.tar.bz2 deleted file mode 100644 index f944576..0000000 --- a/pacemaker-1.1.14+git20160527.389294f.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:4d0c26d5c57607cf4368187f4b68e0e3549085305baa4c1c69ccb452ff06701e -size 3820078 diff --git a/pacemaker-1.1.14+git20160612.dd46368.tar.bz2 b/pacemaker-1.1.14+git20160612.dd46368.tar.bz2 new file mode 100644 index 0000000..c8c883a --- /dev/null +++ b/pacemaker-1.1.14+git20160612.dd46368.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b8abb5c69dc833c7fb28e093ed7706eabd2f6355a8d36e718ab3e645c044772f +size 3821850 diff --git a/pacemaker.changes b/pacemaker.changes index 5d1d118..5fc96e1 100644 --- a/pacemaker.changes +++ b/pacemaker.changes @@ -1,3 +1,50 @@ +------------------------------------------------------------------- +Mon Jun 13 10:31:52 UTC 2016 - ygao@suse.com + +- libcrmcommon: really ensure crm_time_t structure is fully initialized by API calls +- extra: correct syntax error in sample alert script +- crmd: avoid timeout on older peers when cancelling a resource operation +- crmd: use proper resource agent name when caching metadata +- crmd: avoid memory leak when sending fencing alert +- liblrmd: avoid memory leak when closing or deleting lrmd connections +- extra: improve determination of successful monitors in SNMP alert script +- tools: avoid memory leak when crm_mon unpacks constraints +- pengine: avoid use-after-free with location constraint + sets + templates +- pengine: better error handling when unpacking sets in location constraints +- pengine: avoid memory leak when invalid constraint involves set +- Build: rename sample alert scripts and install them in datadir +- pengine : Correction of the record judgment of the failed information. +- Upstream version cs: dd46368eead0d756735216a4bc765466b99274fc + +------------------------------------------------------------------- +Tue Jun 7 08:40:25 UTC 2016 - ygao@suse.com + +- alert-helpers: some fixes in pcmk_smtp_helper.sh +- libpengine: log message when stonith disabled, not enabled +- pengine: only set unfencing constraints once +- tools: don't require node to be known to crm_resource when deleting attribute +- libcrmcommon: ensure crm_time_t structure is fully initialized by API calls +- attrd: don't leak memory when returning due to malformed update request +- crmd: always free result of crm_itoa() +- xml: adapt crm_mon.rng per recent reorder of the summary elements +- Upstream version cs: 1a05449500f015414b6df68b6d4feb64b713f533 + +------------------------------------------------------------------- +Fri Jun 3 12:07:19 UTC 2016 - ygao@suse.com + +- Rebase: + * bug-977201_pacemaker-controld-self-fencing.patch + +- pengine: properly order stop actions relative to stonith +- crm_resource: don't pretend that target-role:started would prevent promotion +- crm_mon: consistently print ms resource state +- controld: use "stonith_admin -H '*' -V" (bsc#977201) +- stonith_admin: allow -H '*' to show history for all nodes (bsc#977201) +- controld: fix "[: -eq: unary operator expected" issue from PR 1022 (bsc#977201) +- extra: Support of the task designation of a resource and the fencing. +- extra: Change pcmk_snmp_helper.sh (2). +- Upstream version cs: 6a8c1e9d35c65cbfd4019cfe797cb7bb9dfd4322 + ------------------------------------------------------------------- Sun May 29 20:06:12 UTC 2016 - ygao@suse.com @@ -44,7 +91,7 @@ Wed May 4 10:38:16 UTC 2016 - ygao@suse.com - pengine: Organize order of actions for master resources in anti-colocations (bsc#977800) - pengine: Respect asymmetrical ordering when trying to move resources (bsc#977675) - fencing: Record the last known names of nodes to make sure fencing requested with nodeid works (bsc#974108) -- crmd: first implementation of integrated multi-agent, multi-target alerting mechanism +- crmd: first implementation of integrated multi-agent, multi-target alerting mechanism (fate#320855) - ping resource: Use fping6 for IPv6 hosts (bsc#976271) - pengine: Consider resource failed if any of the configured monitor operations failed (bsc#972187) - ping resource: avoid undefined func w/ OCF_FUNCTIONS=/dev/null @@ -676,7 +723,7 @@ Fri Feb 27 09:44:50 UTC 2015 - ygao@suse.com - properly record stop args after reload - pengine: Do not reschedule monitors that are no longer needed while resource definitions have changed (bsc#914761) - Build: Fix building when heartbeat support is disabled -- fencing: cl#5134 - Support random fencing delay to avoid double fencing (FATE#317136, FATE#318381) +- fencing: cl#5134 - Support random fencing delay to avoid double fencing (FATE#317136, FATE#318381, bsc#970733) - extra: Use crm_simulate for the showscores script - attrd: refresh should force an immediate write-out of all attributes - service: Leave synchronous calls to be free'd by the caller @@ -861,7 +908,7 @@ Fri Oct 17 12:55:03 UTC 2014 - ygao@suse.com - crmd: properly update job limit for baremetal remote-nodes - crmd: Remote-node throttle jobs count towards cluster-node hosting conneciton rsc - crmd: Ensure throttle_mode() does something on Linux -- systemd: Perform actions asynchronously +- systemd: Perform actions asynchronously (bsc#956500) - crm_attribute: Correctly update config options when -o crm_config is specified - crmd: Fixes crash when remote connection migration fails - pengine: fixes segfault caused by malformed log warning diff --git a/pacemaker.spec b/pacemaker.spec index 9b3c6a7..188f4af 100644 --- a/pacemaker.spec +++ b/pacemaker.spec @@ -21,7 +21,7 @@ %global pcmk_docdir %{_docdir}/%{name} %global specversion 1 -%global pcmkversion 1.1.14+git20160527.389294f +%global pcmkversion 1.1.14+git20160612.dd46368 # set following to the actual commit or, for final release, concatenate # "pcmkversion" macro to "Pacemaker-" (will yield a tag per the convention) %global commit HEAD @@ -142,6 +142,7 @@ Release: 0 #Release: %{pcmk_release}%{?dist} Url: http://www.clusterlabs.org +# eg. https://github.com/ClusterLabs/pacemaker/archive/8ae45302394b039fb098e150f156df29fc0cb576/pacemaker-8ae4530.tar.gz #Source0: https://github.com/%{github_owner}/%{name}/archive/%{commit}/%{name}-%{shortcommit}.tar.gz Source0: %{name}-%{version}.tar.bz2 Source1: crm_report.in @@ -177,10 +178,6 @@ Suggests: graphviz %systemd_requires %endif -%if 0%{?rhel} > 0 -ExclusiveArch: i386 i686 x86_64 -%endif - # Required for core functionality (python-devel depends on python) BuildRequires: autoconf BuildRequires: automake @@ -451,10 +448,13 @@ manager for Corosync, CMAN and/or Linux-HA. find . -exec touch \{\} \; %build + +# Early versions of autotools (e.g. RHEL <= 5) do not support --docdir +export docdir=%{pcmk_docdir} + ./autogen.sh -# RHEL <= 5 does not support --docdir -docdir=%{pcmk_docdir} %{configure} \ +%{configure} \ %{?with_profiling: --with-profiling} \ %{?with_coverage: --with-coverage} \ %{!?with_cman: --without-cman} \ @@ -490,7 +490,7 @@ sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool %endif -make %{_smp_mflags} V=1 docdir=%{pcmk_docdir} all +make %{_smp_mflags} V=1 all %install rm -rf %{buildroot} @@ -515,9 +515,6 @@ chmod a+x %{buildroot}/%{_datadir}/pacemaker/tests/cts/CTSlab.py # These are not actually scripts find %{buildroot} -name '*.xml' -type f -print0 | xargs -0 chmod a-x -find %{buildroot} -name '*.xsl' -type f -print0 | xargs -0 chmod a-x -find %{buildroot} -name '*.rng' -type f -print0 | xargs -0 chmod a-x -find %{buildroot} -name '*.dtd' -type f -print0 | xargs -0 chmod a-x # Don't package static libs find %{buildroot} -name '*.a' -type f -print0 | xargs -0 rm -f @@ -722,6 +719,8 @@ fi %doc %{_mandir}/man8/pacemakerd.* %doc %{_mandir}/man8/stonith_admin.* +%doc %{_datadir}/pacemaker/alerts + #%license COPYING %doc COPYING %doc AUTHORS @@ -780,6 +779,7 @@ fi %{_sbindir}/crm_report %{_sbindir}/crm_report.pacemaker %{_sbindir}/crm_ticket +%exclude %{_datadir}/pacemaker/alerts %exclude %{_datadir}/pacemaker/tests %{_datadir}/pacemaker %{_datadir}/snmp/mibs/PCMK-MIB.txt