diff --git a/_service b/_service index 5ce0891..c7a7f4b 100644 --- a/_service +++ b/_service @@ -11,7 +11,7 @@ 1.1.16 --> 1.1.16+git%cd.%h - 77ea74d01bcb6b7100e1c7acab0e66e79aceaf8b + ce86684f5d0672791e9fd3043a84f0931cdd97ea diff --git a/bug-1015842_pacemaker-NodeUtilization-RA-2.patch b/bug-1015842_pacemaker-NodeUtilization-RA-2.patch deleted file mode 100644 index c5155ea..0000000 --- a/bug-1015842_pacemaker-NodeUtilization-RA-2.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 25264762338c210e865b3531baa33705c40e7ea9 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Kristoffer=20Gr=C3=B6nlund?= -Date: Wed, 15 Mar 2017 13:30:19 +0100 -Subject: [PATCH] NodeUtilization: Fix mixed indentation, set executable bit - ---- - extra/resources/NodeUtilization | 32 ++++++++++++++++---------------- - 1 file changed, 16 insertions(+), 16 deletions(-) - mode change 100644 => 100755 extra/resources/NodeUtilization - -diff --git a/extra/resources/NodeUtilization b/extra/resources/NodeUtilization -old mode 100644 -new mode 100755 -index b9c737e..f246010 ---- a/extra/resources/NodeUtilization -+++ b/extra/resources/NodeUtilization -@@ -173,7 +173,7 @@ END - } - - NodeUtilization_start() { -- ha_pseudo_resource $statefile start -+ ha_pseudo_resource $statefile start - if ! ocf_is_true "$OCF_RESKEY_dynamic"; then - if ! set_utilization; then - exit $OCF_ERR_GENERIC -@@ -183,25 +183,25 @@ NodeUtilization_start() { - } - - NodeUtilization_stop() { -- ha_pseudo_resource $statefile stop -+ ha_pseudo_resource $statefile stop - exit $OCF_SUCCESS - } - - NodeUtilization_monitor() { -- local rc -- ha_pseudo_resource $statefile monitor -- rc=$? -- -- case $rc in -- $OCF_SUCCESS) -- if ocf_is_true "$OCF_RESKEY_dynamic"; then -- if ! set_utilization; then -- exit $OCF_ERR_GENERIC -- fi -- fi -- ;; -- *) exit $rc;; -- esac -+ local rc -+ ha_pseudo_resource $statefile monitor -+ rc=$? -+ -+ case $rc in -+ $OCF_SUCCESS) -+ if ocf_is_true "$OCF_RESKEY_dynamic"; then -+ if ! set_utilization; then -+ exit $OCF_ERR_GENERIC -+ fi -+ fi -+ ;; -+ *) exit $rc;; -+ esac - } - - NodeUtilization_validate() { diff --git a/bug-1015842_pacemaker-NodeUtilization-RA-3.patch b/bug-1015842_pacemaker-NodeUtilization-RA-3.patch deleted file mode 100644 index d150325..0000000 --- a/bug-1015842_pacemaker-NodeUtilization-RA-3.patch +++ /dev/null @@ -1,22 +0,0 @@ -From a678ce6daf71326fee7c6e2309c480f34673b0d3 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Kristoffer=20Gr=C3=B6nlund?= -Date: Wed, 15 Mar 2017 13:36:15 +0100 -Subject: [PATCH] NodeUtilization: Never set hv_memory to a negative value - ---- - extra/resources//NodeUtilization | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/heartbeat/NodeUtilization b/heartbeat/NodeUtilization -index f246010..61969e6 100755 ---- a/extra/resources//NodeUtilization -+++ b/extra/resources//NodeUtilization -@@ -155,6 +155,8 @@ set_utilization() { - hv_mem=$(( $(Host_Total_Memory) - OCF_RESKEY_utilization_hv_memory_reservation )) - uti_mem=$(crm_attribute -Q -t nodes -U "$host_name" -z -n hv_memory 2>/dev/null) - -+ [ $hv_mem -lt 0 ] && hv_mem=0 -+ - if [ "$hv_mem" != "$uti_mem" ]; then - if ! crm_attribute -t nodes -U "$host_name" -z -n hv_memory -v $hv_mem; then - ocf_log err "Failed to set the hv_memory utilization attribute for $host_name using crm_attribute." diff --git a/bug-1015842_pacemaker-NodeUtilization-RA-1.patch b/bug-1015842_pacemaker-NodeUtilization-RA.patch similarity index 87% rename from bug-1015842_pacemaker-NodeUtilization-RA-1.patch rename to bug-1015842_pacemaker-NodeUtilization-RA.patch index 0303a59..db7afd9 100644 --- a/bug-1015842_pacemaker-NodeUtilization-RA-1.patch +++ b/bug-1015842_pacemaker-NodeUtilization-RA.patch @@ -1,13 +1,16 @@ -From b8d5e3eec6ade13af37cf4a8f5a08c3488585f68 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Kristoffer=20Gr=C3=B6nlund?= -Date: Thu, 2 Feb 2017 09:06:00 +0100 -Subject: [PATCH] Medium: NodeUtilization: Add NodeUtilization agent +commit 501bfa9359923b5c9b1fd3f349d93c497940d0cd +Author: Kristoffer Grönlund +Date: Thu Feb 2 09:06:00 2017 +0100 ---- - extra/resources/Makefile.am | 1 + - extra/resources/NodeUtilization | 224 ++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 225 insertions(+) - create mode 100644 extra/resources/NodeUtilization + Medium: NodeUtilization: Add NodeUtilization agent + + The Node Utilization agent detects system parameters like available CPU, host + memory and hypervisor memory availability, and adds them into the CIB for each + node using crm_attribute. Run the agent as a clone resource to have it populate + these parameters on each node. + + Note: Setting hv_memory only works with Xen at the moment, using the xl or xm + command line tools. diff --git a/extra/resources/Makefile.am b/extra/resources/Makefile.am --- a/extra/resources/Makefile.am @@ -23,11 +26,11 @@ diff --git a/extra/resources/Makefile.am b/extra/resources/Makefile.am isolationtech_SCRIPTS = docker-wrapper diff --git a/extra/resources/NodeUtilization b/extra/resources/NodeUtilization -new file mode 100644 -index 0000000..b9c737e +new file mode 100755 +index 00000000..61969e6f --- /dev/null -+++ b/extra/resources/NodeUtilization -@@ -0,0 +1,224 @@ ++++ b/heartbeat/NodeUtilization +@@ -0,0 +1,226 @@ +#!/bin/sh +# +# @@ -185,6 +188,8 @@ index 0000000..b9c737e + hv_mem=$(( $(Host_Total_Memory) - OCF_RESKEY_utilization_hv_memory_reservation )) + uti_mem=$(crm_attribute -Q -t nodes -U "$host_name" -z -n hv_memory 2>/dev/null) + ++ [ $hv_mem -lt 0 ] && hv_mem=0 ++ + if [ "$hv_mem" != "$uti_mem" ]; then + if ! crm_attribute -t nodes -U "$host_name" -z -n hv_memory -v $hv_mem; then + ocf_log err "Failed to set the hv_memory utilization attribute for $host_name using crm_attribute." @@ -203,7 +208,7 @@ index 0000000..b9c737e +} + +NodeUtilization_start() { -+ ha_pseudo_resource $statefile start ++ ha_pseudo_resource $statefile start + if ! ocf_is_true "$OCF_RESKEY_dynamic"; then + if ! set_utilization; then + exit $OCF_ERR_GENERIC @@ -213,25 +218,25 @@ index 0000000..b9c737e +} + +NodeUtilization_stop() { -+ ha_pseudo_resource $statefile stop ++ ha_pseudo_resource $statefile stop + exit $OCF_SUCCESS +} + +NodeUtilization_monitor() { -+ local rc -+ ha_pseudo_resource $statefile monitor -+ rc=$? ++ local rc ++ ha_pseudo_resource $statefile monitor ++ rc=$? + -+ case $rc in -+ $OCF_SUCCESS) -+ if ocf_is_true "$OCF_RESKEY_dynamic"; then -+ if ! set_utilization; then -+ exit $OCF_ERR_GENERIC -+ fi -+ fi -+ ;; -+ *) exit $rc;; -+ esac ++ case $rc in ++ $OCF_SUCCESS) ++ if ocf_is_true "$OCF_RESKEY_dynamic"; then ++ if ! set_utilization; then ++ exit $OCF_ERR_GENERIC ++ fi ++ fi ++ ;; ++ *) exit $rc;; ++ esac +} + +NodeUtilization_validate() { diff --git a/pacemaker-1.1.16+20170320.77ea74d.tar.bz2 b/pacemaker-1.1.16+20170320.77ea74d.tar.bz2 deleted file mode 100644 index d768207..0000000 --- a/pacemaker-1.1.16+20170320.77ea74d.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e259506a9b70639a9e06bd6b508f0fcc5bbc7daa487effd736220983c485d81e -size 3963273 diff --git a/pacemaker-1.1.16+20170509.ce86684f5.tar.bz2 b/pacemaker-1.1.16+20170509.ce86684f5.tar.bz2 new file mode 100644 index 0000000..4d750f0 --- /dev/null +++ b/pacemaker-1.1.16+20170509.ce86684f5.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0676abbfa73dc3099a7a49451963b843d8f756cbf1d0b8df90371f82a57875b6 +size 3997327 diff --git a/pacemaker-lrmd.h-include-libxml.patch b/pacemaker-lrmd.h-include-libxml.patch deleted file mode 100644 index eff9da9..0000000 --- a/pacemaker-lrmd.h-include-libxml.patch +++ /dev/null @@ -1,29 +0,0 @@ -commit 6a9c3c80245f6fd84433e0c1c65c63b4f576350e -Author: Gao,Yan -Date: Tue Mar 7 00:23:03 2017 +0100 - - Build: lrmd: Include libxml/tree.h in lrmd.h - - 65d0b80 introduced "xmlNode *versioned_params" in lrmd_event_data_t but - without including libxml/tree.h in lrmd.h. - - Sbd failed to build against it: - - In file included from /usr/include/pacemaker/crm/common/util.h:33:0, - from sbd-inquisitor.c:19: - /usr/include/pacemaker/crm/lrmd.h:241:5: error: unknown type name ‘xmlNode’ - xmlNode *versioned_params; - ^ - -diff --git a/include/crm/lrmd.h b/include/crm/lrmd.h -index 446b39c..6f829f7 100644 ---- a/include/crm/lrmd.h -+++ b/include/crm/lrmd.h -@@ -23,6 +23,7 @@ - * \ingroup lrmd - */ - #include -+#include - #include - - #ifndef LRMD__H diff --git a/pacemaker.changes b/pacemaker.changes index 09f66ad..feb514e 100644 --- a/pacemaker.changes +++ b/pacemaker.changes @@ -1,3 +1,106 @@ +------------------------------------------------------------------- +Mon May 15 12:41:35 UTC 2017 - ygao@suse.com + +- RA: NodeUtilization - Use xl if available (bsc#1015842) + * Drop obsolete: + ** bug-1015842_pacemaker-NodeUtilization-RA-1.patch + ** bug-1015842_pacemaker-NodeUtilization-RA-2.patch + ** bug-1015842_pacemaker-NodeUtilization-RA-3.patch + * Add bug-1015842_pacemaker-NodeUtilization-RA.patch + +- Drop obsolete pacemaker-lrmd.h-include-libxml.patch + +- lrmd,pengine: remove versioned parameters from documentation and tests +- lrmd,pengine: don't support versioned attributes by default +- Containers: Relax docker/remote colocation constraint when appropriate +- Containers: Ensure remote resources are only allocated to full cluster nodes +- lrmd: Ensure verbosity options are handled after crm_log_init() +- pengine: unmanage guest-container puts guest in maintenance +- pengine: unique ids for meta-attributes of guest-connection +- pengine: update regression tests for probes of guest-connections +- pengine: have guest-node connection-resources probed +- crmd: clean up throttle memory on exit +- libcib: avoid use-after-free when deleting CIB connection +- systemd unit files: add dependency on resource-agents-deps +- pengine: Allow use of resource params and meta-params in location rules +- libcrmcommon: avoid evicting IPC client if messages spike briefly +- libcrmcommon: don't delay next flush by more than 5 seconds +- libcib: downgrade ACL status message to trace +- crmd: don't destroy election structure twice +- crmd: avoid use-after-free when disconnecting from CIB +- libcib: functionize destroying op callback table +- crmd,libcrmcommon: update throttle when CPUs are hot-plugged +- crmd: remove I/O load checks +- libcrmcommon: add function to get number of CPU cores +- crmd: functionize checking throttle thresholds +- crmd: functionize setting throttle load target +- CTS: update corosync fail patterns +- crmd: check correct timer for being started +- crmd: improve fencing result message +- lrmd: Have pacemaker-remote reap zombies if it is running as pid 1 +- pengine: add test for per-op fail count +- libcrmcommon: filter attributes with '#' from XML fields +- extra: Dummy stop shouldn't fail if monitor is in progress +- extra: use whitespace consistently in Dummy +- crmd: don't fence old DC if it's shutting down as soon-to-be DC joins +- crmd: avoid DC sending offer to itself twice +- crmd: don't restart transition if no fence devices +- crmd: skip restart at (not above) stonith-max-attempts +- crmd: allow clearing all stonith fail counts +- crmd: track stonith fail counts on all nodes +- crmd: forget stonith failures when forgetting node +- crmd: consider target when checking stonith failures +- crmd: check for too many stonith failures only when aborting for that reason +- PE: Remote: Allow remote nodes that start containers with pacemaker remote inside +- fencing: ignore empty 'action' parameter in fence devices +- crmd: fix remove attr_id from update_attr_delegate() +- Fix log showing the node status so that it is easily distinguishable from other logs +- crmd: don't abandon fencing after one "no devices" failure +- libcrmcommon: more useful message if can't open dump file +- libcib: use new convenience function for sanitizing ID +- libpe_status: implement active check for bundles +- tools: update crm_mon RNG schema for bundles +- crmd: add set_join_state() +- crmd: fix line wrapping +- crmd: update_attr_delegate() instead of set_standby() +- PE: Containers: Allow custom docker run commands +- logrotate: rotate pacemaker logs inside bundled containers +- libpe_status: improve bundle docker defaults +- tools: crm_resource should free result if re-running function returns one +- libpe_status: avoid memory leak when counting failures +- crmd: remove functions from crmd_utils.c +- PE: Containers: Ensure replicas_per_host=1 is respected during rediscovery and startup +- libcib: change the format of the state id in set_standby() +- PE: Containers: Allow the internal and external ports to optionally differ +- PE: Containers: Allow custom control ports when using the machine's local address +- crmd: set_standby in first_join +- PE: Bundles: Better support for net=host, allow the pacemaker-remote port to change +- Remote: Allow the port to listen on to be specified on the commandline +- libpe_status: allow more than 254 containers in a bundle +- crmd,liblrmd: handle crmd-local proxy requests properly +- common: Prevention of the double definition. +- pacemaker_remoted: Allow compilation with glib older 2.36 +- PE: Containers: Default 'replicas' to the same number of 'masters' +- PE: Containers: Correctly find the right anonymous child resource running in a container +- PE: Clone: Simplified allocation function +- PE: Contaienrs: Better checks when assuming a container will start +- PE: Preferred nodes are only accepted if their scores are equal to the otherwise best candidate +- PE: Containers: Remove containers on termination by default +- PE: Container: Add support for non-default docker networks and supplying external IPs to container resources +- PE: Containers: Allow specifiying the maximum number of peers per host +- PE: Containers: Force a sane hostname +- PE: Containers: Add support for nic and netmask parameters +- PE: container: Parse network and mount options +- PE: Allow the graph to assume container nodes will come up and schedule actions for it +- PE: Force node scores for containerized resources +- PE: Basic allocation of containers +- Core: Track the line number of callers of crm_(set|clear)_bit +- xml: Correctly find the first child element +- PE: Basic container parsing and expansion +- PE: Correctly test for clone functionality +- Improve recovery when demote fails with OCF_NOT_RUNNING +- Upstream version cs: ce86684f5d0672791e9fd3043a84f0931cdd97ea + ------------------------------------------------------------------- Thu Mar 23 16:02:22 UTC 2017 - ygao@suse.com diff --git a/pacemaker.spec b/pacemaker.spec index f171b39..5f95a3f 100644 --- a/pacemaker.spec +++ b/pacemaker.spec @@ -25,7 +25,7 @@ ## Where to install Pacemaker documentation %global pcmk_docdir %{_docdir}/%{name} -%global commit 1.1.16+20170320.77ea74d +%global commit 1.1.16+20170509.ce86684f5 ## Corosync version %define cs_version 2 @@ -88,10 +88,7 @@ Patch7: bug-943295_pacemaker-lrmd-log-notice.patch Patch8: bug-977201_pacemaker-controld-self-fencing.patch Patch9: bug-995365_pacemaker-cts-restart-systemd-journald.patch Patch10: bug-1028138_pacemaker-pacemaker.service-TasksMax.patch -Patch11: bug-1015842_pacemaker-NodeUtilization-RA-1.patch -Patch12: bug-1015842_pacemaker-NodeUtilization-RA-2.patch -Patch13: bug-1015842_pacemaker-NodeUtilization-RA-3.patch -Patch14: pacemaker-lrmd.h-include-libxml.patch +Patch11: bug-1015842_pacemaker-NodeUtilization-RA.patch # Required for core functionality BuildRequires: autoconf BuildRequires: automake @@ -309,9 +306,6 @@ manager for Corosync, CMAN and/or Linux-HA. %patch9 -p1 %patch10 -p1 %patch11 -p1 -%patch12 -p1 -%patch13 -p1 -%patch14 -p1 %build