From 68aa3f89d045b831d7683331132ad15c05a106ecf82321c4b8b58896d499eae6 Mon Sep 17 00:00:00 2001 From: Yan Gao Date: Thu, 4 Apr 2019 13:06:34 +0000 Subject: [PATCH] Accepting request 691523 from home:yan_gao:branches:network:ha-clustering:Factory - spec: no need to explicitly require the virtual dependency on libqb - Rebase: * bug-728579_pacemaker-stonith-dev-id.patch - Update to version 2.0.1+20190402.e091f4f0c: - scheduler: one group stop shouldn't make another required - libcrmcommon: compare_version: drop superfluous heap allocation - libfencing: enumerate installed RHCS-style agents alpha-sorted - xml diff'ing: prevent 'id' attribute reordering in "diff-removed" - libcrmcommon: downplay "Creating RNG parser context" as debug prio - controller: improve failed recurring action messages - controller: improve lost action logs - use common service interface for fence-agents and RAs - libcrmcommon: allow whitespace in name/value pairs - libcrmcommon: pcmk_nvpair_t should handle NULL values - Update to version 2.0.1+20190312.059e2e26b: - spec: move stonith_admin to -cli where it belongs - tools: Add crm_rule. - Update to version 2.0.1+20190311.e91ee92e5: - libfencing: Change return type on stonith_agent_exists. - scheduler: cl#5301 - respect order constraints when relevant resources are being probed (bsc#1117934, bsc#1128374) - Update to version 2.0.1+20190304.1ac166cd3: - build: Update pkgconfig files for libpe. - libp-i: Add a pkgconfig file for libp-i. - libs: Rename libpengine to libpacemaker-internal. - tools: Add new validate options to crm_resource. - Add HealthIOWait provider which checks hosts's IOWait OBS-URL: https://build.opensuse.org/request/show/691523 OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/pacemaker?expand=0&rev=323 --- _servicedata | 2 +- bug-728579_pacemaker-stonith-dev-id.patch | 82 ++++++++++++++--------- pacemaker-2.0.1+20190304.9e909a5bd.tar.xz | 3 - pacemaker-2.0.1+20190402.e091f4f0c.tar.xz | 3 + pacemaker.changes | 50 +++++++++++++- pacemaker.spec | 10 ++- 6 files changed, 108 insertions(+), 42 deletions(-) delete mode 100644 pacemaker-2.0.1+20190304.9e909a5bd.tar.xz create mode 100644 pacemaker-2.0.1+20190402.e091f4f0c.tar.xz diff --git a/_servicedata b/_servicedata index 6cf75aa..522c9a9 100644 --- a/_servicedata +++ b/_servicedata @@ -1,6 +1,6 @@ git://github.com/ClusterLabs/pacemaker.git - 37cfc8a6175ee951c17ad85fba6d143359610f81 + 9bf0fcf37d50854b087a28003f2d9f7ca94601e0 \ 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 b7a526d..6cd5cfb 100644 --- a/bug-728579_pacemaker-stonith-dev-id.patch +++ b/bug-728579_pacemaker-stonith-dev-id.patch @@ -4,11 +4,11 @@ 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.0.0+20180726.3d81c89b8/daemons/fenced/fenced_commands.c +Index: pacemaker-2.0.1+20190402.e091f4f0c/daemons/fenced/fenced_commands.c =================================================================== ---- pacemaker-2.0.0+20180726.3d81c89b8.orig/daemons/fenced/fenced_commands.c -+++ pacemaker-2.0.0+20180726.3d81c89b8/daemons/fenced/fenced_commands.c -@@ -940,6 +940,7 @@ build_device_from_xml(xmlNode * msg) +--- pacemaker-2.0.1+20190402.e091f4f0c.orig/daemons/fenced/fenced_commands.c ++++ pacemaker-2.0.1+20190402.e091f4f0c/daemons/fenced/fenced_commands.c +@@ -946,6 +946,7 @@ build_device_from_xml(xmlNode * msg) device->id, device->on_target_actions); } @@ -16,27 +16,27 @@ Index: pacemaker-2.0.0+20180726.3d81c89b8/daemons/fenced/fenced_commands.c device->work = mainloop_add_trigger(G_PRIORITY_HIGH, stonith_device_dispatch, device); /* TODO: Hook up priority */ -Index: pacemaker-2.0.0+20180726.3d81c89b8/lib/fencing/st_client.c +Index: pacemaker-2.0.1+20190402.e091f4f0c/lib/fencing/st_client.c =================================================================== ---- pacemaker-2.0.0+20180726.3d81c89b8.orig/lib/fencing/st_client.c -+++ pacemaker-2.0.0+20180726.3d81c89b8/lib/fencing/st_client.c -@@ -38,6 +38,7 @@ struct stonith_action_s { +--- pacemaker-2.0.1+20190402.e091f4f0c.orig/lib/fencing/st_client.c ++++ pacemaker-2.0.1+20190402.e091f4f0c/lib/fencing/st_client.c +@@ -39,6 +39,7 @@ struct stonith_action_s { char *action; char *victim; - char *args; + GHashTable *args; + char *dev_id; int timeout; int async; void *userdata; -@@ -621,6 +622,7 @@ stonith__destroy_action(stonith_action_t - free(action->args); - free(action->action); - free(action->victim); +@@ -559,6 +560,7 @@ stonith__destroy_action(stonith_action_t + } + free(action->output); + free(action->error); + free(action->dev_id); free(action); } } -@@ -690,6 +692,8 @@ stonith_action_create(const char *agent, +@@ -628,6 +630,8 @@ stonith_action_create(const char *agent, if (device_args) { char buffer[512]; const char *value = NULL; @@ -45,7 +45,7 @@ Index: pacemaker-2.0.0+20180726.3d81c89b8/lib/fencing/st_client.c snprintf(buffer, sizeof(buffer), "pcmk_%s_retries", _action); value = g_hash_table_lookup(device_args, buffer); -@@ -697,6 +701,11 @@ stonith_action_create(const char *agent, +@@ -635,6 +639,11 @@ stonith_action_create(const char *agent, if (value) { action->max_retries = atoi(value); } @@ -57,23 +57,43 @@ Index: pacemaker-2.0.0+20180726.3d81c89b8/lib/fencing/st_client.c } return action; -@@ -878,6 +887,8 @@ internal_stonith_action_execute(stonith_ +@@ -755,6 +764,10 @@ internal_stonith_action_execute(stonith_ + svc_action->params = action->args; + svc_action->cb_data = (void *) action; - if (!pid) { - /* child */ ++ if (action->dev_id) { ++ svc_action->rsc = strdup(action->dev_id); ++ } ++ + /* keep retries from executing out of control and free previous results */ + if (is_retry) { + free(action->output); +Index: pacemaker-2.0.1+20190402.e091f4f0c/lib/services/services_linux.c +=================================================================== +--- pacemaker-2.0.1+20190402.e091f4f0c.orig/lib/services/services_linux.c ++++ pacemaker-2.0.1+20190402.e091f4f0c/lib/services/services_linux.c +@@ -30,6 +30,9 @@ + #include "crm/common/mainloop.h" + #include "crm/services.h" + ++#include "crm/stonith-ng.h" ++#include "crm/fencing/internal.h" ++ + #include "services_private.h" + + #if SUPPORT_CIBSECRETS +@@ -169,6 +172,14 @@ set_ocf_env_with_prefix(gpointer key, gp + static void + add_action_env_vars(const svc_action_t *op) + { ++ if (safe_str_eq(op->standard, PCMK_RESOURCE_CLASS_STONITH) ++ && safe_str_eq(op->agent, "fence_legacy") ++ && op->rsc) { + const char *st_dev_id_key = CRM_META "_" F_STONITH_DEVICE; + - setpgid(0, 0); - - close(1); -@@ -900,6 +911,10 @@ internal_stonith_action_execute(stonith_ - close(p_write_fd); - close(p_stderr_fd); - -+ if (action->dev_id) { -+ setenv(st_dev_id_key, action->dev_id, 1); -+ } ++ setenv(st_dev_id_key, op->rsc, 1); ++ } + - /* keep retries from executing out of control */ - if (is_retry) { - sleep(1); + if (safe_str_eq(op->standard, PCMK_RESOURCE_CLASS_OCF) == FALSE) { + return; + } diff --git a/pacemaker-2.0.1+20190304.9e909a5bd.tar.xz b/pacemaker-2.0.1+20190304.9e909a5bd.tar.xz deleted file mode 100644 index 893eb88..0000000 --- a/pacemaker-2.0.1+20190304.9e909a5bd.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:572344c1ee41dcf15aeefb309000205a62637bc63f8d374c5fde758fdf807c6a -size 3424840 diff --git a/pacemaker-2.0.1+20190402.e091f4f0c.tar.xz b/pacemaker-2.0.1+20190402.e091f4f0c.tar.xz new file mode 100644 index 0000000..e8506a6 --- /dev/null +++ b/pacemaker-2.0.1+20190402.e091f4f0c.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9940f6c3f693538e61f32e18fe643d0a4c20c589b4e859e659bd3171daf2432b +size 3427304 diff --git a/pacemaker.changes b/pacemaker.changes index 65ea178..9a357a4 100644 --- a/pacemaker.changes +++ b/pacemaker.changes @@ -1,3 +1,51 @@ +------------------------------------------------------------------- +Thu Apr 4 09:09:49 UTC 2019 - Yan Gao + +- spec: no need to explicitly require the virtual dependency on libqb + +------------------------------------------------------------------- +Thu Apr 4 09:05:55 UTC 2019 - Yan Gao + +- Rebase: + * bug-728579_pacemaker-stonith-dev-id.patch + +- Update to version 2.0.1+20190402.e091f4f0c: +- scheduler: one group stop shouldn't make another required +- libcrmcommon: compare_version: drop superfluous heap allocation +- libfencing: enumerate installed RHCS-style agents alpha-sorted +- xml diff'ing: prevent 'id' attribute reordering in "diff-removed" +- libcrmcommon: downplay "Creating RNG parser context" as debug prio +- controller: improve failed recurring action messages +- controller: improve lost action logs +- use common service interface for fence-agents and RAs +- libcrmcommon: allow whitespace in name/value pairs +- libcrmcommon: pcmk_nvpair_t should handle NULL values + +------------------------------------------------------------------- +Wed Mar 13 11:19:11 UTC 2019 - Yan Gao + +- Update to version 2.0.1+20190312.059e2e26b: +- spec: move stonith_admin to -cli where it belongs +- tools: Add crm_rule. + +------------------------------------------------------------------- +Tue Mar 12 10:41:19 UTC 2019 - Yan Gao + +- Update to version 2.0.1+20190311.e91ee92e5: +- libfencing: Change return type on stonith_agent_exists. +- scheduler: cl#5301 - respect order constraints when relevant resources are being probed (bsc#1117934, bsc#1128374) + +------------------------------------------------------------------- +Wed Mar 6 16:34:53 UTC 2019 - Yan Gao + +- Update to version 2.0.1+20190304.1ac166cd3: +- build: Update pkgconfig files for libpe. +- libp-i: Add a pkgconfig file for libp-i. +- libs: Rename libpengine to libpacemaker-internal. +- tools: Add new validate options to crm_resource. +- Add HealthIOWait provider which checks hosts's IOWait +- tools: crm_resource --clear should print out what it does + ------------------------------------------------------------------- Tue Mar 5 13:49:11 UTC 2019 - Yan Gao @@ -342,7 +390,7 @@ Fri Jul 27 11:23:32 UTC 2018 - ygao@suse.com - scheduler: print to stdout when appropriate - tools: treat INFINITY correctly in crm_failcount - libcrmservice: support mount, path, and timer systemd unit types -- libcrmcluster: avoid use-of-NULL when searching for remote node +- libcrmcluster: avoid use-of-NULL when searching for remote node (bsc#1128772) - spec: add procps-ng & psmisc dependencies as suitable - libcrmcommon: lower maximum IPC flush delay to 1.5 seconds - CTS: fix python3 usage diff --git a/pacemaker.spec b/pacemaker.spec index 3816fe7..1ae1675 100644 --- a/pacemaker.spec +++ b/pacemaker.spec @@ -74,7 +74,7 @@ %endif Name: pacemaker -Version: 2.0.1+20190304.9e909a5bd +Version: 2.0.1+20190402.e091f4f0c Release: 0 Summary: Scalable High-Availability cluster resource manager # AGPL-3.0 licensed extra/clustermon.sh is not present in the binary @@ -132,7 +132,6 @@ BuildRequires: pkgconfig(uuid) Requires: %{name}-cli = %{version}-%{release} Requires: corosync >= 2.0.0 Requires: libpacemaker3 = %{version}-%{release} -Requires: libqb > 0.13.0 Requires: psmisc Requires: python3 Requires: resource-agents @@ -502,7 +501,6 @@ fi %{_sbindir}/cibsecret %{_sbindir}/fence_legacy -%{_sbindir}/stonith_admin %{_mandir}/man7/pacemaker-controld.7%{ext_man} %{_mandir}/man7/pacemaker-schedulerd.7%{ext_man} @@ -513,7 +511,6 @@ fi %{_mandir}/man8/cibsecret.8%{ext_man} %{_mandir}/man8/fence_legacy.8%{ext_man} %{_mandir}/man8/pacemakerd.8%{ext_man} -%{_mandir}/man8/stonith_admin.8%{ext_man} %doc %{_datadir}/pacemaker/alerts @@ -550,7 +547,9 @@ fi %{_sbindir}/crm_simulate %{_sbindir}/crm_report %{_sbindir}/crm_report.pacemaker +%{_sbindir}/crm_rule %{_sbindir}/crm_ticket +%{_sbindir}/stonith_admin %exclude %{_datadir}/pacemaker/alerts %exclude %{_datadir}/pacemaker/tests %{_datadir}/pacemaker @@ -578,7 +577,6 @@ fi %exclude %{_mandir}/man8/fence_legacy.* %exclude %{_mandir}/man8/pacemakerd.* %exclude %{_mandir}/man8/pacemaker-remoted.* -%exclude %{_mandir}/man8/stonith_admin.* #%license licenses/GPLv2 %doc COPYING ChangeLog @@ -598,7 +596,7 @@ fi %{_libdir}/libcrmcommon.so.* %{_libdir}/libpe_status.so.* %{_libdir}/libpe_rules.so.* -%{_libdir}/libpengine.so.* +%{_libdir}/libpacemaker-internal.so.* %{_libdir}/libstonithd.so.* %{_libdir}/libtransitioner.so.* #%license licenses/LGPLv2.1