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