diff --git a/.gitignore b/.gitignore
index 9aa67c0..7fc59c1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/Pacemaker-1.1.10.tar.gz
+SOURCES/pacemaker-a14efad51ca8f1e3742fd8520e051cd7a0864f04.tar.gz
diff --git a/.pacemaker.metadata b/.pacemaker.metadata
index 5133579..d60206d 100644
--- a/.pacemaker.metadata
+++ b/.pacemaker.metadata
@@ -1 +1 @@
-e718c70b1a234d1864a78c26339706c39f73f1f6 SOURCES/Pacemaker-1.1.10.tar.gz
+131ba58261066b1fd2cf874e41600262ecb584c6 SOURCES/pacemaker-a14efad51ca8f1e3742fd8520e051cd7a0864f04.tar.gz
diff --git a/SOURCES/bz1011618-pcmk-consistently_use_slave_as_the_role_for_unpromoted_master_slave_resources.patch b/SOURCES/bz1011618-pcmk-consistently_use_slave_as_the_role_for_unpromoted_master_slave_resources.patch
deleted file mode 100644
index 8877f65..0000000
--- a/SOURCES/bz1011618-pcmk-consistently_use_slave_as_the_role_for_unpromoted_master_slave_resources.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-commit 6bb62a4a2b304de64d8ccf0e38ae6dd3c3d5e772
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Sep 25 11:53:35 2013 +1000
-
-    Fix: Bug rhbz#1011618 - Consistently use 'Slave' as the role for unpromoted master/slave resources
-    
-    (cherry picked from commit bc5e0b677b7ee45c022496cb926f91bad3731974)
-
-diff --git a/lib/pengine/native.c b/lib/pengine/native.c
-index c81a218..adfd5ba 100644
---- a/lib/pengine/native.c
-+++ b/lib/pengine/native.c
-@@ -294,16 +294,21 @@ native_print_attr(gpointer key, gpointer value, gpointer user_data)
- static void
- native_print_xml(resource_t * rsc, const char *pre_text, long options, void *print_data)
- {
-+    enum rsc_role_e role = rsc->role;
-     const char *class = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
-     const char *prov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER);
- 
-+    if(role == RSC_ROLE_STARTED && uber_parent(rsc)->variant == pe_master) {
-+        role = RSC_ROLE_SLAVE;
-+    }
-+
-     /* resource information. */
-     status_print("%s<resource ", pre_text);
-     status_print("id=\"%s\" ", rsc_printable_id(rsc));
-     status_print("resource_agent=\"%s%s%s:%s\" ",
-                  class,
-                  prov ? "::" : "", prov ? prov : "", crm_element_value(rsc->xml, XML_ATTR_TYPE));
--    status_print("role=\"%s\" ", role2text(rsc->role));
-+    status_print("role=\"%s\" ", role2text(role));
-     status_print("active=\"%s\" ", rsc->fns->active(rsc, TRUE) ? "true" : "false");
-     status_print("orphaned=\"%s\" ", is_set(rsc->flags, pe_rsc_orphan) ? "true" : "false");
-     status_print("managed=\"%s\" ", is_set(rsc->flags, pe_rsc_managed) ? "true" : "false");
diff --git a/SOURCES/bz1028627-pcmk-fix_controld_use_corosync2_dlm_variant.patch b/SOURCES/bz1028627-pcmk-fix_controld_use_corosync2_dlm_variant.patch
deleted file mode 100644
index f8803c5..0000000
--- a/SOURCES/bz1028627-pcmk-fix_controld_use_corosync2_dlm_variant.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-commit 16ed615a81294fb32e7d5795db86172d167975ae
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Mon Nov 11 09:28:18 2013 +1100
-
-    Fix: controld: Use the correct variant of dlm_controld for corosync-2 clusters
-    (cherry picked from commit 0e33fe668aa23520da9552b271aba59016b9cb03)
-
-diff --git a/extra/resources/controld b/extra/resources/controld
-index bacf0e9..bdd31bb 100644
---- a/extra/resources/controld
-+++ b/extra/resources/controld
-@@ -209,8 +209,8 @@ controld_validate() {
- : ${OCF_RESKEY_CRM_meta_globally_unique:="false"}
- 
- case "$HA_quorum_type" in
--    cman|corosync) daemon_ext="";;
--    *) daemon_ext=".pcmk";;
-+    pcmk) daemon_ext=".pcmk";;
-+    *) daemon_ext="";;
- esac
- 
- case "$OCF_RESOURCE_INSTANCE" in
diff --git a/SOURCES/bz1057697-pcmk-dbus_use_native_function_for_adding_arguments_to_messages.patch b/SOURCES/bz1057697-pcmk-dbus_use_native_function_for_adding_arguments_to_messages.patch
deleted file mode 100644
index fe35e42..0000000
--- a/SOURCES/bz1057697-pcmk-dbus_use_native_function_for_adding_arguments_to_messages.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-commit 04d86af8d57dd8c16283ea6acc6d6798053cf2a0
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Feb 5 10:56:51 2014 +1100
-
-    Refactor: dbus: Use native function for adding arguments to messages
-    
-    (cherry picked from commit bab144c83e90785c7df01423d3b239cbd4a2cd55)
-
-diff --git a/lib/services/dbus.c b/lib/services/dbus.c
-index 66a98a0..b424c0b 100644
---- a/lib/services/dbus.c
-+++ b/lib/services/dbus.c
-@@ -33,19 +33,6 @@ void pcmk_dbus_disconnect(DBusConnection *connection)
- {
- }
- 
--bool pcmk_dbus_append_arg(DBusMessage *msg, int dtype, const void *value)
--{
--    DBusMessageIter args;
--
--    dbus_message_iter_init_append(msg, &args);
--    if (!dbus_message_iter_append_basic(&args, dtype, value)) {
--        crm_err("dbus_message_iter_append_basic(%c) failed", dtype);
--        return FALSE;
--    }
--
--    return TRUE;
--}
--
- bool
- pcmk_dbus_find_error(const char *method, DBusPendingCall* pending, DBusMessage *reply, DBusError *ret)
- {
-@@ -235,7 +222,7 @@ pcmk_dbus_get_property(
-         return NULL;
-     }
- 
--    pcmk_dbus_append_arg(msg, DBUS_TYPE_STRING, &iface);
-+    CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_STRING, &iface, DBUS_TYPE_INVALID));
- 
-     reply = pcmk_dbus_send_recv(msg, connection, &error);
-     dbus_message_unref(msg);
-diff --git a/lib/services/pcmk-dbus.h b/lib/services/pcmk-dbus.h
-index c8d2234..3b7a598 100644
---- a/lib/services/pcmk-dbus.h
-+++ b/lib/services/pcmk-dbus.h
-@@ -5,7 +5,6 @@ void pcmk_dbus_disconnect(DBusConnection *connection);
- bool pcmk_dbus_send(DBusMessage *msg, DBusConnection *connection,
-                     void(*done)(DBusPendingCall *pending, void *user_data), void *user_data);
- DBusMessage *pcmk_dbus_send_recv(DBusMessage *msg, DBusConnection *connection, DBusError *error);
--bool pcmk_dbus_append_arg(DBusMessage *msg, int dtype, const void *value);
- bool pcmk_dbus_type_check(DBusMessage *msg, DBusMessageIter *field, int expected, const char *function, int line);
- char *pcmk_dbus_get_property(DBusConnection *connection, const char *target, const char *obj, const gchar * iface, const char *name);
- 
-diff --git a/lib/services/systemd.c b/lib/services/systemd.c
-index b461c5f..374a03e 100644
---- a/lib/services/systemd.c
-+++ b/lib/services/systemd.c
-@@ -146,7 +146,7 @@ systemd_unit_by_name(const gchar * arg_name, gchar ** out_unit)
-         msg = systemd_new_method(BUS_NAME".Manager", method);
-         CRM_ASSERT(msg != NULL);
- 
--        pcmk_dbus_append_arg(msg, DBUS_TYPE_STRING, &name);
-+        CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_STRING, &name, DBUS_TYPE_INVALID));
- 
-         dbus_error_init(&error);
-         reply = pcmk_dbus_send_recv(msg, systemd_proxy, &error);
-@@ -477,8 +477,8 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
-     CRM_ASSERT(msg != NULL);
- 
-     /* (ss) */
--    pcmk_dbus_append_arg(msg, DBUS_TYPE_STRING, &name);
--    pcmk_dbus_append_arg(msg, DBUS_TYPE_STRING, &replace_s);
-+    CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_STRING, &name, DBUS_TYPE_INVALID));
-+    CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_STRING, &replace_s, DBUS_TYPE_INVALID));
- 
-     if (synchronous == FALSE) {
-         free(unit);
diff --git a/SOURCES/bz1057697-pcmk-portability_use_basic_types_for_dbus_compatability_struct.patch b/SOURCES/bz1057697-pcmk-portability_use_basic_types_for_dbus_compatability_struct.patch
deleted file mode 100644
index e5e1c29..0000000
--- a/SOURCES/bz1057697-pcmk-portability_use_basic_types_for_dbus_compatability_struct.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-commit 6080e33737a133d080eb0f86a7b66f3af04f4c91
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Mon Feb 3 14:59:18 2014 +1100
-
-    Fix: Portability: Use basic types for DBus compatability struct
-    
-    (cherry picked from commit 73a40012cc03336fb9753bc6e47bace7bc44a794)
-
-diff --git a/include/portability.h b/include/portability.h
-index 29d1177..4eb6eaa 100644
---- a/include/portability.h
-+++ b/include/portability.h
-@@ -178,6 +178,7 @@ g_list_free_full(GList * list, GDestroyNotify free_func)
- #  endif
- 
- #  ifndef HAVE_DBUSBASICVALUE
-+#    include <stdint.h>
- #    include <dbus/dbus.h>
- /**
-  * An 8-byte struct you could use to access int64 without having
-@@ -185,8 +186,8 @@ g_list_free_full(GList * list, GDestroyNotify free_func)
-  */
- typedef struct
- {
--  dbus_uint32_t first32;  /**< first 32 bits in the 8 bytes (beware endian issues) */
--  dbus_uint32_t second32; /**< second 32 bits in the 8 bytes (beware endian issues) */
-+  uint32_t first32;  /**< first 32 bits in the 8 bytes (beware endian issues) */
-+  uint32_t second32; /**< second 32 bits in the 8 bytes (beware endian issues) */
- } DBus8ByteStruct;
- 
- /**
-@@ -202,14 +203,14 @@ typedef struct
- typedef union
- {
-   unsigned char bytes[8]; /**< as 8 individual bytes */
--  dbus_int16_t  i16;   /**< as int16 */
--  dbus_uint16_t u16;   /**< as int16 */
--  dbus_int32_t  i32;   /**< as int32 */
--  dbus_uint32_t u32;   /**< as int32 */
--  dbus_bool_t   bool_val; /**< as boolean */
-+  int16_t  i16;   /**< as int16 */
-+  uint16_t u16;   /**< as int16 */
-+  int32_t  i32;   /**< as int32 */
-+  uint32_t u32;   /**< as int32 */
-+  uint32_t bool_val; /**< as boolean */
- #    ifdef DBUS_HAVE_INT64
--  dbus_int64_t  i64;   /**< as int64 */
--  dbus_uint64_t u64;   /**< as int64 */
-+  int64_t  i64;   /**< as int64 */
-+  uint64_t u64;   /**< as int64 */
- #    endif
-   DBus8ByteStruct eight; /**< as 8-byte struct */
-   double dbl;          /**< as double */
diff --git a/SOURCES/bz1057697-pcmk-services_detect_missing_agents_and_permission_errors_before_forking.patch b/SOURCES/bz1057697-pcmk-services_detect_missing_agents_and_permission_errors_before_forking.patch
deleted file mode 100644
index bfa676e..0000000
--- a/SOURCES/bz1057697-pcmk-services_detect_missing_agents_and_permission_errors_before_forking.patch
+++ /dev/null
@@ -1,271 +0,0 @@
-commit 385cb2b6a11d967145d8034fd5c05574a6594a4f
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Thu Aug 8 11:21:03 2013 +1000
-
-    Feature: services: Detect missing agents and permission errors before forking
-    
-    Also set the operation status to distinguish between the agent being
-    missing and something the agent needs being missing.
-    
-    (cherry picked from commit 20eee043d376ed03edf5e4bb4cc4639f8697e44a)
-
-diff --git a/crmd/te_actions.c b/crmd/te_actions.c
-index 63d15bb..4e3bc22 100644
---- a/crmd/te_actions.c
-+++ b/crmd/te_actions.c
-@@ -465,7 +465,7 @@ te_rsc_command(crm_graph_t * graph, crm_action_t * action)
-         && safe_str_neq(task, CRMD_ACTION_DELETE)) {
-         /* write a "pending" entry to the CIB, inhibit notification */
-         crm_debug("Recording pending op %s in the CIB", task_uuid);
--        cib_action_update(action, PCMK_LRM_OP_PENDING, PCMK_OCF_STATUS_UNKNOWN);
-+        cib_action_update(action, PCMK_LRM_OP_PENDING, PCMK_OCF_UNKNOWN);
-     }
- 
-     return TRUE;
-diff --git a/crmd/te_callbacks.c b/crmd/te_callbacks.c
-index c0360b4..4b8aac5 100644
---- a/crmd/te_callbacks.c
-+++ b/crmd/te_callbacks.c
-@@ -548,7 +548,6 @@ action_timer_callback(gpointer data)
-         }
- 
-         if (send_update) {
--            /* cib_action_update(timer->action, PCMK_LRM_OP_PENDING, PCMK_OCF_STATUS_UNKNOWN); */
-             cib_action_update(timer->action, PCMK_LRM_OP_TIMEOUT, PCMK_OCF_UNKNOWN_ERROR);
-         }
-     }
-diff --git a/include/crm/services.h b/include/crm/services.h
-index 0c0cca9..9fe9d37 100644
---- a/include/crm/services.h
-+++ b/include/crm/services.h
-@@ -88,9 +88,10 @@ enum ocf_exitcode {
-     PCMK_OCF_RUNNING_MASTER       = 8,
-     PCMK_OCF_FAILED_MASTER        = 9,
- 
--    PCMK_OCF_STATUS_UNKNOWN       = 14, /* Already in use */
- 
-     /* 150-199	reserved for application use */
-+    PCMK_OCF_EXEC_ERROR    = 192, /* Generic problem invoking the agent */
-+    PCMK_OCF_UNKNOWN       = 193, /* State of the service is unknown - used for recording in-flight operations */
-     PCMK_OCF_SIGNAL        = 194,
-     PCMK_OCF_NOT_SUPPORTED = 195,
-     PCMK_OCF_PENDING       = 196,
-@@ -106,6 +107,7 @@ enum op_status {
-     PCMK_LRM_OP_TIMEOUT,
-     PCMK_LRM_OP_NOTSUPPORTED,
-     PCMK_LRM_OP_ERROR,
-+    PCMK_LRM_OP_NOT_INSTALLED,
- };
- 
- enum nagios_exitcode {
-@@ -263,6 +265,7 @@ enum nagios_exitcode {
-                 case PCMK_LRM_OP_TIMEOUT:return "Timed Out";
-                 case PCMK_LRM_OP_NOTSUPPORTED:return "NOT SUPPORTED";
-                 case PCMK_LRM_OP_ERROR:return "Error";
-+                case PCMK_LRM_OP_NOT_INSTALLED:return "Not installed";
-                 default:return "UNKNOWN!";
-     }} static inline const char *services_ocf_exitcode_str(enum ocf_exitcode code) {
-         switch (code) {
-diff --git a/lib/services/services_linux.c b/lib/services/services_linux.c
-index 868dc5b..ac0138f 100644
---- a/lib/services/services_linux.c
-+++ b/lib/services/services_linux.c
-@@ -307,14 +307,62 @@ operation_finished(mainloop_child_t * p, pid_t pid, int core, int signo, int exi
-     operation_finalize(op);
- }
- 
-+static void
-+services_handle_exec_error(svc_action_t * op, int error)
-+{
-+    op->stdout_data = NULL;
-+    op->stderr_data = NULL;
-+
-+    /* Need to mimic the return codes for each standard as thats what we'll convert back from in get_uniform_rc() */
-+    if (safe_str_eq(op->standard, "lsb") && safe_str_eq(op->action, "status")) {
-+        switch (errno) {    /* see execve(2) */
-+            case ENOENT:   /* No such file or directory */
-+            case EISDIR:   /* Is a directory */
-+                op->rc = PCMK_LSB_STATUS_NOT_INSTALLED;
-+                op->status = PCMK_LRM_OP_NOT_INSTALLED;
-+                break;
-+            case EACCES:   /* permission denied (various errors) */
-+                /* LSB status ops don't support 'not installed' */
-+                break;
-+        }
-+
-+#if SUPPORT_NAGIOS
-+    } else if (safe_str_eq(op->standard, "nagios")) {
-+        switch (errno) {
-+            case ENOENT:   /* No such file or directory */
-+            case EISDIR:   /* Is a directory */
-+                op->rc = NAGIOS_NOT_INSTALLED;
-+                op->status = PCMK_LRM_OP_NOT_INSTALLED;
-+                break;
-+            case EACCES:   /* permission denied (various errors) */
-+                op->rc = NAGIOS_INSUFFICIENT_PRIV;
-+                break;
-+        }
-+#endif
-+
-+    } else {
-+        switch (errno) {
-+            case ENOENT:   /* No such file or directory */
-+            case EISDIR:   /* Is a directory */
-+                op->rc = PCMK_OCF_NOT_INSTALLED; /* Valid for LSB */
-+                op->status = PCMK_LRM_OP_NOT_INSTALLED;
-+                break;
-+            case EACCES:   /* permission denied (various errors) */
-+                op->rc = PCMK_OCF_INSUFFICIENT_PRIV; /* Valid for LSB */
-+                break;
-+        }
-+    }
-+}
-+
- gboolean
- services_os_action_execute(svc_action_t * op, gboolean synchronous)
- {
--    int rc, lpc;
-+    int lpc;
-     int stdout_fd[2];
-     int stderr_fd[2];
-     sigset_t mask;
-     sigset_t old_mask;
-+    struct stat st;
- 
-     if (pipe(stdout_fd) < 0) {
-         crm_err("pipe() failed");
-@@ -324,6 +372,13 @@ services_os_action_execute(svc_action_t * op, gboolean synchronous)
-         crm_err("pipe() failed");
-     }
- 
-+    /* Fail fast */
-+    if(stat(op->opaque->exec, &st) != 0) {
-+        crm_warn("Cannot execute '%s': %s (%d)", op->opaque->exec, pcmk_strerror(errno), errno);
-+        services_handle_exec_error(op, errno);
-+        return FALSE;
-+    }
-+
-     if (synchronous) {
-         sigemptyset(&mask);
-         sigaddset(&mask, SIGCHLD);
-@@ -337,11 +392,14 @@ services_os_action_execute(svc_action_t * op, gboolean synchronous)
-     op->pid = fork();
-     switch (op->pid) {
-         case -1:
--            crm_err("fork() failed");
-+            crm_err("Could not execute '%s': %s (%d)", op->opaque->exec, pcmk_strerror(errno), errno);
-+
-             close(stdout_fd[0]);
-             close(stdout_fd[1]);
-             close(stderr_fd[0]);
-             close(stderr_fd[1]);
-+
-+            services_handle_exec_error(op, errno);
-             return FALSE;
- 
-         case 0:                /* Child */
-@@ -390,29 +448,9 @@ services_os_action_execute(svc_action_t * op, gboolean synchronous)
-             /* execute the RA */
-             execvp(op->opaque->exec, op->opaque->args);
- 
--            switch (errno) {    /* see execve(2) */
--                case ENOENT:   /* No such file or directory */
--                case EISDIR:   /* Is a directory */
--                    rc = PCMK_OCF_NOT_INSTALLED;
--#if SUPPORT_NAGIOS
--                    if (safe_str_eq(op->standard, "nagios")) {
--                        rc = NAGIOS_NOT_INSTALLED;
--                    }
--#endif
--                    break;
--                case EACCES:   /* permission denied (various errors) */
--                    rc = PCMK_OCF_INSUFFICIENT_PRIV;
--#if SUPPORT_NAGIOS
--                    if (safe_str_eq(op->standard, "nagios")) {
--                        rc = NAGIOS_INSUFFICIENT_PRIV;
--                    }
--#endif
--                    break;
--                default:
--                    rc = PCMK_OCF_UNKNOWN_ERROR;
--                    break;
--            }
--            _exit(rc);
-+            /* Most cases should have been already handled by stat() */
-+            services_handle_exec_error(op, errno);
-+            _exit(op->rc);
-     }
- 
-     /* Only the parent reaches here */
-diff --git a/lib/services/systemd.c b/lib/services/systemd.c
-index 783caca..ea804c8 100644
---- a/lib/services/systemd.c
-+++ b/lib/services/systemd.c
-@@ -385,6 +385,7 @@ systemd_unit_exec_done(GObject * source_object, GAsyncResult * res, gpointer use
- 
-             } else {
-                 op->rc = PCMK_OCF_NOT_INSTALLED;
-+                op->status = PCMK_LRM_OP_NOT_INSTALLED;
-             }
- 
-         } else {
-@@ -441,6 +442,7 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
-                   error ? error->message : "unknown");
-         if (error && strstr(error->message, "systemd1.NoSuchUnit")) {
-             op->rc = PCMK_OCF_NOT_INSTALLED;
-+            op->status = PCMK_LRM_OP_NOT_INSTALLED;
-         }
-         if(error) {
-             g_error_free(error);
-diff --git a/lib/services/upstart.c b/lib/services/upstart.c
-index daeb398..831e7cf 100644
---- a/lib/services/upstart.c
-+++ b/lib/services/upstart.c
-@@ -446,6 +446,7 @@ upstart_job_exec(svc_action_t * op, gboolean synchronous)
-             op->rc = PCMK_OCF_OK;
-         } else {
-             op->rc = PCMK_OCF_NOT_INSTALLED;
-+            op->status = PCMK_LRM_OP_NOT_INSTALLED;
-         }
-         goto cleanup;
-     }
-diff --git a/lrmd/regression.py.in b/lrmd/regression.py.in
-index 8d5fea4..9009e1c 100755
---- a/lrmd/regression.py.in
-+++ b/lrmd/regression.py.in
-@@ -629,7 +629,7 @@ if __name__ == "__main__":
- 			test.add_cmd("-c register_rsc -r \"test_rsc\" -C systemd -T this_is_fake1234 -t 3000 "
- 				     "-l \"NEW_EVENT event_type:register rsc_id:test_rsc action:none rc:ok op_status:complete\" ")
- 			test.add_cmd("-c exec -r \"test_rsc\" -a \"start\" -t 3000 "
--				     "-l \"NEW_EVENT event_type:exec_complete rsc_id:test_rsc action:start rc:not installed op_status:complete\" ")
-+				     "-l \"NEW_EVENT event_type:exec_complete rsc_id:test_rsc action:start rc:not installed op_status:Not installed\" ")
- 			test.add_cmd("-c unregister_rsc -r \"test_rsc\" -t 3000 "
- 				     "-l \"NEW_EVENT event_type:unregister rsc_id:test_rsc action:none rc:ok op_status:complete\" ")
- 
-@@ -638,7 +638,7 @@ if __name__ == "__main__":
- 			test.add_cmd("-c register_rsc -r \"test_rsc\" -C upstart -T this_is_fake1234 -t 3000 "
- 				     "-l \"NEW_EVENT event_type:register rsc_id:test_rsc action:none rc:ok op_status:complete\" ")
- 			test.add_cmd("-c exec -r \"test_rsc\" -a \"start\" -t 3000 "
--				     "-l \"NEW_EVENT event_type:exec_complete rsc_id:test_rsc action:start rc:not installed op_status:complete\" ")
-+				     "-l \"NEW_EVENT event_type:exec_complete rsc_id:test_rsc action:start rc:not installed op_status:Not installed\" ")
- 			test.add_cmd("-c unregister_rsc -r \"test_rsc\" -t 3000 "
- 				     "-l \"NEW_EVENT event_type:unregister rsc_id:test_rsc action:none rc:ok op_status:complete\" ")
- 
-@@ -647,7 +647,7 @@ if __name__ == "__main__":
- 		test.add_cmd("-c register_rsc -r \"test_rsc\" -C ocf -P pacemaker -T this_is_fake1234 -t 3000 "
- 			"-l \"NEW_EVENT event_type:register rsc_id:test_rsc action:none rc:ok op_status:complete\" ")
- 		test.add_cmd("-c exec -r \"test_rsc\" -a \"start\" -t 3000 "
--			"-l \"NEW_EVENT event_type:exec_complete rsc_id:test_rsc action:start rc:not installed op_status:complete\" ")
-+			"-l \"NEW_EVENT event_type:exec_complete rsc_id:test_rsc action:start rc:not installed op_status:Not installed\" ")
- 		test.add_cmd("-c unregister_rsc -r \"test_rsc\" -t 3000 "
- 			"-l \"NEW_EVENT event_type:unregister rsc_id:test_rsc action:none rc:ok op_status:complete\" ")
- 
-@@ -656,7 +656,7 @@ if __name__ == "__main__":
- 		test.add_cmd("-c register_rsc -r \"test_rsc\" -C ocf -P pancakes -T Dummy -t 3000 "
- 			"-l \"NEW_EVENT event_type:register rsc_id:test_rsc action:none rc:ok op_status:complete\" ")
- 		test.add_cmd("-c exec -r \"test_rsc\" -a \"start\" -t 3000 "
--			"-l \"NEW_EVENT event_type:exec_complete rsc_id:test_rsc action:start rc:not installed op_status:complete\" ")
-+			"-l \"NEW_EVENT event_type:exec_complete rsc_id:test_rsc action:start rc:not installed op_status:Not installed\" ")
- 		test.add_cmd("-c unregister_rsc -r \"test_rsc\" -t 3000 "
- 			"-l \"NEW_EVENT event_type:unregister rsc_id:test_rsc action:none rc:ok op_status:complete\" ")
- 
diff --git a/SOURCES/bz1057697-pcmk-services_keep_dbus_build_support_optional.patch b/SOURCES/bz1057697-pcmk-services_keep_dbus_build_support_optional.patch
deleted file mode 100644
index eebd849..0000000
--- a/SOURCES/bz1057697-pcmk-services_keep_dbus_build_support_optional.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-commit 719498e7cfbceffa01eff37263c55ceaf1623379
-Author: David Vossel <dvossel@redhat.com>
-Date:   Wed Feb 5 17:42:01 2014 -0600
-
-    Low: services: Keep dbus build support optional
-    
-    (cherry picked from commit e4d030a6d278fb3a43aa9c7eb359b488673f504a)
-
-diff --git a/configure.ac b/configure.ac
-index f90ccdc..cad5190 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1162,6 +1162,8 @@ HAVE_upstart=0
- HAVE_systemd=0
- PKG_CHECK_MODULES(DBUS, dbus-1, ,HAVE_dbus=0)
- 
-+AM_CONDITIONAL(BUILD_DBUS, test $HAVE_dbus = 1)
-+
- if test $HAVE_dbus = 1; then
-    CFLAGS="$CFLAGS `$PKGCONFIG --cflags dbus-1`"
- fi
-diff --git a/include/portability.h b/include/portability.h
-index 4eb6eaa..b1302d2 100644
---- a/include/portability.h
-+++ b/include/portability.h
-@@ -177,7 +177,7 @@ g_list_free_full(GList * list, GDestroyNotify free_func)
- }
- #  endif
- 
--#  ifndef HAVE_DBUSBASICVALUE
-+#  if defined(BUILD_DBUS) && !defined(HAVE_DBUSBASICVALUE)
- #    include <stdint.h>
- #    include <dbus/dbus.h>
- /**
-diff --git a/lib/services/Makefile.am b/lib/services/Makefile.am
-index 6ed4d01..96ccdb0 100644
---- a/lib/services/Makefile.am
-+++ b/lib/services/Makefile.am
-@@ -23,11 +23,15 @@ INCLUDES         = -I$(top_builddir)/include
- lib_LTLIBRARIES = libcrmservice.la
- noinst_HEADERS  = upstart.h systemd.h services_private.h
- 
--libcrmservice_la_SOURCES = services.c services_linux.c dbus.c
-+libcrmservice_la_SOURCES = services.c services_linux.c
- libcrmservice_la_LDFLAGS = -version-info 1:0:0
- libcrmservice_la_CFLAGS  = $(GIO_CFLAGS) -DOCF_ROOT_DIR=\"@OCF_ROOT_DIR@\"
- libcrmservice_la_LIBADD  = $(GIO_LIBS) $(top_builddir)/lib/common/libcrmcommon.la $(DBUS_LIBS)
- 
-+if BUILD_DBUS
-+libcrmservice_la_SOURCES += dbus.c
-+endif
-+
- if BUILD_UPSTART
- libcrmservice_la_SOURCES += upstart.c
- endif
diff --git a/SOURCES/bz1057697-pcmk-systemd_simplify_dbus_api_usage.patch b/SOURCES/bz1057697-pcmk-systemd_simplify_dbus_api_usage.patch
deleted file mode 100644
index f24694a..0000000
--- a/SOURCES/bz1057697-pcmk-systemd_simplify_dbus_api_usage.patch
+++ /dev/null
@@ -1,160 +0,0 @@
-commit 5be9e5b63815cb632b4944f00dd67f6f9dcbff70
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Mon Feb 3 14:43:38 2014 +1100
-
-    Refactor: systemd: Simplify dbus API usage
-    
-    (cherry picked from commit e3aa2f12bb4f00d4b0d8a38f1dd5727de2eba351)
-
-diff --git a/lib/services/dbus.c b/lib/services/dbus.c
-index a3286f2..a9b1eba 100644
---- a/lib/services/dbus.c
-+++ b/lib/services/dbus.c
-@@ -179,7 +179,22 @@ bool pcmk_dbus_send(DBusMessage *msg, DBusConnection *connection,
- 
- bool pcmk_dbus_type_check(DBusMessage *msg, DBusMessageIter *field, int expected, const char *function, int line)
- {
--    int dtype = dbus_message_iter_get_arg_type(field);
-+    int dtype = 0;
-+    DBusMessageIter lfield;
-+
-+    if(field == NULL) {
-+        if(dbus_message_iter_init(msg, &lfield)) {
-+            field = &lfield;
-+        }
-+    }
-+
-+    if(field == NULL) {
-+        do_crm_log_alias(LOG_ERR, __FILE__, function, line,
-+                         "Empty parameter list in reply expecting '%c'", expected);
-+        return FALSE;
-+    }
-+
-+    dtype = dbus_message_iter_get_arg_type(field);
- 
-     if(dtype != expected) {
-         DBusMessageIter args;
-diff --git a/lib/services/systemd.c b/lib/services/systemd.c
-index a06d547..b461c5f 100644
---- a/lib/services/systemd.c
-+++ b/lib/services/systemd.c
-@@ -119,7 +119,6 @@ static gboolean
- systemd_unit_by_name(const gchar * arg_name, gchar ** out_unit)
- {
-     DBusMessage *msg;
--    DBusMessageIter args;
-     DBusMessage *reply = NULL;
-     const char *method = "GetUnit";
-     char *name = NULL;
-@@ -137,6 +136,10 @@ systemd_unit_by_name(const gchar * arg_name, gchar ** out_unit)
-   </method>
-  */
- 
-+    if (systemd_init() == FALSE) {
-+        return FALSE;
-+    }
-+
-     name = systemd_service_name(arg_name);
- 
-     while(*out_unit == NULL) {
-@@ -152,17 +155,19 @@ systemd_unit_by_name(const gchar * arg_name, gchar ** out_unit)
-         if(error.name) {
-             crm_info("Call to %s failed: %s", method, error.name);
- 
--        } else if (dbus_message_iter_init(reply, &args)) {
-+        } else if(pcmk_dbus_type_check(reply, NULL, DBUS_TYPE_OBJECT_PATH, __FUNCTION__, __LINE__)) {
-+            if(out_unit) {
-+                char *path = NULL;
- 
--            if(pcmk_dbus_type_check(reply, &args, DBUS_TYPE_OBJECT_PATH, __FUNCTION__, __LINE__)) {
--                DBusBasicValue value;
-+                dbus_message_get_args (reply, NULL,
-+                                       DBUS_TYPE_OBJECT_PATH, &path,
-+                                       DBUS_TYPE_INVALID);
- 
--                dbus_message_iter_get_basic(&args, &value);
--                *out_unit = strdup(value.str);
--                dbus_message_unref(reply);
--                free(name);
--                return TRUE;
-+                *out_unit = strdup(path);
-             }
-+            dbus_message_unref(reply);
-+            free(name);
-+            return TRUE;
-         }
- 
-         if(strcmp(method, "LoadUnit") != 0) {
-@@ -171,6 +176,7 @@ systemd_unit_by_name(const gchar * arg_name, gchar ** out_unit)
-             systemd_daemon_reload();
-             if(reply) {
-                 dbus_message_unref(reply);
-+                reply = NULL;
-             }
- 
-         } else {
-@@ -264,20 +270,7 @@ systemd_unit_listall(void)
- gboolean
- systemd_unit_exists(const char *name)
- {
--    char *path = NULL;
--    gboolean pass = FALSE;
--
--    if (systemd_init() == FALSE) {
--        return FALSE;
--    }
--
--    if(systemd_unit_by_name(name, &path) && path) {
--        crm_trace("Got %s", path);
--        pass = TRUE;
--    }
--
--    free(path);
--    return pass;
-+    return systemd_unit_by_name(name, NULL);
- }
- 
- static char *
-@@ -360,12 +353,7 @@ systemd_async_dispatch(DBusPendingCall *pending, void *user_data)
-         }
- 
-     } else {
--        DBusMessageIter args;
--
--        if(!dbus_message_iter_init(reply, &args)) {
--            crm_err("Call to %s failed: no arguments", op->action);
--
--        } else if(!pcmk_dbus_type_check(reply, &args, DBUS_TYPE_OBJECT_PATH, __FUNCTION__, __LINE__)) {
-+        if(!pcmk_dbus_type_check(reply, NULL, DBUS_TYPE_OBJECT_PATH, __FUNCTION__, __LINE__)) {
-             crm_warn("Call to %s passed but return type was unexpected", op->action);
-             op->rc = PCMK_OCF_OK;
- 
-@@ -403,7 +391,6 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
-     char *name = systemd_service_name(op->agent);
-     DBusMessage *msg = NULL;
-     DBusMessage *reply = NULL;
--    DBusMessageIter args;
- 
-     dbus_error_init(&error);
-     op->rc = PCMK_OCF_UNKNOWN_ERROR;
-@@ -499,6 +486,7 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
-         return pcmk_dbus_send(msg, systemd_proxy, systemd_async_dispatch, op);
-     }
- 
-+    dbus_error_init(&error);
-     reply = pcmk_dbus_send_recv(msg, systemd_proxy, &error);
- 
-     if(error.name) {
-@@ -508,11 +496,7 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
-         }
-         goto cleanup;
- 
--    } else if(!dbus_message_iter_init(reply, &args)) {
--        crm_err("Call to %s failed: no arguments", method);
--        goto cleanup;
--
--    } else if(!pcmk_dbus_type_check(reply, &args, DBUS_TYPE_OBJECT_PATH, __FUNCTION__, __LINE__)) {
-+    } else if(!pcmk_dbus_type_check(reply, NULL, DBUS_TYPE_OBJECT_PATH, __FUNCTION__, __LINE__)) {
-         crm_warn("Call to %s passed but return type was unexpected", op->action);
-         op->rc = PCMK_OCF_OK;
- 
diff --git a/SOURCES/bz1057697-pcmk-use_native_dbus_library_for_systemd_async_support_to_avoid_problematic_use_of_threads.patch b/SOURCES/bz1057697-pcmk-use_native_dbus_library_for_systemd_async_support_to_avoid_problematic_use_of_threads.patch
deleted file mode 100644
index aac073c..0000000
--- a/SOURCES/bz1057697-pcmk-use_native_dbus_library_for_systemd_async_support_to_avoid_problematic_use_of_threads.patch
+++ /dev/null
@@ -1,622 +0,0 @@
-commit c7ca5eccb5709c75797579f508c3f9ae968cd55e
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Fri Jan 31 10:53:35 2014 +1100
-
-    Fix: Bug rhbz#1057697 - Use native DBus library for systemd async support to avoid problematic use of threads
-    
-    (cherry picked from commit 2f90aad962c63eba313ed466580703434c80bd1a)
-
-diff --git a/lib/services/dbus.c b/lib/services/dbus.c
-index 69ea6ac..a3286f2 100644
---- a/lib/services/dbus.c
-+++ b/lib/services/dbus.c
-@@ -4,6 +4,9 @@
- #include <dbus/dbus.h>
- #include <pcmk-dbus.h>
- 
-+#define BUS_PROPERTY_IFACE "org.freedesktop.DBus.Properties"
-+
-+
- static bool pcmk_dbus_error_check(DBusError *err, const char *prefix, const char *function, int line) 
- {
-     if (err && dbus_error_is_set(err)) {
-@@ -43,36 +46,18 @@ bool pcmk_dbus_append_arg(DBusMessage *msg, int dtype, const void *value)
-     return TRUE;
- }
- 
--DBusMessage *pcmk_dbus_send_recv(DBusMessage *msg, DBusConnection *connection, char **e)
-+bool
-+pcmk_dbus_find_error(const char *method, DBusPendingCall* pending, DBusMessage *reply, DBusError *ret)
- {
-     DBusError error;
--    const char *method = NULL;
--    DBusMessage *reply = NULL;
--    DBusPendingCall* pending = NULL;
- 
-     dbus_error_init(&error);
- 
--    CRM_ASSERT(dbus_message_get_type (msg) == DBUS_MESSAGE_TYPE_METHOD_CALL);
--    method = dbus_message_get_member (msg);
-+    if(pending == NULL) {
-+        error.name = "org.clusterlabs.pacemaker.NoRequest";
-+        error.message = "No request sent";
- 
--    // send message and get a handle for a reply
--    if (!dbus_connection_send_with_reply (connection, msg, &pending, -1)) { // -1 is default timeout
--        crm_err("Send with reply failed");
--        return NULL;
--    }
--    if (NULL == pending) {
--        crm_err("No pending call found");
--        return NULL;
--    }
--
--    dbus_connection_flush(connection);
--
--    /* block until we receive a reply */
--    dbus_pending_call_block(pending);
--
--    /* get the reply message */
--    reply = dbus_pending_call_steal_reply(pending);
--    if(reply == NULL) {
-+    } else if(reply == NULL) {
-         error.name = "org.clusterlabs.pacemaker.NoReply";
-         error.message = "No reply";
- 
-@@ -80,7 +65,6 @@ DBusMessage *pcmk_dbus_send_recv(DBusMessage *msg, DBusConnection *connection, c
-         DBusMessageIter args;
-         int dtype = dbus_message_get_type(reply);
- 
--
-         switch(dtype) {
-             case DBUS_MESSAGE_TYPE_METHOD_RETURN:
-                 dbus_message_iter_init(reply, &args);
-@@ -104,7 +88,7 @@ DBusMessage *pcmk_dbus_send_recv(DBusMessage *msg, DBusConnection *connection, c
- 
-             case DBUS_MESSAGE_TYPE_ERROR:
-                 dbus_set_error_from_message (&error, reply);
--                crm_err("%s error '%s': %s", method, error.name, error.message);
-+                crm_info("%s error '%s': %s", method, error.name, error.message);
-                 break;
-             default:
-                 error.message = "Unknown reply type";
-@@ -113,23 +97,86 @@ DBusMessage *pcmk_dbus_send_recv(DBusMessage *msg, DBusConnection *connection, c
-         }
-     }
- 
--    if(error.name) {
--        if(e) {
--            *e = strdup(error.name);
-+    if(ret && (error.name || error.message)) {
-+        *ret = error;
-+        return TRUE;
-+    }
-+
-+    return FALSE;
-+}
-+
-+DBusMessage *pcmk_dbus_send_recv(DBusMessage *msg, DBusConnection *connection, DBusError *error)
-+{
-+    const char *method = NULL;
-+    DBusMessage *reply = NULL;
-+    DBusPendingCall* pending = NULL;
-+
-+    CRM_ASSERT(dbus_message_get_type (msg) == DBUS_MESSAGE_TYPE_METHOD_CALL);
-+    method = dbus_message_get_member (msg);
-+
-+    // send message and get a handle for a reply
-+    if (!dbus_connection_send_with_reply (connection, msg, &pending, -1)) { // -1 is default timeout
-+        if(error) {
-+            error->message = "Call to dbus_connection_send_with_reply() failed";
-+            error->name = "org.clusterlabs.pacemaker.SendFailed";
-         }
-+        crm_err("Error sending %s request", method);
-+        return NULL;
-+    }
-+
-+    dbus_connection_flush(connection);
-+
-+    if(pending) {
-+        /* block until we receive a reply */
-+        dbus_pending_call_block(pending);
-+
-+        /* get the reply message */
-+        reply = dbus_pending_call_steal_reply(pending);
-+    }
-+
-+    if(pcmk_dbus_find_error(method, pending, reply, error)) {
-+        crm_trace("Was error: '%s' '%s'", error->name, error->message);
-         if(reply) {
-             dbus_message_unref(reply);
-             reply = NULL;
-         }
--    } else if(e) {
--        *e = NULL;
-+    }
-+    crm_trace("Was error: '%s' '%s'", error->name, error->message);
-+
-+    if(pending) {
-+        /* free the pending message handle */
-+        dbus_pending_call_unref(pending);
-     }
- 
--    /* free the pending message handle */
--    dbus_pending_call_unref(pending);
-     return reply;
- }
- 
-+bool pcmk_dbus_send(DBusMessage *msg, DBusConnection *connection,
-+                    void(*done)(DBusPendingCall *pending, void *user_data), void *user_data)
-+{
-+    DBusError error;
-+    const char *method = NULL;
-+    DBusPendingCall* pending = NULL;
-+
-+    dbus_error_init(&error);
-+
-+    CRM_ASSERT(dbus_message_get_type (msg) == DBUS_MESSAGE_TYPE_METHOD_CALL);
-+    method = dbus_message_get_member (msg);
-+
-+    // send message and get a handle for a reply
-+    if (!dbus_connection_send_with_reply (connection, msg, &pending, -1)) { // -1 is default timeout
-+        crm_err("Send with reply failed for %s", method);
-+        return FALSE;
-+
-+    } else if (pending == NULL) {
-+        crm_err("No pending call found for %s", method);
-+        return FALSE;
-+
-+    }
-+    CRM_ASSERT(dbus_pending_call_set_notify(pending, done, user_data, NULL));
-+    return TRUE;
-+}
-+
- bool pcmk_dbus_type_check(DBusMessage *msg, DBusMessageIter *field, int expected, const char *function, int line)
- {
-     int dtype = dbus_message_iter_get_arg_type(field);
-@@ -147,8 +194,6 @@ bool pcmk_dbus_type_check(DBusMessage *msg, DBusMessageIter *field, int expected
-     return TRUE;
- }
- 
--#define BUS_PROPERTY_IFACE "org.freedesktop.DBus.Properties"
--
- char *
- pcmk_dbus_get_property(
-     DBusConnection *connection, const char *target, const char *obj, const gchar * iface, const char *name)
-@@ -160,10 +205,11 @@ pcmk_dbus_get_property(
-     /* DBusBasicValue value; */
-     const char *method = "GetAll";
-     char *output = NULL;
--    char *error = NULL;
-+    DBusError error;
- 
-         /* desc = systemd_unit_property(path, BUS_NAME ".Unit", "Description"); */
- 
-+    dbus_error_init(&error);
-     crm_info("Calling: %s on %s", method, target);
-     msg = dbus_message_new_method_call(target, // target for the method call
-                                        obj, // object to call on
-@@ -180,7 +226,7 @@ pcmk_dbus_get_property(
-     reply = pcmk_dbus_send_recv(msg, connection, &error);
-     dbus_message_unref(msg);
- 
--    if(reply == NULL) {
-+    if(error.name) {
-         crm_err("Call to %s for %s failed: No reply", method, iface);
-         return NULL;
- 
-@@ -242,20 +288,105 @@ pcmk_dbus_get_property(
-     return output;
- }
- 
-+static void pcmk_dbus_connection_dispatch(DBusConnection *connection, DBusDispatchStatus new_status, void *data){
-+    crm_trace("status %d for %p", new_status, data);
-+    if (new_status == DBUS_DISPATCH_DATA_REMAINS){
-+        dbus_connection_dispatch(connection);
-+    }
-+}
-+
-+static int
-+pcmk_dbus_watch_dispatch(gpointer userdata)
-+{
-+    DBusWatch *watch = userdata;
-+    int flags = dbus_watch_get_flags(watch);
- 
-+    crm_trace("Dispatching %p with flags %d", watch, flags);
-+    if(flags & DBUS_WATCH_READABLE) {
-+        dbus_watch_handle(watch, DBUS_WATCH_READABLE);
-+    } else {
-+        dbus_watch_handle(watch, DBUS_WATCH_ERROR);
-+    }
-+    return 0;
-+}
-+
-+static void
-+pcmk_dbus_watch_destroy(gpointer userdata)
-+{
-+    crm_trace("Destroyed %p", userdata);
-+}
- 
- 
-+struct mainloop_fd_callbacks pcmk_dbus_cb = {
-+    .dispatch = pcmk_dbus_watch_dispatch,
-+    .destroy = pcmk_dbus_watch_destroy,
-+};
- 
--int dbus_watch_get_unix_fd	(	DBusWatch * 	watch	);
-+static dbus_bool_t
-+pcmk_dbus_watch_add(DBusWatch *watch, void *data){
-+    int fd = dbus_watch_get_unix_fd(watch);
- 
-+    mainloop_io_t *client = mainloop_add_fd(
-+        "dbus", G_PRIORITY_DEFAULT, fd, watch, &pcmk_dbus_cb);
- 
--/* http://dbus.freedesktop.org/doc/api/html/group__DBusConnection.html#gaebf031eb444b4f847606aa27daa3d8e6 */
--    
--DBUS_EXPORT dbus_bool_t dbus_connection_set_watch_functions(
--    DBusConnection * 	connection,
--    DBusAddWatchFunction 	add_function,
--    DBusRemoveWatchFunction 	remove_function,
--    DBusWatchToggledFunction 	toggled_function,
--    void * 	data,
--    DBusFreeFunction 	free_data_function 
--    );
-+    crm_trace("Added %p with fd=%d", watch, fd);
-+    dbus_watch_set_data(watch, client, NULL);
-+    return TRUE;
-+}
-+
-+static void
-+pcmk_dbus_watch_remove(DBusWatch *watch, void *data){
-+    mainloop_io_t *client = dbus_watch_get_data(watch);
-+
-+    crm_trace("Removed %p", watch);
-+    mainloop_del_fd(client);
-+}
-+
-+static gboolean
-+pcmk_dbus_timeout_dispatch(gpointer data)
-+{
-+    crm_trace("Timeout for %p");
-+    dbus_timeout_handle(data);
-+    return FALSE;
-+}
-+
-+static dbus_bool_t
-+pcmk_dbus_timeout_add(DBusTimeout *timeout, void *data){
-+    guint id = g_timeout_add(dbus_timeout_get_interval(timeout), pcmk_dbus_timeout_dispatch, timeout);
-+
-+    if(id) {
-+        dbus_timeout_set_data(timeout, GUINT_TO_POINTER(id), NULL);
-+    }
-+    return TRUE;
-+}
-+
-+static void
-+pcmk_dbus_timeout_remove(DBusTimeout *timeout, void *data){
-+    void *vid = dbus_timeout_get_data(timeout);
-+    guint id = GPOINTER_TO_UINT(vid);
-+
-+    if(id) {
-+        g_source_remove(id);
-+        dbus_timeout_set_data(timeout, 0, NULL);
-+    }
-+}
-+
-+static void
-+pcmk_dbus_timeout_toggle(DBusTimeout *timeout, void *data){
-+    if(dbus_timeout_get_enabled(timeout)) {
-+        pcmk_dbus_timeout_add(timeout, data);
-+    } else {
-+        pcmk_dbus_timeout_remove(timeout, data);
-+    }
-+}
-+
-+/* Inspired by http://www.kolej.mff.cuni.cz/~vesej3am/devel/dbus-select.c */
-+
-+void pcmk_dbus_connection_setup_with_select(DBusConnection *c){
-+	dbus_connection_set_timeout_functions(
-+            c, pcmk_dbus_timeout_add, pcmk_dbus_timeout_remove, pcmk_dbus_timeout_toggle, NULL, NULL);
-+	dbus_connection_set_watch_functions(c, pcmk_dbus_watch_add, pcmk_dbus_watch_remove, NULL, NULL, NULL);
-+	dbus_connection_set_dispatch_status_function(c, pcmk_dbus_connection_dispatch, NULL, NULL);
-+
-+	pcmk_dbus_connection_dispatch(c, dbus_connection_get_dispatch_status(c), NULL);
-+}
-diff --git a/lib/services/pcmk-dbus.h b/lib/services/pcmk-dbus.h
-index 27ac737..c8d2234 100644
---- a/lib/services/pcmk-dbus.h
-+++ b/lib/services/pcmk-dbus.h
-@@ -1,7 +1,13 @@
- DBusConnection *pcmk_dbus_connect(void);
-+void pcmk_dbus_connection_setup_with_select(DBusConnection *c);
- void pcmk_dbus_disconnect(DBusConnection *connection);
- 
--DBusMessage *pcmk_dbus_send_recv(DBusMessage *msg, DBusConnection *connection, char **error);
-+bool pcmk_dbus_send(DBusMessage *msg, DBusConnection *connection,
-+                    void(*done)(DBusPendingCall *pending, void *user_data), void *user_data);
-+DBusMessage *pcmk_dbus_send_recv(DBusMessage *msg, DBusConnection *connection, DBusError *error);
- bool pcmk_dbus_append_arg(DBusMessage *msg, int dtype, const void *value);
- bool pcmk_dbus_type_check(DBusMessage *msg, DBusMessageIter *field, int expected, const char *function, int line);
- char *pcmk_dbus_get_property(DBusConnection *connection, const char *target, const char *obj, const gchar * iface, const char *name);
-+
-+bool pcmk_dbus_find_error(const char *method, DBusPendingCall* pending, DBusMessage *reply, DBusError *error);
-+
-diff --git a/lib/services/systemd.c b/lib/services/systemd.c
-index 9aa5b03..a06d547 100644
---- a/lib/services/systemd.c
-+++ b/lib/services/systemd.c
-@@ -69,6 +69,7 @@ systemd_init(void)
-     if (need_init) {
-         need_init = 0;
-         systemd_proxy = pcmk_dbus_connect();
-+        pcmk_dbus_connection_setup_with_select(systemd_proxy);
-     }
-     if (systemd_proxy == NULL) {
-         return FALSE;
-@@ -122,7 +123,7 @@ systemd_unit_by_name(const gchar * arg_name, gchar ** out_unit)
-     DBusMessage *reply = NULL;
-     const char *method = "GetUnit";
-     char *name = NULL;
--    char *error = NULL;
-+    DBusError error;
- 
- /*
-   <method name="GetUnit">
-@@ -144,13 +145,12 @@ systemd_unit_by_name(const gchar * arg_name, gchar ** out_unit)
- 
-         pcmk_dbus_append_arg(msg, DBUS_TYPE_STRING, &name);
- 
-+        dbus_error_init(&error);
-         reply = pcmk_dbus_send_recv(msg, systemd_proxy, &error);
-         dbus_message_unref(msg);
- 
--        if(error) {
--            crm_info("Call to %s failed: %s", method, error);
--            free(error);
--            error = NULL;
-+        if(error.name) {
-+            crm_info("Call to %s failed: %s", method, error.name);
- 
-         } else if (dbus_message_iter_init(reply, &args)) {
- 
-@@ -192,7 +192,7 @@ systemd_unit_listall(void)
-     DBusMessage *msg = NULL;
-     DBusMessage *reply = NULL;
-     const char *method = "ListUnits";
--    char *error = NULL;
-+    DBusError error;
- 
-     if (systemd_init() == FALSE) {
-         return NULL;
-@@ -204,15 +204,15 @@ systemd_unit_listall(void)
-         "  </method>\n"                                                 \
- */
- 
-+    dbus_error_init(&error);
-     msg = systemd_new_method(BUS_NAME".Manager", method);
-     CRM_ASSERT(msg != NULL);
- 
-     reply = pcmk_dbus_send_recv(msg, systemd_proxy, &error);
-     dbus_message_unref(msg);
- 
--    if(error) {
--        crm_err("Call to %s failed: %s", method, error);
--        free(error);
-+    if(error.name) {
-+        crm_err("Call to %s failed: %s", method, error.name);
-         return NULL;
- 
-     } else if (!dbus_message_iter_init(reply, &args)) {
-@@ -318,64 +318,84 @@ systemd_unit_metadata(const char *name)
-     return meta;
- }
- 
--#if 0
-+static bool
-+systemd_mask_error(svc_action_t *op, const char *error)
-+{
-+    crm_trace("Could not issue %s for %s: %s", op->action, op->rsc, error);
-+    if(strstr(error, "org.freedesktop.systemd1.InvalidName")
-+       || strstr(error, "org.freedesktop.systemd1.LoadFailed")
-+       || strstr(error, "org.freedesktop.systemd1.NoSuchUnit")) {
-+
-+        if (safe_str_eq(op->action, "stop")) {
-+            crm_trace("Masking %s failure for %s: unknown services are stopped", op->action, op->rsc);
-+            op->rc = PCMK_OCF_OK;
-+
-+        } else {
-+            crm_trace("Mapping %s failure for %s: unknown services are not installed", op->action, op->rsc);
-+            op->rc = PCMK_OCF_NOT_INSTALLED;
-+            op->status = PCMK_LRM_OP_NOT_INSTALLED;
-+        }
-+        return TRUE;
-+    }
-+
-+    return FALSE;
-+}
-+
- static void
--systemd_unit_exec_done(GObject * source_object, GAsyncResult * res, gpointer user_data)
-+systemd_async_dispatch(DBusPendingCall *pending, void *user_data)
- {
--    GError *error = NULL;
--    GVariant *_ret = NULL;
-+    DBusError error;
-+    DBusMessage *reply = NULL;
-     svc_action_t *op = user_data;
--    GDBusProxy *proxy = G_DBUS_PROXY(source_object);
- 
--    /* Obtain rc and stderr/out */
--    _ret = g_dbus_proxy_call_finish(proxy, res, &error);
-+    dbus_error_init(&error);
-+    if(pending) {
-+        reply = dbus_pending_call_steal_reply(pending);
-+    }
-+    if(pcmk_dbus_find_error(op->action, pending, reply, &error)) {
- 
--    if (error) {
-         /* ignore "already started" or "not running" errors */
--        crm_trace("Could not issue %s for %s: %s", op->action, op->rsc, error->message);
--        if (strstr(error->message, "systemd1.LoadFailed")
--            || strstr(error->message, "systemd1.InvalidName")) {
-+        if (!systemd_mask_error(op, error.name)) {
-+            crm_err("%s for %s: %s", op->action, op->rsc, error.message);
-+        }
- 
--            if (safe_str_eq(op->action, "stop")) {
--                crm_trace("Masking Stop failure for %s: unknown services are stopped", op->rsc);
--                op->rc = PCMK_OCF_OK;
-+    } else {
-+        DBusMessageIter args;
- 
--            } else {
--                op->rc = PCMK_OCF_NOT_INSTALLED;
--                op->status = PCMK_LRM_OP_NOT_INSTALLED;
--            }
-+        if(!dbus_message_iter_init(reply, &args)) {
-+            crm_err("Call to %s failed: no arguments", op->action);
- 
--        } else {
--            crm_err("Could not issue %s for %s: %s", op->action, op->rsc, error->message);
--        }
--        g_error_free(error);
--
--    } else if(g_variant_is_of_type (_ret, G_VARIANT_TYPE("(o)"))) {
--        char *path = NULL;
-+        } else if(!pcmk_dbus_type_check(reply, &args, DBUS_TYPE_OBJECT_PATH, __FUNCTION__, __LINE__)) {
-+            crm_warn("Call to %s passed but return type was unexpected", op->action);
-+            op->rc = PCMK_OCF_OK;
- 
--        g_variant_get(_ret, "(o)", &path);
--        crm_info("Call to %s passed: type '%s' %s", op->action, g_variant_get_type_string(_ret),
--                 path);
--        op->rc = PCMK_OCF_OK;
-+        } else {
-+            const char *path = NULL;
- 
--    } else {
--        crm_err("Call to %s passed but return type was '%s' not '(o)'", op->action, g_variant_get_type_string(_ret));
--        op->rc = PCMK_OCF_OK;
-+            dbus_message_get_args (reply, NULL,
-+                                   DBUS_TYPE_OBJECT_PATH, &path,
-+                                   DBUS_TYPE_INVALID);
-+            crm_info("Call to %s passed: %s", op->action, path);
-+            op->rc = PCMK_OCF_OK;
-+        }
-     }
- 
-     operation_finalize(op);
--    if (_ret) {
--        g_variant_unref(_ret);
-+
-+    if(pending) {
-+        dbus_pending_call_unref(pending);
-+    }
-+    if(reply) {
-+        dbus_message_unref(reply);
-     }
- }
--#endif
- 
- #define SYSTEMD_OVERRIDE_ROOT "/run/systemd/system/"
- 
- gboolean
- systemd_unit_exec(svc_action_t * op, gboolean synchronous)
- {
--    char *error = NULL;
-+    DBusError error;
-     char *unit = NULL;
-     const char *replace_s = "replace";
-     gboolean pass = FALSE;
-@@ -384,7 +404,8 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
-     DBusMessage *msg = NULL;
-     DBusMessage *reply = NULL;
-     DBusMessageIter args;
--    
-+
-+    dbus_error_init(&error);
-     op->rc = PCMK_OCF_UNKNOWN_ERROR;
-     CRM_ASSERT(systemd_init());
- 
-@@ -465,16 +486,6 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
- 
-     crm_debug("Calling %s for %s: %s", method, op->rsc, unit);
- 
--#if 0
--    if (synchronous == FALSE) {
--        g_dbus_proxy_call(systemd_proxy, method, g_variant_new("(ss)", name, "replace"),
--                          G_DBUS_CALL_FLAGS_NONE, op->timeout, NULL, systemd_unit_exec_done, op);
--        free(unit);
--        free(name);
--        return TRUE;
--    }
--#endif
--
-     msg = systemd_new_method(BUS_NAME".Manager", method);
-     CRM_ASSERT(msg != NULL);
- 
-@@ -482,43 +493,47 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
-     pcmk_dbus_append_arg(msg, DBUS_TYPE_STRING, &name);
-     pcmk_dbus_append_arg(msg, DBUS_TYPE_STRING, &replace_s);
- 
-+    if (synchronous == FALSE) {
-+        free(unit);
-+        free(name);
-+        return pcmk_dbus_send(msg, systemd_proxy, systemd_async_dispatch, op);
-+    }
-+
-     reply = pcmk_dbus_send_recv(msg, systemd_proxy, &error);
--    dbus_message_unref(msg);
- 
--    if(error) {
-+    if(error.name) {
-         /* ignore "already started" or "not running" errors */
--        if (safe_str_eq(op->action, "stop")
--            && (strstr(error, "org.freedesktop.systemd1.InvalidName")
--                || strstr(error, "org.freedesktop.systemd1.NoSuchUnit"))) {
--            crm_trace("Masking Stop failure for %s: unknown services are stopped", op->rsc);
--            op->rc = PCMK_OCF_OK;
--        } else {
--            crm_err("Could not issue %s for %s: %s (%s)", method, op->rsc, error, unit);
-+        if(!systemd_mask_error(op, error.name)) {
-+            crm_err("Could not issue %s for %s: %s (%s)", method, op->rsc, error.name, unit);
-         }
-         goto cleanup;
- 
-     } else if(!dbus_message_iter_init(reply, &args)) {
-         crm_err("Call to %s failed: no arguments", method);
-         goto cleanup;
--    }
- 
--    /* (o) */
--    if(!pcmk_dbus_type_check(reply, &args, DBUS_TYPE_OBJECT_PATH, __FUNCTION__, __LINE__)) {
--        crm_err("Call to %s failed: Message has invalid arguments", method);
-+    } else if(!pcmk_dbus_type_check(reply, &args, DBUS_TYPE_OBJECT_PATH, __FUNCTION__, __LINE__)) {
-+        crm_warn("Call to %s passed but return type was unexpected", op->action);
-+        op->rc = PCMK_OCF_OK;
- 
-     } else {
--        DBusBasicValue value;
-+        const char *path = NULL;
- 
--        dbus_message_iter_get_basic(&args, &value);
--        crm_info("Call to %s passed: %s", op->action, value.str);
-+        dbus_message_get_args (reply, NULL,
-+                               DBUS_TYPE_OBJECT_PATH, &path,
-+                               DBUS_TYPE_INVALID);
-+        crm_info("Call to %s passed: %s", op->action, path);
-         op->rc = PCMK_OCF_OK;
-     }
- 
-   cleanup:
--    free(error);
-     free(unit);
-     free(name);
- 
-+    if(msg) {
-+        dbus_message_unref(msg);
-+    }
-+
-     if(reply) {
-         dbus_message_unref(reply);
-     }
diff --git a/SOURCES/bz1057697-pcmk-use_native_dbus_library_for_systemd_support_to_avoid_problematic_use_of_threads.patch b/SOURCES/bz1057697-pcmk-use_native_dbus_library_for_systemd_support_to_avoid_problematic_use_of_threads.patch
deleted file mode 100644
index b5cb93b..0000000
--- a/SOURCES/bz1057697-pcmk-use_native_dbus_library_for_systemd_support_to_avoid_problematic_use_of_threads.patch
+++ /dev/null
@@ -1,1012 +0,0 @@
-commit 6b3f1e2e65db9d6fe229ccda22567a80d14efc3c
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Thu Jan 30 08:23:35 2014 +1100
-
-    Fix: Bug rhbz#1057697 - Use native DBus library for systemd support to avoid problematic use of threads
-    
-    (cherry picked from commit 24404bfa83f32357e8fa2d7e80b1dd7c6a893244)
-
-diff --git a/configure.ac b/configure.ac
-index b94c26e..628f46f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1157,20 +1157,22 @@ AC_DEFINE_UNQUOTED(BUILD_VERSION, "$BUILD_VERSION", Build version)
- AC_SUBST(BUILD_VERSION)
- 
- 
--HAVE_gio=1
-+HAVE_dbus=1
- HAVE_upstart=0
- HAVE_systemd=0
--PKG_CHECK_MODULES(GIO, gio-2.0, ,HAVE_gio=0)
-+PKG_CHECK_MODULES(DBUS, dbus-1, ,HAVE_dbus=0)
- 
--AC_CHECK_TYPE([GDBusProxy],,,[[#include <gio/gio.h>]])
--
--if test x$ac_cv_type_GDBusProxy != xyes; then
--   HAVE_gio=0
--   AC_MSG_WARN(Unable to support systemd/upstart. You need to use glib >= 2.26)
-+if test $HAVE_dbus = 1; then
-+   CFLAGS="$CFLAGS `$PKGCONFIG --cflags dbus-1`"
- fi
- 
--if test $HAVE_gio = 1 -a "x${enable_upstart}" != xno; then
--   HAVE_upstart=1
-+DBUS_LIBS="$CFLAGS `$PKGCONFIG --libs dbus-1`"
-+AC_SUBST(DBUS_LIBS)
-+
-+AC_CHECK_TYPES([DBusBasicValue],,,[[#include <dbus/dbus.h>]])
-+
-+if test $HAVE_dbus = 1 -a "x${enable_upstart}" != xno; then
-+   HAVE_upstart=0
-    PCMK_FEATURES="$PCMK_FEATURES upstart"
- fi
- 
-@@ -1186,7 +1188,7 @@ else
-     enable_systemd=no
- fi
- 
--if test $HAVE_gio = 1 -a "x${enable_systemd}" != xno; then
-+if test $HAVE_dbus = 1 -a "x${enable_systemd}" != xno; then
-    if test -n "$systemdunitdir" -a "x$systemdunitdir" != xno; then
-       HAVE_systemd=1
-       PCMK_FEATURES="$PCMK_FEATURES systemd"
-diff --git a/include/portability.h b/include/portability.h
-index b0f9f1c..29d1177 100644
---- a/include/portability.h
-+++ b/include/portability.h
-@@ -177,6 +177,48 @@ g_list_free_full(GList * list, GDestroyNotify free_func)
- }
- #  endif
- 
-+#  ifndef HAVE_DBUSBASICVALUE
-+#    include <dbus/dbus.h>
-+/**
-+ * An 8-byte struct you could use to access int64 without having
-+ * int64 support
-+ */
-+typedef struct
-+{
-+  dbus_uint32_t first32;  /**< first 32 bits in the 8 bytes (beware endian issues) */
-+  dbus_uint32_t second32; /**< second 32 bits in the 8 bytes (beware endian issues) */
-+} DBus8ByteStruct;
-+
-+/**
-+ * A simple value union that lets you access bytes as if they
-+ * were various types; useful when dealing with basic types via
-+ * void pointers and varargs.
-+ *
-+ * This union also contains a pointer member (which can be used
-+ * to retrieve a string from dbus_message_iter_get_basic(), for
-+ * instance), so on future platforms it could conceivably be larger
-+ * than 8 bytes.
-+ */
-+typedef union
-+{
-+  unsigned char bytes[8]; /**< as 8 individual bytes */
-+  dbus_int16_t  i16;   /**< as int16 */
-+  dbus_uint16_t u16;   /**< as int16 */
-+  dbus_int32_t  i32;   /**< as int32 */
-+  dbus_uint32_t u32;   /**< as int32 */
-+  dbus_bool_t   bool_val; /**< as boolean */
-+#    ifdef DBUS_HAVE_INT64
-+  dbus_int64_t  i64;   /**< as int64 */
-+  dbus_uint64_t u64;   /**< as int64 */
-+#    endif
-+  DBus8ByteStruct eight; /**< as 8-byte struct */
-+  double dbl;          /**< as double */
-+  unsigned char byt;   /**< as byte */
-+  char *str;           /**< as char* (string, object path or signature) */
-+  int fd;              /**< as Unix file descriptor */
-+} DBusBasicValue;
-+#  endif
-+
- /* Replacement error codes for non-linux */
- #  ifndef ENOTUNIQ
- #    define ENOTUNIQ  190
-diff --git a/lib/services/Makefile.am b/lib/services/Makefile.am
-index 67d7237..6ed4d01 100644
---- a/lib/services/Makefile.am
-+++ b/lib/services/Makefile.am
-@@ -23,10 +23,10 @@ INCLUDES         = -I$(top_builddir)/include
- lib_LTLIBRARIES = libcrmservice.la
- noinst_HEADERS  = upstart.h systemd.h services_private.h
- 
--libcrmservice_la_SOURCES = services.c services_linux.c
-+libcrmservice_la_SOURCES = services.c services_linux.c dbus.c
- libcrmservice_la_LDFLAGS = -version-info 1:0:0
- libcrmservice_la_CFLAGS  = $(GIO_CFLAGS) -DOCF_ROOT_DIR=\"@OCF_ROOT_DIR@\"
--libcrmservice_la_LIBADD  = $(GIO_LIBS) $(top_builddir)/lib/common/libcrmcommon.la
-+libcrmservice_la_LIBADD  = $(GIO_LIBS) $(top_builddir)/lib/common/libcrmcommon.la $(DBUS_LIBS)
- 
- if BUILD_UPSTART
- libcrmservice_la_SOURCES += upstart.c
-diff --git a/lib/services/dbus.c b/lib/services/dbus.c
-new file mode 100644
-index 0000000..69ea6ac
---- /dev/null
-+++ b/lib/services/dbus.c
-@@ -0,0 +1,261 @@
-+#include <crm_internal.h>
-+#include <crm/crm.h>
-+#include <crm/services.h>
-+#include <dbus/dbus.h>
-+#include <pcmk-dbus.h>
-+
-+static bool pcmk_dbus_error_check(DBusError *err, const char *prefix, const char *function, int line) 
-+{
-+    if (err && dbus_error_is_set(err)) {
-+        do_crm_log_alias(LOG_ERR, __FILE__, function, line, "%s: DBus error '%s'", prefix, err->message);
-+        dbus_error_free(err);
-+        return TRUE;
-+    }
-+    return FALSE;
-+}
-+
-+DBusConnection *pcmk_dbus_connect(void)
-+{
-+    DBusError err;
-+    DBusConnection *connection;
-+
-+    dbus_error_init(&err);
-+    connection = dbus_bus_get(DBUS_BUS_SYSTEM, &err);
-+    pcmk_dbus_error_check(&err, "Could not connect to System DBus", __FUNCTION__, __LINE__);
-+
-+    return connection;
-+}
-+
-+void pcmk_dbus_disconnect(DBusConnection *connection)
-+{
-+}
-+
-+bool pcmk_dbus_append_arg(DBusMessage *msg, int dtype, const void *value)
-+{
-+    DBusMessageIter args;
-+
-+    dbus_message_iter_init_append(msg, &args);
-+    if (!dbus_message_iter_append_basic(&args, dtype, value)) {
-+        crm_err("dbus_message_iter_append_basic(%c) failed", dtype);
-+        return FALSE;
-+    }
-+
-+    return TRUE;
-+}
-+
-+DBusMessage *pcmk_dbus_send_recv(DBusMessage *msg, DBusConnection *connection, char **e)
-+{
-+    DBusError error;
-+    const char *method = NULL;
-+    DBusMessage *reply = NULL;
-+    DBusPendingCall* pending = NULL;
-+
-+    dbus_error_init(&error);
-+
-+    CRM_ASSERT(dbus_message_get_type (msg) == DBUS_MESSAGE_TYPE_METHOD_CALL);
-+    method = dbus_message_get_member (msg);
-+
-+    // send message and get a handle for a reply
-+    if (!dbus_connection_send_with_reply (connection, msg, &pending, -1)) { // -1 is default timeout
-+        crm_err("Send with reply failed");
-+        return NULL;
-+    }
-+    if (NULL == pending) {
-+        crm_err("No pending call found");
-+        return NULL;
-+    }
-+
-+    dbus_connection_flush(connection);
-+
-+    /* block until we receive a reply */
-+    dbus_pending_call_block(pending);
-+
-+    /* get the reply message */
-+    reply = dbus_pending_call_steal_reply(pending);
-+    if(reply == NULL) {
-+        error.name = "org.clusterlabs.pacemaker.NoReply";
-+        error.message = "No reply";
-+
-+    } else {
-+        DBusMessageIter args;
-+        int dtype = dbus_message_get_type(reply);
-+
-+
-+        switch(dtype) {
-+            case DBUS_MESSAGE_TYPE_METHOD_RETURN:
-+                dbus_message_iter_init(reply, &args);
-+                crm_trace("Call to %s returned '%s'", method, dbus_message_iter_get_signature(&args));
-+                break;
-+            case DBUS_MESSAGE_TYPE_INVALID:
-+                error.message = "Invalid reply";
-+                error.name = "org.clusterlabs.pacemaker.InvalidReply";
-+                crm_err("Error processing %s response: %s", method, error.message);
-+                break;
-+            case DBUS_MESSAGE_TYPE_METHOD_CALL:
-+                error.message = "Invalid reply (method call)";
-+                error.name = "org.clusterlabs.pacemaker.InvalidReply.Method";
-+                crm_err("Error processing %s response: %s", method, error.message);
-+                break;
-+            case DBUS_MESSAGE_TYPE_SIGNAL:
-+                error.message = "Invalid reply (signal)";
-+                error.name = "org.clusterlabs.pacemaker.InvalidReply.Signal";
-+                crm_err("Error processing %s response: %s", method, error.message);
-+                break;
-+
-+            case DBUS_MESSAGE_TYPE_ERROR:
-+                dbus_set_error_from_message (&error, reply);
-+                crm_err("%s error '%s': %s", method, error.name, error.message);
-+                break;
-+            default:
-+                error.message = "Unknown reply type";
-+                error.name = "org.clusterlabs.pacemaker.InvalidReply.Type";
-+                crm_err("Error processing %s response: %s (%d)", method, error.message, dtype);
-+        }
-+    }
-+
-+    if(error.name) {
-+        if(e) {
-+            *e = strdup(error.name);
-+        }
-+        if(reply) {
-+            dbus_message_unref(reply);
-+            reply = NULL;
-+        }
-+    } else if(e) {
-+        *e = NULL;
-+    }
-+
-+    /* free the pending message handle */
-+    dbus_pending_call_unref(pending);
-+    return reply;
-+}
-+
-+bool pcmk_dbus_type_check(DBusMessage *msg, DBusMessageIter *field, int expected, const char *function, int line)
-+{
-+    int dtype = dbus_message_iter_get_arg_type(field);
-+
-+    if(dtype != expected) {
-+        DBusMessageIter args;
-+
-+        dbus_message_iter_init(msg, &args);
-+        do_crm_log_alias(LOG_ERR, __FILE__, function, line,
-+                         "Unexepcted DBus type, expected %c instead of %c in '%s'",
-+                         expected, dtype, dbus_message_iter_get_signature(&args));
-+        return FALSE;
-+    }
-+
-+    return TRUE;
-+}
-+
-+#define BUS_PROPERTY_IFACE "org.freedesktop.DBus.Properties"
-+
-+char *
-+pcmk_dbus_get_property(
-+    DBusConnection *connection, const char *target, const char *obj, const gchar * iface, const char *name)
-+{
-+    DBusMessage *msg;
-+    DBusMessageIter args;
-+    DBusMessageIter dict;
-+    DBusMessage *reply = NULL;
-+    /* DBusBasicValue value; */
-+    const char *method = "GetAll";
-+    char *output = NULL;
-+    char *error = NULL;
-+
-+        /* desc = systemd_unit_property(path, BUS_NAME ".Unit", "Description"); */
-+
-+    crm_info("Calling: %s on %s", method, target);
-+    msg = dbus_message_new_method_call(target, // target for the method call
-+                                       obj, // object to call on
-+                                       BUS_PROPERTY_IFACE, // interface to call on
-+                                       method); // method name
-+
-+    if (NULL == msg) {
-+        crm_err("Call to %s failed: No message", method);
-+        return NULL;
-+    }
-+
-+    pcmk_dbus_append_arg(msg, DBUS_TYPE_STRING, &iface);
-+
-+    reply = pcmk_dbus_send_recv(msg, connection, &error);
-+    dbus_message_unref(msg);
-+
-+    if(reply == NULL) {
-+        crm_err("Call to %s for %s failed: No reply", method, iface);
-+        return NULL;
-+
-+    } else if (!dbus_message_iter_init(reply, &args)) {
-+        crm_err("Cannot get properties for %s from %s", obj, iface);
-+        return NULL;
-+    }
-+
-+    if(!pcmk_dbus_type_check(reply, &args, DBUS_TYPE_ARRAY, __FUNCTION__, __LINE__)) {
-+        crm_err("Call to %s failed: Message has invalid arguments", method);
-+        dbus_message_unref(reply);
-+        return NULL;
-+    }
-+
-+    dbus_message_iter_recurse(&args, &dict);
-+    while (dbus_message_iter_get_arg_type (&dict) != DBUS_TYPE_INVALID) {
-+        DBusMessageIter sv;
-+        DBusMessageIter v;
-+        DBusBasicValue value;
-+
-+        if(!pcmk_dbus_type_check(reply, &dict, DBUS_TYPE_DICT_ENTRY, __FUNCTION__, __LINE__)) {
-+            dbus_message_iter_next (&dict);
-+            continue;
-+        }
-+
-+        dbus_message_iter_recurse(&dict, &sv);
-+        while (dbus_message_iter_get_arg_type (&sv) != DBUS_TYPE_INVALID) {
-+            int dtype = dbus_message_iter_get_arg_type(&sv);
-+
-+            switch(dtype) {
-+                case DBUS_TYPE_STRING:
-+                    dbus_message_iter_get_basic(&sv, &value);
-+
-+                    crm_trace("Got: %s", value.str);
-+                    if(strcmp(value.str, name) != 0) {
-+                        dbus_message_iter_next (&sv); /* Skip the value */
-+                    }
-+                    break;
-+                case DBUS_TYPE_VARIANT:
-+                    dbus_message_iter_recurse(&sv, &v);
-+                    if(pcmk_dbus_type_check(reply, &v, DBUS_TYPE_STRING, __FUNCTION__, __LINE__)) {
-+                        dbus_message_iter_get_basic(&v, &value);
-+
-+                        crm_trace("Result: %s", value.str);
-+                        output = strdup(value.str);
-+                    }
-+                    break;
-+                default:
-+                    pcmk_dbus_type_check(reply, &sv, DBUS_TYPE_STRING, __FUNCTION__, __LINE__);
-+            }
-+            dbus_message_iter_next (&sv);
-+        }
-+
-+        dbus_message_iter_next (&dict);
-+    }
-+
-+
-+    crm_trace("Property %s[%s] is '%s'", obj, name, output);
-+    return output;
-+}
-+
-+
-+
-+
-+
-+int dbus_watch_get_unix_fd	(	DBusWatch * 	watch	);
-+
-+
-+/* http://dbus.freedesktop.org/doc/api/html/group__DBusConnection.html#gaebf031eb444b4f847606aa27daa3d8e6 */
-+    
-+DBUS_EXPORT dbus_bool_t dbus_connection_set_watch_functions(
-+    DBusConnection * 	connection,
-+    DBusAddWatchFunction 	add_function,
-+    DBusRemoveWatchFunction 	remove_function,
-+    DBusWatchToggledFunction 	toggled_function,
-+    void * 	data,
-+    DBusFreeFunction 	free_data_function 
-+    );
-diff --git a/lib/services/pcmk-dbus.h b/lib/services/pcmk-dbus.h
-new file mode 100644
-index 0000000..27ac737
---- /dev/null
-+++ b/lib/services/pcmk-dbus.h
-@@ -0,0 +1,7 @@
-+DBusConnection *pcmk_dbus_connect(void);
-+void pcmk_dbus_disconnect(DBusConnection *connection);
-+
-+DBusMessage *pcmk_dbus_send_recv(DBusMessage *msg, DBusConnection *connection, char **error);
-+bool pcmk_dbus_append_arg(DBusMessage *msg, int dtype, const void *value);
-+bool pcmk_dbus_type_check(DBusMessage *msg, DBusMessageIter *field, int expected, const char *function, int line);
-+char *pcmk_dbus_get_property(DBusConnection *connection, const char *target, const char *obj, const gchar * iface, const char *name);
-diff --git a/lib/services/systemd.c b/lib/services/systemd.c
-index ea804c8..9aa5b03 100644
---- a/lib/services/systemd.c
-+++ b/lib/services/systemd.c
-@@ -24,6 +24,8 @@
- #include <gio/gio.h>
- #include <services_private.h>
- #include <systemd.h>
-+#include <dbus/dbus.h>
-+#include <pcmk-dbus.h>
- 
- #define BUS_NAME "org.freedesktop.systemd1"
- #define BUS_PATH "/org/freedesktop/systemd1"
-@@ -47,42 +49,26 @@ struct unit_info {
-     const char *job_path;
- };
- 
--static GDBusProxy *systemd_proxy = NULL;
--
--static GDBusProxy *
--get_proxy(const char *path, const char *interface)
-+static DBusMessage *systemd_new_method(const char *iface, const char *method)
- {
--    GError *error = NULL;
--    GDBusProxy *proxy = NULL;
--
--#ifndef GLIB_DEPRECATED_IN_2_36
--    g_type_init();
--#endif
--
--    if (path == NULL) {
--        path = BUS_PATH;
--    }
--
--    proxy = g_dbus_proxy_new_for_bus_sync(G_BUS_TYPE_SYSTEM, G_DBUS_PROXY_FLAGS_NONE, NULL,     /* GDBusInterfaceInfo */
--                                          BUS_NAME, path, interface,
--                                          NULL, /* GCancellable */ &error);
--
--    if (error) {
--        crm_err("Can't connect obtain proxy to %s interface: %s", interface, error->message);
--        g_error_free(error);
--        proxy = NULL;
--    }
--    return proxy;
-+    crm_trace("Calling: %s on %s", method, iface);
-+    return dbus_message_new_method_call(BUS_NAME, // target for the method call
-+                                        BUS_PATH, // object to call on
-+                                        iface, // interface to call on
-+                                        method); // method name
- }
- 
-+
-+static DBusConnection* systemd_proxy = NULL;
- static gboolean
- systemd_init(void)
- {
-     static int need_init = 1;
-+    /* http://dbus.freedesktop.org/doc/api/html/group__DBusConnection.html */
- 
-     if (need_init) {
-         need_init = 0;
--        systemd_proxy = get_proxy(NULL, BUS_NAME ".Manager");
-+        systemd_proxy = pcmk_dbus_connect();
-     }
-     if (systemd_proxy == NULL) {
-         return FALSE;
-@@ -94,7 +80,7 @@ void
- systemd_cleanup(void)
- {
-     if (systemd_proxy) {
--        g_object_unref(systemd_proxy);
-+        pcmk_dbus_disconnect(systemd_proxy);
-         systemd_proxy = NULL;
-     }
- }
-@@ -112,130 +98,87 @@ systemd_service_name(const char *name)
-     return g_strdup_printf("%s.service", name);
- }
- 
--static void
--systemd_daemon_reload(GDBusProxy * proxy, GError ** error)
-+static bool
-+systemd_daemon_reload(void)
- {
--    GVariant *_ret = g_dbus_proxy_call_sync(proxy, "Reload", g_variant_new("()"),
--                                            G_DBUS_CALL_FLAGS_NONE, -1, NULL, error);
--
--    if (_ret) {
--        g_variant_unref(_ret);
-+    const char *method = "Reload";
-+    DBusMessage *reply = NULL;
-+    DBusMessage *msg = systemd_new_method(BUS_NAME".Manager", method);
-+
-+    CRM_ASSERT(msg != NULL);
-+    reply = pcmk_dbus_send_recv(msg, systemd_proxy, NULL);
-+    dbus_message_unref(msg);
-+    if(reply) {
-+        dbus_message_unref(reply);
-     }
-+    return TRUE;
- }
- 
- static gboolean
--systemd_unit_by_name(GDBusProxy * proxy,
--                     const gchar * arg_name,
--                     gchar ** out_unit, GCancellable * cancellable, GError ** error)
-+systemd_unit_by_name(const gchar * arg_name, gchar ** out_unit)
- {
--    GError *reload_error = NULL;
--    GVariant *_ret = NULL;
-+    DBusMessage *msg;
-+    DBusMessageIter args;
-+    DBusMessage *reply = NULL;
-+    const char *method = "GetUnit";
-     char *name = NULL;
--    int retry = 0;
-+    char *error = NULL;
- 
- /*
--  "  <method name=\"GetUnit\">\n"                                 \
--  "   <arg name=\"name\" type=\"s\" direction=\"in\"/>\n"         \
--  "   <arg name=\"unit\" type=\"o\" direction=\"out\"/>\n"        \
--  "  </method>\n"                                                 \
--*/
--
--    name = systemd_service_name(arg_name);
--    crm_debug("Calling GetUnit");
--    _ret = g_dbus_proxy_call_sync(proxy, "GetUnit", g_variant_new("(s)", name),
--                                  G_DBUS_CALL_FLAGS_NONE, -1, cancellable, error);
--
--    if (_ret) {
--        crm_debug("Checking output");
--        g_variant_get(_ret, "(o)", out_unit);
--        crm_debug("%s = %s", arg_name, *out_unit);
--        g_variant_unref(_ret);
--        goto done;
--    }
--
--    crm_debug("Reloading the systemd manager configuration");
--    systemd_daemon_reload(proxy, &reload_error);
--    retry++;
--
--    if (reload_error) {
--        crm_err("Cannot reload the systemd manager configuration: %s", reload_error->message);
--        g_error_free(reload_error);
--        goto done;
--    }
--
--    if (*error) {
--        crm_debug("Cannot find %s: %s", name, (*error)->message);
--        g_error_free(*error);
--        *error = NULL;
--    }
-+  <method name="GetUnit">
-+   <arg name="name" type="s" direction="in"/>
-+   <arg name="unit" type="o" direction="out"/>
-+  </method>
- 
--/*
-   <method name="LoadUnit">
-    <arg name="name" type="s" direction="in"/>
-    <arg name="unit" type="o" direction="out"/>
-   </method>
-  */
--    crm_debug("Calling LoadUnit");
--    _ret = g_dbus_proxy_call_sync(proxy, "LoadUnit", g_variant_new("(s)", name),
--                                  G_DBUS_CALL_FLAGS_NONE, -1, cancellable, error);
- 
--    if (_ret) {
--        crm_debug("Checking output");
--        g_variant_get(_ret, "(o)", out_unit);
--        crm_debug("%s = %s", arg_name, *out_unit);
--        g_variant_unref(_ret);
--    }
-+    name = systemd_service_name(arg_name);
- 
--  done:
--    free(name);
--    return _ret != NULL;
--}
-+    while(*out_unit == NULL) {
-+        msg = systemd_new_method(BUS_NAME".Manager", method);
-+        CRM_ASSERT(msg != NULL);
- 
--static char *
--systemd_unit_property(const char *obj, const gchar * iface, const char *name)
--{
--    GError *error = NULL;
--    GDBusProxy *proxy;
--    GVariant *asv = NULL;
--    GVariant *value = NULL;
--    GVariant *_ret = NULL;
--    char *output = NULL;
-+        pcmk_dbus_append_arg(msg, DBUS_TYPE_STRING, &name);
- 
--    crm_trace("Calling GetAll on %s", obj);
--    proxy = get_proxy(obj, BUS_PROPERTY_IFACE);
-+        reply = pcmk_dbus_send_recv(msg, systemd_proxy, &error);
-+        dbus_message_unref(msg);
- 
--    if (!proxy) {
--        return NULL;
--    }
-+        if(error) {
-+            crm_info("Call to %s failed: %s", method, error);
-+            free(error);
-+            error = NULL;
- 
--    _ret = g_dbus_proxy_call_sync(proxy, "GetAll", g_variant_new("(s)", iface),
--                                  G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);
-+        } else if (dbus_message_iter_init(reply, &args)) {
- 
--    if (error) {
--        crm_err("Cannot get properties for %s: %s", g_dbus_proxy_get_object_path(proxy),
--                error->message);
--        g_error_free(error);
--        g_object_unref(proxy);
--        return NULL;
--    }
--    crm_debug("Call to GetAll passed: type '%s' %d\n", g_variant_get_type_string(_ret),
--             g_variant_n_children(_ret));
-+            if(pcmk_dbus_type_check(reply, &args, DBUS_TYPE_OBJECT_PATH, __FUNCTION__, __LINE__)) {
-+                DBusBasicValue value;
- 
--    asv = g_variant_get_child_value(_ret, 0);
--    crm_trace("asv type '%s' %d\n", g_variant_get_type_string(asv), g_variant_n_children(asv));
-+                dbus_message_iter_get_basic(&args, &value);
-+                *out_unit = strdup(value.str);
-+                dbus_message_unref(reply);
-+                free(name);
-+                return TRUE;
-+            }
-+        }
- 
--    value = g_variant_lookup_value(asv, name, NULL);
--    if (value && g_variant_is_of_type(value, G_VARIANT_TYPE_STRING)) {
--        crm_info("Got value '%s' for %s[%s]", g_variant_get_string(value, NULL), obj, name);
--        output = g_variant_dup_string(value, NULL);
-+        if(strcmp(method, "LoadUnit") != 0) {
-+            method = "LoadUnit";
-+            crm_debug("Cannot find %s, reloading the systemd manager configuration", name);
-+            systemd_daemon_reload();
-+            if(reply) {
-+                dbus_message_unref(reply);
-+            }
- 
--    } else {
--        crm_info("No value for %s[%s]", obj, name);
-+        } else {
-+            free(name);
-+            return FALSE;
-+        }
-     }
--
--    g_object_unref(proxy);
--    g_variant_unref(_ret);
--    return output;
-+    return FALSE;
- }
- 
- GList *
-@@ -243,11 +186,13 @@ systemd_unit_listall(void)
- {
-     int lpc = 0;
-     GList *units = NULL;
--    GError *error = NULL;
--    GVariant *out_units = NULL;
--    GVariantIter iter;
--    struct unit_info u;
--    GVariant *_ret = NULL;
-+    DBusMessageIter args;
-+    DBusMessageIter unit;
-+    DBusMessageIter elem;
-+    DBusMessage *msg = NULL;
-+    DBusMessage *reply = NULL;
-+    const char *method = "ListUnits";
-+    char *error = NULL;
- 
-     if (systemd_init() == FALSE) {
-         return NULL;
-@@ -259,40 +204,60 @@ systemd_unit_listall(void)
-         "  </method>\n"                                                 \
- */
- 
--    _ret = g_dbus_proxy_call_sync(systemd_proxy, "ListUnits", g_variant_new("()"),
--                                  G_DBUS_CALL_FLAGS_NONE, -1, NULL, &error);
-+    msg = systemd_new_method(BUS_NAME".Manager", method);
-+    CRM_ASSERT(msg != NULL);
- 
--    if (error || _ret == NULL) {
--        crm_info("Call to ListUnits failed: %s", error ? error->message : "unknown");
--        if(error) {
--            g_error_free(error);
--        }
-+    reply = pcmk_dbus_send_recv(msg, systemd_proxy, &error);
-+    dbus_message_unref(msg);
-+
-+    if(error) {
-+        crm_err("Call to %s failed: %s", method, error);
-+        free(error);
-+        return NULL;
-+
-+    } else if (!dbus_message_iter_init(reply, &args)) {
-+        crm_err("Call to %s failed: Message has no arguments", method);
-+        dbus_message_unref(reply);
-         return NULL;
-     }
- 
--    g_variant_get(_ret, "(@a(ssssssouso))", &out_units);
--
--    g_variant_iter_init(&iter, out_units);
--    while (g_variant_iter_loop(&iter, "(ssssssouso)",
--                               &u.id,
--                               &u.description,
--                               &u.load_state,
--                               &u.active_state,
--                               &u.sub_state,
--                               &u.following, &u.unit_path, &u.job_id, &u.job_type, &u.job_path)) {
--        char *match = strstr(u.id, ".service");
--
--        if (match) {
--            lpc++;
--            match[0] = 0;
--            crm_trace("Got %s[%s] = %s", u.id, u.active_state, u.description);
--            units = g_list_append(units, strdup(u.id));
-+    if(!pcmk_dbus_type_check(reply, &args, DBUS_TYPE_ARRAY, __FUNCTION__, __LINE__)) {
-+        crm_err("Call to %s failed: Message has invalid arguments", method);
-+        dbus_message_unref(reply);
-+        return NULL;
-+    }
-+
-+    dbus_message_iter_recurse(&args, &unit);
-+    while (dbus_message_iter_get_arg_type (&unit) != DBUS_TYPE_INVALID) {
-+        DBusBasicValue value;
-+
-+        if(!pcmk_dbus_type_check(reply, &unit, DBUS_TYPE_STRUCT, __FUNCTION__, __LINE__)) {
-+            continue;
-         }
-+
-+        dbus_message_iter_recurse(&unit, &elem);
-+        if(!pcmk_dbus_type_check(reply, &elem, DBUS_TYPE_STRING, __FUNCTION__, __LINE__)) {
-+            continue;
-+        }
-+
-+        dbus_message_iter_get_basic(&elem, &value);
-+        crm_trace("Got: %s", value.str);
-+        if(value.str) {
-+            char *match = strstr(value.str, ".service");
-+
-+            if (match) {
-+                lpc++;
-+                match[0] = 0;
-+
-+                units = g_list_append(units, strdup(value.str));
-+            }
-+        }
-+        dbus_message_iter_next (&unit);
-     }
- 
--    crm_info("Call to ListUnits passed: type '%s' count %d", g_variant_get_type_string(out_units),
--             lpc);
--    g_variant_unref(_ret);
-+    dbus_message_unref(reply);
-+
-+    crm_trace("Found %d systemd services", lpc);
-     return units;
- }
- 
-@@ -300,26 +265,18 @@ gboolean
- systemd_unit_exists(const char *name)
- {
-     char *path = NULL;
--    GError *error = NULL;
-     gboolean pass = FALSE;
- 
-     if (systemd_init() == FALSE) {
-         return FALSE;
-     }
- 
--    pass = systemd_unit_by_name(systemd_proxy, name, &path, NULL, &error);
--
--    if (error || pass == FALSE) {
--        pass = FALSE;
--        crm_err("Call to ListUnits failed: %s", error ? error->message : "unknown");
--        if(error) {
--            g_error_free(error);
--        }
--
--    } else {
-+    if(systemd_unit_by_name(name, &path) && path) {
-         crm_trace("Got %s", path);
-+        pass = TRUE;
-     }
--    /* free(path) */
-+
-+    free(path);
-     return pass;
- }
- 
-@@ -329,11 +286,10 @@ systemd_unit_metadata(const char *name)
-     char *path = NULL;
-     char *meta = NULL;
-     char *desc = NULL;
--    GError *error = NULL;
- 
-     CRM_ASSERT(systemd_init());
--    if (systemd_unit_by_name(systemd_proxy, name, &path, NULL, &error)) {
--        desc = systemd_unit_property(path, BUS_NAME ".Unit", "Description");
-+    if (systemd_unit_by_name(name, &path)) {
-+        desc = pcmk_dbus_get_property(systemd_proxy, BUS_NAME, path, BUS_NAME ".Unit", "Description");
-     } else {
-         desc = g_strdup_printf("systemd unit file for %s", name);
-     }
-@@ -362,6 +318,7 @@ systemd_unit_metadata(const char *name)
-     return meta;
- }
- 
-+#if 0
- static void
- systemd_unit_exec_done(GObject * source_object, GAsyncResult * res, gpointer user_data)
- {
-@@ -411,19 +368,23 @@ systemd_unit_exec_done(GObject * source_object, GAsyncResult * res, gpointer use
-         g_variant_unref(_ret);
-     }
- }
-+#endif
- 
- #define SYSTEMD_OVERRIDE_ROOT "/run/systemd/system/"
- 
- gboolean
- systemd_unit_exec(svc_action_t * op, gboolean synchronous)
- {
-+    char *error = NULL;
-     char *unit = NULL;
--    GError *error = NULL;
-+    const char *replace_s = "replace";
-     gboolean pass = FALSE;
--    GVariant *_ret = NULL;
--    const char *action = op->action;
-+    const char *method = op->action;
-     char *name = systemd_service_name(op->agent);
--
-+    DBusMessage *msg = NULL;
-+    DBusMessage *reply = NULL;
-+    DBusMessageIter args;
-+    
-     op->rc = PCMK_OCF_UNKNOWN_ERROR;
-     CRM_ASSERT(systemd_init());
- 
-@@ -436,22 +397,20 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
-         goto cleanup;
-     }
- 
--    pass = systemd_unit_by_name(systemd_proxy, op->agent, &unit, NULL, &error);
--    if (error || pass == FALSE) {
--        crm_debug("Could not obtain unit named '%s': %s", op->agent,
--                  error ? error->message : "unknown");
-+    pass = systemd_unit_by_name(op->agent, &unit);
-+    if (pass == FALSE) {
-+        crm_debug("Could not obtain unit named '%s'", op->agent);
-+#if 0
-         if (error && strstr(error->message, "systemd1.NoSuchUnit")) {
-             op->rc = PCMK_OCF_NOT_INSTALLED;
-             op->status = PCMK_LRM_OP_NOT_INSTALLED;
-         }
--        if(error) {
--            g_error_free(error);
--        }
-+#endif
-         goto cleanup;
-     }
- 
--    if (safe_str_eq(op->action, "monitor") || safe_str_eq(action, "status")) {
--        char *state = systemd_unit_property(unit, BUS_NAME ".Unit", "ActiveState");
-+    if (safe_str_eq(op->action, "monitor") || safe_str_eq(method, "status")) {
-+        char *state = pcmk_dbus_get_property(systemd_proxy, BUS_NAME, unit, BUS_NAME ".Unit", "ActiveState");
- 
-         if (g_strcmp0(state, "active") == 0) {
-             op->rc = PCMK_OCF_OK;
-@@ -462,12 +421,12 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
-         free(state);
-         goto cleanup;
- 
--    } else if (g_strcmp0(action, "start") == 0) {
-+    } else if (g_strcmp0(method, "start") == 0) {
-         FILE *file_strm = NULL;
-         char *override_dir = g_strdup_printf("%s/%s", SYSTEMD_OVERRIDE_ROOT, unit);
-         char *override_file = g_strdup_printf("%s/50-pacemaker.conf", override_dir);
- 
--        action = "StartUnit";
-+        method = "StartUnit";
-         crm_build_path(override_dir, 0755);
- 
-         file_strm = fopen(override_file, "w");
-@@ -485,74 +444,85 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
-             fflush(file_strm);
-             fclose(file_strm);
-         }
--        systemd_daemon_reload(systemd_proxy, &error);
--        if(error) {
--            g_error_free(error);
--        }
-+        systemd_daemon_reload();
-         free(override_file);
-         free(override_dir);
- 
--    } else if (g_strcmp0(action, "stop") == 0) {
-+    } else if (g_strcmp0(method, "stop") == 0) {
-         char *override_file = g_strdup_printf("%s/%s/50-pacemaker.conf", SYSTEMD_OVERRIDE_ROOT, unit);
- 
--        action = "StopUnit";
-+        method = "StopUnit";
-         unlink(override_file);
-         free(override_file);
--        systemd_daemon_reload(systemd_proxy, &error);
--        if(error) {
--            g_error_free(error);
--        }
-+        systemd_daemon_reload();
- 
--    } else if (g_strcmp0(action, "restart") == 0) {
--        action = "RestartUnit";
-+    } else if (g_strcmp0(method, "restart") == 0) {
-+        method = "RestartUnit";
-     } else {
-         op->rc = PCMK_OCF_UNIMPLEMENT_FEATURE;
-         goto cleanup;
-     }
- 
--    crm_debug("Calling %s for %s: %s", action, op->rsc, unit);
-+    crm_debug("Calling %s for %s: %s", method, op->rsc, unit);
-+
-+#if 0
-     if (synchronous == FALSE) {
--        g_dbus_proxy_call(systemd_proxy, action, g_variant_new("(ss)", name, "replace"),
-+        g_dbus_proxy_call(systemd_proxy, method, g_variant_new("(ss)", name, "replace"),
-                           G_DBUS_CALL_FLAGS_NONE, op->timeout, NULL, systemd_unit_exec_done, op);
-         free(unit);
-         free(name);
-         return TRUE;
-     }
-+#endif
- 
--    _ret = g_dbus_proxy_call_sync(systemd_proxy, action, g_variant_new("(ss)", name, "replace"),
--                                  G_DBUS_CALL_FLAGS_NONE, op->timeout, NULL, &error);
-+    msg = systemd_new_method(BUS_NAME".Manager", method);
-+    CRM_ASSERT(msg != NULL);
- 
--    if (error) {
-+    /* (ss) */
-+    pcmk_dbus_append_arg(msg, DBUS_TYPE_STRING, &name);
-+    pcmk_dbus_append_arg(msg, DBUS_TYPE_STRING, &replace_s);
-+
-+    reply = pcmk_dbus_send_recv(msg, systemd_proxy, &error);
-+    dbus_message_unref(msg);
-+
-+    if(error) {
-         /* ignore "already started" or "not running" errors */
-         if (safe_str_eq(op->action, "stop")
--            && strstr(error->message, "systemd1.InvalidName")) {
-+            && (strstr(error, "org.freedesktop.systemd1.InvalidName")
-+                || strstr(error, "org.freedesktop.systemd1.NoSuchUnit"))) {
-             crm_trace("Masking Stop failure for %s: unknown services are stopped", op->rsc);
-             op->rc = PCMK_OCF_OK;
-         } else {
--            crm_err("Could not issue %s for %s: %s (%s)", action, op->rsc, error->message, unit);
-+            crm_err("Could not issue %s for %s: %s (%s)", method, op->rsc, error, unit);
-         }
--        g_error_free(error);
-+        goto cleanup;
- 
--    } else if(g_variant_is_of_type (_ret, G_VARIANT_TYPE("(o)"))) {
--        char *path = NULL;
-+    } else if(!dbus_message_iter_init(reply, &args)) {
-+        crm_err("Call to %s failed: no arguments", method);
-+        goto cleanup;
-+    }
- 
--        g_variant_get(_ret, "(o)", &path);
--        crm_info("Call to %s passed: type '%s' %s", op->action, g_variant_get_type_string(_ret),
--                 path);
--        op->rc = PCMK_OCF_OK;
-+    /* (o) */
-+    if(!pcmk_dbus_type_check(reply, &args, DBUS_TYPE_OBJECT_PATH, __FUNCTION__, __LINE__)) {
-+        crm_err("Call to %s failed: Message has invalid arguments", method);
- 
-     } else {
--        crm_err("Call to %s passed but return type was '%s' not '(o)'", op->action, g_variant_get_type_string(_ret));
-+        DBusBasicValue value;
-+
-+        dbus_message_iter_get_basic(&args, &value);
-+        crm_info("Call to %s passed: %s", op->action, value.str);
-         op->rc = PCMK_OCF_OK;
-     }
- 
-   cleanup:
-+    free(error);
-     free(unit);
-     free(name);
- 
--    if (_ret) {
--        g_variant_unref(_ret);
-+    if(reply) {
-+        dbus_message_unref(reply);
-     }
-+
-     if (synchronous == FALSE) {
-         operation_finalize(op);
-         return TRUE;
diff --git a/SOURCES/bz1057697-pcmk-use_native_dbus_library_for_upstart_support_to_avoid_problematic_use_of_threads.patch b/SOURCES/bz1057697-pcmk-use_native_dbus_library_for_upstart_support_to_avoid_problematic_use_of_threads.patch
deleted file mode 100644
index eae4e0a..0000000
--- a/SOURCES/bz1057697-pcmk-use_native_dbus_library_for_upstart_support_to_avoid_problematic_use_of_threads.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-commit c12446403e348c3d6f2763bcd370cea3e6b601d1
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Mon Feb 3 14:44:51 2014 +1100
-
-    Fix: Bug rhbz#1057697 - Use native DBus library for upstart support to avoid problematic use of threads
-    
-    (cherry picked from commit d7996e792844b98021061bd8ae74ab929f9b8ba7)
-    
-    Conflicts:
-    	lib/services/upstart.c
-
-diff --git a/configure.ac b/configure.ac
-index 628f46f..f90ccdc 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1173,7 +1173,7 @@ AC_CHECK_TYPES([DBusBasicValue],,,[[#include <dbus/dbus.h>]])
- 
- if test $HAVE_dbus = 1 -a "x${enable_upstart}" != xno; then
-    HAVE_upstart=0
--   PCMK_FEATURES="$PCMK_FEATURES upstart"
-+   dnl PCMK_FEATURES="$PCMK_FEATURES upstart"
- fi
- 
- AC_DEFINE_UNQUOTED(SUPPORT_UPSTART, $HAVE_upstart, Support upstart based system services)
-diff --git a/lib/services/dbus.c b/lib/services/dbus.c
-index a9b1eba..66a98a0 100644
---- a/lib/services/dbus.c
-+++ b/lib/services/dbus.c
-@@ -141,7 +141,6 @@ DBusMessage *pcmk_dbus_send_recv(DBusMessage *msg, DBusConnection *connection, D
-             reply = NULL;
-         }
-     }
--    crm_trace("Was error: '%s' '%s'", error->name, error->message);
- 
-     if(pending) {
-         /* free the pending message handle */
diff --git a/SOURCES/bz1060205-pcmk-mcp_tell_systemd_not_to_respawn_us_if_we_return_100.patch b/SOURCES/bz1060205-pcmk-mcp_tell_systemd_not_to_respawn_us_if_we_return_100.patch
deleted file mode 100644
index e503a3c..0000000
--- a/SOURCES/bz1060205-pcmk-mcp_tell_systemd_not_to_respawn_us_if_we_return_100.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-commit 8e0d074cd9dac515a95e49af23331e5d06b66fae
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Feb 12 23:10:16 2014 +1100
-
-    Fix: mcp: Tell systemd not to respawn us if we return 100
-
-diff --git a/mcp/pacemaker.service.in b/mcp/pacemaker.service.in
-index 4d7e308..b5f1ffc 100644
---- a/mcp/pacemaker.service.in
-+++ b/mcp/pacemaker.service.in
-@@ -17,6 +17,7 @@ Type=simple
- KillMode=process
- NotifyAccess=main
- SysVStartPriority=99
-+SuccessExitStatus=100
- EnvironmentFile=-@sysconfdir@/sysconfig/pacemaker
- 
- ExecStart=@sbindir@/pacemakerd -f
diff --git a/SOURCES/bz1064519-pcmk-controld-handles-dlm-startup-fencing.patch b/SOURCES/bz1064519-pcmk-controld-handles-dlm-startup-fencing.patch
deleted file mode 100644
index 371dda0..0000000
--- a/SOURCES/bz1064519-pcmk-controld-handles-dlm-startup-fencing.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-commit 1b0fa29aa0e52fa5cb28ef80139e657119b15fca
-Author: David Vossel <dvossel@redhat.com>
-Date:   Mon Feb 17 15:19:27 2014 -0600
-
-    High: controld: handling startup fencing within the controld agent, not the dlm
-    
-    Resolves: rhbz#1064519
-    (cherry picked from commit 11160a94b76ada9844c277128054719445acf22f)
-
-diff --git a/extra/resources/controld b/extra/resources/controld
-index bdd31bb..bf5466d 100644
---- a/extra/resources/controld
-+++ b/extra/resources/controld
-@@ -34,6 +34,12 @@
- 
- #######################################################################
- 
-+if [ -e "$OCF_ROOT/resource.d/heartbeat/controld" ]; then
-+    ocf_log info "Using heartbeat controld agent"
-+    $OCF_ROOT/resource.d/heartbeat/controld $1
-+    exit $?
-+fi
-+
- meta_data() {
- 	cat <<END
- <?xml version="1.0"?>
-@@ -89,6 +95,8 @@ END
- 
- #######################################################################
- 
-+DLM_SYSFS_DIR="/sys/kernel/dlm"
-+
- controld_usage() {
- 	cat <<END
- usage: $0 {start|stop|monitor|validate-all|meta-data}
-@@ -97,6 +105,21 @@ Expects to have a fully populated OCF RA-compliant environment set.
- END
- }
- 
-+check_uncontrolled_locks()
-+{
-+    local tmp
-+    tmp=$(ls $DLM_SYSFS_DIR 2>&1)
-+    if [ $? -eq 0 ]; then
-+        if [ -n "$tmp" ]; then
-+
-+            ocf_log err "Uncontrolled lockspace exists, system must reboot. Executing suicide fencing"
-+            stonith_admin --reboot=$(crm_node -n) --tag controld
-+
-+            exit $OCF_ERR_GENERIC
-+        fi
-+    fi
-+}
-+
- controld_start() {
-     controld_monitor; rc=$?
- 
-@@ -180,13 +203,22 @@ controld_stop() {
- }
- 
- controld_monitor() {
-+    local rc
-     killall -0 ${OCF_RESKEY_daemon} >/dev/null 2>&1 ; rc=$?
- 
-     case $rc in
--      0) return $OCF_SUCCESS;;
--      1) return $OCF_NOT_RUNNING;;
--      *) return $OCF_ERR_GENERIC;;
-+      0) rc=$OCF_SUCCESS;;
-+      1) rc=$OCF_NOT_RUNNING;;
-+      *) rc=$OCF_ERR_GENERIC;;
-     esac
-+
-+    # if the dlm is not successfully running, but
-+    # dlm lockspace bits are left over, we self must fence.
-+    if [ $rc -ne $OCF_SUCCESS ]; then
-+        check_uncontrolled_locks
-+    fi
-+
-+    return $rc
- }
- 
- controld_validate() {
-@@ -219,11 +251,11 @@ case "$OCF_RESOURCE_INSTANCE" in
- 	: ${OCF_RESKEY_daemon=gfs_controld${daemon_ext}}
- 	;;
-     *[dD][lL][mM]*)
--	: ${OCF_RESKEY_args=-q 0}
-+	: ${OCF_RESKEY_args=-q 0 -s 0}
- 	: ${OCF_RESKEY_daemon=dlm_controld${daemon_ext}}
- 	;;
-     *)
--	: ${OCF_RESKEY_args=-q 0}
-+	: ${OCF_RESKEY_args=-q 0 -s 0}
- 	: ${OCF_RESKEY_daemon=dlm_controld${daemon_ext}}
- esac
- 
diff --git a/SOURCES/bz1064519-pcmk-remove_q_0_from_default_dlm_controld_arguments.patch b/SOURCES/bz1064519-pcmk-remove_q_0_from_default_dlm_controld_arguments.patch
deleted file mode 100644
index c3d2ef0..0000000
--- a/SOURCES/bz1064519-pcmk-remove_q_0_from_default_dlm_controld_arguments.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-commit 2c3992bd6ad2dbcde5a39f8e02059cd99271fabd
-Author: David Vossel <dvossel@redhat.com>
-Date:   Tue Mar 25 16:34:02 2014 -0500
-
-    Low: controld: Remove '-q 0' from default dlm_controld arguments
-    
-    The '-q 0' argument allows the dlm to fence nodes even when
-    quorum is lost. This is not a desired default.
-    
-    Resolves: rhbz#1064519
-    (cherry picked from commit 20472946f54b0f6f07d286d96e5fb17baaf230ef)
-
-diff --git a/extra/resources/controld b/extra/resources/controld
-index 2cc5f4d..a58d4ec 100644
---- a/extra/resources/controld
-+++ b/extra/resources/controld
-@@ -61,7 +61,7 @@ In most cases, it should be run as an anonymous clone.
- Any additional options to start the dlm_controld service with
- </longdesc>
- <shortdesc lang="en">DLM Options</shortdesc>
--<content type="string" default="-q 0" />
-+<content type="string" default="-s 0" />
- </parameter>
- 
- <parameter name="configdir" unique="1">
-@@ -251,11 +251,11 @@ case "$OCF_RESOURCE_INSTANCE" in
- 	: ${OCF_RESKEY_daemon=gfs_controld${daemon_ext}}
- 	;;
-     *[dD][lL][mM]*)
--	: ${OCF_RESKEY_args=-q 0 -s 0}
-+	: ${OCF_RESKEY_args=-s 0}
- 	: ${OCF_RESKEY_daemon=dlm_controld${daemon_ext}}
- 	;;
-     *)
--	: ${OCF_RESKEY_args=-q 0 -s 0}
-+	: ${OCF_RESKEY_args=-s 0}
- 	: ${OCF_RESKEY_daemon=dlm_controld${daemon_ext}}
- esac
- 
diff --git a/SOURCES/bz1067536-pcmk-controld-wait-for-address-list.patch b/SOURCES/bz1067536-pcmk-controld-wait-for-address-list.patch
deleted file mode 100644
index 3090f14..0000000
--- a/SOURCES/bz1067536-pcmk-controld-wait-for-address-list.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-commit cd08b68161a541965a68433979ed6bb188fe39ec
-Author: David Vossel <dvossel@redhat.com>
-Date:   Thu Feb 20 17:47:47 2014 -0500
-
-    Fix: controld: Do not consider the dlm up until the address list is present
-    
-    (cherry picked from commit 84c45113eadf321d69b13a5c34529d7234c26c0f)
-
-diff --git a/extra/resources/controld b/extra/resources/controld
-index bf5466d..2cc5f4d 100644
---- a/extra/resources/controld
-+++ b/extra/resources/controld
-@@ -159,8 +159,8 @@ controld_start() {
-         controld_monitor; rc=$?
-         case $rc in
-           $OCF_SUCCESS)
--            check_dir=/sys/kernel/config/dlm/cluster/comms
--            if grep 1 $check_dir/*/local >/dev/null 2>&1; then
-+            local addr_list=$(cat /sys/kernel/config/dlm/cluster/comms/*/addr_list 2>/dev/null)
-+            if [ $? -eq 0 ] && [ -n "$addr_list" ]; then
-                 return $OCF_SUCCESS
-             fi
-             ;;
diff --git a/SOURCES/bz1069284-pcmk-prevent_resources_in_an_anti_colocation_from_even_temporarily_running_on_a_same_node.patch b/SOURCES/bz1069284-pcmk-prevent_resources_in_an_anti_colocation_from_even_temporarily_running_on_a_same_node.patch
deleted file mode 100644
index becd90e..0000000
--- a/SOURCES/bz1069284-pcmk-prevent_resources_in_an_anti_colocation_from_even_temporarily_running_on_a_same_node.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-commit 79759709fd71a2d0b9f4d0167ba9697257a9653c
-Author: Gao,Yan <ygao@suse.com>
-Date:   Thu Feb 20 01:24:46 2014 +0800
-
-    Fix: pengine: cl#5187 - Prevent resources in an anti-colocation from even temporarily running on a same node
-    
-    (cherry picked from commit 9f9ed87e01bfafec0ddeee6592eb07e81bef963e)
-
-diff --git a/include/crm/pengine/status.h b/include/crm/pengine/status.h
-index eb52464..158a562 100644
---- a/include/crm/pengine/status.h
-+++ b/include/crm/pengine/status.h
-@@ -338,6 +338,7 @@ enum pe_ordering {
-     pe_order_asymmetrical          = 0x100000,    /* Indicates asymmetrical one way ordering constraint. */
-     pe_order_load                  = 0x200000,    /* Only relevant if... */
-     pe_order_one_or_more           = 0x400000,    /* 'then' is only runnable if one or more of it's dependancies are too */
-+    pe_order_anti_colocation       = 0x800000,
- 
-     pe_order_trace                 = 0x4000000  /* test marker */
- };
-diff --git a/pengine/constraints.c b/pengine/constraints.c
-index 594d630..3b4370d 100644
---- a/pengine/constraints.c
-+++ b/pengine/constraints.c
-@@ -689,6 +689,13 @@ rsc_colocation_new(const char *id, const char *node_attr, int score,
- 
-     data_set->colocation_constraints = g_list_append(data_set->colocation_constraints, new_con);
- 
-+    if (score <= -INFINITY) {
-+        new_rsc_order(rsc_lh, CRMD_ACTION_STOP, rsc_rh, CRMD_ACTION_START,
-+                      pe_order_anti_colocation, data_set);
-+        new_rsc_order(rsc_rh, CRMD_ACTION_STOP, rsc_lh, CRMD_ACTION_START,
-+                      pe_order_anti_colocation, data_set);
-+    }
-+
-     return TRUE;
- }
- 
-diff --git a/pengine/graph.c b/pengine/graph.c
-index 9c1bc15..779f0e0 100644
---- a/pengine/graph.c
-+++ b/pengine/graph.c
-@@ -991,6 +991,27 @@ should_dump_input(int last_action, action_t * action, action_wrapper_t * wrapper
-             return FALSE;
-         }
- 
-+    } else if (wrapper->type == pe_order_anti_colocation) {
-+        crm_trace("check anti-colocation filter %s.%s -> %s.%s",
-+                  wrapper->action->uuid,
-+                  wrapper->action->node ? wrapper->action->node->details->uname : "",
-+                  action->uuid,
-+                  action->node ? action->node->details->uname : "");
-+
-+        if (wrapper->action->node && action->node
-+            && wrapper->action->node->details != action->node->details) {
-+            /* Check if the actions are for the same node, ignore otherwise */
-+            crm_trace("anti-colocation filter - node");
-+            wrapper->type = pe_order_none;
-+            return FALSE;
-+
-+        } else if (is_set(wrapper->action->flags, pe_action_optional)) {
-+            /* Check if the pre-req is optional, ignore if so */
-+            crm_trace("anti-colocation filter - optional");
-+            wrapper->type = pe_order_none;
-+            return FALSE;
-+        }
-+
-     } else if (wrapper->action->rsc
-                && wrapper->action->rsc != action->rsc
-                && is_set(wrapper->action->rsc->flags, pe_rsc_failed)
diff --git a/SOURCES/bz1070916-pcmk-api_time_helper_now_returns_when_the_most_recent_fencing_operation_completed.patch b/SOURCES/bz1070916-pcmk-api_time_helper_now_returns_when_the_most_recent_fencing_operation_completed.patch
deleted file mode 100644
index 2ef051c..0000000
--- a/SOURCES/bz1070916-pcmk-api_time_helper_now_returns_when_the_most_recent_fencing_operation_completed.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-commit 893a7468b83b8323ee343903617bbc72a7c3205b
-Author: David Vossel <dvossel@redhat.com>
-Date:   Thu Feb 27 11:50:32 2014 -0600
-
-    Fix: stonith_api_time_helper now returns when the most recent fencing operation completed
-    
-    (cherry picked from commit 054fedfe70867c6f333b61e68fb64bf68e71c90b)
-    
-    Conflicts:
-    	lib/fencing/st_client.c
-
-diff --git a/lib/fencing/st_client.c b/lib/fencing/st_client.c
-index 02f2836..4deb71f 100644
---- a/lib/fencing/st_client.c
-+++ b/lib/fencing/st_client.c
-@@ -2458,7 +2458,9 @@ stonith_api_time(uint32_t nodeid, const char *uname, bool in_progress)
- 
-             } else if (hp->state == st_done) {
-                 completed++;
--                when = hp->completed;
-+                if (hp->completed > when) {
-+                    when = hp->completed;
-+                }
-             }
-         }
- 
diff --git a/SOURCES/bz1070916-pcmk-crm_report_additional_dlm_detail.patch b/SOURCES/bz1070916-pcmk-crm_report_additional_dlm_detail.patch
deleted file mode 100644
index 029b43a..0000000
--- a/SOURCES/bz1070916-pcmk-crm_report_additional_dlm_detail.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-commit 062630f5823635f7be31965738b9b1a4c0e29f10
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Tue Feb 25 10:21:08 2014 +1100
-
-    Fix: crm_report: Additional dlm detail
-    
-    (cherry picked from commit 3cafe4b9b44fc3faea72d5738a428d2a7fcda53c)
-
-diff --git a/tools/report.collector b/tools/report.collector
-index 62cbe8b..f40dc01 100644
---- a/tools/report.collector
-+++ b/tools/report.collector
-@@ -491,15 +491,18 @@ sys_stats() {
- 
- dlm_dump() {
-     if which dlm_tool >/dev/null 2>&1 ; then
--	echo NOTICE - Lockspace overview:
--	dlm_tool ls
-+	echo "--- Lockspace overview:"
-+	dlm_tool ls -n
-+
-+	echo "---Lockspace history:"
-+	dlm_tool dump
-+
- 	dlm_tool ls | grep name |
- 	while read X N ; do
--	    echo NOTICE - Lockspace $N:
--	    dlm_tool lockdump $N
-+	    echo "--- Lockspace $N:"
-+	    dlm_tool lockdump "$N"
-+	    dlm_tool lockdebug -svw "$N"
- 	done
--	echo NOTICE - Lockspace history:
--	dlm_tool dump
-     fi
- }
- 
diff --git a/SOURCES/bz1070916-pcmk-crm_report_allow_ssh_alternatives_to_be_used.patch b/SOURCES/bz1070916-pcmk-crm_report_allow_ssh_alternatives_to_be_used.patch
deleted file mode 100644
index 893851b..0000000
--- a/SOURCES/bz1070916-pcmk-crm_report_allow_ssh_alternatives_to_be_used.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-commit b7e8996ed0ecf7dd46c0cc2adf630f8c3f1ce9a3
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Mon Feb 24 14:17:48 2014 +1100
-
-    Feature: crm_report: Allow ssh alternatives to be used
-    
-    (cherry picked from commit 334f4f7c2863424f2461c13880621fb1e7e26ebb)
-
-diff --git a/tools/crm_report.in b/tools/crm_report.in
-index 3af1b3f..0607ebf 100755
---- a/tools/crm_report.in
-+++ b/tools/crm_report.in
-@@ -20,12 +20,12 @@
- 
- # Note the quotes around `$TEMP': they are essential!
- TEMP=`getopt				\
--    -o hv?xl:f:t:n:T:Lp:c:dSACHu:D:MVs	\
--    --long help,cts:,cts-log:,dest:,node:,nodes:,from:,to:logfile:,as-directory,single-node,cluster:,user:,max-depth:,version,features	\
-+    -o hv?xl:f:t:n:T:Lp:c:dSACHu:D:MVse:	\
-+    --long help,cts:,cts-log:,dest:,node:,nodes:,from:,to:logfile:,as-directory,single-node,cluster:,user:,max-depth:,version,features,rsh:	\
-     -n 'crm_report' -- "$@"`
- eval set -- "$TEMP"
- 
--
-+rsh="ssh -T"
- times=""
- tests=""
- nodes=""
-@@ -72,6 +72,7 @@ Options:
-   -H, --heartbeat	force the cluster type to be Heartbeat
-   -u, --user user	ssh username for cluster nodes (default: root)
-   -D, --depth           search depth to use when attempting to locate files
-+  -e, --rsh		specify the remote shell to use (default: ssh -T)
-   --dest       		a custom destination directory/file
-   dest			a custom destination directory/file
- 
-@@ -115,6 +116,7 @@ while true; do
- 	-C|--corosync)  cluster="corosync";  shift;;
- 	-H|--heartbeat) cluster="heartbeat"; shift;;
- 	-c|--cluster)   cluster="$2"; shift; shift;;
-+	-e|--rsh)       rsh="$2";     shift; shift;;
- 	-u|--user)      ssh_user="$2"; shift; shift;;
-         -D|--max-depth)     maxdepth="$2"; shift; shift;;
- 	-M) search_logs=0; shift;;
-@@ -184,7 +186,7 @@ EOF
- 	    bash $l_base/collector
- 	else
- 	    cat $l_base/.env $report_data/report.common $report_data/report.collector \
--		| ssh -l $ssh_user -T $node -- "mkdir -p $r_base; cat > $r_base/collector; bash $r_base/collector" | (cd $l_base && tar mxf -)
-+		| $rsh -l $ssh_user $node -- "mkdir -p $r_base; cat > $r_base/collector; bash $r_base/collector" | (cd $l_base && tar mxf -)
- 	fi
-     done
- 
diff --git a/SOURCES/bz1070916-pcmk-crm_report_only_gather_dlm_data_if_dlm_controld_is_running.patch b/SOURCES/bz1070916-pcmk-crm_report_only_gather_dlm_data_if_dlm_controld_is_running.patch
deleted file mode 100644
index 702e0fd..0000000
--- a/SOURCES/bz1070916-pcmk-crm_report_only_gather_dlm_data_if_dlm_controld_is_running.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-commit 03e9a30a4d42d0495bcff45fc6c9df84615c6070
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Fri Feb 28 08:41:58 2014 +1100
-
-    Fix: crm_report: Only gather dlm data if dlm_controld is running
-    
-    (cherry picked from commit 837763e9abe258baf8b916f5744c07b7ff348871)
-
-diff --git a/tools/report.collector b/tools/report.collector
-index f40dc01..d17ce5f 100644
---- a/tools/report.collector
-+++ b/tools/report.collector
-@@ -491,6 +491,9 @@ sys_stats() {
- 
- dlm_dump() {
-     if which dlm_tool >/dev/null 2>&1 ; then
-+      if
-+	ps -ef | egrep -qs '[d]lm_controld'
-+      then
- 	echo "--- Lockspace overview:"
- 	dlm_tool ls -n
- 
-@@ -503,6 +506,7 @@ dlm_dump() {
- 	    dlm_tool lockdump "$N"
- 	    dlm_tool lockdebug -svw "$N"
- 	done
-+      fi
-     fi
- }
- 
diff --git a/SOURCES/bz1070916-pcmk-crm_resource_prevent_use_of_null.patch b/SOURCES/bz1070916-pcmk-crm_resource_prevent_use_of_null.patch
deleted file mode 100644
index ca34199..0000000
--- a/SOURCES/bz1070916-pcmk-crm_resource_prevent_use_of_null.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-commit a59501c3e87e795c7295654e0172b5075639f143
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Fri Feb 28 14:03:23 2014 +1100
-
-    crm_resource: Prevent use-of-NULL
-
-diff --git a/tools/crm_resource.c b/tools/crm_resource.c
-index 2f0e282..1fcb2a2 100644
---- a/tools/crm_resource.c
-+++ b/tools/crm_resource.c
-@@ -807,7 +807,7 @@ delete_lrm_rsc(cib_t *cib_conn, crm_ipc_t * crmd_channel, const char *host_uname
-         const char *id = rsc->id;
-         node_t *node = pe_find_node(data_set->nodes, host_uname);
- 
--        if(node->details->remote_rsc == NULL) {
-+        if(node && node->details->remote_rsc == NULL) {
-             crmd_replies_needed++;
-         }
-         if (rsc->clone_name) {
diff --git a/SOURCES/bz1070916-pcmk-crmd_gracefully_handle_actions_that_cannot_be_initiated.patch b/SOURCES/bz1070916-pcmk-crmd_gracefully_handle_actions_that_cannot_be_initiated.patch
deleted file mode 100644
index c4d7420..0000000
--- a/SOURCES/bz1070916-pcmk-crmd_gracefully_handle_actions_that_cannot_be_initiated.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-commit d7874e2b5e9072faac3655196f20a3f5d4880d36
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Aug 7 09:10:15 2013 +1000
-
-    Fix: crmd: Gracefully handle actions that cannot be initiated
-    
-    (cherry picked from commit f02d6676bad129bee7175f31e810cf15f4786b70)
-
-diff --git a/lib/transition/graph.c b/lib/transition/graph.c
-index 401a976..1965dde 100644
---- a/lib/transition/graph.c
-+++ b/lib/transition/graph.c
-@@ -363,8 +363,13 @@ run_graph(crm_graph_t * graph)
-         } else if (should_fire_synapse(synapse)) {
-             crm_trace("Synapse %d fired", synapse->id);
-             graph->fired++;
--            CRM_CHECK(fire_synapse(graph, synapse), stat_log_level = LOG_ERR;
--                      graph->abort_priority = INFINITY; graph->incomplete++; graph->fired--);
-+            if(fire_synapse(graph, synapse) == FALSE) {
-+                crm_err("Synapse %d failed to fire", synapse->id);
-+                stat_log_level = LOG_ERR;
-+                graph->abort_priority = INFINITY;
-+                graph->incomplete++;
-+                graph->fired--;
-+            }
- 
-             if (synapse->confirmed == FALSE) {
-                 graph->pending++;
diff --git a/SOURCES/bz1070916-pcmk-fencing_pass_the_correct_options_when_looking_up_the_history_by_node_name.patch b/SOURCES/bz1070916-pcmk-fencing_pass_the_correct_options_when_looking_up_the_history_by_node_name.patch
deleted file mode 100644
index a95c7b9..0000000
--- a/SOURCES/bz1070916-pcmk-fencing_pass_the_correct_options_when_looking_up_the_history_by_node_name.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-commit f50f6e73625bab6c6feee82acf94f84bede0137c
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Thu Feb 27 11:28:35 2014 +1100
-
-    Fix: Fencing: Pass the correct options when looking up the history by node name
-    
-    (cherry picked from commit d9921e5783ef7a33bcacf844a4268bd08e583a93)
-
-diff --git a/lib/fencing/st_client.c b/lib/fencing/st_client.c
-index 7f2204f..02f2836 100644
---- a/lib/fencing/st_client.c
-+++ b/lib/fencing/st_client.c
-@@ -2446,7 +2446,7 @@ stonith_api_time(uint32_t nodeid, const char *uname, bool in_progress)
-         int progress = 0;
-         int completed = 0;
- 
--        rc = st->cmds->history(st, st_opt_sync_call | st_opt_cs_nodeid, name, &history, 120);
-+        rc = st->cmds->history(st, opts, name, &history, 120);
- 
-         for (hp = history; hp; hp = hp->next) {
-             entries++;
diff --git a/SOURCES/bz1070916-pcmk-fencing_remove_shadow_definition_and_use_of_variable_progress.patch b/SOURCES/bz1070916-pcmk-fencing_remove_shadow_definition_and_use_of_variable_progress.patch
deleted file mode 100644
index c9d4bb0..0000000
--- a/SOURCES/bz1070916-pcmk-fencing_remove_shadow_definition_and_use_of_variable_progress.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-commit 29d542447da8bd120072a7fa8dd6df832f0856eb
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Fri Feb 28 14:11:23 2014 +1100
-
-    Fix: Fencing: Remove shadow definition and use of variable 'progress'
-    
-    (cherry picked from commit 0debc914b1dda2c4d04f4a33a3b38fbb4d873b1b)
-
-diff --git a/lib/fencing/st_client.c b/lib/fencing/st_client.c
-index 4deb71f..95ea0f7 100644
---- a/lib/fencing/st_client.c
-+++ b/lib/fencing/st_client.c
-@@ -2420,7 +2420,6 @@ stonith_api_time(uint32_t nodeid, const char *uname, bool in_progress)
-     char *name = NULL;
- 
-     time_t when = 0;
--    time_t progress = 0;
-     stonith_t *st = NULL;
-     stonith_history_t *history, *hp = NULL;
-     enum stonith_call_options opts = st_opt_sync_call;
-@@ -2453,7 +2452,7 @@ stonith_api_time(uint32_t nodeid, const char *uname, bool in_progress)
-             if (in_progress) {
-                 progress++;
-                 if (hp->state != st_done && hp->state != st_failed) {
--                    progress = time(NULL);
-+                    when = time(NULL);
-                 }
- 
-             } else if (hp->state == st_done) {
-@@ -2471,10 +2470,6 @@ stonith_api_time(uint32_t nodeid, const char *uname, bool in_progress)
-         }
-     }
- 
--    if (progress) {
--        when = progress;
--    }
--
-     if (st) {
-         st->cmds->disconnect(st);
-         stonith_api_delete(st);
diff --git a/SOURCES/bz1070916-pcmk-pe_gracefully_handle_bad_values_for_xml_attr_transition_magic.patch b/SOURCES/bz1070916-pcmk-pe_gracefully_handle_bad_values_for_xml_attr_transition_magic.patch
deleted file mode 100644
index c56bad6..0000000
--- a/SOURCES/bz1070916-pcmk-pe_gracefully_handle_bad_values_for_xml_attr_transition_magic.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-commit 5882024877d6c22f0663160a3f7278a421f31819
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Aug 7 09:03:43 2013 +1000
-
-    Fix: PE: Gracefully handle bad values for XML_ATTR_TRANSITION_MAGIC
-    
-    (cherry picked from commit 164ca366c14c914794f9230acd7646426641e6b2)
-
-diff --git a/lib/common/utils.c b/lib/common/utils.c
-index 4e18039..7543464 100644
---- a/lib/common/utils.c
-+++ b/lib/common/utils.c
-@@ -885,15 +885,13 @@ decode_transition_magic(const char *magic, char **uuid, int *transition_id, int
-     key = calloc(1, strlen(magic) + 1);
-     res = sscanf(magic, "%d:%d;%s", op_status, op_rc, key);
-     if (res != 3) {
--        crm_crit("Only found %d items in: %s", res, magic);
--        result = FALSE;
--        goto bail;
-+        crm_warn("Only found %d items in: '%s'", res, magic);
-+        free(key);
-+        return FALSE;
-     }
- 
--    CRM_CHECK(decode_transition_key(key, uuid, transition_id, action_id, target_rc), result = FALSE;
--              goto bail;);
-+    CRM_CHECK(decode_transition_key(key, uuid, transition_id, action_id, target_rc), result = FALSE);
- 
--  bail:
-     free(key);
-     return result;
- }
-diff --git a/lib/pengine/utils.c b/lib/pengine/utils.c
-index e9997a2..1e827e0 100644
---- a/lib/pengine/utils.c
-+++ b/lib/pengine/utils.c
-@@ -1332,11 +1332,12 @@ sort_op_by_callid(gconstpointer a, gconstpointer b)
-         const char *b_magic = crm_element_value_const(xml_b, XML_ATTR_TRANSITION_MAGIC);
- 
-         CRM_CHECK(a_magic != NULL && b_magic != NULL, sort_return(0, "No magic"));
--        CRM_CHECK(decode_transition_magic(a_magic, &a_uuid, &a_id, &dummy, &dummy, &dummy, &dummy),
--                  sort_return(0, "bad magic a"));
--        CRM_CHECK(decode_transition_magic(b_magic, &b_uuid, &b_id, &dummy, &dummy, &dummy, &dummy),
--                  sort_return(0, "bad magic b"));
--
-+        if(!decode_transition_magic(a_magic, &a_uuid, &a_id, &dummy, &dummy, &dummy, &dummy)) {
-+            sort_return(0, "bad magic a");
-+        }
-+        if(!decode_transition_magic(b_magic, &b_uuid, &b_id, &dummy, &dummy, &dummy, &dummy)) {
-+            sort_return(0, "bad magic b");
-+        }
-         /* try and determin the relative age of the operation...
-          * some pending operations (ie. a start) may have been supuerceeded
-          *   by a subsequent stop
diff --git a/SOURCES/bz1070916-pcmk-pengine_update_regression_tests.patch b/SOURCES/bz1070916-pcmk-pengine_update_regression_tests.patch
deleted file mode 100644
index c73b4f9..0000000
--- a/SOURCES/bz1070916-pcmk-pengine_update_regression_tests.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-commit d4c8712bfcf95eeb746887f1fc3de73ca878528a
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Fri Feb 28 11:03:10 2014 +1100
-
-    Update regression tests for bz1069284 fix
-
-diff --git a/pengine/test10/bug-lf-2435.dot b/pengine/test10/bug-lf-2435.dot
-index 2313c38..2d0b65d 100644
---- a/pengine/test10/bug-lf-2435.dot
-+++ b/pengine/test10/bug-lf-2435.dot
-@@ -5,6 +5,7 @@ digraph "g" {
- "dummy2_stop_0 c20.chepkov.lan" -> "dummy2_start_0 c21.chepkov.lan" [ style = bold]
- "dummy2_stop_0 c20.chepkov.lan" [ style=bold color="green" fontcolor="black" ]
- "dummy3_stop_0 c21.chepkov.lan" -> "all_stopped" [ style = bold]
-+"dummy3_stop_0 c21.chepkov.lan" -> "dummy2_start_0 c21.chepkov.lan" [ style = bold]
- "dummy3_stop_0 c21.chepkov.lan" [ style=bold color="green" fontcolor="black" ]
- "dummy4_monitor_0 c19.chepkov.lan" -> "probe_complete c19.chepkov.lan" [ style = bold]
- "dummy4_monitor_0 c19.chepkov.lan" [ style=bold color="green" fontcolor="black" ]
-diff --git a/pengine/test10/bug-lf-2435.exp b/pengine/test10/bug-lf-2435.exp
-index 046dd97..7255127 100644
---- a/pengine/test10/bug-lf-2435.exp
-+++ b/pengine/test10/bug-lf-2435.exp
-@@ -10,6 +10,9 @@
-       <trigger>
-         <rsc_op id="11" operation="stop" operation_key="dummy2_stop_0" on_node="c20.chepkov.lan" on_node_uuid="c20.chepkov.lan"/>
-       </trigger>
-+      <trigger>
-+        <rsc_op id="13" operation="stop" operation_key="dummy3_stop_0" on_node="c21.chepkov.lan" on_node_uuid="c21.chepkov.lan"/>
-+      </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="1">
-diff --git a/pengine/test10/simple6.dot b/pengine/test10/simple6.dot
-index ac3c495..3fac608 100644
---- a/pengine/test10/simple6.dot
-+++ b/pengine/test10/simple6.dot
-@@ -6,6 +6,7 @@
- "probe_complete" -> "rsc2_start_0 node1" [ style = bold]
- "probe_complete" [ style=bold color="green" fontcolor="orange" ]
- "rsc1_stop_0 node1" -> "all_stopped" [ style = bold]
-+"rsc1_stop_0 node1" -> "rsc2_start_0 node1" [ style = bold]
- "rsc1_stop_0 node1" [ style=bold color="green" fontcolor="black" ]
- "rsc2_monitor_0 node1" -> "probe_complete node1" [ style = bold]
- "rsc2_monitor_0 node1" [ style=bold color="green" fontcolor="black" ]
-diff --git a/pengine/test10/simple6.exp b/pengine/test10/simple6.exp
-index 590e64b..79d230d 100644
---- a/pengine/test10/simple6.exp
-+++ b/pengine/test10/simple6.exp
-@@ -10,6 +10,9 @@
-        <trigger>
-          <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-        </trigger>
-+      <trigger>
-+        <rsc_op id="6" operation="stop" operation_key="rsc1_stop_0" on_node="node1" on_node_uuid="node1"/>
-+      </trigger>
-      </inputs>
-    </synapse>
-   <synapse id="1" priority="2">
-diff --git a/pengine/test10/simple6.summary b/pengine/test10/simple6.summary
-index 2c4079b..42dde4a 100644
---- a/pengine/test10/simple6.summary
-+++ b/pengine/test10/simple6.summary
-@@ -12,9 +12,9 @@ Transition Summary:
- Executing cluster transition:
-  * Resource action: rsc2            monitor on node1
-  * Pseudo action:   probe_complete
-- * Resource action: rsc2            start on node1
-  * Resource action: rsc1            stop on node1
-  * Pseudo action:   all_stopped
-+ * Resource action: rsc2            start on node1
- 
- Revised cluster status:
- Online: [ node1 ]
-diff --git a/tools/regression.exp b/tools/regression.exp
-index ef27353..1682f72 100755
---- a/tools/regression.exp
-+++ b/tools/regression.exp
-@@ -1317,7 +1317,7 @@ WARNING: Creating rsc_location constraint 'cli-ban-dummy-on-node1' with a score
-       <primitive id="Fence" class="stonith" type="fence_true"/>
-     </resources>
-     <constraints>
--      <rsc_location id="cli-ban-dummy-on-node1" rsc="dummy" node="node1" score="-INFINITY"/>
-+      <rsc_location id="cli-ban-dummy-on-node1" rsc="dummy" role="Started" node="node1" score="-INFINITY"/>
-     </constraints>
-   </configuration>
-   <status>
-@@ -2027,7 +2027,7 @@ WARNING: Creating rsc_location constraint 'cli-ban-dummy-on-node1' with a score
-       <primitive id="Fence" class="stonith" type="fence_true"/>
-     </resources>
-     <constraints>
--      <rsc_location id="cli-ban-dummy-on-node1" rsc="dummy" node="node1" score="-INFINITY"/>
-+      <rsc_location id="cli-ban-dummy-on-node1" rsc="dummy" role="Started" node="node1" score="-INFINITY"/>
-     </constraints>
-   </configuration>
-   <status>
-@@ -2113,8 +2113,8 @@ WARNING: Creating rsc_location constraint 'cli-ban-dummy-on-node2' with a score
-       <primitive id="Fence" class="stonith" type="fence_true"/>
-     </resources>
-     <constraints>
--      <rsc_location id="cli-ban-dummy-on-node1" rsc="dummy" node="node1" score="-INFINITY"/>
--      <rsc_location id="cli-ban-dummy-on-node2" rsc="dummy" node="node2" score="-INFINITY"/>
-+      <rsc_location id="cli-ban-dummy-on-node1" rsc="dummy" role="Started" node="node1" score="-INFINITY"/>
-+      <rsc_location id="cli-ban-dummy-on-node2" rsc="dummy" role="Started" node="node2" score="-INFINITY"/>
-     </constraints>
-   </configuration>
-   <status>
-@@ -2217,8 +2217,8 @@ Online: [ node1 node2 node3 ]
-       <primitive id="Fence" class="stonith" type="fence_true"/>
-     </resources>
-     <constraints>
--      <rsc_location id="cli-ban-dummy-on-node1" rsc="dummy" node="node1" score="-INFINITY"/>
--      <rsc_location id="cli-ban-dummy-on-node2" rsc="dummy" node="node2" score="-INFINITY"/>
-+      <rsc_location id="cli-ban-dummy-on-node1" rsc="dummy" role="Started" node="node1" score="-INFINITY"/>
-+      <rsc_location id="cli-ban-dummy-on-node2" rsc="dummy" role="Started" node="node2" score="-INFINITY"/>
-     </constraints>
-   </configuration>
-   <status>
-@@ -2300,8 +2300,8 @@ Online: [ node1 node2 node3 ]
-       <primitive id="Fence" class="stonith" type="fence_true"/>
-     </resources>
-     <constraints>
--      <rsc_location id="cli-ban-dummy-on-node2" rsc="dummy" node="node2" score="-INFINITY"/>
--      <rsc_location id="cli-prefer-dummy" rsc="dummy" node="node1" score="INFINITY"/>
-+      <rsc_location id="cli-ban-dummy-on-node2" rsc="dummy" role="Started" node="node2" score="-INFINITY"/>
-+      <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
-     </constraints>
-   </configuration>
-   <status>
-@@ -2383,7 +2383,7 @@ Online: [ node1 node2 node3 ]
-       <primitive id="Fence" class="stonith" type="fence_true"/>
-     </resources>
-     <constraints>
--      <rsc_location id="cli-prefer-dummy" rsc="dummy" node="node1" score="INFINITY"/>
-+      <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
-     </constraints>
-   </configuration>
-   <status>
diff --git a/SOURCES/bz1070916-pcmk-send_details_of_stonith_api_time_and_stonith_api_kick_to_syslog.patch b/SOURCES/bz1070916-pcmk-send_details_of_stonith_api_time_and_stonith_api_kick_to_syslog.patch
deleted file mode 100644
index 846bbd6..0000000
--- a/SOURCES/bz1070916-pcmk-send_details_of_stonith_api_time_and_stonith_api_kick_to_syslog.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-commit 02bc6c85f814e85b5840f75e198a29d86ac6f2f2
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Thu Feb 27 11:27:30 2014 +1100
-
-    Log: Fencing: Send details of stonith_api_time() and stonith_api_kick() to syslog
-    
-    (cherry picked from commit b0a8876fe230f5e3e5770734f78e36284c0bae62)
-
-diff --git a/include/crm/stonith-ng.h b/include/crm/stonith-ng.h
-index 35f6e5a..7f6938a 100644
---- a/include/crm/stonith-ng.h
-+++ b/include/crm/stonith-ng.h
-@@ -348,8 +348,8 @@ void stonith_key_value_freeall(stonith_key_value_t * kvp, int keys, int values);
-  *
-  * At least one of nodeid and uname are required
-  */
--int stonith_api_kick(int nodeid, const char *uname, int timeout, bool off);
--time_t stonith_api_time(int nodeid, const char *uname, bool in_progress);
-+int stonith_api_kick(uint32_t nodeid, const char *uname, int timeout, bool off);
-+time_t stonith_api_time(uint32_t nodeid, const char *uname, bool in_progress);
- 
- /*
-  * Helpers for using the above functions without install-time dependancies
-@@ -394,7 +394,7 @@ time_t stonith_api_time(int nodeid, const char *uname, bool in_progress);
- #  define STONITH_LIBRARY "libstonithd.so.2"
- 
- static inline int
--stonith_api_kick_helper(int nodeid, int timeout, bool off)
-+stonith_api_kick_helper(uint32_t nodeid, int timeout, bool off)
- {
-     static void *st_library = NULL;
-     static int (*st_kick_fn) (int nodeid, const char *uname, int timeout, bool off) = NULL;
-@@ -413,7 +413,7 @@ stonith_api_kick_helper(int nodeid, int timeout, bool off)
- }
- 
- static inline time_t
--stonith_api_time_helper(int nodeid, bool in_progress)
-+stonith_api_time_helper(uint32_t nodeid, bool in_progress)
- {
-     static void *st_library = NULL;
-     static time_t(*st_time_fn) (int nodeid, const char *uname, bool in_progress) = NULL;
-diff --git a/lib/fencing/st_client.c b/lib/fencing/st_client.c
-index 3c6a7e7..7f2204f 100644
---- a/lib/fencing/st_client.c
-+++ b/lib/fencing/st_client.c
-@@ -2361,8 +2361,11 @@ stonith_key_value_freeall(stonith_key_value_t * head, int keys, int values)
-     }
- }
- 
-+#define api_log_open() openlog("stonith-api", LOG_CONS | LOG_NDELAY | LOG_PID, LOG_DAEMON)
-+#define api_log(level, fmt, args...) syslog(level, "%s: "fmt, __FUNCTION__, args)
-+
- int
--stonith_api_kick(int nodeid, const char *uname, int timeout, bool off)
-+stonith_api_kick(uint32_t nodeid, const char *uname, int timeout, bool off)
- {
-     char *name = NULL;
-     const char *action = "reboot";
-@@ -2371,9 +2374,13 @@ stonith_api_kick(int nodeid, const char *uname, int timeout, bool off)
-     stonith_t *st = NULL;
-     enum stonith_call_options opts = st_opt_sync_call | st_opt_allow_suicide;
- 
-+    api_log_open();
-     st = stonith_api_new();
-     if (st) {
-         rc = st->cmds->connect(st, "stonith-api", NULL);
-+        if(rc != pcmk_ok) {
-+            api_log(LOG_ERR, "Connection failed, could not kick (%s) node %u/%s : %s (%d)", action, nodeid, uname, pcmk_strerror(rc), rc);
-+        }
-     }
- 
-     if (uname != NULL) {
-@@ -2390,6 +2397,11 @@ stonith_api_kick(int nodeid, const char *uname, int timeout, bool off)
- 
-     if (rc == pcmk_ok) {
-         rc = st->cmds->fence(st, opts, name, action, timeout, 0);
-+        if(rc != pcmk_ok) {
-+            api_log(LOG_ERR, "Could not kick (%s) node %u/%s : %s (%d)", action, nodeid, uname, pcmk_strerror(rc), rc);
-+        } else {
-+            api_log(LOG_NOTICE, "Node %u/%s kicked: %s ", nodeid, uname, action);
-+        }
-     }
- 
-     if (st) {
-@@ -2402,7 +2414,7 @@ stonith_api_kick(int nodeid, const char *uname, int timeout, bool off)
- }
- 
- time_t
--stonith_api_time(int nodeid, const char *uname, bool in_progress)
-+stonith_api_time(uint32_t nodeid, const char *uname, bool in_progress)
- {
-     int rc = 0;
-     char *name = NULL;
-@@ -2416,6 +2428,9 @@ stonith_api_time(int nodeid, const char *uname, bool in_progress)
-     st = stonith_api_new();
-     if (st) {
-         rc = st->cmds->connect(st, "stonith-api", NULL);
-+        if(rc != pcmk_ok) {
-+            api_log(LOG_NOTICE, "Connection failed: %s (%d)", pcmk_strerror(rc), rc);
-+        }
-     }
- 
-     if (uname != NULL) {
-@@ -2427,18 +2442,31 @@ stonith_api_time(int nodeid, const char *uname, bool in_progress)
-     }
- 
-     if (st && rc == pcmk_ok) {
--        st->cmds->history(st, st_opt_sync_call | st_opt_cs_nodeid, name, &history, 120);
-+        int entries = 0;
-+        int progress = 0;
-+        int completed = 0;
-+
-+        rc = st->cmds->history(st, st_opt_sync_call | st_opt_cs_nodeid, name, &history, 120);
- 
-         for (hp = history; hp; hp = hp->next) {
-+            entries++;
-             if (in_progress) {
-+                progress++;
-                 if (hp->state != st_done && hp->state != st_failed) {
-                     progress = time(NULL);
-                 }
- 
-             } else if (hp->state == st_done) {
-+                completed++;
-                 when = hp->completed;
-             }
-         }
-+
-+        if(rc == pcmk_ok) {
-+            api_log(LOG_INFO, "Found %d entries for %u/%s: %d in progress, %d completed", entries, nodeid, uname, progress, completed);
-+        } else {
-+            api_log(LOG_ERR, "Could not retrieve fence history for %u/%s: %s (%d)", nodeid, uname, pcmk_strerror(rc), rc);
-+        }
-     }
- 
-     if (progress) {
-@@ -2450,6 +2478,9 @@ stonith_api_time(int nodeid, const char *uname, bool in_progress)
-         stonith_api_delete(st);
-     }
- 
-+    if(when) {
-+        api_log(LOG_INFO, "Node %u/%s last kicked at: %ld", nodeid, uname, (long int)when);
-+    }
-     free(name);
-     return when;
- }
diff --git a/SOURCES/bz1070916-pcmk-systemd_prevent_use_of_null_when_determining_if_an_agent_exists.patch b/SOURCES/bz1070916-pcmk-systemd_prevent_use_of_null_when_determining_if_an_agent_exists.patch
deleted file mode 100644
index cd22bff..0000000
--- a/SOURCES/bz1070916-pcmk-systemd_prevent_use_of_null_when_determining_if_an_agent_exists.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-commit 4d52d269e3022a693155fd1b443990f5956057d7
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Fri Feb 28 14:11:15 2014 +1100
-
-    Fix: systemd: Prevent use-of-NULL when determining if an agent exists
-    
-    (cherry picked from commit 0597697bf408690a5b52e1dfb128888ef974bfe7)
-
-diff --git a/lib/services/systemd.c b/lib/services/systemd.c
-index 374a03e..a28ae14 100644
---- a/lib/services/systemd.c
-+++ b/lib/services/systemd.c
-@@ -142,7 +142,7 @@ systemd_unit_by_name(const gchar * arg_name, gchar ** out_unit)
- 
-     name = systemd_service_name(arg_name);
- 
--    while(*out_unit == NULL) {
-+    while(TRUE) {
-         msg = systemd_new_method(BUS_NAME".Manager", method);
-         CRM_ASSERT(msg != NULL);
- 
diff --git a/SOURCES/bz1070916-pcmk-test_tools_set_up_override_for_local_schema_file_locations.patch b/SOURCES/bz1070916-pcmk-test_tools_set_up_override_for_local_schema_file_locations.patch
deleted file mode 100644
index 14876f7..0000000
--- a/SOURCES/bz1070916-pcmk-test_tools_set_up_override_for_local_schema_file_locations.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-commit 87b04358f7024ee1263f6baaa5a7df7f31b18028
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Tue Feb 4 12:22:37 2014 +1100
-
-    Test: tools: Set up override for local schema file locations
-    
-    (cherry picked from commit 3d43ec1aa27420e23b8a5c9a921e9fab57669eb1)
-
-diff --git a/tools/regression.sh b/tools/regression.sh
-index 12e2bcf..8c9a4d4 100755
---- a/tools/regression.sh
-+++ b/tools/regression.sh
-@@ -60,8 +60,10 @@ while test "$done" = "0"; do
- done
- 
- if [ "x$VALGRIND_CMD" = "x" -a -x $test_home/crm_simulate ]; then
--    echo "Using local binaries from: $test_home"
--    PATH="$test_home:$PATH"
-+    xml_home=`dirname ${test_home}`
-+    echo "Using local binaries from: $test_home, schemas from $xml_home"
-+    export PATH="$test_home:$PATH"
-+    export PCMK_schema_directory=${xml_home}/xml
- fi
- 
- function test_tools() {
diff --git a/SOURCES/bz1078078-pcmk-crm_report_suppress_logging_errors_after_the_target_directory_has_been_compressed.patch b/SOURCES/bz1078078-pcmk-crm_report_suppress_logging_errors_after_the_target_directory_has_been_compressed.patch
deleted file mode 100644
index 4b96e99..0000000
--- a/SOURCES/bz1078078-pcmk-crm_report_suppress_logging_errors_after_the_target_directory_has_been_compressed.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-commit 3de41452c059cb44028433bea1ab6425e239a38c
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Dec 18 08:12:29 2013 +1100
-
-    Fix: crm_report: Suppress logging errors after the target directory has been compressed
-    
-    (cherry picked from commit 571c7b0e66b174442604883fe105dbe8d10f1bc4)
-
-diff --git a/tools/report.common.in b/tools/report.common.in
-index 9742f1c..bba7c63 100644
---- a/tools/report.common.in
-+++ b/tools/report.common.in
-@@ -76,7 +76,7 @@ record() {
-     if [ x != x"$REPORT_HOME" -a -d "${REPORT_HOME}/$shorthost" ]; then
-         rec="${REPORT_HOME}/$shorthost/report.out"
- 
--    elif [ x != x"${l_base}" ]; then
-+    elif [ x != x"${l_base}" -a -d "${l_base}" ]; then
-         rec="${l_base}/report.summary"
- 
-     else
diff --git a/SOURCES/bz1078078-pcmk-crm_resource_wait_for_the_correct_number_of_replies_when_cleaning_up_resources.patch b/SOURCES/bz1078078-pcmk-crm_resource_wait_for_the_correct_number_of_replies_when_cleaning_up_resources.patch
deleted file mode 100644
index 9b7a4e5..0000000
--- a/SOURCES/bz1078078-pcmk-crm_resource_wait_for_the_correct_number_of_replies_when_cleaning_up_resources.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-commit ec35b157495c79cf79572fdca4b369f37d42e2bf
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Thu Oct 31 14:04:21 2013 +1100
-
-    Fix: crm_resource: Wait for the correct number of replies when cleaning up resources
-    
-    (cherry picked from commit 145c782e432d8108ca865f994640cf5a62406363)
-
-diff --git a/tools/crm_resource.c b/tools/crm_resource.c
-index 1fcb2a2..c344997 100644
---- a/tools/crm_resource.c
-+++ b/tools/crm_resource.c
-@@ -61,7 +61,7 @@ char *our_pid = NULL;
- crm_ipc_t *crmd_channel = NULL;
- char *xml_file = NULL;
- int cib_options = cib_sync_call;
--int crmd_replies_needed = 0;
-+int crmd_replies_needed = 1; /* The welcome message */
- GMainLoop *mainloop = NULL;
- 
- extern void cleanup_alloc_calculations(pe_working_set_t * data_set);
-@@ -93,7 +93,6 @@ static void
- start_mainloop(void)
- {
-     mainloop = g_main_new(FALSE);
--    crmd_replies_needed++;      /* The welcome message */
-     fprintf(stderr, "Waiting for %d replies from the CRMd", crmd_replies_needed);
-     crm_debug("Waiting for %d replies from the CRMd", crmd_replies_needed);
- 
diff --git a/SOURCES/bz1078078-pcmk-crmd_correctly_react_to_successful_unfencing_operations.patch b/SOURCES/bz1078078-pcmk-crmd_correctly_react_to_successful_unfencing_operations.patch
deleted file mode 100644
index e3c79b3..0000000
--- a/SOURCES/bz1078078-pcmk-crmd_correctly_react_to_successful_unfencing_operations.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-commit 110cdd2056407a3a448a0e0cf3ef4e126fb26753
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Fri Apr 4 12:13:04 2014 +1100
-
-    Fix: crmd: Correctly react to successful unfencing operations
-    
-    Hint: We don't want to shut down
-    (cherry picked from commit 69c8d227c605d0b85038a536be948f5a56cfe4bd)
-
-diff --git a/crmd/te_utils.c b/crmd/te_utils.c
-index 239af63..60dd21c 100644
---- a/crmd/te_utils.c
-+++ b/crmd/te_utils.c
-@@ -123,7 +123,12 @@ tengine_stonith_notify(stonith_t * st, stonith_event_t * st_event)
-         return;
-     }
- 
--    if (st_event->result == pcmk_ok && crm_str_eq(st_event->target, fsa_our_uname, TRUE)) {
-+    if (st_event->result == pcmk_ok && safe_str_eq("on", st_event->action)) {
-+        crm_notice("%s was successfully unfenced by %s for %s with %s",
-+                   st_event->executioner, st_event->origin, st_event->device);
-+        return;
-+
-+    } else if (st_event->result == pcmk_ok && crm_str_eq(st_event->target, fsa_our_uname, TRUE)) {
-         crm_crit("We were alegedly just fenced by %s for %s with %s!", st_event->executioner,
-                  st_event->origin, st_event->device); /* Dumps blackbox if enabled */
- 
diff --git a/SOURCES/bz1078078-pcmk-crmd_device_isn_t_hooked_up_yet_don_t_bother_logging_it.patch b/SOURCES/bz1078078-pcmk-crmd_device_isn_t_hooked_up_yet_don_t_bother_logging_it.patch
deleted file mode 100644
index 3ddd9d2..0000000
--- a/SOURCES/bz1078078-pcmk-crmd_device_isn_t_hooked_up_yet_don_t_bother_logging_it.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-commit 4cf4c0dee7128ae0896bf5fc6cbaeffd21cfb984
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Thu Apr 10 13:20:20 2014 +1000
-
-    Log: crmd: device isn't hooked up yet, don't bother logging it
-    
-    (cherry picked from commit 97705f05e96dcc0f8b232f32b842ee36844a6567)
-
-diff --git a/crmd/te_utils.c b/crmd/te_utils.c
-index b2003ba..c7260fd 100644
---- a/crmd/te_utils.c
-+++ b/crmd/te_utils.c
-@@ -124,20 +124,20 @@ tengine_stonith_notify(stonith_t * st, stonith_event_t * st_event)
-     }
- 
-     if (st_event->result == pcmk_ok && safe_str_eq("on", st_event->action)) {
--        crm_notice("%s was successfully unfenced by %s (at the request of %s) with %s",
--                   st_event->target, st_event->executioner, st_event->origin,
--                   st_event->device); /* TODO: Why is device never set? */
-+        crm_notice("%s was successfully unfenced by %s (at the request of %s)",
-+                   st_event->target, st_event->executioner, st_event->origin);
-+                /* TODO: Hook up st_event->device */
-         return;
- 
-     } else if (safe_str_eq("on", st_event->action)) {
--        crm_err("Unfencing of %s by %s with %s failed: %s (%d)",
--                st_event->target, st_event->executioner, st_event->device,
-+        crm_err("Unfencing of %s by %s failed: %s (%d)",
-+                st_event->target, st_event->executioner,
-                 pcmk_strerror(st_event->result), st_event->result);
-         return;
- 
-     } else if (st_event->result == pcmk_ok && crm_str_eq(st_event->target, fsa_our_uname, TRUE)) {
--        crm_crit("We were alegedly just fenced by %s for %s with %s!", st_event->executioner,
--                 st_event->origin, st_event->device); /* Dumps blackbox if enabled */
-+        crm_crit("We were alegedly just fenced by %s for %s!",
-+                 st_event->executioner, st_event->origin); /* Dumps blackbox if enabled */
- 
-         qb_log_fini(); /* Try to get the above log message to disk - somehow */
- 
diff --git a/SOURCES/bz1078078-pcmk-crmd_do_not_erase_the_status_section_for_unfenced_nodes.patch b/SOURCES/bz1078078-pcmk-crmd_do_not_erase_the_status_section_for_unfenced_nodes.patch
deleted file mode 100644
index 6b23f8b..0000000
--- a/SOURCES/bz1078078-pcmk-crmd_do_not_erase_the_status_section_for_unfenced_nodes.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-commit de876a58b6cd80389f7f345784a15080056faf9d
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Thu Apr 10 08:59:04 2014 +1000
-
-    Fix: crmd: Do not erase the status section for unfenced nodes
-    
-    (cherry picked from commit ac788bf0eed36eeb489e7c6e9bcf5c5ded91fd44)
-    
-    Conflicts:
-    	crmd/te_callbacks.c
-
-diff --git a/crmd/te_callbacks.c b/crmd/te_callbacks.c
-index 4b8aac5..ce8ae9c 100644
---- a/crmd/te_callbacks.c
-+++ b/crmd/te_callbacks.c
-@@ -442,11 +442,12 @@ tengine_stonith_callback(stonith_t * stonith, stonith_callback_data_t * data)
-     if (rc == pcmk_ok) {
-         const char *target = crm_element_value(action->xml, XML_LRM_ATTR_TARGET);
-         const char *uuid = crm_element_value(action->xml, XML_LRM_ATTR_TARGET_UUID);
-+        const char *op = crm_meta_value(action->params, "stonith_action"); 
- 
-         crm_debug("Stonith operation %d for %s passed", call_id, target);
-         if (action->confirmed == FALSE) {
-             action->confirmed = TRUE;
--            if (action->sent_update == FALSE) {
-+            if (action->sent_update == FALSE && safe_str_neq("on", op)) {
-                 send_stonith_update(action, target, uuid);
-             }
-         }
diff --git a/SOURCES/bz1078078-pcmk-crmd_do_not_overwrite_existing_node_state_when_fencing_completes.patch b/SOURCES/bz1078078-pcmk-crmd_do_not_overwrite_existing_node_state_when_fencing_completes.patch
deleted file mode 100644
index 7129505..0000000
--- a/SOURCES/bz1078078-pcmk-crmd_do_not_overwrite_existing_node_state_when_fencing_completes.patch
+++ /dev/null
@@ -1,155 +0,0 @@
-commit e0bcac68df1f684c1879ddb76387c47b177ece6f
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Tue Feb 18 10:37:07 2014 +1100
-
-    Fix: crmd: Do not overwrite existing node state when fencing completes
-    
-    Let the normal membership callbacks do that.  This allows us to function
-    correctly when a node returns before we get the fencing notification.
-    
-    (cherry picked from commit e777b1759786d0a917299399e8a1fee1242a1eef)
-    
-    Conflicts:
-    	crmd/callbacks.c
-    	crmd/te_utils.c
-    	crmd/utils.c
-
-diff --git a/crmd/crmd_utils.h b/crmd/crmd_utils.h
-index 92d14b1..ca1e177 100644
---- a/crmd/crmd_utils.h
-+++ b/crmd/crmd_utils.h
-@@ -99,6 +99,7 @@ void crmd_join_phase_log(int level);
- const char *get_timer_desc(fsa_timer_t * timer);
- gboolean too_many_st_failures(void);
- void st_fail_count_reset(const char * target);
-+void crmd_peer_down(crm_node_t *peer, bool full);
- 
- #  define fsa_register_cib_callback(id, flag, data, fn) do {              \
-         fsa_cib_conn->cmds->register_callback(                          \
-diff --git a/crmd/te_actions.c b/crmd/te_actions.c
-index 4e3bc22..ee66af6 100644
---- a/crmd/te_actions.c
-+++ b/crmd/te_actions.c
-@@ -75,11 +75,8 @@ send_stonith_update(crm_action_t * action, const char *target, const char *uuid)
-         crm_info("Recording uuid '%s' for node '%s'", uuid, target);
-         peer->uuid = strdup(uuid);
-     }
--    crm_update_peer_proc(__FUNCTION__, peer, crm_proc_none, NULL);
--    crm_update_peer_state(__FUNCTION__, peer, CRM_NODE_LOST, 0);
--    crm_update_peer_expected(__FUNCTION__, peer, CRMD_JOINSTATE_DOWN);
--    crm_update_peer_join(__FUNCTION__, peer, crm_join_none);
- 
-+    crmd_peer_down(peer, TRUE);
-     node_state =
-         do_update_node_cib(peer,
-                            node_update_cluster | node_update_peer | node_update_join |
-diff --git a/crmd/te_utils.c b/crmd/te_utils.c
-index c7260fd..9edb128 100644
---- a/crmd/te_utils.c
-+++ b/crmd/te_utils.c
-@@ -234,11 +234,7 @@ tengine_stonith_notify(stonith_t * st, stonith_event_t * st_event)
- 
-         }
- 
--        /* Everyone records them as safely down */
--        crm_update_peer_proc(__FUNCTION__, peer, crm_proc_none, NULL);
--        crm_update_peer_state(__FUNCTION__, peer, CRM_NODE_LOST, 0);
--        crm_update_peer_expected(__FUNCTION__, peer, CRMD_JOINSTATE_DOWN);
--        crm_update_peer_join(__FUNCTION__, peer, crm_join_none);
-+        crmd_peer_down(peer, TRUE);
-      }
- }
- 
-diff --git a/crmd/utils.c b/crmd/utils.c
-index 07c71b2..a8516c4 100644
---- a/crmd/utils.c
-+++ b/crmd/utils.c
-@@ -1091,3 +1091,13 @@ update_attrd(const char *host, const char *name, const char *value, const char *
-         }
-     }
- }
-+
-+void crmd_peer_down(crm_node_t *peer, bool full) 
-+{
-+    if(full && peer->state == NULL) {
-+        crm_update_peer_state(__FUNCTION__, peer, CRM_NODE_LOST, 0);
-+        crm_update_peer_proc(__FUNCTION__, peer, crm_proc_none, NULL);
-+    }
-+    crm_update_peer_join(__FUNCTION__, peer, crm_join_none);
-+    crm_update_peer_expected(__FUNCTION__, peer, CRMD_JOINSTATE_DOWN);
-+}
-diff --git a/pengine/test10/whitebox-orphan-ms.pe.dot b/pengine/test10/whitebox-orphan-ms.pe.dot
-deleted file mode 100644
-index 81c37eb..0000000
---- a/pengine/test10/whitebox-orphan-ms.pe.dot
-+++ /dev/null
-@@ -1,69 +0,0 @@
--digraph "g" {
--"FencingFail_start_0 18node1" [ style=bold color="green" fontcolor="black"]
--"FencingFail_stop_0 18node3" -> "FencingFail_start_0 18node1" [ style = bold]
--"FencingFail_stop_0 18node3" -> "all_stopped" [ style = bold]
--"FencingFail_stop_0 18node3" [ style=bold color="green" fontcolor="black"]
--"all_stopped" [ style=bold color="green" fontcolor="orange"]
--"container1_delete_0 18node1" -> "container1_start_0 <none>" [ style = dashed]
--"container1_delete_0 18node1" [ style=bold color="green" fontcolor="black"]
--"container1_delete_0 18node2" -> "container1_start_0 <none>" [ style = dashed]
--"container1_delete_0 18node2" [ style=bold color="green" fontcolor="black"]
--"container1_delete_0 18node3" -> "container1_start_0 <none>" [ style = dashed]
--"container1_delete_0 18node3" [ style=bold color="green" fontcolor="black"]
--"container1_start_0 <none>" [ style=dashed color="red" fontcolor="black"]
--"container1_stop_0 18node1" -> "all_stopped" [ style = bold]
--"container1_stop_0 18node1" -> "container1_delete_0 18node1" [ style = bold]
--"container1_stop_0 18node1" -> "container1_delete_0 18node2" [ style = bold]
--"container1_stop_0 18node1" -> "container1_delete_0 18node3" [ style = bold]
--"container1_stop_0 18node1" -> "container1_start_0 <none>" [ style = dashed]
--"container1_stop_0 18node1" [ style=bold color="green" fontcolor="black"]
--"container2_delete_0 18node1" [ style=bold color="green" fontcolor="black"]
--"container2_delete_0 18node2" [ style=bold color="green" fontcolor="black"]
--"container2_delete_0 18node3" [ style=bold color="green" fontcolor="black"]
--"container2_stop_0 18node1" -> "all_stopped" [ style = bold]
--"container2_stop_0 18node1" -> "container2_delete_0 18node1" [ style = bold]
--"container2_stop_0 18node1" -> "container2_delete_0 18node2" [ style = bold]
--"container2_stop_0 18node1" -> "container2_delete_0 18node3" [ style = bold]
--"container2_stop_0 18node1" [ style=bold color="green" fontcolor="black"]
--"lxc-ms_delete_0 18node1" [ style=bold color="green" fontcolor="black"]
--"lxc-ms_delete_0 18node2" [ style=bold color="green" fontcolor="black"]
--"lxc-ms_delete_0 18node3" [ style=bold color="green" fontcolor="black"]
--"lxc-ms_demote_0 lxc1" -> "lxc-ms_stop_0 lxc1" [ style = bold]
--"lxc-ms_demote_0 lxc1" -> "lxc-ms_stop_0 lxc2" [ style = bold]
--"lxc-ms_demote_0 lxc1" -> "lxc1_stop_0 18node1" [ style = bold]
--"lxc-ms_demote_0 lxc1" [ style=bold color="green" fontcolor="black"]
--"lxc-ms_demote_0 lxc2" -> "lxc-ms_stop_0 lxc1" [ style = bold]
--"lxc-ms_demote_0 lxc2" -> "lxc-ms_stop_0 lxc2" [ style = bold]
--"lxc-ms_demote_0 lxc2" -> "lxc2_stop_0 18node1" [ style = bold]
--"lxc-ms_demote_0 lxc2" [ style=bold color="green" fontcolor="black"]
--"lxc-ms_stop_0 lxc1" -> "all_stopped" [ style = bold]
--"lxc-ms_stop_0 lxc1" -> "lxc-ms_delete_0 18node1" [ style = bold]
--"lxc-ms_stop_0 lxc1" -> "lxc-ms_delete_0 18node2" [ style = bold]
--"lxc-ms_stop_0 lxc1" -> "lxc-ms_delete_0 18node3" [ style = bold]
--"lxc-ms_stop_0 lxc1" -> "lxc1_stop_0 18node1" [ style = bold]
--"lxc-ms_stop_0 lxc1" [ style=bold color="green" fontcolor="black"]
--"lxc-ms_stop_0 lxc2" -> "all_stopped" [ style = bold]
--"lxc-ms_stop_0 lxc2" -> "lxc-ms_delete_0 18node1" [ style = bold]
--"lxc-ms_stop_0 lxc2" -> "lxc-ms_delete_0 18node2" [ style = bold]
--"lxc-ms_stop_0 lxc2" -> "lxc-ms_delete_0 18node3" [ style = bold]
--"lxc-ms_stop_0 lxc2" -> "lxc2_stop_0 18node1" [ style = bold]
--"lxc-ms_stop_0 lxc2" [ style=bold color="green" fontcolor="black"]
--"lxc1_delete_0 18node1" [ style=bold color="green" fontcolor="black"]
--"lxc1_delete_0 18node2" [ style=bold color="green" fontcolor="black"]
--"lxc1_delete_0 18node3" [ style=bold color="green" fontcolor="black"]
--"lxc1_stop_0 18node1" -> "all_stopped" [ style = bold]
--"lxc1_stop_0 18node1" -> "container1_stop_0 18node1" [ style = bold]
--"lxc1_stop_0 18node1" -> "lxc1_delete_0 18node1" [ style = bold]
--"lxc1_stop_0 18node1" -> "lxc1_delete_0 18node2" [ style = bold]
--"lxc1_stop_0 18node1" -> "lxc1_delete_0 18node3" [ style = bold]
--"lxc1_stop_0 18node1" [ style=bold color="green" fontcolor="black"]
--"lxc2_delete_0 18node1" [ style=bold color="green" fontcolor="black"]
--"lxc2_delete_0 18node2" [ style=bold color="green" fontcolor="black"]
--"lxc2_delete_0 18node3" [ style=bold color="green" fontcolor="black"]
--"lxc2_stop_0 18node1" -> "all_stopped" [ style = bold]
--"lxc2_stop_0 18node1" -> "container2_stop_0 18node1" [ style = bold]
--"lxc2_stop_0 18node1" -> "lxc2_delete_0 18node1" [ style = bold]
--"lxc2_stop_0 18node1" -> "lxc2_delete_0 18node2" [ style = bold]
--"lxc2_stop_0 18node1" -> "lxc2_delete_0 18node3" [ style = bold]
--"lxc2_stop_0 18node1" [ style=bold color="green" fontcolor="black"]
--}
diff --git a/SOURCES/bz1078078-pcmk-crmd_report_unsuccessful_unfencing_operations.patch b/SOURCES/bz1078078-pcmk-crmd_report_unsuccessful_unfencing_operations.patch
deleted file mode 100644
index cddd885..0000000
--- a/SOURCES/bz1078078-pcmk-crmd_report_unsuccessful_unfencing_operations.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-commit 2a8e1620b6a224905d6cb4e9bc444c957a85f946
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Apr 9 12:17:25 2014 +1000
-
-    Fix: crmd: Report unsuccessful unfencing operations
-    
-    (cherry picked from commit 32f6349100e85b6a48dac01a80c967bc0134d165)
-
-diff --git a/crmd/te_utils.c b/crmd/te_utils.c
-index 60dd21c..b2003ba 100644
---- a/crmd/te_utils.c
-+++ b/crmd/te_utils.c
-@@ -124,8 +124,15 @@ tengine_stonith_notify(stonith_t * st, stonith_event_t * st_event)
-     }
- 
-     if (st_event->result == pcmk_ok && safe_str_eq("on", st_event->action)) {
--        crm_notice("%s was successfully unfenced by %s for %s with %s",
--                   st_event->executioner, st_event->origin, st_event->device);
-+        crm_notice("%s was successfully unfenced by %s (at the request of %s) with %s",
-+                   st_event->target, st_event->executioner, st_event->origin,
-+                   st_event->device); /* TODO: Why is device never set? */
-+        return;
-+
-+    } else if (safe_str_eq("on", st_event->action)) {
-+        crm_err("Unfencing of %s by %s with %s failed: %s (%d)",
-+                st_event->target, st_event->executioner, st_event->device,
-+                pcmk_strerror(st_event->result), st_event->result);
-         return;
- 
-     } else if (st_event->result == pcmk_ok && crm_str_eq(st_event->target, fsa_our_uname, TRUE)) {
diff --git a/SOURCES/bz1078078-pcmk-default_to_off_when_agent_does_not_advertise_reboot_in_metadata.patch b/SOURCES/bz1078078-pcmk-default_to_off_when_agent_does_not_advertise_reboot_in_metadata.patch
deleted file mode 100644
index 82fbf8d..0000000
--- a/SOURCES/bz1078078-pcmk-default_to_off_when_agent_does_not_advertise_reboot_in_metadata.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-commit ad224d149d03351fd5ff63011697b117ad661aaf
-Author: David Vossel <dvossel@redhat.com>
-Date:   Thu Apr 17 11:37:50 2014 -0500
-
-    High: fencing: default to 'off' when agent does not advertise 'reboot' in metadata
-    
-    (cherry picked from commit 8383a38a478ed6473ff2179596335ed4de583cfa)
-
-diff --git a/fencing/commands.c b/fencing/commands.c
-index b4cd862..fbbee1a 100644
---- a/fencing/commands.c
-+++ b/fencing/commands.c
-@@ -206,6 +206,7 @@ static gboolean
- stonith_device_execute(stonith_device_t * device)
- {
-     int exec_rc = 0;
-+    const char *action_str = NULL;
-     async_command_t *cmd = NULL;
-     stonith_action_t *action = NULL;
- 
-@@ -246,8 +247,14 @@ stonith_device_execute(stonith_device_t * device)
-     }
- #endif
- 
-+    action_str = cmd->action;
-+    if (safe_str_eq(cmd->action, "reboot") && is_not_set(device->flags, st_device_supports_reboot)) {
-+        crm_warn("Agent '%s' does not advertise support for 'reboot', performing 'off' action instead", device->agent);
-+        action_str = "off";
-+    }
-+
-     action = stonith_action_create(device->agent,
--                                   cmd->action,
-+                                   action_str,
-                                    cmd->victim,
-                                    cmd->victim_nodeid,
-                                    cmd->timeout, device->params, device->aliases);
-@@ -592,6 +599,8 @@ read_action_metadata(stonith_device_t *device)
-             set_bit(device->flags, st_device_supports_list);
-         } else if(safe_str_eq(action, "status")) {
-             set_bit(device->flags, st_device_supports_status);
-+        } else if(safe_str_eq(action, "reboot")) {
-+            set_bit(device->flags, st_device_supports_reboot);
-         } else if(safe_str_eq(action, "on") && (crm_is_true(automatic))) {
-             /* this setting implies required=true for unfencing */
-             required = "true";
-diff --git a/fencing/internal.h b/fencing/internal.h
-index 3fcad20..d94e2d6 100644
---- a/fencing/internal.h
-+++ b/fencing/internal.h
-@@ -16,6 +16,7 @@ enum st_device_flags
- {
-     st_device_supports_list   = 0x0001,
-     st_device_supports_status = 0x0002,
-+    st_device_supports_reboot = 0x0004,
- };
- 
- typedef struct stonith_device_s {
diff --git a/SOURCES/bz1078078-pcmk-execute_all_required_fencing_devices_regardless_of_what_topology_level_they_are_at.patch b/SOURCES/bz1078078-pcmk-execute_all_required_fencing_devices_regardless_of_what_topology_level_they_are_at.patch
deleted file mode 100644
index 6dfeeeb..0000000
--- a/SOURCES/bz1078078-pcmk-execute_all_required_fencing_devices_regardless_of_what_topology_level_they_are_at.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-commit 7aa42a14d8b06638f3e3e175fc59e16f730979a8
-Author: David Vossel <dvossel@redhat.com>
-Date:   Thu Apr 17 10:52:45 2014 -0500
-
-    High: fencing: Execute all required fencing devices regardless of what topology level they are at
-    
-    (cherry picked from commit c922fd50f7c8deb337aad932cb0b8d1c26cbcd99)
-
-diff --git a/fencing/commands.c b/fencing/commands.c
-index 8efb156..b4cd862 100644
---- a/fencing/commands.c
-+++ b/fencing/commands.c
-@@ -1297,6 +1297,10 @@ stonith_query_capable_device_cb(GList * devices, void *user_data)
-         crm_xml_add(dev, "namespace", device->namespace);
-         crm_xml_add(dev, "agent", device->agent);
-         crm_xml_add_int(dev, F_STONITH_DEVICE_VERIFIED, device->verified);
-+        if (is_action_required(query->action, device)) {
-+            crm_xml_add_int(dev, F_STONITH_DEVICE_REQUIRED, 1);
-+        }
-+        crm_xml_add_int(dev, F_STONITH_DEVICE_VERIFIED, device->verified);
-         if (action_specific_timeout) {
-             crm_xml_add_int(dev, F_STONITH_ACTION_TIMEOUT, action_specific_timeout);
-         }
-diff --git a/fencing/internal.h b/fencing/internal.h
-index 971a32f..3fcad20 100644
---- a/fencing/internal.h
-+++ b/fencing/internal.h
-@@ -113,6 +113,10 @@ typedef struct remote_fencing_op_s {
- 
-     /*! The current topology level being executed */
-     guint level;
-+
-+    /*! List of required devices the topology must execute regardless of what
-+     * topology level they exist at. */
-+    GListPtr required_list;
-     /*! The device list of all the devices at the current executing topology level. */
-     GListPtr devices_list;
-     /*! Current entry in the topology device list */
-diff --git a/fencing/remote.c b/fencing/remote.c
-index fd25025..10447e7 100644
---- a/fencing/remote.c
-+++ b/fencing/remote.c
-@@ -68,6 +68,12 @@ static void report_timeout_period(remote_fencing_op_t * op, int op_timeout);
- static int get_op_total_timeout(remote_fencing_op_t * op, st_query_result_t * chosen_peer,
-                                 int default_timeout);
- 
-+static gint
-+sort_strings(gconstpointer a, gconstpointer b)
-+{
-+    return strcmp(a, b);
-+}
-+
- static void
- free_remote_query(gpointer data)
- {
-@@ -128,6 +134,10 @@ free_remote_op(gpointer data)
-         g_list_free_full(op->devices_list, free);
-         op->devices_list = NULL;
-     }
-+    if (op->required_list) {
-+        g_list_free_full(op->required_list, free);
-+        op->required_list = NULL;
-+    }
-     free(op);
- }
- 
-@@ -400,6 +410,25 @@ topology_is_empty(stonith_topology_t *tp)
-     return TRUE;
- }
- 
-+static void
-+add_required_device(remote_fencing_op_t * op, const char *device)
-+{
-+    GListPtr match  = g_list_find_custom(op->required_list, device, sort_strings);
-+    if (match) {
-+        /* device already marked required */
-+        return;
-+    }
-+    op->required_list = g_list_prepend(op->required_list, strdup(device));
-+
-+    /* make sure the required devices is in the current list of devices to be executed */
-+    if (op->devices_list) {
-+        GListPtr match  = g_list_find_custom(op->devices_list, device, sort_strings);
-+        if (match == NULL) {
-+           op->devices_list = g_list_append(op->devices_list, strdup(device));
-+        }
-+    }
-+}
-+
- /* deep copy the device list */
- static void
- set_op_device_list(remote_fencing_op_t * op, GListPtr devices)
-@@ -413,6 +442,18 @@ set_op_device_list(remote_fencing_op_t * op, GListPtr devices)
-     for (lpc = devices; lpc != NULL; lpc = lpc->next) {
-         op->devices_list = g_list_append(op->devices_list, strdup(lpc->data));
-     }
-+
-+    /* tack on whatever required devices have not been executed
-+     * to the end of the current devices list. This ensures that
-+     * the required devices will get executed regardless of what topology
-+     * level they exist at. */
-+    for (lpc = op->required_list; lpc != NULL; lpc = lpc->next) {
-+        GListPtr match  = g_list_find_custom(op->devices_list, lpc->data, sort_strings);
-+        if (match == NULL) {
-+           op->devices_list = g_list_append(op->devices_list, strdup(lpc->data));
-+        }
-+    }
-+
-     op->devices = op->devices_list;
- }
- 
-@@ -714,12 +755,6 @@ initiate_remote_stonith_op(crm_client_t * client, xmlNode * request, gboolean ma
-     return op;
- }
- 
--static gint
--sort_strings(gconstpointer a, gconstpointer b)
--{
--    return strcmp(a, b);
--}
--
- enum find_best_peer_options {
-     /*! Skip checking the target peer for capable fencing devices */
-     FIND_PEER_SKIP_TARGET = 0x0001,
-@@ -1165,11 +1200,13 @@ process_remote_stonith_query(xmlNode * msg)
-         const char *device = ID(child);
-         int action_timeout = 0;
-         int verified = 0;
-+        int required = 0;
- 
-         if (device) {
-             result->device_list = g_list_prepend(result->device_list, strdup(device));
-             crm_element_value_int(child, F_STONITH_ACTION_TIMEOUT, &action_timeout);
-             crm_element_value_int(child, F_STONITH_DEVICE_VERIFIED, &verified);
-+            crm_element_value_int(child, F_STONITH_DEVICE_REQUIRED, &required);
-             if (action_timeout) {
-                 crm_trace("Peer %s with device %s returned action timeout %d",
-                           result->host, device, action_timeout);
-@@ -1181,6 +1218,13 @@ process_remote_stonith_query(xmlNode * msg)
-                 g_hash_table_insert(result->verified_devices,
-                                     strdup(device), GINT_TO_POINTER(verified));
-             }
-+            if (required) {
-+                crm_trace("Peer %s requires device %s to execute for action %s",
-+                          result->host, device, op->action);
-+                /* This matters when executing a topology. Required devices will get 
-+                 * executed regardless of their topology level. We use this for unfencing. */
-+                add_required_device(op, device);
-+            }
-         }
-     }
- 
-@@ -1312,10 +1356,14 @@ process_remote_stonith_exec(xmlNode * msg)
-          * Continue the topology if more devices exist at the current level, otherwise
-          * mark as done. */
-         if (rc == pcmk_ok) {
-+            GListPtr required_match = g_list_find_custom(op->required_list, device, sort_strings);
-             if (op->devices) {
-                 /* Success, are there any more? */
-                 op->devices = op->devices->next;
-             }
-+            if (required_match) {
-+                op->required_list = g_list_remove(op->required_list, required_match->data);
-+            }
-             /* if no more devices at this fencing level, we are done,
-              * else we need to contine with executing the next device in the list */
-             if (op->devices == NULL) {
-diff --git a/include/crm/fencing/internal.h b/include/crm/fencing/internal.h
-index 2822e9a..3625cf9 100644
---- a/include/crm/fencing/internal.h
-+++ b/include/crm/fencing/internal.h
-@@ -66,6 +66,8 @@ xmlNode *create_device_registration_xml(const char *id, const char *namespace, c
- /*! Has this device been verified using a monitor type
-  *  operation (monitor, list, status) */
- #  define F_STONITH_DEVICE_VERIFIED   "st_monitor_verified"
-+/*! device is required for this action */
-+#  define F_STONITH_DEVICE_REQUIRED   "st_required"
- #  define F_STONITH_CALLBACK_TOKEN    "st_async_id"
- #  define F_STONITH_CLIENTNAME        "st_clientname"
- #  define F_STONITH_CLIENTNODE        "st_clientnode"
diff --git a/SOURCES/bz1078078-pcmk-fence_using_all_required_devices.patch b/SOURCES/bz1078078-pcmk-fence_using_all_required_devices.patch
deleted file mode 100644
index 6a30090..0000000
--- a/SOURCES/bz1078078-pcmk-fence_using_all_required_devices.patch
+++ /dev/null
@@ -1,289 +0,0 @@
-commit 1928af7d8d2fc7d225df22caeb7ea93964f48bde
-Author: David Vossel <dvossel@redhat.com>
-Date:   Wed Apr 16 10:28:46 2014 -0500
-
-    High: fencing: Fence using all required devices
-    
-    (cherry picked from commit 1f39dfe13d8cbfb5dd22f8324735319f81230fdb)
-    
-    Conflicts:
-    	fencing/main.c
-
-diff --git a/fencing/commands.c b/fencing/commands.c
-index 41690f7..8efb156 100644
---- a/fencing/commands.c
-+++ b/fencing/commands.c
-@@ -111,6 +111,20 @@ typedef struct async_command_s {
- static xmlNode *stonith_construct_async_reply(async_command_t * cmd, const char *output,
-                                               xmlNode * data, int rc);
- 
-+static gboolean
-+is_action_required(const char *action, stonith_device_t *device)
-+{
-+    if (device->required_actions == NULL) {
-+        return FALSE;
-+    }
-+
-+    if (strstr(device->required_actions, action)) {
-+        return TRUE;
-+    }
-+
-+    return FALSE;
-+}
-+
- static int
- get_action_timeout(stonith_device_t * device, const char *action, int default_timeout)
- {
-@@ -318,6 +332,7 @@ free_device(gpointer data)
-     free_xml(device->agent_metadata);
-     free(device->namespace);
-     free(device->on_target_actions);
-+    free(device->required_actions);
-     free(device->agent);
-     free(device->id);
-     free(device);
-@@ -525,10 +540,24 @@ is_nodeid_required(xmlNode * xml)
-     return TRUE;
- }
- 
-+static char *
-+add_action(char *actions, const char *action)
-+{
-+    static size_t len = 256;
-+    if (actions == NULL) {
-+        actions = calloc(1, len);
-+    }
-+    if (strlen(actions)) {
-+        g_strlcat(actions, " ", len);
-+    }
-+    g_strlcat(actions, action, len);
-+
-+    return actions;
-+}
-+
- static void
--get_on_target_actions(stonith_device_t *device)
-+read_action_metadata(stonith_device_t *device)
- {
--    char *actions = NULL;
-     xmlXPathObjectPtr xpath = NULL;
-     int max = 0;
-     int lpc = 0;
-@@ -545,40 +574,38 @@ get_on_target_actions(stonith_device_t *device)
-         return;
-     }
- 
--    actions = calloc(1, 512);
--
-     for (lpc = 0; lpc < max; lpc++) {
-         const char *on_target = NULL;
-         const char *action = NULL;
-+        const char *automatic = NULL;
-+        const char *required = NULL;
-         xmlNode *match = getXpathResult(xpath, lpc);
- 
-         CRM_CHECK(match != NULL, continue);
- 
-         on_target = crm_element_value(match, "on_target");
-         action = crm_element_value(match, "name");
-+        automatic = crm_element_value(match, "automatic");
-+        required = crm_element_value(match, "required");
- 
-         if(safe_str_eq(action, "list")) {
-             set_bit(device->flags, st_device_supports_list);
-         } else if(safe_str_eq(action, "status")) {
-             set_bit(device->flags, st_device_supports_status);
-+        } else if(safe_str_eq(action, "on") && (crm_is_true(automatic))) {
-+            /* this setting implies required=true for unfencing */
-+            required = "true";
-         }
- 
-         if (action && crm_is_true(on_target)) {
--            if (strlen(actions)) {
--                g_strlcat(actions, " ", 512);
--            }
--            g_strlcat(actions, action, 512);
-+            device->on_target_actions = add_action(device->on_target_actions, action);
-+        }
-+        if (action && crm_is_true(required)) {
-+            device->required_actions = add_action(device->required_actions, action);
-         }
-     }
- 
-     freeXpathObject(xpath);
--
--    if (!strlen(actions)) {
--        free(actions);
--        actions = NULL;
--    }
--
--    device->on_target_actions = actions;
- }
- 
- static stonith_device_t *
-@@ -603,13 +630,23 @@ build_device_from_xml(xmlNode * msg)
-     device->aliases = build_port_aliases(value, &(device->targets));
- 
-     device->agent_metadata = get_agent_metadata(device->agent);
--    get_on_target_actions(device);
-+    read_action_metadata(device);
- 
-     value = g_hash_table_lookup(device->params, "nodeid");
-     if (!value) {
-         device->include_nodeid = is_nodeid_required(device->agent_metadata);
-     }
- 
-+    value = crm_element_value(dev, "rsc_provides");
-+    if (safe_str_eq(value, "unfencing")) {
-+        /* if this agent requires unfencing, 'on' is considered a required action */
-+        device->required_actions = add_action(device->required_actions, "on");
-+    }
-+
-+    if (is_action_required("on", device)) {
-+        crm_info("The fencing device '%s' requires unfencing", device->id);
-+    }
-+
-     if (device->on_target_actions) {
-         crm_info("The fencing device '%s' requires actions (%s) to be executed on the target node",
-                  device->id, device->on_target_actions);
-@@ -1460,6 +1497,7 @@ static void
- st_child_done(GPid pid, int rc, const char *output, gpointer user_data)
- {
-     stonith_device_t *device = NULL;
-+    stonith_device_t *next_device = NULL;
-     async_command_t *cmd = user_data;
- 
-     GListPtr gIter = NULL;
-@@ -1483,21 +1521,37 @@ st_child_done(GPid pid, int rc, const char *output, gpointer user_data)
-         mainloop_set_trigger(device->work);
-     }
- 
--    crm_trace("Operation %s on %s completed with rc=%d (%d remaining)",
-+    crm_debug("Operation '%s' on '%s' completed with rc=%d (%d remaining)",
-               cmd->action, cmd->device, rc, g_list_length(cmd->device_next));
- 
--    if (rc != 0 && cmd->device_next) {
--        stonith_device_t *dev = g_hash_table_lookup(device_list, cmd->device_next->data);
--
--        if (dev) {
--            log_operation(cmd, rc, pid, dev->id, output);
-+    if (rc == 0) {
-+        GListPtr iter;
-+        /* see if there are any required devices left to execute for this op */
-+        for (iter = cmd->device_next; iter != NULL; iter = iter->next) {
-+            next_device = g_hash_table_lookup(device_list, iter->data);
- 
--            cmd->device_next = cmd->device_next->next;
--            schedule_stonith_command(cmd, dev);
--            /* Prevent cmd from being freed */
--            cmd = NULL;
--            goto done;
-+            if (next_device != NULL && is_action_required(cmd->action, next_device)) {
-+                cmd->device_next = iter->next;
-+                break;
-+            }
-+            next_device = NULL;
-         }
-+
-+    } else if (rc != 0 && cmd->device_next && (is_action_required(cmd->action, device) == FALSE)) {
-+        /* if this device didn't work out, see if there are any others we can try.
-+         * if the failed device was 'required', we can't pick another device. */
-+        next_device = g_hash_table_lookup(device_list, cmd->device_next->data);
-+        cmd->device_next = cmd->device_next->next;
-+    }
-+
-+    /* this operation requires more fencing, hooray! */
-+    if (next_device) {
-+        log_operation(cmd, rc, pid, device->id, output);
-+
-+        schedule_stonith_command(cmd, next_device);
-+        /* Prevent cmd from being freed */
-+        cmd = NULL;
-+        goto done;
-     }
- 
-     if (rc > 0) {
-diff --git a/fencing/internal.h b/fencing/internal.h
-index 4e0525c..971a32f 100644
---- a/fencing/internal.h
-+++ b/fencing/internal.h
-@@ -25,6 +25,7 @@ typedef struct stonith_device_s {
- 
-     /*! list of actions that must execute on the target node. Used for unfencing */
-     char *on_target_actions;
-+    char *required_actions;
-     GListPtr targets;
-     time_t targets_age;
-     gboolean has_attr_map;
-diff --git a/fencing/main.c b/fencing/main.c
-index e002125..16713fe 100644
---- a/fencing/main.c
-+++ b/fencing/main.c
-@@ -645,9 +645,13 @@ static void cib_device_update(resource_t *rsc, pe_working_set_t *data_set)
-         const char *name = NULL;
-         const char *agent = crm_element_value(rsc->xml, XML_EXPR_ATTR_TYPE);
-         const char *provider = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER);
-+        const char *rsc_provides = NULL;
- 
-         crm_info("Device %s is allowed on %s: score=%d", rsc->id, stonith_our_uname, node->weight);
-         get_rsc_attributes(rsc->parameters, rsc, node, data_set);
-+        get_meta_attributes(rsc->meta, rsc, node, data_set);
-+
-+        rsc_provides = g_hash_table_lookup(rsc->meta, XML_RSC_ATTR_PROVIDES);
- 
-         g_hash_table_iter_init(&gIter, rsc->parameters);
-         while (g_hash_table_iter_next(&gIter, (gpointer *) & name, (gpointer *) & value)) {
-@@ -658,7 +662,7 @@ static void cib_device_update(resource_t *rsc, pe_working_set_t *data_set)
-             crm_trace(" %s=%s", name, value);
-         }
- 
--        data = create_device_registration_xml(rsc_name(rsc), provider, agent, params);
-+        data = create_device_registration_xml(rsc_name(rsc), provider, agent, params, rsc_provides);
-         stonith_device_register(data, NULL, TRUE);
- 
-         stonith_key_value_freeall(params, 1, 1);
-diff --git a/include/crm/fencing/internal.h b/include/crm/fencing/internal.h
-index 4f30fed..2822e9a 100644
---- a/include/crm/fencing/internal.h
-+++ b/include/crm/fencing/internal.h
-@@ -46,7 +46,7 @@ xmlNode *create_level_registration_xml(const char *node, int level,
-                                        stonith_key_value_t * device_list);
- 
- xmlNode *create_device_registration_xml(const char *id, const char *namespace, const char *agent,
--                                        stonith_key_value_t * params);
-+                                        stonith_key_value_t * params, const char *rsc_provides);
- 
- #  define ST_LEVEL_MAX 10
- 
-diff --git a/lib/fencing/st_client.c b/lib/fencing/st_client.c
-index 2be854f..06e0726 100644
---- a/lib/fencing/st_client.c
-+++ b/lib/fencing/st_client.c
-@@ -178,7 +178,7 @@ stonith_connection_destroy(gpointer user_data)
- 
- xmlNode *
- create_device_registration_xml(const char *id, const char *namespace, const char *agent,
--                               stonith_key_value_t * params)
-+                               stonith_key_value_t * params, const char *rsc_provides)
- {
-     xmlNode *data = create_xml_node(NULL, F_STONITH_DEVICE);
-     xmlNode *args = create_xml_node(data, XML_TAG_ATTRS);
-@@ -195,6 +195,9 @@ create_device_registration_xml(const char *id, const char *namespace, const char
-     crm_xml_add(data, "origin", __FUNCTION__);
-     crm_xml_add(data, "agent", agent);
-     crm_xml_add(data, "namespace", namespace);
-+    if (rsc_provides) {
-+        crm_xml_add(data, "rsc_provides", rsc_provides);
-+    }
- 
-     for (; params; params = params->next) {
-         hash2field((gpointer) params->key, (gpointer) params->value, args);
-@@ -211,7 +214,7 @@ stonith_api_register_device(stonith_t * st, int call_options,
-     int rc = 0;
-     xmlNode *data = NULL;
- 
--    data = create_device_registration_xml(id, namespace, agent, params);
-+    data = create_device_registration_xml(id, namespace, agent, params, NULL);
- 
-     rc = stonith_send_command(st, STONITH_OP_DEVICE_ADD, data, NULL, call_options, 0);
-     free_xml(data);
diff --git a/SOURCES/bz1078078-pcmk-fencing_automatically_switch_from_list_to_status_to_static_list_if_those_actions_are_not_advertised_in_the_metadata.patch b/SOURCES/bz1078078-pcmk-fencing_automatically_switch_from_list_to_status_to_static_list_if_those_actions_are_not_advertised_in_the_metadata.patch
deleted file mode 100644
index 247d9d7..0000000
--- a/SOURCES/bz1078078-pcmk-fencing_automatically_switch_from_list_to_status_to_static_list_if_those_actions_are_not_advertised_in_the_metadata.patch
+++ /dev/null
@@ -1,114 +0,0 @@
-commit 0fb13527630fd308d533110ab91b7cf00538e8da
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Apr 9 09:05:36 2014 +1000
-
-    Fix: fencing: Automatically switch from 'list' to 'status' to 'static-list' if those actions are not advertised in the metadata
-    
-    (cherry picked from commit b87c249c7b862f6bac424e5d0bb5528e8f7b9c94)
-
-diff --git a/fencing/commands.c b/fencing/commands.c
-index 909dc24..14933a5 100644
---- a/fencing/commands.c
-+++ b/fencing/commands.c
-@@ -524,24 +524,24 @@ is_nodeid_required(xmlNode * xml)
-     return TRUE;
- }
- 
--static char *
--get_on_target_actions(xmlNode * xml)
-+static void
-+get_on_target_actions(stonith_device_t *device)
- {
-     char *actions = NULL;
-     xmlXPathObjectPtr xpath = NULL;
-     int max = 0;
-     int lpc = 0;
- 
--    if (!xml) {
--        return NULL;
-+    if (device->agent_metadata == NULL) {
-+        return;
-     }
- 
--    xpath = xpath_search(xml, "//action");
-+    xpath = xpath_search(device->agent_metadata, "//action");
-     max = numXpathResults(xpath);
- 
-     if (max <= 0) {
-         freeXpathObject(xpath);
--        return NULL;
-+        return;
-     }
- 
-     actions = calloc(1, 512);
-@@ -556,6 +556,12 @@ get_on_target_actions(xmlNode * xml)
-         on_target = crm_element_value(match, "on_target");
-         action = crm_element_value(match, "name");
- 
-+        if(safe_str_eq(action, "list")) {
-+            set_bit(device->flags, st_device_supports_list);
-+        } else if(safe_str_eq(action, "status")) {
-+            set_bit(device->flags, st_device_supports_status);
-+        }
-+
-         if (action && crm_is_true(on_target)) {
-             if (strlen(actions)) {
-                 g_strlcat(actions, " ", 512);
-@@ -571,7 +577,7 @@ get_on_target_actions(xmlNode * xml)
-         actions = NULL;
-     }
- 
--    return actions;
-+    device->on_target_actions = actions;
- }
- 
- static stonith_device_t *
-@@ -596,7 +602,7 @@ build_device_from_xml(xmlNode * msg)
-     device->aliases = build_port_aliases(value, &(device->targets));
- 
-     device->agent_metadata = get_agent_metadata(device->agent);
--    device->on_target_actions = get_on_target_actions(device->agent_metadata);
-+    get_on_target_actions(device);
- 
-     value = g_hash_table_lookup(device->params, "nodeid");
-     if (!value) {
-@@ -627,8 +633,12 @@ target_list_type(stonith_device_t * dev)
-             check_type = "static-list";
-         } else if (g_hash_table_lookup(dev->params, STONITH_ATTR_HOSTMAP)) {
-             check_type = "static-list";
--        } else {
-+        } else if(is_set(dev->flags, st_device_supports_list)){
-             check_type = "dynamic-list";
-+        } else if(is_set(dev->flags, st_device_supports_status)){
-+            check_type = "status";
-+        } else {
-+            check_type = "none";
-         }
-     }
- 
-diff --git a/fencing/internal.h b/fencing/internal.h
-index da510c3..4e0525c 100644
---- a/fencing/internal.h
-+++ b/fencing/internal.h
-@@ -12,6 +12,12 @@
-  */
- gboolean stonith_check_fence_tolerance(int tolerance, const char *target, const char *action);
- 
-+enum st_device_flags
-+{
-+    st_device_supports_list   = 0x0001,
-+    st_device_supports_status = 0x0002,
-+};
-+
- typedef struct stonith_device_s {
-     char *id;
-     char *agent;
-@@ -27,6 +33,8 @@ typedef struct stonith_device_s {
-     guint priority;
-     guint active_pid;
- 
-+    enum st_device_flags flags;
-+
-     GHashTable *params;
-     GHashTable *aliases;
-     GList *pending_ops;
diff --git a/SOURCES/bz1078078-pcmk-fencing_correctly_record_which_peer_performed_the_fencing_operation.patch b/SOURCES/bz1078078-pcmk-fencing_correctly_record_which_peer_performed_the_fencing_operation.patch
deleted file mode 100644
index b7dc219..0000000
--- a/SOURCES/bz1078078-pcmk-fencing_correctly_record_which_peer_performed_the_fencing_operation.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-commit e40eaf4a1ba1787696a2fea3043e2620a5d98e3c
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Thu Apr 10 11:50:46 2014 +1000
-
-    Fix: Fencing: Correctly record which peer performed the fencing operation
-    
-    (cherry picked from commit a932361589964545f76376009d7ff7a61f03cab3)
-
-diff --git a/fencing/commands.c b/fencing/commands.c
-index abbb1ad..41690f7 100644
---- a/fencing/commands.c
-+++ b/fencing/commands.c
-@@ -1405,7 +1405,8 @@ stonith_send_async_reply(async_command_t * cmd, const char *output, int rc, GPid
-         crm_xml_add_int(notify_data, F_STONITH_RC, rc);
-         crm_xml_add(notify_data, F_STONITH_TARGET, cmd->victim);
-         crm_xml_add(notify_data, F_STONITH_OPERATION, cmd->op);
--        crm_xml_add(notify_data, F_STONITH_DELEGATE, cmd->device);
-+        crm_xml_add(notify_data, F_STONITH_DELEGATE, "localhost");
-+        crm_xml_add(notify_data, F_STONITH_DEVICE, cmd->device);
-         crm_xml_add(notify_data, F_STONITH_REMOTE_OP_ID, cmd->remote_op_id);
-         crm_xml_add(notify_data, F_STONITH_ORIGIN, cmd->client);
- 
-diff --git a/fencing/remote.c b/fencing/remote.c
-index 399dce5..fd25025 100644
---- a/fencing/remote.c
-+++ b/fencing/remote.c
-@@ -267,7 +267,12 @@ remote_op_done(remote_fencing_op_t * op, xmlNode * data, int rc, int dup)
-     }
- 
-     if (!op->delegate && data) {
--        op->delegate = crm_element_value_copy(data, F_ORIG);
-+        xmlNode *ndata = get_xpath_object("//@" F_STONITH_DELEGATE, data, LOG_WARNING);
-+        if(ndata) {
-+            op->delegate = crm_element_value_copy(ndata, F_STONITH_DELEGATE);
-+        } else {
-+            op->delegate = crm_element_value_copy(data, F_ORIG);
-+        }
-     }
- 
-     if (data == NULL) {
-diff --git a/lib/fencing/st_client.c b/lib/fencing/st_client.c
-index 95ea0f7..2be854f 100644
---- a/lib/fencing/st_client.c
-+++ b/lib/fencing/st_client.c
-@@ -1981,6 +1981,8 @@ xml_to_event(xmlNode * msg)
-             event->executioner = crm_element_value_copy(data, F_STONITH_DELEGATE);
-             event->id = crm_element_value_copy(data, F_STONITH_REMOTE_OP_ID);
-             event->client_origin = crm_element_value_copy(data, F_STONITH_CLIENTNAME);
-+            event->device = crm_element_value_copy(data, F_STONITH_DEVICE);
-+
-         } else {
-             crm_err("No data for %s event", ntype);
-             crm_log_xml_notice(msg, "BadEvent");
diff --git a/SOURCES/bz1078078-pcmk-filter_self_fencing_at_the_peers_to_allow_unfencing_to_work_correctly.patch b/SOURCES/bz1078078-pcmk-filter_self_fencing_at_the_peers_to_allow_unfencing_to_work_correctly.patch
deleted file mode 100644
index 71fca5e..0000000
--- a/SOURCES/bz1078078-pcmk-filter_self_fencing_at_the_peers_to_allow_unfencing_to_work_correctly.patch
+++ /dev/null
@@ -1,222 +0,0 @@
-commit 5fbd9decbca3f40a8b29e9d1ef5d158808f71cf6
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Apr 9 14:40:30 2014 +1000
-
-    Fix: fencing: Filter self-fencing at the peers to allow unfencing to work correctly
-    
-    (cherry picked from commit e1e7d7fad2b5ade3c6e433cb1b631d071b8d5e70)
-    
-    Conflicts:
-    	fencing/commands.c
-    	fencing/remote.c
-
-diff --git a/fencing/commands.c b/fencing/commands.c
-index 14933a5..abbb1ad 100644
---- a/fencing/commands.c
-+++ b/fencing/commands.c
-@@ -60,6 +60,7 @@ struct device_search_s {
-     int per_device_timeout;
-     int replies_needed;
-     int replies_received;
-+    bool allow_suicide;
- 
-     void *user_data;
-     void (*callback) (GList * devices, void *user_data);
-@@ -1072,8 +1073,17 @@ can_fence_host_with_device(stonith_device_t * dev, struct device_search_s *searc
- 
-     if (dev->on_target_actions &&
-         search->action &&
--        strstr(dev->on_target_actions, search->action) && safe_str_neq(host, stonith_our_uname)) {
-+        strstr(dev->on_target_actions, search->action)) {
-         /* this device can only execute this action on the target node */
-+
-+        if(safe_str_neq(host, stonith_our_uname)) {
-+            crm_trace("%s operation with %s can only be executed for localhost not %s",
-+                      search->action, dev->id, host);
-+            goto search_report_results;
-+        }
-+
-+    } else if(safe_str_eq(host, stonith_our_uname) && search->allow_suicide == FALSE) {
-+        crm_trace("%s operation does not support self-fencing", search->action);
-         goto search_report_results;
-     }
- 
-@@ -1146,7 +1156,7 @@ search_devices(gpointer key, gpointer value, gpointer user_data)
- 
- #define DEFAULT_QUERY_TIMEOUT 20
- static void
--get_capable_devices(const char *host, const char *action, int timeout, void *user_data,
-+get_capable_devices(const char *host, const char *action, int timeout, bool suicide, void *user_data,
-                     void (*callback) (GList * devices, void *user_data))
- {
-     struct device_search_s *search;
-@@ -1199,6 +1209,7 @@ get_capable_devices(const char *host, const char *action, int timeout, void *use
-      * unregistered some how during the async search, we will get
-      * the correct number of replies. */
-     search->replies_needed = g_hash_table_size(device_list);
-+    search->allow_suicide = suicide;
-     search->callback = callback;
-     search->user_data = user_data;
-     /* kick off the search */
-@@ -1313,7 +1324,9 @@ stonith_query(xmlNode * msg, const char *remote_peer, const char *client_id, int
-     query->action = action ? strdup(action) : NULL;
-     query->call_options = call_options;
- 
--    get_capable_devices(target, action, timeout, query, stonith_query_capable_device_cb);
-+    get_capable_devices(target, action, timeout,
-+                        is_set(call_options, st_opt_allow_suicide),
-+                        query, stonith_query_capable_device_cb);
- }
- 
- #define ST_LOG_OUTPUT_MAX 512
-@@ -1632,8 +1645,10 @@ stonith_fence(xmlNode * msg)
-                 host = node->uname;
-             }
-         }
--        get_capable_devices(host, cmd->action, cmd->default_timeout, cmd,
--                            stonith_fence_get_devices_cb);
-+
-+        /* If we get to here, then self-fencing is implicitly allowed */
-+        get_capable_devices(host, cmd->action, cmd->default_timeout,
-+                            TRUE, cmd, stonith_fence_get_devices_cb);
-     }
- 
-     return -EINPROGRESS;
-diff --git a/fencing/remote.c b/fencing/remote.c
-index 8c8df6d..399dce5 100644
---- a/fencing/remote.c
-+++ b/fencing/remote.c
-@@ -558,6 +558,7 @@ create_remote_stonith_op(const char *client, xmlNode * request, gboolean peer)
- {
-     remote_fencing_op_t *op = NULL;
-     xmlNode *dev = get_xpath_object("//@" F_STONITH_TARGET, request, LOG_TRACE);
-+    int call_options = 0;
- 
-     if (remote_op_list == NULL) {
-         remote_op_list = g_hash_table_new_full(crm_str_hash, g_str_equal, NULL, free_remote_op);
-@@ -612,7 +613,9 @@ create_remote_stonith_op(const char *client, xmlNode * request, gboolean peer)
- 
-     op->target = crm_element_value_copy(dev, F_STONITH_TARGET);
-     op->request = copy_xml(request);    /* TODO: Figure out how to avoid this */
--    crm_element_value_int(request, F_STONITH_CALLOPTS, (int *)&(op->call_options));
-+    crm_element_value_int(request, F_STONITH_CALLOPTS, &call_options);
-+    op->call_options = call_options;
-+
-     crm_element_value_int(request, F_STONITH_CALLID, (int *)&(op->client_callid));
- 
-     crm_trace("%s new stonith op: %s - %s of %s for %s",
-@@ -662,7 +665,7 @@ initiate_remote_stonith_op(crm_client_t * client, xmlNode * request, gboolean ma
-                    op->target, op->id);
-         return op;
-     }
--    
-+
-     CRM_CHECK(op->action, return NULL);
- 
-     if (stonith_topology_next(op) != pcmk_ok) {
-@@ -695,6 +698,7 @@ initiate_remote_stonith_op(crm_client_t * client, xmlNode * request, gboolean ma
-     crm_xml_add(query, F_STONITH_CLIENTID, op->client_id);
-     crm_xml_add(query, F_STONITH_CLIENTNAME, op->client_name);
-     crm_xml_add_int(query, F_STONITH_TIMEOUT, op->base_timeout);
-+    crm_xml_add_int(query, F_STONITH_CALLOPTS, op->call_options);
- 
-     send_cluster_message(NULL, crm_msg_stonith_ng, query, FALSE);
-     free_xml(query);
-@@ -964,29 +968,30 @@ call_remote_stonith(remote_fencing_op_t * op, st_query_result_t * peer)
- 
-     if (peer) {
-         int timeout_one = 0;
--        xmlNode *query = stonith_create_op(op->client_callid, op->id, STONITH_OP_FENCE, NULL, 0);
-+        xmlNode *remote_op = stonith_create_op(op->client_callid, op->id, STONITH_OP_FENCE, NULL, 0);
- 
--        crm_xml_add(query, F_STONITH_REMOTE_OP_ID, op->id);
--        crm_xml_add(query, F_STONITH_TARGET, op->target);
--        crm_xml_add(query, F_STONITH_ACTION, op->action);
--        crm_xml_add(query, F_STONITH_ORIGIN, op->originator);
--        crm_xml_add(query, F_STONITH_CLIENTID, op->client_id);
--        crm_xml_add(query, F_STONITH_CLIENTNAME, op->client_name);
--        crm_xml_add_int(query, F_STONITH_TIMEOUT, timeout);
-+        crm_xml_add(remote_op, F_STONITH_REMOTE_OP_ID, op->id);
-+        crm_xml_add(remote_op, F_STONITH_TARGET, op->target);
-+        crm_xml_add(remote_op, F_STONITH_ACTION, op->action);
-+        crm_xml_add(remote_op, F_STONITH_ORIGIN, op->originator);
-+        crm_xml_add(remote_op, F_STONITH_CLIENTID, op->client_id);
-+        crm_xml_add(remote_op, F_STONITH_CLIENTNAME, op->client_name);
-+        crm_xml_add_int(remote_op, F_STONITH_TIMEOUT, timeout);
-+        crm_xml_add_int(remote_op, F_STONITH_CALLOPTS, op->call_options);
- 
-         if (device) {
-             timeout_one =
-                 TIMEOUT_MULTIPLY_FACTOR * get_device_timeout(peer, device, op->base_timeout);
-             crm_info("Requesting that %s perform op %s %s with %s for %s (%ds)", peer->host,
-                      op->action, op->target, device, op->client_name, timeout_one);
--            crm_xml_add(query, F_STONITH_DEVICE, device);
--            crm_xml_add(query, F_STONITH_MODE, "slave");
-+            crm_xml_add(remote_op, F_STONITH_DEVICE, device);
-+            crm_xml_add(remote_op, F_STONITH_MODE, "slave");
- 
-         } else {
-             timeout_one = TIMEOUT_MULTIPLY_FACTOR * get_peer_timeout(peer, op->base_timeout);
-             crm_info("Requesting that %s perform op %s %s for %s (%ds)",
-                      peer->host, op->action, op->target, op->client_name, timeout_one);
--            crm_xml_add(query, F_STONITH_MODE, "smart");
-+            crm_xml_add(remote_op, F_STONITH_MODE, "smart");
-         }
- 
-         op->state = st_exec;
-@@ -995,9 +1000,9 @@ call_remote_stonith(remote_fencing_op_t * op, st_query_result_t * peer)
-         }
-         op->op_timer_one = g_timeout_add((1000 * timeout_one), remote_op_timeout_one, op);
- 
--        send_cluster_message(crm_get_peer(0, peer->host), crm_msg_stonith_ng, query, FALSE);
-+        send_cluster_message(crm_get_peer(0, peer->host), crm_msg_stonith_ng, remote_op, FALSE);
-         peer->tried = TRUE;
--        free_xml(query);
-+        free_xml(remote_op);
-         return;
- 
-     } else if (op->owner == FALSE) {
-@@ -1131,24 +1136,20 @@ process_remote_stonith_query(xmlNode * msg)
- 
-     if (devices <= 0) {
-         /* If we're doing 'known' then we might need to fire anyway */
--        crm_trace("Query result from %s (%d devices)", host, devices);
-+        crm_trace("Query result %d of %d from %s for %s/%s (%d devices) %s",
-+                  op->replies, op->replies_expected, host,
-+                  op->target, op->action, devices, id);
-         if(op->state == st_query && (op->replies >= op->replies_expected || op->replies >= active)) {
--            crm_info("All queries have arrived, continuing (%d, %d, %d) ", op->replies_expected, active, op->replies);
-+            crm_info("All queries have arrived, continuing (%d, %d, %d, %s)",
-+                     op->replies_expected, active, op->replies, id);
-             call_remote_stonith(op, NULL);
-         }
-         return pcmk_ok;
--
--    } else if (host_is_target) {
--        if (op->call_options & st_opt_allow_suicide) {
--            crm_trace("Allowing %s to potentialy fence itself", op->target);
--        } else {
--            crm_info("Ignoring reply from %s, hosts are not permitted to commit suicide",
--                     op->target);
--            return pcmk_ok;
--        }
-     }
- 
--    crm_info("Query result %d of %d from %s (%d devices)", op->replies, op->replies_expected, host, devices);
-+    crm_info("Query result %d of %d from %s for %s/%s (%d devices) %s",
-+             op->replies, op->replies_expected, host,
-+             op->target, op->action, devices, id);
-     result = calloc(1, sizeof(st_query_result_t));
-     result->host = strdup(host);
-     result->devices = devices;
-@@ -1206,10 +1207,6 @@ process_remote_stonith_query(xmlNode * msg)
-             crm_trace("Found %d verified devices", g_hash_table_size(result->verified_devices));
-             call_remote_stonith(op, result);
- 
--        } else if (safe_str_eq(op->action, "on")) {
--            crm_trace("Unfencing %s", op->target);
--            call_remote_stonith(op, result);
--
-         } else if(op->replies >= op->replies_expected || op->replies >= active) {
-             crm_info("All queries have arrived, continuing (%d, %d, %d) ", op->replies_expected, active, op->replies);
-             call_remote_stonith(op, NULL);
diff --git a/SOURCES/bz1078078-pcmk-logging_daemons_always_get_a_log_file_unless_explicitly_set_to_configured_none.patch b/SOURCES/bz1078078-pcmk-logging_daemons_always_get_a_log_file_unless_explicitly_set_to_configured_none.patch
deleted file mode 100644
index 9e30fea..0000000
--- a/SOURCES/bz1078078-pcmk-logging_daemons_always_get_a_log_file_unless_explicitly_set_to_configured_none.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-commit 63547179498c939dc1c3450c85fac23b3c86742c
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Tue Apr 8 11:26:56 2014 +1000
-
-    Feature: logging: daemons always get a log file, unless explicitly set to configured 'none'
-    
-    (cherry picked from commit 8410680fbd7d5d1fea8e411fdf32f9c3ebe889cb)
-
-diff --git a/lib/common/logging.c b/lib/common/logging.c
-index 571cd03..ad6bcfd 100644
---- a/lib/common/logging.c
-+++ b/lib/common/logging.c
-@@ -696,7 +696,12 @@ crm_log_init(const char *entity, int level, gboolean daemon, gboolean to_stderr,
- 
-     crm_enable_stderr(to_stderr);
- 
--    if (logfile) {
-+    if (safe_str_eq("none", logfile)) {
-+        /* No soup^Hlogs for you! */
-+    } else if(crm_is_daemon) {
-+        /* The daemons always get a log file, unless explicitly set to configured 'none' */
-+        crm_add_logfile(logfile);
-+    } else if(logfile) {
-         crm_add_logfile(logfile);
-     }
- 
-@@ -718,13 +723,6 @@ crm_log_init(const char *entity, int level, gboolean daemon, gboolean to_stderr,
-         set_daemon_option("logfacility", facility);
-     }
- 
--    if (crm_is_daemon && crm_tracing_enabled()
--        && qb_log_ctl(QB_LOG_STDERR, QB_LOG_CONF_STATE_GET, 0) != QB_LOG_STATE_ENABLED
--        && qb_log_ctl(QB_LOG_BLACKBOX, QB_LOG_CONF_STATE_GET, 0) != QB_LOG_STATE_ENABLED) {
--        /* Make sure tracing goes somewhere */
--        crm_add_logfile(NULL);
--    }
--
-     crm_update_callsites();
- 
-     /* Ok, now we can start logging... */
diff --git a/SOURCES/bz1078078-pcmk-logging_simplify_processing_of_logging_directives.patch b/SOURCES/bz1078078-pcmk-logging_simplify_processing_of_logging_directives.patch
deleted file mode 100644
index 5a3de7a..0000000
--- a/SOURCES/bz1078078-pcmk-logging_simplify_processing_of_logging_directives.patch
+++ /dev/null
@@ -1,349 +0,0 @@
-commit 3cd57be790a6455b115d07c31bdb9a72767d7ee8
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Tue Apr 8 14:45:24 2014 +1000
-
-    Refactor: logging: Simplify processing of logging directives
-    
-    (cherry picked from commit b3b5a57bca646377f644ff91ff724062ec8ec460)
-    
-    Conflicts:
-    	mcp/corosync.c
-
-diff --git a/lib/ais/utils.c b/lib/ais/utils.c
-index 465e381..0a3f95e 100644
---- a/lib/ais/utils.c
-+++ b/lib/ais/utils.c
-@@ -237,7 +237,7 @@ spawn_child(crm_child_t * child)
- /* *INDENT-ON* */
- 
-         if (pcmk_env.logfile) {
--            setenv("HA_debugfile", pcmk_env.logfile, 1);
-+            setenv("HA_logfile", pcmk_env.logfile, 1);
-         }
- 
-         if (use_valgrind) {
-diff --git a/lib/common/logging.c b/lib/common/logging.c
-index ad6bcfd..167583e 100644
---- a/lib/common/logging.c
-+++ b/lib/common/logging.c
-@@ -234,6 +234,10 @@ crm_add_logfile(const char *filename)
- 
-     if (filename == NULL) {
-         return FALSE;           /* Nothing to do */
-+    } else if(safe_str_eq(filename, "none")) {
-+        return FALSE;           /* Nothing to do */
-+    } else if(safe_str_eq(filename, "/dev/null")) {
-+        return FALSE;           /* Nothing to do */
-     }
- 
-     /* Check the parent directory */
-@@ -317,6 +321,7 @@ crm_add_logfile(const char *filename)
-     /* Enable callsites */
-     crm_update_callsites();
-     have_logfile = TRUE;
-+
-     return TRUE;
- }
- 
-@@ -623,7 +628,8 @@ crm_log_init(const char *entity, int level, gboolean daemon, gboolean to_stderr,
-              int argc, char **argv, gboolean quiet)
- {
-     int lpc = 0;
--    const char *logfile = daemon_option("debugfile");
-+    int32_t qb_facility = 0;
-+    const char *logfile = daemon_option("logfile");
-     const char *facility = daemon_option("logfacility");
-     const char *f_copy = facility;
- 
-@@ -643,14 +649,7 @@ crm_log_init(const char *entity, int level, gboolean daemon, gboolean to_stderr,
-     /* and for good measure... - this enum is a bit field (!) */
-     g_log_set_always_fatal((GLogLevelFlags) 0); /*value out of range */
- 
--    if (facility == NULL) {
--        facility = "daemon";
--
--    } else if (safe_str_eq(facility, "none")) {
--        facility = "daemon";
--        quiet = TRUE;
--    }
--
-+    /* Who do we log as */
-     if (entity) {
-         free(crm_system_name);
-         crm_system_name = strdup(entity);
-@@ -673,29 +672,54 @@ crm_log_init(const char *entity, int level, gboolean daemon, gboolean to_stderr,
- 
-     setenv("PCMK_service", crm_system_name, 1);
- 
--    if (daemon_option_enabled(crm_system_name, "debug")) {
--        /* Override the default setting */
--        level = LOG_DEBUG;
-+    /* Should we log to syslog */
-+    if (facility == NULL) {
-+        if(crm_is_daemon) {
-+            facility = "daemon";
-+        } else {
-+            facility = "none";
-+        }
-+        set_daemon_option("logfacility", facility);
-     }
- 
--    if (daemon_option_enabled(crm_system_name, "stderr")) {
-+    if (safe_str_eq(facility, "none")) {
-+        quiet = TRUE;
-+        qb_facility = qb_log_facility2int("daemon");
-+
-+    } else {
-+        qb_facility = qb_log_facility2int(facility);
-+    }
-+
-+    if (daemon_option_enabled(crm_system_name, "debug")) {
-         /* Override the default setting */
--        to_stderr = TRUE;
-+        level = LOG_DEBUG;
-     }
- 
-+    /* What lower threshold do we have for sending to syslog */
-     crm_log_priority = crm_priority2int(daemon_option("logpriority"));
- 
-     crm_log_level = level;
--    qb_log_init(crm_system_name, qb_log_facility2int(facility), level);
--    qb_log_tags_stringify_fn_set(crm_quark_to_string);
-+    qb_log_init(crm_system_name, qb_facility, crm_log_level);
- 
--    /* Set default format strings */
-+    if (quiet) {
-+        /* Nuke any syslog activity */
-+        qb_log_ctl(QB_LOG_SYSLOG, QB_LOG_CONF_ENABLED, QB_FALSE);
-+    }
-+
-+    /* Set format strings */
-+    qb_log_tags_stringify_fn_set(crm_quark_to_string);
-     for (lpc = QB_LOG_SYSLOG; lpc < QB_LOG_TARGET_MAX; lpc++) {
-         set_format_string(lpc, crm_system_name);
-     }
- 
-+    /* Should we log to stderr */ 
-+    if (daemon_option_enabled(crm_system_name, "stderr")) {
-+        /* Override the default setting */
-+        to_stderr = TRUE;
-+    }
-     crm_enable_stderr(to_stderr);
- 
-+    /* Should we log to a file */
-     if (safe_str_eq("none", logfile)) {
-         /* No soup^Hlogs for you! */
-     } else if(crm_is_daemon) {
-@@ -709,20 +733,11 @@ crm_log_init(const char *entity, int level, gboolean daemon, gboolean to_stderr,
-         crm_enable_blackbox(0);
-     }
- 
-+    /* Summary */
-     crm_trace("Quiet: %d, facility %s", quiet, f_copy);
--    daemon_option("debugfile");
-+    daemon_option("logfile");
-     daemon_option("logfacility");
- 
--    if (quiet) {
--        /* Nuke any syslog activity */
--        facility = NULL;
--        qb_log_ctl(QB_LOG_SYSLOG, QB_LOG_CONF_ENABLED, QB_FALSE);
--    }
--
--    if (crm_is_daemon) {
--        set_daemon_option("logfacility", facility);
--    }
--
-     crm_update_callsites();
- 
-     /* Ok, now we can start logging... */
-diff --git a/mcp/corosync.c b/mcp/corosync.c
-index a97c8d8..24f5c22 100644
---- a/mcp/corosync.c
-+++ b/mcp/corosync.c
-@@ -266,16 +266,9 @@ mcp_read_config(void)
- {
-     int rc = CS_OK;
-     int retries = 0;
--    gboolean have_log = FALSE;
- 
-     const char *const_value = NULL;
- 
--    char *logging_debug = NULL;
--    char *logging_logfile = NULL;
--    char *logging_to_logfile = NULL;
--    char *logging_to_syslog = NULL;
--    char *logging_syslog_facility = NULL;
--
- #if HAVE_CONFDB
-     char *value = NULL;
-     confdb_handle_t config = 0;
-@@ -379,35 +372,83 @@ mcp_read_config(void)
- #endif
- 
-     /* =::=::= Logging =::=::= */
--    get_config_opt(config, local_handle, KEY_PREFIX "debug", &logging_debug, "off");
-+    if (daemon_option("debug")) {
-+        /* Syslog logging is already setup by crm_log_init() */
-+
-+    } else {
-+        /* Check corosync */
-+        char *debug_enabled = NULL;
-+
-+        get_config_opt(config, local_handle, KEY_PREFIX "debug", &debug_enabled, "off");
-+
-+        if (crm_is_true(debug_enabled)) {
-+            set_daemon_option("debug", "1");
-+            if (get_crm_log_level() < LOG_DEBUG) {
-+                set_crm_log_level(LOG_DEBUG);
-+            }
-+
-+        } else {
-+            set_daemon_option("debug", "0");
-+        }
-+
-+        free(debug_enabled);
-+    }
- 
-     const_value = daemon_option("debugfile");
--    if (const_value) {
--        logging_to_logfile = strdup("on");
--        logging_logfile = strdup(const_value);
--        crm_trace("Using debugfile setting from the environment: %s", logging_logfile);
-+    if (daemon_option("logfile")) {
-+        /* File logging is already setup by crm_log_init() */
-+
-+    } else if(const_value) {
-+        /* From when we cared what options heartbeat used */
-+        set_daemon_option("logfile", const_value);
-+        crm_add_logfile(const_value);
- 
-     } else {
--        get_config_opt(config, local_handle, KEY_PREFIX "to_logfile", &logging_to_logfile, "off");
--        get_config_opt(config, local_handle, KEY_PREFIX "logfile", &logging_logfile,
--                       "/var/log/pacemaker");
--    }
-+        /* Check corosync */
-+        char *logfile = NULL;
-+        char *logfile_enabled = NULL;
-+
-+        get_config_opt(config, local_handle, KEY_PREFIX "to_logfile", &logfile_enabled, "on");
-+        get_config_opt(config, local_handle, KEY_PREFIX "logfile", &logfile, "/var/log/pacemaker.log");
-+
-+        if (crm_is_true(logfile_enabled) == FALSE) {
-+            crm_trace("File logging disabled in corosync");
- 
--    const_value = daemon_option("logfacility");
--    if (const_value) {
--        logging_syslog_facility = strdup(const_value);
--        crm_trace("Using logfacility setting from the environment: %s", logging_syslog_facility);
-+        } else if (crm_add_logfile(logfile)) {
-+            set_daemon_option("logfile", logfile);
- 
--        if (safe_str_eq(logging_syslog_facility, "none")) {
--            logging_to_syslog = strdup("off");
-         } else {
--            logging_to_syslog = strdup("on");
-+            crm_err("Couldn't create logfile: %s", logfile);
-+            set_daemon_option("logfile", "none");
-         }
- 
-+        free(logfile);
-+        free(logfile_enabled);
-+    }
-+
-+    if (daemon_option("logfacility")) {
-+        /* Syslog logging is already setup by crm_log_init() */
-+
-     } else {
--        get_config_opt(config, local_handle, KEY_PREFIX "to_syslog", &logging_to_syslog, "on");
--        get_config_opt(config, local_handle, KEY_PREFIX "syslog_facility", &logging_syslog_facility,
--                       "daemon");
-+        /* Check corosync */
-+        char *syslog_enabled = NULL;
-+        char *syslog_facility = NULL;
-+
-+        get_config_opt(config, local_handle, KEY_PREFIX "to_syslog", &syslog_enabled, "on");
-+        get_config_opt(config, local_handle, KEY_PREFIX "syslog_facility", &syslog_facility, "daemon");
-+
-+        if (crm_is_true(syslog_enabled) == FALSE) {
-+            qb_log_ctl(QB_LOG_SYSLOG, QB_LOG_CONF_ENABLED, QB_FALSE);
-+            set_daemon_option("logfacility", "none");
-+
-+        } else {
-+            qb_log_ctl(QB_LOG_SYSLOG, QB_LOG_CONF_FACILITY, qb_log_facility2int(syslog_facility));
-+            qb_log_ctl(QB_LOG_SYSLOG, QB_LOG_CONF_ENABLED, QB_TRUE);
-+            set_daemon_option("logfacility", syslog_facility);
-+        }
-+
-+        free(syslog_enabled);
-+        free(syslog_facility);
-     }
- 
- #if HAVE_CONFDB
-@@ -429,52 +470,5 @@ mcp_read_config(void)
-     cmap_finalize(local_handle);
- #endif
- 
--    if (daemon_option("debug")) {
--        crm_trace("Using debug setting from the environment: %s", daemon_option("debug"));
--        if (get_crm_log_level() < LOG_DEBUG && daemon_option_enabled("pacemakerd", "debug")) {
--            set_crm_log_level(LOG_DEBUG);
--        }
--
--    } else if (crm_is_true(logging_debug)) {
--        set_daemon_option("debug", "1");
--        if (get_crm_log_level() < LOG_DEBUG) {
--            set_crm_log_level(LOG_DEBUG);
--        }
--
--    } else {
--        set_daemon_option("debug", "0");
--    }
--
--    if (crm_is_true(logging_to_logfile)) {
--        if (crm_add_logfile(logging_logfile)) {
--            /* What a cluster fsck, eventually we need to mandate /one/ */
--            set_daemon_option("debugfile", logging_logfile);
--            set_daemon_option("DEBUGLOG", logging_logfile);
--            have_log = TRUE;
--
--        } else {
--            crm_err("Couldn't create logfile: %s", logging_logfile);
--        }
--    }
--
--    if (have_log && crm_is_true(logging_to_syslog) == FALSE) {
--        qb_log_ctl(QB_LOG_SYSLOG, QB_LOG_CONF_ENABLED, QB_FALSE);
--        free(logging_syslog_facility);
--        logging_syslog_facility = strdup("none");
--        crm_info("User configured file based logging and explicitly disabled syslog.");
--
--    } else if (crm_is_true(logging_to_syslog) == FALSE) {
--        crm_err("Please enable some sort of logging, either 'to_logfile: on' or 'to_syslog: on'.");
--        crm_err("If you use file logging, be sure to also define a value for 'logfile'");
--    }
--
--    set_daemon_option("logfacility", logging_syslog_facility);
--    setenv("HA_LOGFACILITY", logging_syslog_facility, 1);
--
--    free(logging_debug);
--    free(logging_logfile);
--    free(logging_to_logfile);
--    free(logging_to_syslog);
--    free(logging_syslog_facility);
-     return TRUE;
- }
-diff --git a/mcp/pacemaker.sysconfig b/mcp/pacemaker.sysconfig
-index 7f12111..50b4814 100644
---- a/mcp/pacemaker.sysconfig
-+++ b/mcp/pacemaker.sysconfig
-@@ -14,7 +14,7 @@
- # Send INFO (and higher) messages to the named log file
- # Additional messages may also appear here depending on any configured debug and trace settings
- # By default Pacemaker will inherit the logfile specified in corosync.conf
--# PCMK_debugfile=/var/log/pacemaker.log
-+# PCMK_logfile=/var/log/pacemaker.log
- 
- # Specify an alternate syslog target for NOTICE (and higher) messages
- # Use 'none' to disable - not recommended
diff --git a/SOURCES/bz1078078-pcmk-lrmd_expose_logging_variables_expected_by_ocf_agents.patch b/SOURCES/bz1078078-pcmk-lrmd_expose_logging_variables_expected_by_ocf_agents.patch
deleted file mode 100644
index 31ff71b..0000000
--- a/SOURCES/bz1078078-pcmk-lrmd_expose_logging_variables_expected_by_ocf_agents.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-commit 20d6b6e542b9814b081355ed19874f75445b0901
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Tue Apr 8 15:44:00 2014 +1000
-
-    Fix: lrmd: Expose logging variables expected by OCF agents
-    
-    (cherry picked from commit fa8bd56b776b97c3c845986d084c01b4aaf4063c)
-
-diff --git a/lrmd/main.c b/lrmd/main.c
-index 38c5466..8e00f11 100644
---- a/lrmd/main.c
-+++ b/lrmd/main.c
-@@ -246,6 +246,7 @@ main(int argc, char **argv)
-     int rc = 0;
-     int flag = 0;
-     int index = 0;
-+    const char *option = NULL;
- 
- #ifdef ENABLE_PCMK_REMOTE
-     crm_log_init("pacemaker_remoted", LOG_INFO, TRUE, FALSE, argc, argv, FALSE);
-@@ -282,6 +283,20 @@ main(int argc, char **argv)
-         }
-     }
- 
-+    option = daemon_option("logfacility");
-+    if(safe_str_neq(option, "none")) {
-+        setenv("HA_LOGFACILITY", option, 1);  /* Used by the ocf_log/ha_log OCF macro */
-+    }
-+
-+    option = daemon_option("logfile");
-+    if(safe_str_neq(option, "none")) {
-+        setenv("HA_LOGFILE", option, 1);      /* Used by the ocf_log/ha_log OCF macro */
-+
-+        if (daemon_option_enabled(crm_system_name, "debug")) {
-+            setenv("HA_DEBUGLOG", option, 1); /* Used by the ocf_log/ha_debug OCF macro */
-+        }
-+    }
-+
-     /* Used by RAs - Leave owned by root */
-     crm_build_path(CRM_RSCTMP_DIR, 0755);
- 
diff --git a/SOURCES/bz1078078-pcmk-lrmd_provide_stderr_output_from_agents_if_available_otherwise_fall_back_to_stdout.patch b/SOURCES/bz1078078-pcmk-lrmd_provide_stderr_output_from_agents_if_available_otherwise_fall_back_to_stdout.patch
deleted file mode 100644
index 9ad7774..0000000
--- a/SOURCES/bz1078078-pcmk-lrmd_provide_stderr_output_from_agents_if_available_otherwise_fall_back_to_stdout.patch
+++ /dev/null
@@ -1,151 +0,0 @@
-commit 2c6e6e1ad3ecbb186f9a43f89280d0d4391277e5
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Tue Apr 8 12:13:44 2014 +1000
-
-    Fix: lrmd: Provide stderr output from agents if available, otherwise fall back to stdout
-    
-    (cherry picked from commit d9cc751625ff3adfa158a2f769ab9038f6e317fd)
-
-diff --git a/lib/services/services_linux.c b/lib/services/services_linux.c
-index ac0138f..534e362 100644
---- a/lib/services/services_linux.c
-+++ b/lib/services/services_linux.c
-@@ -57,34 +57,37 @@ set_fd_opts(int fd, int opts)
- }
- 
- static gboolean
--read_output(int fd, svc_action_t * op)
-+svc_read_output(int fd, svc_action_t * op, bool is_stderr)
- {
-     char *data = NULL;
-     int rc = 0, len = 0;
--    gboolean is_err = FALSE;
-     char buf[500];
-     static const size_t buf_read_len = sizeof(buf) - 1;
- 
--    crm_trace("%p", op);
- 
-     if (fd < 0) {
-+        crm_trace("No fd for %s", op->id);
-         return FALSE;
-     }
- 
--    if (fd == op->opaque->stderr_fd) {
--        is_err = TRUE;
--        if (op->stderr_data) {
--            len = strlen(op->stderr_data);
--            data = op->stderr_data;
--        }
--    } else if (op->stdout_data) {
-+    if (is_stderr && op->stderr_data) {
-+        len = strlen(op->stderr_data);
-+        data = op->stderr_data;
-+        crm_trace("Reading %s stderr into offset %d", op->id, len);
-+
-+    } else if (is_stderr == FALSE && op->stdout_data) {
-         len = strlen(op->stdout_data);
-         data = op->stdout_data;
-+        crm_trace("Reading %s stdout into offset %d", op->id, len);
-+
-+    } else {
-+        crm_trace("Reading %s %s", op->id, is_stderr?"stderr":"stdout", len);
-     }
- 
-     do {
-         rc = read(fd, buf, buf_read_len);
-         if (rc > 0) {
-+            crm_trace("Got %d characters starting with %.20s", rc, buf);
-             buf[rc] = 0;
-             data = realloc(data, len + rc + 1);
-             sprintf(data + len, "%s", buf);
-@@ -99,7 +102,7 @@ read_output(int fd, svc_action_t * op)
- 
-     } while (rc == buf_read_len || rc < 0);
- 
--    if (data != NULL && is_err) {
-+    if (data != NULL && is_stderr) {
-         op->stderr_data = data;
-     } else if (data != NULL) {
-         op->stdout_data = data;
-@@ -113,7 +116,7 @@ dispatch_stdout(gpointer userdata)
- {
-     svc_action_t *op = (svc_action_t *) userdata;
- 
--    return read_output(op->opaque->stdout_fd, op);
-+    return svc_read_output(op->opaque->stdout_fd, op, FALSE);
- }
- 
- static int
-@@ -121,7 +124,7 @@ dispatch_stderr(gpointer userdata)
- {
-     svc_action_t *op = (svc_action_t *) userdata;
- 
--    return read_output(op->opaque->stderr_fd, op);
-+    return svc_read_output(op->opaque->stderr_fd, op, TRUE);
- }
- 
- static void
-@@ -264,18 +267,23 @@ operation_finished(mainloop_child_t * p, pid_t pid, int core, int signo, int exi
-     op->status = PCMK_LRM_OP_DONE;
-     CRM_ASSERT(op->pid == pid);
- 
-+    crm_trace("%s %p %p", prefix, op->opaque->stderr_gsource, op->opaque->stdout_gsource);
-     if (op->opaque->stderr_gsource) {
-         /* Make sure we have read everything from the buffer.
-          * Depending on the priority mainloop gives the fd, operation_finished
-          * could occur before all the reads are done.  Force the read now.*/
-+        crm_trace("%s dispatching stderr", prefix);
-         dispatch_stderr(op);
-+        crm_trace("%s: %p", op->stderr_data);
-     }
- 
-     if (op->opaque->stdout_gsource) {
-         /* Make sure we have read everything from the buffer.
-          * Depending on the priority mainloop gives the fd, operation_finished
-          * could occur before all the reads are done.  Force the read now.*/
-+        crm_trace("%s dispatching stdout", prefix);
-         dispatch_stdout(op);
-+        crm_trace("%s: %p", op->stdout_data);
-     }
- 
-     if (signo) {
-@@ -495,11 +503,11 @@ services_os_action_execute(svc_action_t * op, gboolean synchronous)
- 
-             if (poll_rc > 0) {
-                 if (fds[0].revents & POLLIN) {
--                    read_output(op->opaque->stdout_fd, op);
-+                    svc_read_output(op->opaque->stdout_fd, op, FALSE);
-                 }
- 
-                 if (fds[1].revents & POLLIN) {
--                    read_output(op->opaque->stderr_fd, op);
-+                    svc_read_output(op->opaque->stderr_fd, op, TRUE);
-                 }
- 
-                 if (fds[2].revents & POLLIN) {
-@@ -578,8 +586,8 @@ services_os_action_execute(svc_action_t * op, gboolean synchronous)
-         }
- #endif
- 
--        read_output(op->opaque->stdout_fd, op);
--        read_output(op->opaque->stderr_fd, op);
-+        svc_read_output(op->opaque->stdout_fd, op, FALSE);
-+        svc_read_output(op->opaque->stderr_fd, op, TRUE);
- 
-         close(op->opaque->stdout_fd);
-         close(op->opaque->stderr_fd);
-diff --git a/lrmd/lrmd.c b/lrmd/lrmd.c
-index 65421d0..517e98f 100644
---- a/lrmd/lrmd.c
-+++ b/lrmd/lrmd.c
-@@ -599,7 +599,9 @@ action_complete(svc_action_t * action)
-     cmd->lrmd_op_status = action->status;
-     rsc = cmd->rsc_id ? g_hash_table_lookup(rsc_list, cmd->rsc_id) : NULL;
- 
--    if (action->stdout_data) {
-+    if (action->stderr_data) {
-+        cmd->output = strdup(action->stderr_data);
-+    } else if (action->stdout_data) {
-         cmd->output = strdup(action->stdout_data);
-     }
- #if SUPPORT_NAGIOS
diff --git a/SOURCES/bz1078078-pcmk-pe_automatically_re_unfence_a_node_if_the_fencing_device_definition_changes.patch b/SOURCES/bz1078078-pcmk-pe_automatically_re_unfence_a_node_if_the_fencing_device_definition_changes.patch
deleted file mode 100644
index aa43324..0000000
--- a/SOURCES/bz1078078-pcmk-pe_automatically_re_unfence_a_node_if_the_fencing_device_definition_changes.patch
+++ /dev/null
@@ -1,577 +0,0 @@
-commit 5efd173dac6b22eee48f1f9372b2e86cb6d27282
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Thu Apr 3 16:02:23 2014 +1100
-
-    Feature: PE: Automatically re-unfence a node if the fencing device definition changes
-    
-    Ensures all resources that require unfencing are stopped first
-    If unfencing is enabled, this is the new default for resource.requires
-    
-    (cherry picked from commit 26fe2e39b9e060597cddeeb69d8b846784dfac55)
-    
-    Conflicts:
-    	include/crm/pengine/internal.h
-    	include/crm/pengine/status.h
-    	lib/pengine/complex.c
-
-diff --git a/fencing/main.c b/fencing/main.c
-index c40610e..e002125 100644
---- a/fencing/main.c
-+++ b/fencing/main.c
-@@ -573,7 +573,6 @@ fencing_topology_init(xmlNode * msg)
- }
- 
- #define rsc_name(x) x->clone_name?x->clone_name:x->id
--static bool have_fence_scsi = FALSE;
- 
- static void cib_device_update(resource_t *rsc, pe_working_set_t *data_set)
- {
-@@ -662,34 +661,6 @@ static void cib_device_update(resource_t *rsc, pe_working_set_t *data_set)
-         data = create_device_registration_xml(rsc_name(rsc), provider, agent, params);
-         stonith_device_register(data, NULL, TRUE);
- 
--        /* If required, unfence ourselves on cluster startup
--         *
--         * Make this generic/smarter if/when more than a single agent needs this
--         */
--        if(have_fence_scsi == FALSE && safe_str_eq(agent, "fence_scsi")) {
--            stonith_device_t *device = g_hash_table_lookup(device_list, rsc->id);
--
--            if(stonith_our_uname == NULL) {
--                crm_trace("Cannot unfence ourselves: no local host name");
--
--            } else if(device == NULL) {
--                crm_err("Cannot unfence ourselves: no such device '%s'", rsc->id);
--
--            } else {
--                const char *alias = g_hash_table_lookup(device->aliases, stonith_our_uname);
--
--                if (!alias) {
--                    alias = stonith_our_uname;
--                }
--
--                if (device->targets && string_in_list(device->targets, alias)) {
--                    have_fence_scsi = TRUE;
--                    crm_notice("Unfencing ourselves with %s (%s)", agent, device->id);
--                    schedule_internal_command(__FUNCTION__, device, "on", stonith_our_uname, 0, NULL, unfence_cb);
--                }
--            }
--        }
--
-         stonith_key_value_freeall(params, 1, 1);
-         free_xml(data);
-     }
-diff --git a/include/crm/msg_xml.h b/include/crm/msg_xml.h
-index 8575163..055f476 100644
---- a/include/crm/msg_xml.h
-+++ b/include/crm/msg_xml.h
-@@ -200,6 +200,7 @@
- #  define XML_RSC_ATTR_MULTIPLE		"multiple-active"
- #  define XML_RSC_ATTR_PRIORITY		"priority"
- #  define XML_RSC_ATTR_REQUIRES		"requires"
-+#  define XML_RSC_ATTR_PROVIDES		"provides"
- #  define XML_RSC_ATTR_CONTAINER	"container"
- #  define XML_RSC_ATTR_INTERNAL_RSC	"internal_rsc"
- #  define XML_OP_ATTR_ON_FAIL		"on-fail"
-diff --git a/include/crm/pengine/internal.h b/include/crm/pengine/internal.h
-index dd52e7f..657c647 100644
---- a/include/crm/pengine/internal.h
-+++ b/include/crm/pengine/internal.h
-@@ -261,6 +261,7 @@ op_digest_cache_t *rsc_action_digest_cmp(resource_t * rsc, xmlNode * xml_op, nod
-                                          pe_working_set_t * data_set);
- 
- gboolean is_remote_node(xmlNode *xml);
-+void clear_bit_recursive(resource_t * rsc, unsigned long long flag);
- 
- resource_t * rsc_contains_remote_node(pe_working_set_t * data_set, resource_t *rsc);
- #endif
-diff --git a/include/crm/pengine/status.h b/include/crm/pengine/status.h
-index b74bf83..ddf9dd7 100644
---- a/include/crm/pengine/status.h
-+++ b/include/crm/pengine/status.h
-@@ -60,6 +60,7 @@ enum pe_find {
- 
- #  define pe_flag_stonith_enabled	0x00000010ULL
- #  define pe_flag_have_stonith_resource	0x00000020ULL
-+#  define pe_flag_enable_unfencing	0x00000040ULL
- 
- #  define pe_flag_stop_rsc_orphans	0x00000100ULL
- #  define pe_flag_stop_action_orphans	0x00000200ULL
-@@ -165,6 +166,7 @@ struct node_s {
- 
- #  define pe_rsc_notify		0x00000010ULL
- #  define pe_rsc_unique		0x00000020ULL
-+#  define pe_rsc_fence_device   0x00000040ULL
- 
- #  define pe_rsc_provisional	0x00000100ULL
- #  define pe_rsc_allocating	0x00000200ULL
-@@ -329,6 +331,12 @@ enum pe_ordering {
- 
-     pe_order_runnable_left         = 0x100,     /* 'then' requires 'first' to be runnable */
- 
-+    pe_order_pseudo_left           = 0x200,     /* 'then' can only be pseudo if 'first' is runnable */
-+    pe_order_implies_then_on_node  = 0x400,     /* If 'first' is required on 'nodeX',
-+                                                 * ensure instances of 'then' on 'nodeX' are too.
-+                                                 * Only really useful if 'then' is a clone and 'first' is not
-+                                                 */
-+
-     pe_order_restart               = 0x1000,    /* 'then' is runnable if 'first' is optional or runnable */
-     pe_order_stonith_stop          = 0x2000,    /* only applies if the action is non-pseudo */
-     pe_order_serialize_only        = 0x4000,    /* serialize */
-diff --git a/lib/pengine/clone.c b/lib/pengine/clone.c
-index c6c69e6..b13cceb 100644
---- a/lib/pengine/clone.c
-+++ b/lib/pengine/clone.c
-@@ -46,7 +46,7 @@ mark_as_orphan(resource_t * rsc)
-     }
- }
- 
--static void
-+void
- clear_bit_recursive(resource_t * rsc, unsigned long long flag)
- {
-     GListPtr gIter = rsc->children;
-diff --git a/lib/pengine/complex.c b/lib/pengine/complex.c
-index 8a6049d..8b774c0 100644
---- a/lib/pengine/complex.c
-+++ b/lib/pengine/complex.c
-@@ -340,12 +340,13 @@ gboolean
- common_unpack(xmlNode * xml_obj, resource_t ** rsc,
-               resource_t * parent, pe_working_set_t * data_set)
- {
-+    bool isdefault = FALSE;
-     xmlNode *expanded_xml = NULL;
-     xmlNode *ops = NULL;
-     resource_t *top = NULL;
-     const char *value = NULL;
-+    const char *rclass = NULL; /* Look for this after any templates have been expanded */
-     const char *id = crm_element_value(xml_obj, XML_ATTR_ID);
--    const char *class = crm_element_value(xml_obj, XML_AGENT_ATTR_CLASS);
- 
-     crm_log_xml_trace(xml_obj, "Processing resource input...");
- 
-@@ -375,6 +376,8 @@ common_unpack(xmlNode * xml_obj, resource_t ** rsc,
-         (*rsc)->orig_xml = NULL;
-     }
- 
-+    /* Do not use xml_obj from here on, use (*rsc)->xml in case templates are involved */
-+    rclass = crm_element_value((*rsc)->xml, XML_AGENT_ATTR_CLASS);
-     (*rsc)->parent = parent;
- 
-     ops = find_xml_node((*rsc)->xml, "operations", FALSE);
-@@ -538,47 +541,67 @@ common_unpack(xmlNode * xml_obj, resource_t ** rsc,
-         }
-     }
- 
-+    if (safe_str_eq(rclass, "stonith")) {
-+        set_bit(data_set->flags, pe_flag_have_stonith_resource);
-+        set_bit((*rsc)->flags, pe_rsc_fence_device);
-+    }
-+
-     value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_REQUIRES);
-+
-+  handle_requires_pref:
-     if (safe_str_eq(value, "nothing")) {
- 
-     } else if (safe_str_eq(value, "quorum")) {
-         set_bit((*rsc)->flags, pe_rsc_needs_quorum);
- 
-     } else if (safe_str_eq(value, "unfencing")) {
--        set_bit((*rsc)->flags, pe_rsc_needs_fencing);
--        set_bit((*rsc)->flags, pe_rsc_needs_unfencing);
--        if (is_set(data_set->flags, pe_flag_stonith_enabled)) {
--            crm_notice("%s requires (un)fencing but fencing is disabled", (*rsc)->id);
-+        if (is_set((*rsc)->flags, pe_rsc_fence_device)) {
-+            crm_config_warn("%s is a fencing device but requires (un)fencing", (*rsc)->id);
-+            value = "quorum";
-+            isdefault = TRUE;
-+            goto handle_requires_pref;
-+
-+        } else if (is_not_set(data_set->flags, pe_flag_stonith_enabled)) {
-+            crm_config_warn("%s requires (un)fencing but fencing is disabled", (*rsc)->id);
-+            value = "quorum";
-+            isdefault = TRUE;
-+            goto handle_requires_pref;
-+
-+        } else {
-+            set_bit((*rsc)->flags, pe_rsc_needs_fencing);
-+            set_bit((*rsc)->flags, pe_rsc_needs_unfencing);
-         }
- 
-     } else if (safe_str_eq(value, "fencing")) {
-         set_bit((*rsc)->flags, pe_rsc_needs_fencing);
-         if (is_set(data_set->flags, pe_flag_stonith_enabled)) {
--            crm_notice("%s requires fencing but fencing is disabled", (*rsc)->id);
-+            crm_config_warn("%s requires (un)fencing but fencing is disabled", (*rsc)->id);
-         }
- 
-     } else {
-         if (value) {
-             crm_config_err("Invalid value for %s->requires: %s%s",
-                            (*rsc)->id, value,
--                           is_set(data_set->flags,
--                                  pe_flag_stonith_enabled) ? "" : " (stonith-enabled=false)");
-+                           is_set(data_set->flags, pe_flag_stonith_enabled) ? "" : " (stonith-enabled=false)");
-         }
- 
--        if (is_set(data_set->flags, pe_flag_stonith_enabled)) {
--            set_bit((*rsc)->flags, pe_rsc_needs_fencing);
--            value = "fencing (default)";
-+        isdefault = TRUE;
-+        if (is_set(data_set->flags, pe_flag_enable_unfencing)) {
-+            value = "unfencing";
-+
-+        } else if (is_set(data_set->flags, pe_flag_stonith_enabled)) {
-+            value = "fencing";
- 
-         } else if (data_set->no_quorum_policy == no_quorum_ignore) {
--            value = "nothing (default)";
-+            value = "nothing";
- 
-         } else {
--            set_bit((*rsc)->flags, pe_rsc_needs_quorum);
--            value = "quorum (default)";
-+            value = "quorum";
-         }
-+        goto handle_requires_pref;
-     }
- 
--    pe_rsc_trace((*rsc), "\tRequired to start: %s", value);
-+    pe_rsc_trace((*rsc), "\tRequired to start: %s%s", value, isdefault?" (default)":"");
- 
-     value = g_hash_table_lookup((*rsc)->meta, XML_RSC_ATTR_FAIL_TIMEOUT);
-     if (value != NULL) {
-@@ -606,10 +629,6 @@ common_unpack(xmlNode * xml_obj, resource_t ** rsc,
-     pe_rsc_trace((*rsc), "\tAction notification: %s",
-                  is_set((*rsc)->flags, pe_rsc_notify) ? "required" : "not required");
- 
--    if (safe_str_eq(class, "stonith")) {
--        set_bit(data_set->flags, pe_flag_have_stonith_resource);
--    }
--
-     (*rsc)->utilization =
-         g_hash_table_new_full(crm_str_hash, g_str_equal, g_hash_destroy_str, g_hash_destroy_str);
- 
-diff --git a/lib/pengine/unpack.c b/lib/pengine/unpack.c
-index 56ed291..39ded96 100644
---- a/lib/pengine/unpack.c
-+++ b/lib/pengine/unpack.c
-@@ -77,6 +77,35 @@ unpack_config(xmlNode * config, pe_working_set_t * data_set)
-     GHashTable *config_hash =
-         g_hash_table_new_full(crm_str_hash, g_str_equal, g_hash_destroy_str, g_hash_destroy_str);
- 
-+    xmlXPathObjectPtr xpathObj = NULL;
-+
-+    if(is_not_set(data_set->flags, pe_flag_enable_unfencing)) {
-+        xpathObj = xpath_search(data_set->input, "//nvpair[@name='provides' and @value='unfencing']");
-+        if(xpathObj && numXpathResults(xpathObj) > 0) {
-+            set_bit(data_set->flags, pe_flag_enable_unfencing);
-+        }
-+        freeXpathObject(xpathObj);
-+    }
-+
-+    if(is_not_set(data_set->flags, pe_flag_enable_unfencing)) {
-+        xpathObj = xpath_search(data_set->input, "//nvpair[@name='requires' and @value='unfencing']");
-+        if(xpathObj && numXpathResults(xpathObj) > 0) {
-+            set_bit(data_set->flags, pe_flag_enable_unfencing);
-+        }
-+        freeXpathObject(xpathObj);
-+    }
-+
-+
-+#ifdef REDHAT_COMPAT_6
-+    if(is_not_set(data_set->flags, pe_flag_enable_unfencing)) {
-+        xpathObj = xpath_search(data_set->input, "//primitive[@type='fence_scsi']");
-+        if(xpathObj && numXpathResults(xpathObj) > 0) {
-+            set_bit(data_set->flags, pe_flag_enable_unfencing);
-+        }
-+        freeXpathObject(xpathObj);
-+    }
-+#endif
-+
-     data_set->config_hash = config_hash;
- 
-     unpack_instance_attributes(data_set->input, config, XML_CIB_TAG_PROPSET, NULL, config_hash,
-diff --git a/pengine/allocate.c b/pengine/allocate.c
-index b9ce069..88258f4 100644
---- a/pengine/allocate.c
-+++ b/pengine/allocate.c
-@@ -123,6 +123,7 @@ check_rsc_parameters(resource_t * rsc, node_t * node, xmlNode * rsc_entry,
-         }
- 
-         changed = TRUE;
-+        trigger_unfencing(rsc, node, "Device definition changed", NULL, data_set);
-         if (active_here) {
-             force_restart = TRUE;
-             crm_notice("Forcing restart of %s on %s, %s changed: %s -> %s",
-@@ -169,6 +170,7 @@ CancelXmlOp(resource_t * rsc, xmlNode * xml_op, node_t * active_node,
-     crm_info("Action %s on %s will be stopped: %s",
-              key, active_node->details->uname, reason ? reason : "unknown");
- 
-+    /* TODO: This looks highly dangerous if we ever try to schedule 'key' too */
-     cancel = custom_action(rsc, strdup(key), RSC_CANCEL, active_node, FALSE, TRUE, data_set);
- 
-     free(cancel->task);
-@@ -227,6 +229,7 @@ check_action_definition(resource_t * rsc, node_t * active_node, xmlNode * xml_op
-         key = NULL;
-     }
- 
-+    crm_trace("Testing %s_%s_%d on %s", rsc->id, task, interval, active_node?active_node->details->uname:"N/A");
-     if (interval == 0 && safe_str_eq(task, RSC_STATUS)) {
-         /* Reload based on the start action not a probe */
-         task = RSC_START;
-@@ -252,6 +255,7 @@ check_action_definition(resource_t * rsc, node_t * active_node, xmlNode * xml_op
-                  op_version, crm_element_value(xml_op, XML_ATTR_TRANSITION_MAGIC));
- 
-         custom_action(rsc, key, task, NULL, FALSE, TRUE, data_set);
-+        trigger_unfencing(rsc, NULL, "Device parameters changed", NULL, data_set);
- 
-     } else if ((digest_data->rc == RSC_DIGEST_ALL) || (digest_data->rc == RSC_DIGEST_UNKNOWN)) {
-         /* Changes that can potentially be handled by a reload */
-@@ -259,6 +263,7 @@ check_action_definition(resource_t * rsc, node_t * active_node, xmlNode * xml_op
-         const char *digest_all = crm_element_value(xml_op, XML_LRM_ATTR_OP_DIGEST);
- 
-         did_change = TRUE;
-+        trigger_unfencing(rsc, NULL, "Device parameters changed (reload)", NULL, data_set);
-         crm_log_xml_info(digest_data->params_all, "params:reload");
-         key = generate_op_key(rsc->id, task, interval);
-         pe_rsc_info(rsc, "Parameters to %s on %s changed: was %s vs. now %s (reload:%s) %s",
-@@ -1262,8 +1267,40 @@ any_managed_resources(pe_working_set_t * data_set)
-     return FALSE;
- }
- 
-+void
-+trigger_unfencing(
-+    resource_t * rsc, node_t *node, const char *reason, action_t *dependancy, pe_working_set_t * data_set) 
-+{
-+    if(is_not_set(data_set->flags, pe_flag_enable_unfencing)) {
-+        /* No resources require it */
-+        return;
-+
-+    } else if (rsc != NULL && is_not_set(rsc->flags, pe_rsc_fence_device)) {
-+        /* Wasnt a stonith device */
-+        return;
-+
-+    } else if(node) {
-+        action_t *unfence = pe_fence_op(node, "on", FALSE, data_set);
-+
-+        crm_notice("Unfencing %s: %s", node->details->uname, reason);
-+        if(FALSE && dependancy) {
-+            order_actions(dependancy, unfence, pe_order_optional);
-+        }
-+
-+    } else if(rsc) {
-+        GHashTableIter iter;
-+
-+        g_hash_table_iter_init(&iter, rsc->allowed_nodes);
-+        while (g_hash_table_iter_next(&iter, NULL, (void **)&node)) {
-+            if(node->details->online && node->details->unclean == FALSE && node->details->shutdown == FALSE) {
-+                trigger_unfencing(rsc, node, reason, dependancy, data_set);
-+            }
-+        }
-+    }
-+}
-+
- action_t *
--pe_fence_op(node_t * node, const char *op, pe_working_set_t * data_set)
-+pe_fence_op(node_t * node, const char *op, bool optional, pe_working_set_t * data_set)
- {
-     char *key = NULL;
-     action_t *stonith_op = NULL;
-@@ -1279,13 +1316,18 @@ pe_fence_op(node_t * node, const char *op, pe_working_set_t * data_set)
-     }
- 
-     if(stonith_op == NULL) {
--        stonith_op = custom_action(NULL, key, CRM_OP_FENCE, node, FALSE, TRUE, data_set);
-+        stonith_op = custom_action(NULL, key, CRM_OP_FENCE, node, optional, TRUE, data_set);
- 
-         add_hash_param(stonith_op->meta, XML_LRM_ATTR_TARGET, node->details->uname);
-         add_hash_param(stonith_op->meta, XML_LRM_ATTR_TARGET_UUID, node->details->id);
-         add_hash_param(stonith_op->meta, "stonith_action", op);
-     }
- 
-+    if(optional == FALSE) {
-+        crm_trace("%s is no longer optional", stonith_op->uuid);
-+        pe_clear_action_bit(stonith_op, pe_action_optional);
-+    }
-+
-     return stonith_op;
- }
- 
-@@ -1323,7 +1365,7 @@ stage6(pe_working_set_t * data_set)
-         if (need_stonith && node->details->unclean && pe_can_fence(data_set, node)) {
-             pe_warn("Scheduling Node %s for STONITH", node->details->uname);
- 
--            stonith_op = pe_fence_op(node, NULL, data_set);
-+            stonith_op = pe_fence_op(node, NULL, FALSE, data_set);
- 
-             stonith_constraints(node, stonith_op, data_set);
- 
-diff --git a/pengine/allocate.h b/pengine/allocate.h
-index 042d3aa..712de60 100644
---- a/pengine/allocate.h
-+++ b/pengine/allocate.h
-@@ -51,7 +51,7 @@ struct resource_alloc_functions_s {
-     void (*append_meta) (resource_t * rsc, xmlNode * xml);
- };
- 
--action_t *pe_fence_op(node_t * node, const char *op, pe_working_set_t * data_set);
-+action_t *pe_fence_op(node_t * node, const char *op, bool optional, pe_working_set_t * data_set);
- 
- extern GHashTable *rsc_merge_weights(resource_t * rsc, const char *rhs, GHashTable * nodes,
-                                      const char *attr, float factor, enum pe_weights flags);
-@@ -161,6 +161,8 @@ extern void rsc_migrate_reload(resource_t * rsc, pe_working_set_t * data_set);
- extern void rsc_stonith_ordering(resource_t * rsc, action_t * stonith_op,
-                                  pe_working_set_t * data_set);
- 
-+void trigger_unfencing(resource_t * rsc, node_t *node, const char *reason, action_t *dependancy, pe_working_set_t * data_set);
-+
- extern enum pe_graph_flags native_update_actions(action_t * first, action_t * then, node_t * node,
-                                                  enum pe_action_flags flags,
-                                                  enum pe_action_flags filter,
-diff --git a/pengine/graph.c b/pengine/graph.c
-index 779f0e0..9c82d23 100644
---- a/pengine/graph.c
-+++ b/pengine/graph.c
-@@ -430,11 +430,49 @@ update_action(action_t * then)
-                   uname : "", other->type);
- 
-         if (first == other->action) {
-+            /*
-+             * 'first' was not expanded (ie. from 'start' to 'running'), which could mean it:
-+             * - has no associated resource,
-+             * - was a primitive,
-+             * - was pre-expanded (ie. 'running' instead of 'start')
-+             *
-+             * The third argument here to graph_update_action() is a node which is used under two conditions:
-+             * - Interleaving, in which case first->node and
-+             *   then->node are equal (and NULL)
-+             * - If 'then' is a clone, to limit the scope of the
-+             *   constraint to instances on the supplied node
-+             *
-+             */
-+            int otype = other->type;
-+            node_t *node = then->node;
-+
-+            if(is_set(otype, pe_order_implies_then_on_node)) {
-+                /* Normally we want the _whole_ 'then' clone to
-+                 * restart if 'first' is restarted, so then->node is
-+                 * needed.
-+                 *
-+                 * However for unfencing, we want to limit this to
-+                 * instances on the same node as 'first' (the
-+                 * unfencing operation), so first->node is supplied.
-+                 *
-+                 * Swap the node, from then on we can can treat it
-+                 * like any other 'pe_order_implies_then'
-+                 */
-+
-+                clear_bit(otype, pe_order_implies_then_on_node);
-+                set_bit(otype, pe_order_implies_then);
-+                node = first->node;
-+            }
-             clear_bit(first_flags, pe_action_pseudo);
--            changed |= graph_update_action(first, then, then->node, first_flags, other->type);
-+            changed |= graph_update_action(first, then, node, first_flags, otype);
- 
-+            /* 'first' was for a complex resource (clone, group, etc),
-+             * create a new dependancy if necessary
-+             */
-         } else if (order_actions(first, then, other->type)) {
--            /* Start again to get the new actions_before list */
-+            /* This was the first time 'first' and 'then' were associated,
-+             * start again to get the new actions_before list
-+             */
-             changed |= (pe_graph_updated_then | pe_graph_disable);
-         }
- 
-diff --git a/pengine/native.c b/pengine/native.c
-index 4016a3c..d0eb950 100644
---- a/pengine/native.c
-+++ b/pengine/native.c
-@@ -1236,9 +1236,7 @@ native_internal_constraints(resource_t * rsc, pe_working_set_t * data_set)
- 
-     resource_t *top = uber_parent(rsc);
-     int type = pe_order_optional | pe_order_implies_then | pe_order_restart;
--    gboolean is_stonith =
--        (rsc->xml && safe_str_eq(crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS), "stonith")) ?
--        TRUE : FALSE;
-+    gboolean is_stonith = is_set(rsc->flags, pe_rsc_fence_device);
- 
-     custom_action_order(rsc, generate_op_key(rsc->id, RSC_STOP, 0), NULL,
-                         rsc, generate_op_key(rsc->id, RSC_START, 0), NULL, type, data_set);
-@@ -1253,6 +1251,34 @@ native_internal_constraints(resource_t * rsc, pe_working_set_t * data_set)
-                             pe_order_runnable_left, data_set);
-     }
- 
-+    if (is_stonith == FALSE
-+        && is_set(data_set->flags, pe_flag_enable_unfencing)
-+        && is_set(rsc->flags, pe_rsc_needs_unfencing)) {
-+        /* Check if the node needs to be unfenced first */
-+        node_t *node = NULL;
-+        GHashTableIter iter;
-+
-+        if(rsc != top) {
-+            /* Only create these constraints once, rsc is almost certainly cloned */
-+            clear_bit_recursive(top, pe_rsc_needs_unfencing);
-+        }
-+
-+        g_hash_table_iter_init(&iter, rsc->allowed_nodes);
-+        while (g_hash_table_iter_next(&iter, NULL, (void **)&node)) {
-+            action_t *unfence = pe_fence_op(node, "on", TRUE, data_set);
-+
-+            custom_action_order(top, generate_op_key(top->id, top == rsc?RSC_STOP:RSC_STOPPED, 0), NULL,
-+                                NULL, strdup(unfence->uuid), unfence,
-+                                pe_order_optional, data_set);
-+
-+            crm_debug("Stopping %s prior to unfencing %s", top->id, unfence->uuid);
-+
-+            custom_action_order(NULL, strdup(unfence->uuid), unfence,
-+                                top, generate_op_key(top->id, RSC_START, 0), NULL,
-+                                pe_order_implies_then_on_node, data_set);
-+        }
-+    }
-+
-     if (is_not_set(rsc->flags, pe_rsc_managed)) {
-         pe_rsc_trace(rsc, "Skipping fencing constraints for unmanaged resource: %s", rsc->id);
-         return;
-@@ -2456,20 +2482,9 @@ native_create_probe(resource_t * rsc, node_t * node, action_t * complete,
-     probe = custom_action(rsc, key, RSC_STATUS, node, FALSE, TRUE, data_set);
-     update_action_flags(probe, pe_action_optional | pe_action_clear);
- 
--    /* Check if the node needs to be unfenced first */
--    if (is_set(rsc->flags, pe_rsc_needs_unfencing)) {
--        action_t *unfence = pe_fence_op(node, "on", data_set);
--
--        crm_notice("Unfencing %s for %s", node->details->uname, rsc->id);
--        order_actions(unfence, probe, pe_order_implies_then);
--
--        /* The lack of ordering constraints on STONITH_UP would
--         * traditionally mean unfencing is initiated /before/ the
--         * devices are started.
--         *
--         * However this is a non-issue as stonithd is now smart
--         * enough to be able to use devices directly from the cib
--         */
-+    if(is_set(rsc->flags, pe_rsc_fence_device)) {
-+        crm_crit("TODO: %s: Trigger when probing the device or the resource that needs unfencing?", rsc->id);
-+        trigger_unfencing(NULL, node, "node discovery", probe, data_set);
-     }
- 
-     /*
-diff --git a/pengine/regression.sh b/pengine/regression.sh
-index aa50854..9cb6c18 100755
---- a/pengine/regression.sh
-+++ b/pengine/regression.sh
-@@ -317,6 +317,11 @@ do_test bug-cl-5170 "Prevent clone from starting with on-fail=block"
- do_test clone-fail-block-colocation "Move colocated group when failed clone has on-fail=block"
- 
- echo ""
-+do_test unfence-startup "Clean unfencing"
-+do_test unfence-definition "Unfencing when the agent changes"
-+do_test unfence-parameters "Unfencing when the agent parameters changes"
-+
-+echo ""
- do_test master-0 "Stopped -> Slave"
- do_test master-1 "Stopped -> Promote"
- do_test master-2 "Stopped -> Promote : notify"
diff --git a/SOURCES/bz1078078-pcmk-pe_delay_unfencing_until_after_we_know_the_state_of_all_resources_that_require_unfencing.patch b/SOURCES/bz1078078-pcmk-pe_delay_unfencing_until_after_we_know_the_state_of_all_resources_that_require_unfencing.patch
deleted file mode 100644
index 3503c88..0000000
--- a/SOURCES/bz1078078-pcmk-pe_delay_unfencing_until_after_we_know_the_state_of_all_resources_that_require_unfencing.patch
+++ /dev/null
@@ -1,2251 +0,0 @@
-commit cf7988cb02e96f7a278569dcee410691cb7b85e0
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Fri Apr 4 11:59:13 2014 +1100
-
-    Fix: PE: Delay unfencing until after we know the state of all resources that require unfencing
-    
-    (cherry picked from commit 22666466bd9e50efdd8efb6c1775c71785c900b1)
-    
-    Conflicts:
-    	include/crm/pengine/internal.h
-    	include/crm/pengine/status.h
-    	lib/pengine/unpack.c
-    	lib/pengine/utils.c
-    	pengine/test10/unfence-definition.dot
-    	pengine/test10/unfence-definition.exp
-    	pengine/test10/unfence-definition.summary
-    	pengine/test10/unfence-parameters.dot
-    	pengine/test10/unfence-parameters.exp
-    	pengine/test10/unfence-parameters.summary
-    	pengine/test10/unfence-startup.dot
-    	pengine/test10/unfence-startup.exp
-    	pengine/test10/unfence-startup.xml
-
-diff --git a/include/crm/pengine/internal.h b/include/crm/pengine/internal.h
-index 657c647..b4907c1 100644
---- a/include/crm/pengine/internal.h
-+++ b/include/crm/pengine/internal.h
-@@ -260,8 +260,13 @@ typedef struct op_digest_cache_s {
- op_digest_cache_t *rsc_action_digest_cmp(resource_t * rsc, xmlNode * xml_op, node_t * node,
-                                          pe_working_set_t * data_set);
- 
--gboolean is_remote_node(xmlNode *xml);
-+action_t *pe_fence_op(node_t * node, const char *op, bool optional, pe_working_set_t * data_set);
-+void trigger_unfencing(
-+    resource_t * rsc, node_t *node, const char *reason, action_t *dependancy, pe_working_set_t * data_set);
-+
-+void set_bit_recursive(resource_t * rsc, unsigned long long flag);
- void clear_bit_recursive(resource_t * rsc, unsigned long long flag);
- 
-+gboolean is_remote_node(xmlNode *xml);
- resource_t * rsc_contains_remote_node(pe_working_set_t * data_set, resource_t *rsc);
- #endif
-diff --git a/include/crm/pengine/status.h b/include/crm/pengine/status.h
-index ddf9dd7..6542737 100644
---- a/include/crm/pengine/status.h
-+++ b/include/crm/pengine/status.h
-@@ -191,6 +191,7 @@ struct node_s {
- #  define pe_rsc_needs_quorum	 0x10000000ULL
- #  define pe_rsc_needs_fencing	 0x20000000ULL
- #  define pe_rsc_needs_unfencing 0x40000000ULL
-+#  define pe_rsc_have_unfencing  0x80000000ULL
- 
- enum pe_graph_flags {
-     pe_graph_none = 0x00000,
-diff --git a/lib/pengine/clone.c b/lib/pengine/clone.c
-index b13cceb..90d7eca 100644
---- a/lib/pengine/clone.c
-+++ b/lib/pengine/clone.c
-@@ -47,19 +47,6 @@ mark_as_orphan(resource_t * rsc)
- }
- 
- void
--clear_bit_recursive(resource_t * rsc, unsigned long long flag)
--{
--    GListPtr gIter = rsc->children;
--
--    clear_bit(rsc->flags, flag);
--    for (; gIter != NULL; gIter = gIter->next) {
--        resource_t *child_rsc = (resource_t *) gIter->data;
--
--        clear_bit_recursive(child_rsc, flag);
--    }
--}
--
--void
- force_non_unique_clone(resource_t * rsc, const char *rid, pe_working_set_t * data_set)
- {
-     if (rsc->variant == pe_clone || rsc->variant == pe_master) {
-diff --git a/lib/pengine/complex.c b/lib/pengine/complex.c
-index 0f20481..a3133e7 100644
---- a/lib/pengine/complex.c
-+++ b/lib/pengine/complex.c
-@@ -575,7 +575,7 @@ common_unpack(xmlNode * xml_obj, resource_t ** rsc,
-     } else if (safe_str_eq(value, "fencing")) {
-         set_bit((*rsc)->flags, pe_rsc_needs_fencing);
-         if (is_set(data_set->flags, pe_flag_stonith_enabled)) {
--            crm_config_warn("%s requires (un)fencing but fencing is disabled", (*rsc)->id);
-+            crm_config_warn("%s requires fencing but fencing is disabled", (*rsc)->id);
-         }
- 
-     } else {
-diff --git a/lib/pengine/unpack.c b/lib/pengine/unpack.c
-index 39ded96..eb10bd8 100644
---- a/lib/pengine/unpack.c
-+++ b/lib/pengine/unpack.c
-@@ -2325,6 +2325,31 @@ unpack_rsc_op(resource_t * rsc, node_t * node, xmlNode * xml_op,
-      * didnt include target_rc and liked to remap status
-      */
-     switch (actual_rc_i) {
-+        case PCMK_OCF_OK:
-+            if (is_probe && target_rc == 7) {
-+                task_status_i = PCMK_LRM_OP_DONE;
-+                set_bit(rsc->flags, pe_rsc_unexpectedly_running);
-+
-+                if(is_set(rsc->flags, pe_rsc_needs_unfencing)) {
-+                    /* _Require_ unfencing after probing resources that need unfencing and was found active */
-+                    crm_warn("Operation %s found resource %s active on %s: triggering unfencing",
-+                             task, rsc->id, node->details->uname);
-+                    trigger_unfencing(NULL, node, "Unexpected state", NULL, data_set);
-+
-+                } else {
-+                    pe_rsc_info(rsc, "Operation %s found resource %s active on %s",
-+                                task, rsc->id, node->details->uname);
-+                }
-+
-+                /* legacy code for pre-0.6.5 operations */
-+            } else if (target_rc < 0 && interval > 0 && rsc->role == RSC_ROLE_MASTER) {
-+                /* catch status ops that return 0 instead of 8 while they
-+                 *   are supposed to be in master mode
-+                 */
-+                task_status_i = PCMK_LRM_OP_ERROR;
-+            }
-+            break;
-+
-         case PCMK_OCF_NOT_RUNNING:
-             if (is_probe || target_rc == actual_rc_i) {
-                 task_status_i = PCMK_LRM_OP_DONE;
-@@ -2415,23 +2440,6 @@ unpack_rsc_op(resource_t * rsc, node_t * node, xmlNode * xml_op,
-             }
-             break;
- 
--        case PCMK_OCF_OK:
--            if (is_probe && target_rc == 7) {
--                task_status_i = PCMK_LRM_OP_DONE;
--                set_bit(rsc->flags, pe_rsc_unexpectedly_running);
--                pe_rsc_info(rsc, "Operation %s found resource %s active on %s",
--                            task, rsc->id, node->details->uname);
--
--                /* legacy code for pre-0.6.5 operations */
--            } else if (target_rc < 0 && interval > 0 && rsc->role == RSC_ROLE_MASTER) {
--                /* catch status ops that return 0 instead of 8 while they
--                 *   are supposed to be in master mode
--                 */
--                task_status_i = PCMK_LRM_OP_ERROR;
--            }
--
--            break;
--
-         default:
-             if (task_status_i == PCMK_LRM_OP_DONE) {
-                 crm_info("Remapping %s (rc=%d) on %s to an ERROR",
-diff --git a/lib/pengine/utils.c b/lib/pengine/utils.c
-index 2520eeb..e84d341 100644
---- a/lib/pengine/utils.c
-+++ b/lib/pengine/utils.c
-@@ -1807,3 +1807,92 @@ rsc_contains_remote_node(pe_working_set_t * data_set, resource_t *rsc)
-     return NULL;
- }
- 
-+void
-+clear_bit_recursive(resource_t * rsc, unsigned long long flag)
-+{
-+    GListPtr gIter = rsc->children;
-+
-+    clear_bit(rsc->flags, flag);
-+    for (; gIter != NULL; gIter = gIter->next) {
-+        resource_t *child_rsc = (resource_t *) gIter->data;
-+
-+        clear_bit_recursive(child_rsc, flag);
-+    }
-+}
-+
-+void
-+set_bit_recursive(resource_t * rsc, unsigned long long flag)
-+{
-+    GListPtr gIter = rsc->children;
-+
-+    set_bit(rsc->flags, flag);
-+    for (; gIter != NULL; gIter = gIter->next) {
-+        resource_t *child_rsc = (resource_t *) gIter->data;
-+
-+        set_bit_recursive(child_rsc, flag);
-+    }
-+}
-+
-+action_t *
-+pe_fence_op(node_t * node, const char *op, bool optional, pe_working_set_t * data_set)
-+{
-+    char *key = NULL;
-+    action_t *stonith_op = NULL;
-+
-+    if(op == NULL) {
-+        op = data_set->stonith_action;
-+    }
-+
-+    key = g_strdup_printf("%s-%s-%s", CRM_OP_FENCE, node->details->uname, op);
-+
-+    if(data_set->singletons) {
-+        stonith_op = g_hash_table_lookup(data_set->singletons, key);
-+    }
-+
-+    if(stonith_op == NULL) {
-+        stonith_op = custom_action(NULL, key, CRM_OP_FENCE, node, optional, TRUE, data_set);
-+
-+        add_hash_param(stonith_op->meta, XML_LRM_ATTR_TARGET, node->details->uname);
-+        add_hash_param(stonith_op->meta, XML_LRM_ATTR_TARGET_UUID, node->details->id);
-+        add_hash_param(stonith_op->meta, "stonith_action", op);
-+    }
-+
-+    if(optional == FALSE) {
-+        crm_trace("%s is no longer optional", stonith_op->uuid);
-+        pe_clear_action_bit(stonith_op, pe_action_optional);
-+    }
-+
-+    return stonith_op;
-+}
-+
-+void
-+trigger_unfencing(
-+    resource_t * rsc, node_t *node, const char *reason, action_t *dependancy, pe_working_set_t * data_set) 
-+{
-+    if(is_not_set(data_set->flags, pe_flag_enable_unfencing)) {
-+        /* No resources require it */
-+        return;
-+
-+    } else if (rsc != NULL && is_not_set(rsc->flags, pe_rsc_fence_device)) {
-+        /* Wasnt a stonith device */
-+        return;
-+
-+    } else if(node) {
-+        action_t *unfence = pe_fence_op(node, "on", FALSE, data_set);
-+
-+        crm_notice("Unfencing %s: %s", node->details->uname, reason);
-+        if(FALSE && dependancy) {
-+            order_actions(unfence, dependancy, pe_order_optional);
-+        }
-+
-+    } else if(rsc) {
-+        GHashTableIter iter;
-+
-+        g_hash_table_iter_init(&iter, rsc->allowed_nodes);
-+        while (g_hash_table_iter_next(&iter, NULL, (void **)&node)) {
-+            if(node->details->online && node->details->unclean == FALSE && node->details->shutdown == FALSE) {
-+                trigger_unfencing(rsc, node, reason, dependancy, data_set);
-+            }
-+        }
-+    }
-+}
-diff --git a/pengine/allocate.c b/pengine/allocate.c
-index 88258f4..3480eb9 100644
---- a/pengine/allocate.c
-+++ b/pengine/allocate.c
-@@ -1267,70 +1267,6 @@ any_managed_resources(pe_working_set_t * data_set)
-     return FALSE;
- }
- 
--void
--trigger_unfencing(
--    resource_t * rsc, node_t *node, const char *reason, action_t *dependancy, pe_working_set_t * data_set) 
--{
--    if(is_not_set(data_set->flags, pe_flag_enable_unfencing)) {
--        /* No resources require it */
--        return;
--
--    } else if (rsc != NULL && is_not_set(rsc->flags, pe_rsc_fence_device)) {
--        /* Wasnt a stonith device */
--        return;
--
--    } else if(node) {
--        action_t *unfence = pe_fence_op(node, "on", FALSE, data_set);
--
--        crm_notice("Unfencing %s: %s", node->details->uname, reason);
--        if(FALSE && dependancy) {
--            order_actions(dependancy, unfence, pe_order_optional);
--        }
--
--    } else if(rsc) {
--        GHashTableIter iter;
--
--        g_hash_table_iter_init(&iter, rsc->allowed_nodes);
--        while (g_hash_table_iter_next(&iter, NULL, (void **)&node)) {
--            if(node->details->online && node->details->unclean == FALSE && node->details->shutdown == FALSE) {
--                trigger_unfencing(rsc, node, reason, dependancy, data_set);
--            }
--        }
--    }
--}
--
--action_t *
--pe_fence_op(node_t * node, const char *op, bool optional, pe_working_set_t * data_set)
--{
--    char *key = NULL;
--    action_t *stonith_op = NULL;
--
--    if(op == NULL) {
--        op = data_set->stonith_action;
--    }
--
--    key = g_strdup_printf("%s-%s-%s", CRM_OP_FENCE, node->details->uname, op);
--
--    if(data_set->singletons) {
--        stonith_op = g_hash_table_lookup(data_set->singletons, key);
--    }
--
--    if(stonith_op == NULL) {
--        stonith_op = custom_action(NULL, key, CRM_OP_FENCE, node, optional, TRUE, data_set);
--
--        add_hash_param(stonith_op->meta, XML_LRM_ATTR_TARGET, node->details->uname);
--        add_hash_param(stonith_op->meta, XML_LRM_ATTR_TARGET_UUID, node->details->id);
--        add_hash_param(stonith_op->meta, "stonith_action", op);
--    }
--
--    if(optional == FALSE) {
--        crm_trace("%s is no longer optional", stonith_op->uuid);
--        pe_clear_action_bit(stonith_op, pe_action_optional);
--    }
--
--    return stonith_op;
--}
--
- /*
-  * Create dependancies for stonith and shutdown operations
-  */
-diff --git a/pengine/allocate.h b/pengine/allocate.h
-index 712de60..0a352fd 100644
---- a/pengine/allocate.h
-+++ b/pengine/allocate.h
-@@ -51,8 +51,6 @@ struct resource_alloc_functions_s {
-     void (*append_meta) (resource_t * rsc, xmlNode * xml);
- };
- 
--action_t *pe_fence_op(node_t * node, const char *op, bool optional, pe_working_set_t * data_set);
--
- extern GHashTable *rsc_merge_weights(resource_t * rsc, const char *rhs, GHashTable * nodes,
-                                      const char *attr, float factor, enum pe_weights flags);
- 
-@@ -161,8 +159,6 @@ extern void rsc_migrate_reload(resource_t * rsc, pe_working_set_t * data_set);
- extern void rsc_stonith_ordering(resource_t * rsc, action_t * stonith_op,
-                                  pe_working_set_t * data_set);
- 
--void trigger_unfencing(resource_t * rsc, node_t *node, const char *reason, action_t *dependancy, pe_working_set_t * data_set);
--
- extern enum pe_graph_flags native_update_actions(action_t * first, action_t * then, node_t * node,
-                                                  enum pe_action_flags flags,
-                                                  enum pe_action_flags filter,
-diff --git a/pengine/native.c b/pengine/native.c
-index d0eb950..3d75dc9 100644
---- a/pengine/native.c
-+++ b/pengine/native.c
-@@ -1253,14 +1253,15 @@ native_internal_constraints(resource_t * rsc, pe_working_set_t * data_set)
- 
-     if (is_stonith == FALSE
-         && is_set(data_set->flags, pe_flag_enable_unfencing)
--        && is_set(rsc->flags, pe_rsc_needs_unfencing)) {
-+        && is_set(rsc->flags, pe_rsc_needs_unfencing)
-+        && is_not_set(rsc->flags, pe_rsc_have_unfencing)) {
-         /* Check if the node needs to be unfenced first */
-         node_t *node = NULL;
-         GHashTableIter iter;
- 
-         if(rsc != top) {
-             /* Only create these constraints once, rsc is almost certainly cloned */
--            clear_bit_recursive(top, pe_rsc_needs_unfencing);
-+            clear_bit_recursive(top, pe_rsc_have_unfencing);
-         }
- 
-         g_hash_table_iter_init(&iter, rsc->allowed_nodes);
-@@ -2482,9 +2483,26 @@ native_create_probe(resource_t * rsc, node_t * node, action_t * complete,
-     probe = custom_action(rsc, key, RSC_STATUS, node, FALSE, TRUE, data_set);
-     update_action_flags(probe, pe_action_optional | pe_action_clear);
- 
--    if(is_set(rsc->flags, pe_rsc_fence_device)) {
--        crm_crit("TODO: %s: Trigger when probing the device or the resource that needs unfencing?", rsc->id);
-+    /* If enabled, require unfencing before probing any fence devices
-+     * but ensure it happens after any resources that require
-+     * unfencing have been probed.
-+     *
-+     * Doing it the other way (requiring unfencing after probing
-+     * resources that need it) would result in the node being
-+     * unfenced, and all its resources being stopped, whenever a new
-+     * resource is added.  Which would be highly suboptimal.
-+     *
-+     * So essentially, at the point the fencing device(s) have been
-+     * probed, we know the state of all resources that require
-+     * unfencing and that unfencing occurred.
-+     */
-+    if(is_set(rsc->flags, pe_rsc_fence_device) && is_set(data_set->flags, pe_flag_enable_unfencing)) {
-         trigger_unfencing(NULL, node, "node discovery", probe, data_set);
-+
-+    } else if(is_set(rsc->flags, pe_rsc_needs_unfencing)) {
-+        action_t *unfence = pe_fence_op(node, "on", TRUE, data_set);
-+
-+        order_actions(probe, unfence, pe_order_optional);
-     }
- 
-     /*
-diff --git a/pengine/test10/unfence-definition.dot b/pengine/test10/unfence-definition.dot
-new file mode 100644
-index 0000000..e737687
---- /dev/null
-+++ b/pengine/test10/unfence-definition.dot
-@@ -0,0 +1,102 @@
-+digraph "g" {
-+"all_stopped" -> "fencing_start_0 virt-1" [ style = bold]
-+"all_stopped" [ style=bold color="green" fontcolor="orange"]
-+"clvmd-clone_running_0" [ style=bold color="green" fontcolor="orange"]
-+"clvmd-clone_start_0" -> "clvmd-clone_running_0" [ style = bold]
-+"clvmd-clone_start_0" -> "clvmd:1_start_0 virt-2" [ style = bold]
-+"clvmd-clone_start_0" -> "clvmd:2_start_0 virt-3" [ style = bold]
-+"clvmd-clone_start_0" -> "clvmd_start_0 virt-1" [ style = bold]
-+"clvmd-clone_start_0" [ style=bold color="green" fontcolor="orange"]
-+"clvmd-clone_stop_0" -> "clvmd-clone_stopped_0" [ style = bold]
-+"clvmd-clone_stop_0" -> "clvmd_stop_0 virt-1" [ style = bold]
-+"clvmd-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
-+"clvmd-clone_stopped_0" -> "clvmd-clone_start_0" [ style = bold]
-+"clvmd-clone_stopped_0" -> "dlm-clone_stop_0" [ style = bold]
-+"clvmd-clone_stopped_0" -> "stonith 'on' virt-1" [ style = bold]
-+"clvmd-clone_stopped_0" -> "stonith 'on' virt-3" [ style = bold]
-+"clvmd-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
-+"clvmd:1_monitor_0 virt-2" -> "probe_complete virt-2" [ style = bold]
-+"clvmd:1_monitor_0 virt-2" [ style=bold color="green" fontcolor="black"]
-+"clvmd:1_start_0 virt-2" -> "clvmd-clone_running_0" [ style = bold]
-+"clvmd:1_start_0 virt-2" -> "clvmd:2_start_0 virt-3" [ style = bold]
-+"clvmd:1_start_0 virt-2" [ style=bold color="green" fontcolor="black"]
-+"clvmd:2_monitor_0 virt-3" -> "probe_complete virt-3" [ style = bold]
-+"clvmd:2_monitor_0 virt-3" -> "stonith 'on' virt-3" [ style = bold]
-+"clvmd:2_monitor_0 virt-3" [ style=bold color="green" fontcolor="black"]
-+"clvmd:2_start_0 virt-3" -> "clvmd-clone_running_0" [ style = bold]
-+"clvmd:2_start_0 virt-3" [ style=bold color="green" fontcolor="black"]
-+"clvmd_start_0 virt-1" -> "clvmd-clone_running_0" [ style = bold]
-+"clvmd_start_0 virt-1" -> "clvmd:1_start_0 virt-2" [ style = bold]
-+"clvmd_start_0 virt-1" [ style=bold color="green" fontcolor="black"]
-+"clvmd_stop_0 virt-1" -> "all_stopped" [ style = bold]
-+"clvmd_stop_0 virt-1" -> "clvmd-clone_stopped_0" [ style = bold]
-+"clvmd_stop_0 virt-1" -> "clvmd_start_0 virt-1" [ style = bold]
-+"clvmd_stop_0 virt-1" -> "dlm_stop_0 virt-1" [ style = bold]
-+"clvmd_stop_0 virt-1" [ style=bold color="green" fontcolor="black"]
-+"dlm-clone_running_0" -> "clvmd-clone_start_0" [ style = bold]
-+"dlm-clone_running_0" [ style=bold color="green" fontcolor="orange"]
-+"dlm-clone_start_0" -> "dlm-clone_running_0" [ style = bold]
-+"dlm-clone_start_0" -> "dlm:2_start_0 virt-3" [ style = bold]
-+"dlm-clone_start_0" -> "dlm_start_0 virt-1" [ style = bold]
-+"dlm-clone_start_0" [ style=bold color="green" fontcolor="orange"]
-+"dlm-clone_stop_0" -> "dlm-clone_stopped_0" [ style = bold]
-+"dlm-clone_stop_0" -> "dlm_stop_0 virt-1" [ style = bold]
-+"dlm-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
-+"dlm-clone_stopped_0" -> "dlm-clone_start_0" [ style = bold]
-+"dlm-clone_stopped_0" -> "stonith 'on' virt-1" [ style = bold]
-+"dlm-clone_stopped_0" -> "stonith 'on' virt-3" [ style = bold]
-+"dlm-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
-+"dlm:2_monitor_0 virt-3" -> "probe_complete virt-3" [ style = bold]
-+"dlm:2_monitor_0 virt-3" -> "stonith 'on' virt-3" [ style = bold]
-+"dlm:2_monitor_0 virt-3" [ style=bold color="green" fontcolor="black"]
-+"dlm:2_start_0 virt-3" -> "clvmd:2_start_0 virt-3" [ style = bold]
-+"dlm:2_start_0 virt-3" -> "dlm-clone_running_0" [ style = bold]
-+"dlm:2_start_0 virt-3" [ style=bold color="green" fontcolor="black"]
-+"dlm_start_0 virt-1" -> "clvmd_start_0 virt-1" [ style = bold]
-+"dlm_start_0 virt-1" -> "dlm-clone_running_0" [ style = bold]
-+"dlm_start_0 virt-1" [ style=bold color="green" fontcolor="black"]
-+"dlm_stop_0 virt-1" -> "all_stopped" [ style = bold]
-+"dlm_stop_0 virt-1" -> "dlm-clone_stopped_0" [ style = bold]
-+"dlm_stop_0 virt-1" -> "dlm_start_0 virt-1" [ style = bold]
-+"dlm_stop_0 virt-1" [ style=bold color="green" fontcolor="black"]
-+"fencing_delete_0 virt-1" -> "fencing_start_0 virt-1" [ style = bold]
-+"fencing_delete_0 virt-1" [ style=bold color="green" fontcolor="black"]
-+"fencing_monitor_0 virt-3" -> "probe_complete virt-3" [ style = bold]
-+"fencing_monitor_0 virt-3" [ style=bold color="green" fontcolor="black"]
-+"fencing_start_0 virt-1" [ style=bold color="green" fontcolor="black"]
-+"fencing_stop_0 virt-1" -> "all_stopped" [ style = bold]
-+"fencing_stop_0 virt-1" -> "fencing_delete_0 virt-1" [ style = bold]
-+"fencing_stop_0 virt-1" -> "fencing_start_0 virt-1" [ style = bold]
-+"fencing_stop_0 virt-1" [ style=bold color="green" fontcolor="black"]
-+"probe_complete virt-1" -> "probe_complete" [ style = bold]
-+"probe_complete virt-1" [ style=bold color="green" fontcolor="black"]
-+"probe_complete virt-2" -> "probe_complete" [ style = bold]
-+"probe_complete virt-2" [ style=bold color="green" fontcolor="black"]
-+"probe_complete virt-3" -> "probe_complete" [ style = bold]
-+"probe_complete virt-3" [ style=bold color="green" fontcolor="black"]
-+"probe_complete" -> "clvmd:1_start_0 virt-2" [ style = bold]
-+"probe_complete" -> "clvmd:2_start_0 virt-3" [ style = bold]
-+"probe_complete" -> "clvmd_start_0 virt-1" [ style = bold]
-+"probe_complete" -> "clvmd_stop_0 virt-1" [ style = bold]
-+"probe_complete" -> "dlm:2_start_0 virt-3" [ style = bold]
-+"probe_complete" -> "dlm_start_0 virt-1" [ style = bold]
-+"probe_complete" -> "dlm_stop_0 virt-1" [ style = bold]
-+"probe_complete" -> "fencing_start_0 virt-1" [ style = bold]
-+"probe_complete" -> "fencing_stop_0 virt-1" [ style = bold]
-+"probe_complete" [ style=bold color="green" fontcolor="orange"]
-+"stonith 'on' virt-1" -> "clvmd-clone_start_0" [ style = bold]
-+"stonith 'on' virt-1" -> "dlm-clone_start_0" [ style = bold]
-+"stonith 'on' virt-1" [ style=bold color="green" fontcolor="black"]
-+"stonith 'on' virt-3" -> "clvmd-clone_start_0" [ style = bold]
-+"stonith 'on' virt-3" -> "dlm-clone_start_0" [ style = bold]
-+"stonith 'on' virt-3" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' virt-4" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' virt-4" [ style=bold color="green" fontcolor="black"]
-+"stonith_complete" -> "all_stopped" [ style = bold]
-+"stonith_complete" -> "clvmd:1_start_0 virt-2" [ style = bold]
-+"stonith_complete" -> "clvmd:2_start_0 virt-3" [ style = bold]
-+"stonith_complete" -> "clvmd_start_0 virt-1" [ style = bold]
-+"stonith_complete" -> "dlm:2_start_0 virt-3" [ style = bold]
-+"stonith_complete" -> "dlm_start_0 virt-1" [ style = bold]
-+"stonith_complete" [ style=bold color="green" fontcolor="orange"]
-+}
-diff --git a/pengine/test10/unfence-definition.exp b/pengine/test10/unfence-definition.exp
-new file mode 100644
-index 0000000..9075347
---- /dev/null
-+++ b/pengine/test10/unfence-definition.exp
-@@ -0,0 +1,495 @@
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
-+  <synapse id="0">
-+    <action_set>
-+      <rsc_op id="16" operation="start" operation_key="fencing_start_0" on_node="virt-1" on_node_uuid="1">
-+        <primitive id="fencing" class="stonith" type="fence_scsi"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="2" operation="all_stopped" operation_key="all_stopped"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="6" operation="stop" operation_key="fencing_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="7" operation="delete" operation_key="fencing_delete_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="1">
-+    <action_set>
-+      <rsc_op id="13" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3">
-+        <primitive id="fencing" class="stonith" type="fence_scsi"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="2">
-+    <action_set>
-+      <rsc_op id="7" operation="delete" operation_key="fencing_delete_0" on_node="virt-1" on_node_uuid="1">
-+        <primitive id="fencing" class="stonith" type="fence_scsi"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="6" operation="stop" operation_key="fencing_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="3">
-+    <action_set>
-+      <rsc_op id="6" operation="stop" operation_key="fencing_stop_0" on_node="virt-1" on_node_uuid="1">
-+        <primitive id="fencing" class="stonith" type="fence_scsi"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="4">
-+    <action_set>
-+      <rsc_op id="18" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:0_start_0" on_node="virt-1" on_node_uuid="1">
-+        <primitive id="dlm" long-id="dlm:0" class="ocf" provider="pacemaker" type="controld"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="17" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="22" operation="start" operation_key="dlm-clone_start_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="34" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="5">
-+    <action_set>
-+      <rsc_op id="17" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0" on_node="virt-1" on_node_uuid="1">
-+        <primitive id="dlm" long-id="dlm:0" class="ocf" provider="pacemaker" type="controld"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="24" operation="stop" operation_key="dlm-clone_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="26" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="6">
-+    <action_set>
-+      <rsc_op id="21" operation="start" operation_key="dlm:2_start_0" on_node="virt-3" on_node_uuid="3">
-+        <primitive id="dlm" long-id="dlm:2" class="ocf" provider="pacemaker" type="controld"/>
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="22" operation="start" operation_key="dlm-clone_start_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="34" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="7">
-+    <action_set>
-+      <rsc_op id="14" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3">
-+        <primitive id="dlm" long-id="dlm:2" class="ocf" provider="pacemaker" type="controld"/>
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="8" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="25" operation="stopped" operation_key="dlm-clone_stopped_0">
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="17" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="24" operation="stop" operation_key="dlm-clone_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="9">
-+    <action_set>
-+      <pseudo_event id="24" operation="stop" operation_key="dlm-clone_stop_0">
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="33" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="10" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="23" operation="running" operation_key="dlm-clone_running_0">
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="18" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:0_start_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="21" operation="start" operation_key="dlm:2_start_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="22" operation="start" operation_key="dlm-clone_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="11">
-+    <action_set>
-+      <pseudo_event id="22" operation="start" operation_key="dlm-clone_start_0">
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <crm_event id="1" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="25" operation="stopped" operation_key="dlm-clone_stopped_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="12">
-+    <action_set>
-+      <rsc_op id="27" operation="start" operation_key="clvmd_start_0" internal_operation_key="clvmd:0_start_0" on_node="virt-1" on_node_uuid="1">
-+        <primitive id="clvmd" long-id="clvmd:0" class="ocf" provider="heartbeat" type="clvm"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="18" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:0_start_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="26" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="30" operation="start" operation_key="clvmd-clone_start_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="34" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="13">
-+    <action_set>
-+      <rsc_op id="26" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1">
-+        <primitive id="clvmd" long-id="clvmd:0" class="ocf" provider="heartbeat" type="clvm"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="32" operation="stop" operation_key="clvmd-clone_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="14">
-+    <action_set>
-+      <rsc_op id="28" operation="start" operation_key="clvmd:1_start_0" on_node="virt-2" on_node_uuid="2">
-+        <primitive id="clvmd" long-id="clvmd:1" class="ocf" provider="heartbeat" type="clvm"/>
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="27" operation="start" operation_key="clvmd_start_0" internal_operation_key="clvmd:0_start_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="30" operation="start" operation_key="clvmd-clone_start_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="34" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="15">
-+    <action_set>
-+      <rsc_op id="11" operation="monitor" operation_key="clvmd:1_monitor_0" on_node="virt-2" on_node_uuid="2">
-+        <primitive id="clvmd" long-id="clvmd:1" class="ocf" provider="heartbeat" type="clvm"/>
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="16">
-+    <action_set>
-+      <rsc_op id="29" operation="start" operation_key="clvmd:2_start_0" on_node="virt-3" on_node_uuid="3">
-+        <primitive id="clvmd" long-id="clvmd:2" class="ocf" provider="heartbeat" type="clvm"/>
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="21" operation="start" operation_key="dlm:2_start_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="28" operation="start" operation_key="clvmd:1_start_0" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="30" operation="start" operation_key="clvmd-clone_start_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="34" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="17">
-+    <action_set>
-+      <rsc_op id="15" operation="monitor" operation_key="clvmd:2_monitor_0" on_node="virt-3" on_node_uuid="3">
-+        <primitive id="clvmd" long-id="clvmd:2" class="ocf" provider="heartbeat" type="clvm"/>
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="18" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="33" operation="stopped" operation_key="clvmd-clone_stopped_0">
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="26" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="32" operation="stop" operation_key="clvmd-clone_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="19">
-+    <action_set>
-+      <pseudo_event id="32" operation="stop" operation_key="clvmd-clone_stop_0">
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="20" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="31" operation="running" operation_key="clvmd-clone_running_0">
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="27" operation="start" operation_key="clvmd_start_0" internal_operation_key="clvmd:0_start_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="28" operation="start" operation_key="clvmd:1_start_0" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="29" operation="start" operation_key="clvmd:2_start_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="30" operation="start" operation_key="clvmd-clone_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="21">
-+    <action_set>
-+      <pseudo_event id="30" operation="start" operation_key="clvmd-clone_start_0">
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <crm_event id="1" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="23" operation="running" operation_key="dlm-clone_running_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="33" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="22">
-+    <action_set>
-+      <crm_event id="35" operation="stonith" operation_key="stonith-virt-4-reboot" on_node="virt-4" on_node_uuid="4">
-+        <attributes CRM_meta_on_node="virt-4" CRM_meta_on_node_uuid="4" CRM_meta_stonith_action="reboot" />
-+      </crm_event>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="23">
-+    <action_set>
-+      <pseudo_event id="34" operation="stonith_complete" operation_key="stonith_complete">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <crm_event id="35" operation="stonith" operation_key="stonith-virt-4-reboot" on_node="virt-4" on_node_uuid="4"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="24" priority="1000000">
-+    <action_set>
-+      <rsc_op id="12" operation="probe_complete" operation_key="probe_complete-virt-3" on_node="virt-3" on_node_uuid="3">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="13" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="14" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="15" operation="monitor" operation_key="clvmd:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="25" priority="1000000">
-+    <action_set>
-+      <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-virt-2" on_node="virt-2" on_node_uuid="2">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="11" operation="monitor" operation_key="clvmd:1_monitor_0" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="26" priority="1000000">
-+    <action_set>
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-virt-1" on_node="virt-1" on_node_uuid="1">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="27">
-+    <action_set>
-+      <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-virt-1" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-virt-2" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="12" operation="probe_complete" operation_key="probe_complete-virt-3" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="28">
-+    <action_set>
-+      <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3">
-+        <attributes CRM_meta_on_node="virt-3" CRM_meta_on_node_uuid="3" CRM_meta_stonith_action="on" />
-+      </crm_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="14" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="15" operation="monitor" operation_key="clvmd:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="25" operation="stopped" operation_key="dlm-clone_stopped_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="33" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="29">
-+    <action_set>
-+      <pseudo_event id="2" operation="all_stopped" operation_key="all_stopped">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="6" operation="stop" operation_key="fencing_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="17" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="26" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="34" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="30">
-+    <action_set>
-+      <crm_event id="1" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1">
-+        <attributes CRM_meta_on_node="virt-1" CRM_meta_on_node_uuid="1" CRM_meta_stonith_action="on" />
-+      </crm_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="25" operation="stopped" operation_key="dlm-clone_stopped_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="33" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+</transition_graph>
-diff --git a/pengine/test10/unfence-definition.summary b/pengine/test10/unfence-definition.summary
-new file mode 100644
-index 0000000..c954c4b
---- /dev/null
-+++ b/pengine/test10/unfence-definition.summary
-@@ -0,0 +1,63 @@
-+
-+Current cluster status:
-+Node virt-4 (4): UNCLEAN (offline)
-+Online: [ virt-1 virt-2 virt-3 ]
-+
-+ fencing	(stonith:fence_scsi):	Started virt-1 
-+ Clone Set: dlm-clone [dlm]
-+     Started: [ virt-1 virt-2 ]
-+     Stopped: [ virt-3 virt-4 ]
-+ Clone Set: clvmd-clone [clvmd]
-+     Started: [ virt-1 ]
-+     Stopped: [ virt-2 virt-3 virt-4 ]
-+
-+Transition Summary:
-+ * Restart fencing	(Started virt-1)
-+ * Restart dlm:0	(Started virt-1)
-+ * Start   dlm:2	(virt-3)
-+ * Restart clvmd:0	(Started virt-1)
-+ * Start   clvmd:1	(virt-2)
-+ * Start   clvmd:2	(virt-3)
-+
-+Executing cluster transition:
-+ * Resource action: fencing         monitor on virt-3
-+ * Resource action: dlm             monitor on virt-3
-+ * Resource action: clvmd           monitor on virt-2
-+ * Resource action: clvmd           monitor on virt-3
-+ * Pseudo action:   clvmd-clone_stop_0
-+ * Fencing virt-4 (reboot)
-+ * Pseudo action:   stonith_complete
-+ * Pseudo action:   probe_complete
-+ * Resource action: fencing         stop on virt-1
-+ * Resource action: clvmd           stop on virt-1
-+ * Pseudo action:   clvmd-clone_stopped_0
-+ * Resource action: fencing         delete on virt-1
-+ * Pseudo action:   dlm-clone_stop_0
-+ * Resource action: dlm             stop on virt-1
-+ * Pseudo action:   dlm-clone_stopped_0
-+ * Fencing virt-3 (on)
-+ * Pseudo action:   all_stopped
-+ * Fencing virt-1 (on)
-+ * Resource action: fencing         start on virt-1
-+ * Pseudo action:   dlm-clone_start_0
-+ * Resource action: dlm             start on virt-1
-+ * Resource action: dlm             start on virt-3
-+ * Pseudo action:   dlm-clone_running_0
-+ * Pseudo action:   clvmd-clone_start_0
-+ * Resource action: clvmd           start on virt-1
-+ * Resource action: clvmd           start on virt-2
-+ * Resource action: clvmd           start on virt-3
-+ * Pseudo action:   clvmd-clone_running_0
-+
-+Revised cluster status:
-+Online: [ virt-1 virt-2 virt-3 ]
-+OFFLINE: [ virt-4 ]
-+
-+ fencing	(stonith:fence_scsi):	Started virt-1 
-+ Clone Set: dlm-clone [dlm]
-+     Started: [ virt-1 virt-2 virt-3 ]
-+     Stopped: [ virt-4 ]
-+ Clone Set: clvmd-clone [clvmd]
-+     Started: [ virt-1 virt-2 virt-3 ]
-+     Stopped: [ virt-4 ]
-+
-diff --git a/pengine/test10/unfence-parameters.dot b/pengine/test10/unfence-parameters.dot
-new file mode 100644
-index 0000000..e67eb5a
---- /dev/null
-+++ b/pengine/test10/unfence-parameters.dot
-@@ -0,0 +1,125 @@
-+digraph "g" {
-+"all_stopped" -> "fencing_start_0 virt-1" [ style = bold]
-+"all_stopped" [ style=bold color="green" fontcolor="orange"]
-+"clvmd-clone_running_0" [ style=bold color="green" fontcolor="orange"]
-+"clvmd-clone_start_0" -> "clvmd-clone_running_0" [ style = bold]
-+"clvmd-clone_start_0" -> "clvmd:1_start_0 virt-2" [ style = bold]
-+"clvmd-clone_start_0" -> "clvmd:2_start_0 virt-3" [ style = bold]
-+"clvmd-clone_start_0" -> "clvmd_start_0 virt-1" [ style = bold]
-+"clvmd-clone_start_0" [ style=bold color="green" fontcolor="orange"]
-+"clvmd-clone_stop_0" -> "clvmd-clone_stopped_0" [ style = bold]
-+"clvmd-clone_stop_0" -> "clvmd_stop_0 virt-1" [ style = bold]
-+"clvmd-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
-+"clvmd-clone_stopped_0" -> "clvmd-clone_start_0" [ style = bold]
-+"clvmd-clone_stopped_0" -> "dlm-clone_stop_0" [ style = bold]
-+"clvmd-clone_stopped_0" -> "stonith 'on' virt-1" [ style = bold]
-+"clvmd-clone_stopped_0" -> "stonith 'on' virt-2" [ style = bold]
-+"clvmd-clone_stopped_0" -> "stonith 'on' virt-3" [ style = bold]
-+"clvmd-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
-+"clvmd:1_monitor_0 virt-2" -> "probe_complete virt-2" [ style = bold]
-+"clvmd:1_monitor_0 virt-2" -> "stonith 'on' virt-2" [ style = bold]
-+"clvmd:1_monitor_0 virt-2" [ style=bold color="green" fontcolor="black"]
-+"clvmd:1_start_0 virt-2" -> "clvmd-clone_running_0" [ style = bold]
-+"clvmd:1_start_0 virt-2" -> "clvmd:2_start_0 virt-3" [ style = bold]
-+"clvmd:1_start_0 virt-2" [ style=bold color="green" fontcolor="black"]
-+"clvmd:2_monitor_0 virt-3" -> "probe_complete virt-3" [ style = bold]
-+"clvmd:2_monitor_0 virt-3" -> "stonith 'on' virt-3" [ style = bold]
-+"clvmd:2_monitor_0 virt-3" [ style=bold color="green" fontcolor="black"]
-+"clvmd:2_start_0 virt-3" -> "clvmd-clone_running_0" [ style = bold]
-+"clvmd:2_start_0 virt-3" -> "clvmd:3_start_0 <none>" [ style = dashed]
-+"clvmd:2_start_0 virt-3" [ style=bold color="green" fontcolor="black"]
-+"clvmd:3_start_0 <none>" -> "clvmd-clone_running_0" [ style = dashed]
-+"clvmd:3_start_0 <none>" [ style=dashed color="red" fontcolor="black"]
-+"clvmd_start_0 virt-1" -> "clvmd-clone_running_0" [ style = bold]
-+"clvmd_start_0 virt-1" -> "clvmd:1_start_0 virt-2" [ style = bold]
-+"clvmd_start_0 virt-1" [ style=bold color="green" fontcolor="black"]
-+"clvmd_stop_0 virt-1" -> "all_stopped" [ style = bold]
-+"clvmd_stop_0 virt-1" -> "clvmd-clone_stopped_0" [ style = bold]
-+"clvmd_stop_0 virt-1" -> "clvmd_start_0 virt-1" [ style = bold]
-+"clvmd_stop_0 virt-1" -> "dlm_stop_0 virt-1" [ style = bold]
-+"clvmd_stop_0 virt-1" [ style=bold color="green" fontcolor="black"]
-+"dlm-clone_running_0" -> "clvmd-clone_start_0" [ style = bold]
-+"dlm-clone_running_0" [ style=bold color="green" fontcolor="orange"]
-+"dlm-clone_start_0" -> "dlm-clone_running_0" [ style = bold]
-+"dlm-clone_start_0" -> "dlm:2_start_0 virt-3" [ style = bold]
-+"dlm-clone_start_0" -> "dlm_start_0 virt-1" [ style = bold]
-+"dlm-clone_start_0" -> "dlm_start_0 virt-2" [ style = bold]
-+"dlm-clone_start_0" [ style=bold color="green" fontcolor="orange"]
-+"dlm-clone_stop_0" -> "dlm-clone_stopped_0" [ style = bold]
-+"dlm-clone_stop_0" -> "dlm_stop_0 virt-1" [ style = bold]
-+"dlm-clone_stop_0" -> "dlm_stop_0 virt-2" [ style = bold]
-+"dlm-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
-+"dlm-clone_stopped_0" -> "dlm-clone_start_0" [ style = bold]
-+"dlm-clone_stopped_0" -> "stonith 'on' virt-1" [ style = bold]
-+"dlm-clone_stopped_0" -> "stonith 'on' virt-2" [ style = bold]
-+"dlm-clone_stopped_0" -> "stonith 'on' virt-3" [ style = bold]
-+"dlm-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
-+"dlm:2_monitor_0 virt-3" -> "probe_complete virt-3" [ style = bold]
-+"dlm:2_monitor_0 virt-3" -> "stonith 'on' virt-3" [ style = bold]
-+"dlm:2_monitor_0 virt-3" [ style=bold color="green" fontcolor="black"]
-+"dlm:2_start_0 virt-3" -> "clvmd:2_start_0 virt-3" [ style = bold]
-+"dlm:2_start_0 virt-3" -> "dlm-clone_running_0" [ style = bold]
-+"dlm:2_start_0 virt-3" [ style=bold color="green" fontcolor="black"]
-+"dlm_start_0 virt-1" -> "clvmd_start_0 virt-1" [ style = bold]
-+"dlm_start_0 virt-1" -> "dlm-clone_running_0" [ style = bold]
-+"dlm_start_0 virt-1" -> "dlm_start_0 virt-2" [ style = bold]
-+"dlm_start_0 virt-1" [ style=bold color="green" fontcolor="black"]
-+"dlm_start_0 virt-2" -> "clvmd:1_start_0 virt-2" [ style = bold]
-+"dlm_start_0 virt-2" -> "clvmd:3_start_0 <none>" [ style = dashed]
-+"dlm_start_0 virt-2" -> "dlm-clone_running_0" [ style = bold]
-+"dlm_start_0 virt-2" -> "dlm:2_start_0 virt-3" [ style = bold]
-+"dlm_start_0 virt-2" [ style=bold color="green" fontcolor="black"]
-+"dlm_stop_0 virt-1" -> "all_stopped" [ style = bold]
-+"dlm_stop_0 virt-1" -> "dlm-clone_stopped_0" [ style = bold]
-+"dlm_stop_0 virt-1" -> "dlm_start_0 virt-1" [ style = bold]
-+"dlm_stop_0 virt-1" [ style=bold color="green" fontcolor="black"]
-+"dlm_stop_0 virt-2" -> "all_stopped" [ style = bold]
-+"dlm_stop_0 virt-2" -> "dlm-clone_stopped_0" [ style = bold]
-+"dlm_stop_0 virt-2" -> "dlm_start_0 virt-2" [ style = bold]
-+"dlm_stop_0 virt-2" -> "dlm_stop_0 virt-1" [ style = bold]
-+"dlm_stop_0 virt-2" [ style=bold color="green" fontcolor="black"]
-+"fencing_monitor_0 virt-3" -> "probe_complete virt-3" [ style = bold]
-+"fencing_monitor_0 virt-3" [ style=bold color="green" fontcolor="black"]
-+"fencing_start_0 virt-1" [ style=bold color="green" fontcolor="black"]
-+"fencing_stop_0 virt-1" -> "all_stopped" [ style = bold]
-+"fencing_stop_0 virt-1" -> "fencing_start_0 virt-1" [ style = bold]
-+"fencing_stop_0 virt-1" [ style=bold color="green" fontcolor="black"]
-+"probe_complete virt-1" -> "probe_complete" [ style = bold]
-+"probe_complete virt-1" [ style=bold color="green" fontcolor="black"]
-+"probe_complete virt-2" -> "probe_complete" [ style = bold]
-+"probe_complete virt-2" [ style=bold color="green" fontcolor="black"]
-+"probe_complete virt-3" -> "probe_complete" [ style = bold]
-+"probe_complete virt-3" [ style=bold color="green" fontcolor="black"]
-+"probe_complete" -> "clvmd:1_start_0 virt-2" [ style = bold]
-+"probe_complete" -> "clvmd:2_start_0 virt-3" [ style = bold]
-+"probe_complete" -> "clvmd:3_start_0 <none>" [ style = dashed]
-+"probe_complete" -> "clvmd_start_0 virt-1" [ style = bold]
-+"probe_complete" -> "clvmd_stop_0 virt-1" [ style = bold]
-+"probe_complete" -> "dlm:2_start_0 virt-3" [ style = bold]
-+"probe_complete" -> "dlm_start_0 virt-1" [ style = bold]
-+"probe_complete" -> "dlm_start_0 virt-2" [ style = bold]
-+"probe_complete" -> "dlm_stop_0 virt-1" [ style = bold]
-+"probe_complete" -> "dlm_stop_0 virt-2" [ style = bold]
-+"probe_complete" -> "fencing_start_0 virt-1" [ style = bold]
-+"probe_complete" -> "fencing_stop_0 virt-1" [ style = bold]
-+"probe_complete" [ style=bold color="green" fontcolor="orange"]
-+"stonith 'on' virt-1" -> "clvmd-clone_start_0" [ style = bold]
-+"stonith 'on' virt-1" -> "dlm-clone_start_0" [ style = bold]
-+"stonith 'on' virt-1" [ style=bold color="green" fontcolor="black"]
-+"stonith 'on' virt-2" -> "clvmd-clone_start_0" [ style = bold]
-+"stonith 'on' virt-2" -> "dlm-clone_start_0" [ style = bold]
-+"stonith 'on' virt-2" [ style=bold color="green" fontcolor="black"]
-+"stonith 'on' virt-3" -> "clvmd-clone_start_0" [ style = bold]
-+"stonith 'on' virt-3" -> "dlm-clone_start_0" [ style = bold]
-+"stonith 'on' virt-3" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' virt-4" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' virt-4" [ style=bold color="green" fontcolor="black"]
-+"stonith_complete" -> "all_stopped" [ style = bold]
-+"stonith_complete" -> "clvmd:1_start_0 virt-2" [ style = bold]
-+"stonith_complete" -> "clvmd:2_start_0 virt-3" [ style = bold]
-+"stonith_complete" -> "clvmd_start_0 virt-1" [ style = bold]
-+"stonith_complete" -> "dlm:2_start_0 virt-3" [ style = bold]
-+"stonith_complete" -> "dlm_start_0 virt-1" [ style = bold]
-+"stonith_complete" -> "dlm_start_0 virt-2" [ style = bold]
-+"stonith_complete" [ style=bold color="green" fontcolor="orange"]
-+}
-diff --git a/pengine/test10/unfence-parameters.exp b/pengine/test10/unfence-parameters.exp
-new file mode 100644
-index 0000000..491d78e
---- /dev/null
-+++ b/pengine/test10/unfence-parameters.exp
-@@ -0,0 +1,562 @@
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
-+  <synapse id="0">
-+    <action_set>
-+      <rsc_op id="15" operation="stop" operation_key="fencing_stop_0" on_node="virt-1" on_node_uuid="1">
-+        <primitive id="fencing" class="stonith" type="fence_scsi"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="1">
-+    <action_set>
-+      <rsc_op id="12" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3">
-+        <primitive id="fencing" class="stonith" type="fence_scsi"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="2">
-+    <action_set>
-+      <rsc_op id="6" operation="start" operation_key="fencing_start_0" on_node="virt-1" on_node_uuid="1">
-+        <primitive id="fencing" class="stonith" type="fence_scsi"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="2" operation="all_stopped" operation_key="all_stopped"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="15" operation="stop" operation_key="fencing_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="3">
-+    <action_set>
-+      <rsc_op id="17" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:0_start_0" on_node="virt-1" on_node_uuid="1">
-+        <primitive id="dlm" long-id="dlm:0" class="ocf" provider="pacemaker" type="controld"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="16" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="21" operation="start" operation_key="dlm-clone_start_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="4">
-+    <action_set>
-+      <rsc_op id="16" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0" on_node="virt-1" on_node_uuid="1">
-+        <primitive id="dlm" long-id="dlm:0" class="ocf" provider="pacemaker" type="controld"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="18" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:1_stop_0" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="23" operation="stop" operation_key="dlm-clone_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="25" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="5">
-+    <action_set>
-+      <rsc_op id="19" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:1_start_0" on_node="virt-2" on_node_uuid="2">
-+        <primitive id="dlm" long-id="dlm:1" class="ocf" provider="pacemaker" type="controld"/>
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="17" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:0_start_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="18" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:1_stop_0" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="21" operation="start" operation_key="dlm-clone_start_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="6">
-+    <action_set>
-+      <rsc_op id="18" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:1_stop_0" on_node="virt-2" on_node_uuid="2">
-+        <primitive id="dlm" long-id="dlm:1" class="ocf" provider="pacemaker" type="controld"/>
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="23" operation="stop" operation_key="dlm-clone_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="7">
-+    <action_set>
-+      <rsc_op id="20" operation="start" operation_key="dlm:2_start_0" on_node="virt-3" on_node_uuid="3">
-+        <primitive id="dlm" long-id="dlm:2" class="ocf" provider="pacemaker" type="controld"/>
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="19" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:1_start_0" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="21" operation="start" operation_key="dlm-clone_start_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="8">
-+    <action_set>
-+      <rsc_op id="13" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3">
-+        <primitive id="dlm" long-id="dlm:2" class="ocf" provider="pacemaker" type="controld"/>
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="9" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="24" operation="stopped" operation_key="dlm-clone_stopped_0">
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="16" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="18" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:1_stop_0" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="23" operation="stop" operation_key="dlm-clone_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="10">
-+    <action_set>
-+      <pseudo_event id="23" operation="stop" operation_key="dlm-clone_stop_0">
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="32" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="11" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="22" operation="running" operation_key="dlm-clone_running_0">
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="17" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:0_start_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="19" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:1_start_0" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="20" operation="start" operation_key="dlm:2_start_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="21" operation="start" operation_key="dlm-clone_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="12">
-+    <action_set>
-+      <pseudo_event id="21" operation="start" operation_key="dlm-clone_start_0">
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <crm_event id="1" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <crm_event id="3" operation="stonith" operation_key="stonith-virt-2-on" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="24" operation="stopped" operation_key="dlm-clone_stopped_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="13">
-+    <action_set>
-+      <rsc_op id="26" operation="start" operation_key="clvmd_start_0" internal_operation_key="clvmd:0_start_0" on_node="virt-1" on_node_uuid="1">
-+        <primitive id="clvmd" long-id="clvmd:0" class="ocf" provider="heartbeat" type="clvm"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="17" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:0_start_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="25" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="29" operation="start" operation_key="clvmd-clone_start_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="14">
-+    <action_set>
-+      <rsc_op id="25" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1">
-+        <primitive id="clvmd" long-id="clvmd:0" class="ocf" provider="heartbeat" type="clvm"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="31" operation="stop" operation_key="clvmd-clone_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="15">
-+    <action_set>
-+      <rsc_op id="27" operation="start" operation_key="clvmd:1_start_0" on_node="virt-2" on_node_uuid="2">
-+        <primitive id="clvmd" long-id="clvmd:1" class="ocf" provider="heartbeat" type="clvm"/>
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="19" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:1_start_0" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="26" operation="start" operation_key="clvmd_start_0" internal_operation_key="clvmd:0_start_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="29" operation="start" operation_key="clvmd-clone_start_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="16">
-+    <action_set>
-+      <rsc_op id="10" operation="monitor" operation_key="clvmd:1_monitor_0" on_node="virt-2" on_node_uuid="2">
-+        <primitive id="clvmd" long-id="clvmd:1" class="ocf" provider="heartbeat" type="clvm"/>
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="17">
-+    <action_set>
-+      <rsc_op id="28" operation="start" operation_key="clvmd:2_start_0" on_node="virt-3" on_node_uuid="3">
-+        <primitive id="clvmd" long-id="clvmd:2" class="ocf" provider="heartbeat" type="clvm"/>
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="20" operation="start" operation_key="dlm:2_start_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="27" operation="start" operation_key="clvmd:1_start_0" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="29" operation="start" operation_key="clvmd-clone_start_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="18">
-+    <action_set>
-+      <rsc_op id="14" operation="monitor" operation_key="clvmd:2_monitor_0" on_node="virt-3" on_node_uuid="3">
-+        <primitive id="clvmd" long-id="clvmd:2" class="ocf" provider="heartbeat" type="clvm"/>
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="19" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="32" operation="stopped" operation_key="clvmd-clone_stopped_0">
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="25" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="31" operation="stop" operation_key="clvmd-clone_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="20">
-+    <action_set>
-+      <pseudo_event id="31" operation="stop" operation_key="clvmd-clone_stop_0">
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="21" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="30" operation="running" operation_key="clvmd-clone_running_0">
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="26" operation="start" operation_key="clvmd_start_0" internal_operation_key="clvmd:0_start_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="27" operation="start" operation_key="clvmd:1_start_0" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="28" operation="start" operation_key="clvmd:2_start_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="29" operation="start" operation_key="clvmd-clone_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="22">
-+    <action_set>
-+      <pseudo_event id="29" operation="start" operation_key="clvmd-clone_start_0">
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <crm_event id="1" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <crm_event id="3" operation="stonith" operation_key="stonith-virt-2-on" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="22" operation="running" operation_key="dlm-clone_running_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="32" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="23">
-+    <action_set>
-+      <crm_event id="34" operation="stonith" operation_key="stonith-virt-4-reboot" on_node="virt-4" on_node_uuid="4">
-+        <attributes CRM_meta_on_node="virt-4" CRM_meta_on_node_uuid="4" CRM_meta_stonith_action="reboot" />
-+      </crm_event>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="24">
-+    <action_set>
-+      <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <crm_event id="34" operation="stonith" operation_key="stonith-virt-4-reboot" on_node="virt-4" on_node_uuid="4"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="25" priority="1000000">
-+    <action_set>
-+      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-virt-3" on_node="virt-3" on_node_uuid="3">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="12" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="13" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="14" operation="monitor" operation_key="clvmd:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="26" priority="1000000">
-+    <action_set>
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-virt-2" on_node="virt-2" on_node_uuid="2">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="10" operation="monitor" operation_key="clvmd:1_monitor_0" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="27" priority="1000000">
-+    <action_set>
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-virt-1" on_node="virt-1" on_node_uuid="1">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="28">
-+    <action_set>
-+      <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-virt-1" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-virt-2" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-virt-3" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="29">
-+    <action_set>
-+      <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3">
-+        <attributes CRM_meta_on_node="virt-3" CRM_meta_on_node_uuid="3" CRM_meta_stonith_action="on" />
-+      </crm_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="13" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="14" operation="monitor" operation_key="clvmd:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="24" operation="stopped" operation_key="dlm-clone_stopped_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="32" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="30">
-+    <action_set>
-+      <crm_event id="3" operation="stonith" operation_key="stonith-virt-2-on" on_node="virt-2" on_node_uuid="2">
-+        <attributes CRM_meta_on_node="virt-2" CRM_meta_on_node_uuid="2" CRM_meta_stonith_action="on" />
-+      </crm_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="10" operation="monitor" operation_key="clvmd:1_monitor_0" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="24" operation="stopped" operation_key="dlm-clone_stopped_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="32" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="31">
-+    <action_set>
-+      <pseudo_event id="2" operation="all_stopped" operation_key="all_stopped">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="15" operation="stop" operation_key="fencing_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="16" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="18" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:1_stop_0" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="25" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="32">
-+    <action_set>
-+      <crm_event id="1" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1">
-+        <attributes CRM_meta_on_node="virt-1" CRM_meta_on_node_uuid="1" CRM_meta_stonith_action="on" />
-+      </crm_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="24" operation="stopped" operation_key="dlm-clone_stopped_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="32" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+</transition_graph>
-diff --git a/pengine/test10/unfence-parameters.summary b/pengine/test10/unfence-parameters.summary
-new file mode 100644
-index 0000000..17bbc62
---- /dev/null
-+++ b/pengine/test10/unfence-parameters.summary
-@@ -0,0 +1,66 @@
-+
-+Current cluster status:
-+Node virt-4 (4): UNCLEAN (offline)
-+Online: [ virt-1 virt-2 virt-3 ]
-+
-+ fencing	(stonith:fence_scsi):	Started virt-1 
-+ Clone Set: dlm-clone [dlm]
-+     Started: [ virt-1 virt-2 ]
-+     Stopped: [ virt-3 virt-4 ]
-+ Clone Set: clvmd-clone [clvmd]
-+     Started: [ virt-1 ]
-+     Stopped: [ virt-2 virt-3 virt-4 ]
-+
-+Transition Summary:
-+ * Restart fencing	(Started virt-1)
-+ * Restart dlm:0	(Started virt-1)
-+ * Restart dlm:1	(Started virt-2)
-+ * Start   dlm:2	(virt-3)
-+ * Restart clvmd:0	(Started virt-1)
-+ * Start   clvmd:1	(virt-2)
-+ * Start   clvmd:2	(virt-3)
-+
-+Executing cluster transition:
-+ * Resource action: fencing         monitor on virt-3
-+ * Resource action: dlm             monitor on virt-3
-+ * Resource action: clvmd           monitor on virt-2
-+ * Resource action: clvmd           monitor on virt-3
-+ * Pseudo action:   clvmd-clone_stop_0
-+ * Fencing virt-4 (reboot)
-+ * Pseudo action:   stonith_complete
-+ * Pseudo action:   probe_complete
-+ * Resource action: fencing         stop on virt-1
-+ * Resource action: clvmd           stop on virt-1
-+ * Pseudo action:   clvmd-clone_stopped_0
-+ * Pseudo action:   dlm-clone_stop_0
-+ * Resource action: dlm             stop on virt-2
-+ * Resource action: dlm             stop on virt-1
-+ * Pseudo action:   dlm-clone_stopped_0
-+ * Fencing virt-3 (on)
-+ * Fencing virt-2 (on)
-+ * Pseudo action:   all_stopped
-+ * Fencing virt-1 (on)
-+ * Resource action: fencing         start on virt-1
-+ * Pseudo action:   dlm-clone_start_0
-+ * Resource action: dlm             start on virt-1
-+ * Resource action: dlm             start on virt-2
-+ * Resource action: dlm             start on virt-3
-+ * Pseudo action:   dlm-clone_running_0
-+ * Pseudo action:   clvmd-clone_start_0
-+ * Resource action: clvmd           start on virt-1
-+ * Resource action: clvmd           start on virt-2
-+ * Resource action: clvmd           start on virt-3
-+ * Pseudo action:   clvmd-clone_running_0
-+
-+Revised cluster status:
-+Online: [ virt-1 virt-2 virt-3 ]
-+OFFLINE: [ virt-4 ]
-+
-+ fencing	(stonith:fence_scsi):	Started virt-1 
-+ Clone Set: dlm-clone [dlm]
-+     Started: [ virt-1 virt-2 virt-3 ]
-+     Stopped: [ virt-4 ]
-+ Clone Set: clvmd-clone [clvmd]
-+     Started: [ virt-1 virt-2 virt-3 ]
-+     Stopped: [ virt-4 ]
-+
-diff --git a/pengine/test10/unfence-startup.dot b/pengine/test10/unfence-startup.dot
-new file mode 100644
-index 0000000..a5cc606
---- /dev/null
-+++ b/pengine/test10/unfence-startup.dot
-@@ -0,0 +1,51 @@
-+digraph "g" {
-+"all_stopped" [ style=bold color="green" fontcolor="orange"]
-+"clvmd-clone_running_0" [ style=bold color="green" fontcolor="orange"]
-+"clvmd-clone_start_0" -> "clvmd-clone_running_0" [ style = bold]
-+"clvmd-clone_start_0" -> "clvmd:1_start_0 virt-2" [ style = bold]
-+"clvmd-clone_start_0" -> "clvmd:2_start_0 virt-3" [ style = bold]
-+"clvmd-clone_start_0" [ style=bold color="green" fontcolor="orange"]
-+"clvmd:1_monitor_0 virt-2" -> "probe_complete virt-2" [ style = bold]
-+"clvmd:1_monitor_0 virt-2" [ style=bold color="green" fontcolor="black"]
-+"clvmd:1_start_0 virt-2" -> "clvmd-clone_running_0" [ style = bold]
-+"clvmd:1_start_0 virt-2" -> "clvmd:2_start_0 virt-3" [ style = bold]
-+"clvmd:1_start_0 virt-2" [ style=bold color="green" fontcolor="black"]
-+"clvmd:2_monitor_0 virt-3" -> "probe_complete virt-3" [ style = bold]
-+"clvmd:2_monitor_0 virt-3" -> "stonith 'on' virt-3" [ style = bold]
-+"clvmd:2_monitor_0 virt-3" [ style=bold color="green" fontcolor="black"]
-+"clvmd:2_start_0 virt-3" -> "clvmd-clone_running_0" [ style = bold]
-+"clvmd:2_start_0 virt-3" [ style=bold color="green" fontcolor="black"]
-+"dlm-clone_running_0" -> "clvmd-clone_start_0" [ style = bold]
-+"dlm-clone_running_0" [ style=bold color="green" fontcolor="orange"]
-+"dlm-clone_start_0" -> "dlm-clone_running_0" [ style = bold]
-+"dlm-clone_start_0" -> "dlm:2_start_0 virt-3" [ style = bold]
-+"dlm-clone_start_0" [ style=bold color="green" fontcolor="orange"]
-+"dlm:2_monitor_0 virt-3" -> "probe_complete virt-3" [ style = bold]
-+"dlm:2_monitor_0 virt-3" -> "stonith 'on' virt-3" [ style = bold]
-+"dlm:2_monitor_0 virt-3" [ style=bold color="green" fontcolor="black"]
-+"dlm:2_start_0 virt-3" -> "clvmd:2_start_0 virt-3" [ style = bold]
-+"dlm:2_start_0 virt-3" -> "dlm-clone_running_0" [ style = bold]
-+"dlm:2_start_0 virt-3" [ style=bold color="green" fontcolor="black"]
-+"fencing_monitor_0 virt-3" -> "probe_complete virt-3" [ style = bold]
-+"fencing_monitor_0 virt-3" [ style=bold color="green" fontcolor="black"]
-+"probe_complete virt-1" -> "probe_complete" [ style = bold]
-+"probe_complete virt-1" [ style=bold color="green" fontcolor="black"]
-+"probe_complete virt-2" -> "probe_complete" [ style = bold]
-+"probe_complete virt-2" [ style=bold color="green" fontcolor="black"]
-+"probe_complete virt-3" -> "probe_complete" [ style = bold]
-+"probe_complete virt-3" [ style=bold color="green" fontcolor="black"]
-+"probe_complete" -> "clvmd:1_start_0 virt-2" [ style = bold]
-+"probe_complete" -> "clvmd:2_start_0 virt-3" [ style = bold]
-+"probe_complete" -> "dlm:2_start_0 virt-3" [ style = bold]
-+"probe_complete" [ style=bold color="green" fontcolor="orange"]
-+"stonith 'on' virt-3" -> "clvmd-clone_start_0" [ style = bold]
-+"stonith 'on' virt-3" -> "dlm-clone_start_0" [ style = bold]
-+"stonith 'on' virt-3" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' virt-4" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' virt-4" [ style=bold color="green" fontcolor="black"]
-+"stonith_complete" -> "all_stopped" [ style = bold]
-+"stonith_complete" -> "clvmd:1_start_0 virt-2" [ style = bold]
-+"stonith_complete" -> "clvmd:2_start_0 virt-3" [ style = bold]
-+"stonith_complete" -> "dlm:2_start_0 virt-3" [ style = bold]
-+"stonith_complete" [ style=bold color="green" fontcolor="orange"]
-+}
-diff --git a/pengine/test10/unfence-startup.exp b/pengine/test10/unfence-startup.exp
-new file mode 100644
-index 0000000..8a04d54
---- /dev/null
-+++ b/pengine/test10/unfence-startup.exp
-@@ -0,0 +1,264 @@
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
-+  <synapse id="0">
-+    <action_set>
-+      <rsc_op id="11" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3">
-+        <primitive id="fencing" class="stonith" type="fence_scsi"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="1">
-+    <action_set>
-+      <rsc_op id="20" operation="start" operation_key="dlm:2_start_0" on_node="virt-3" on_node_uuid="3">
-+        <primitive id="dlm" long-id="dlm:2" class="ocf" provider="pacemaker" type="controld"/>
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="21" operation="start" operation_key="dlm-clone_start_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="2">
-+    <action_set>
-+      <rsc_op id="12" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3">
-+        <primitive id="dlm" long-id="dlm:2" class="ocf" provider="pacemaker" type="controld"/>
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="3" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="22" operation="running" operation_key="dlm-clone_running_0">
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="20" operation="start" operation_key="dlm:2_start_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="21" operation="start" operation_key="dlm-clone_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="4">
-+    <action_set>
-+      <pseudo_event id="21" operation="start" operation_key="dlm-clone_start_0">
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="5">
-+    <action_set>
-+      <rsc_op id="27" operation="start" operation_key="clvmd:1_start_0" on_node="virt-2" on_node_uuid="2">
-+        <primitive id="clvmd" long-id="clvmd:1" class="ocf" provider="heartbeat" type="clvm"/>
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="29" operation="start" operation_key="clvmd-clone_start_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="6">
-+    <action_set>
-+      <rsc_op id="9" operation="monitor" operation_key="clvmd:1_monitor_0" on_node="virt-2" on_node_uuid="2">
-+        <primitive id="clvmd" long-id="clvmd:1" class="ocf" provider="heartbeat" type="clvm"/>
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="7">
-+    <action_set>
-+      <rsc_op id="28" operation="start" operation_key="clvmd:2_start_0" on_node="virt-3" on_node_uuid="3">
-+        <primitive id="clvmd" long-id="clvmd:2" class="ocf" provider="heartbeat" type="clvm"/>
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="20" operation="start" operation_key="dlm:2_start_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="27" operation="start" operation_key="clvmd:1_start_0" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="29" operation="start" operation_key="clvmd-clone_start_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="8">
-+    <action_set>
-+      <rsc_op id="13" operation="monitor" operation_key="clvmd:2_monitor_0" on_node="virt-3" on_node_uuid="3">
-+        <primitive id="clvmd" long-id="clvmd:2" class="ocf" provider="heartbeat" type="clvm"/>
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="9" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="30" operation="running" operation_key="clvmd-clone_running_0">
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="27" operation="start" operation_key="clvmd:1_start_0" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="28" operation="start" operation_key="clvmd:2_start_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="29" operation="start" operation_key="clvmd-clone_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="10">
-+    <action_set>
-+      <pseudo_event id="29" operation="start" operation_key="clvmd-clone_start_0">
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="22" operation="running" operation_key="dlm-clone_running_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="11">
-+    <action_set>
-+      <crm_event id="34" operation="stonith" operation_key="stonith-virt-4-reboot" on_node="virt-4" on_node_uuid="4">
-+        <attributes CRM_meta_on_node="virt-4" CRM_meta_on_node_uuid="4" CRM_meta_stonith_action="reboot" />
-+      </crm_event>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="12">
-+    <action_set>
-+      <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <crm_event id="34" operation="stonith" operation_key="stonith-virt-4-reboot" on_node="virt-4" on_node_uuid="4"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="13" priority="1000000">
-+    <action_set>
-+      <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-virt-3" on_node="virt-3" on_node_uuid="3">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="11" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="12" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="13" operation="monitor" operation_key="clvmd:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="14" priority="1000000">
-+    <action_set>
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-virt-2" on_node="virt-2" on_node_uuid="2">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="9" operation="monitor" operation_key="clvmd:1_monitor_0" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="15" priority="1000000">
-+    <action_set>
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-virt-1" on_node="virt-1" on_node_uuid="1">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="16">
-+    <action_set>
-+      <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-virt-1" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-virt-2" on_node="virt-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-virt-3" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="17">
-+    <action_set>
-+      <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3">
-+        <attributes CRM_meta_on_node="virt-3" CRM_meta_on_node_uuid="3" CRM_meta_stonith_action="on" />
-+      </crm_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="12" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="13" operation="monitor" operation_key="clvmd:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="18">
-+    <action_set>
-+      <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+</transition_graph>
-diff --git a/pengine/test10/unfence-startup.xml b/pengine/test10/unfence-startup.xml
-new file mode 100644
-index 0000000..83e9ffe
---- /dev/null
-+++ b/pengine/test10/unfence-startup.xml
-@@ -0,0 +1,73 @@
-+<cib epoch="17" num_updates="25" admin_epoch="0" validate-with="pacemaker-1.2" cib-last-written="Wed Mar 19 19:51:25 2014" update-origin="virt-009.cluster-qe.lab.eng.brq.redhat.com" update-client="crm_resource" crm_feature_set="3.0.7" have-quorum="1" dc-uuid="8">
-+  <configuration>
-+    <crm_config>
-+      <cluster_property_set id="cib-bootstrap-options">
-+        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.10-27.el7-368c726"/>
-+        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
-+        <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="freeze"/>
-+      </cluster_property_set>
-+    </crm_config>
-+    <nodes>
-+      <node id="1" uname="virt-1"/>
-+      <node id="2" uname="virt-2"/>
-+      <node id="3" uname="virt-3"/>
-+      <node id="4" uname="virt-4"/>
-+    </nodes>
-+    <resources>
-+      <primitive class="stonith" id="fencing" type="fence_scsi">
-+        <meta_attributes id="stonith-meta">
-+          <nvpair id="stonith-unfence" name="provides" value="unfencing"/>
-+        </meta_attributes>
-+      </primitive>
-+      <clone id="dlm-clone">
-+        <primitive class="ocf" id="dlm" provider="pacemaker" type="controld"/>
-+        <meta_attributes id="dlm-clone-meta">
-+          <nvpair id="dlm-interleave" name="interleave" value="true"/>
-+          <nvpair id="dlm-ordered" name="ordered" value="true"/>
-+        </meta_attributes>
-+      </clone>
-+      <clone id="clvmd-clone">
-+        <primitive class="ocf" id="clvmd" provider="heartbeat" type="clvm"/>
-+        <meta_attributes id="clvmd-clone-meta">
-+          <nvpair id="clvmd-interleave" name="interleave" value="true"/>
-+          <nvpair id="clvmd-ordered" name="ordered" value="true"/>
-+        </meta_attributes>
-+      </clone>
-+    </resources>
-+    <constraints>
-+      <rsc_order first="dlm-clone" first-action="start" id="order-dlm-clone-clvmd-clone-mandatory" then="clvmd-clone" then-action="start"/>
-+      <rsc_colocation id="colocation-clvmd-clone-dlm-clone-INFINITY" rsc="clvmd-clone" score="INFINITY" with-rsc="dlm-clone"/>
-+    </constraints>
-+  </configuration>
-+  <status>
-+    <node_state id="1" uname="virt-1" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member">
-+      <lrm id="1">
-+        <lrm_resources>
-+          <lrm_resource id="fencing" type="fence_scsi" class="stonith">
-+            <lrm_rsc_op id="fencing_last_0" operation_key="fencing_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="23:8:0:d45f7bbd-8249-4af5-8120-a9199830d27a" transition-magic="0:0;23:8:0:d45f7bbd-8249-4af5-8120-a9199830d27a" call-id="26" rc-code="0" op-status="0" interval="0" last-run="1395255112" last-rc-change="1395255112" exec-time="1047" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+          <lrm_resource id="dlm" type="controld" class="ocf" provider="pacemaker">
-+            <lrm_rsc_op id="dlm_last_0" operation_key="dlm_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="22:7:0:d45f7bbd-8249-4af5-8120-a9199830d27a" transition-magic="0:0;22:7:0:d45f7bbd-8249-4af5-8120-a9199830d27a" call-id="24" rc-code="0" op-status="0" interval="0" last-run="1395255085" last-rc-change="1395255085" exec-time="1102" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+          <lrm_resource id="clvmd" type="clvm" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="clvmd_last_0" operation_key="clvmd_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="9:2:0:d45f7bbd-8249-4af5-8120-a9199830d27a" transition-magic="0:0;9:2:0:d45f7bbd-8249-4af5-8120-a9199830d27a" call-id="15" rc-code="0" op-status="0" interval="0" last-run="1395254324" last-rc-change="1395254324" exec-time="214" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+        </lrm_resources>
-+      </lrm>
-+    </node_state>
-+    <node_state id="2" uname="virt-2" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member">
-+      <lrm id="2">
-+        <lrm_resources>
-+          <lrm_resource id="fencing" type="fence_scsi" class="stonith">
-+            <lrm_rsc_op id="fencing_last_0" operation_key="fencing_status_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="23:8:7:d45f7bbd-8249-4af5-8120-a9199830d27a" transition-magic="0:0;23:8:0:d45f7bbd-8249-4af5-8120-a9199830d27a" call-id="26" rc-code="7" op-status="0" interval="0" last-run="1395255112" last-rc-change="1395255112" exec-time="1047" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+          <lrm_resource id="dlm" type="controld" class="ocf" provider="pacemaker">
-+            <lrm_rsc_op id="dlm_last_0" operation_key="dlm_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="22:7:0:d45f7bbd-8249-4af5-8120-a9199830d27a" transition-magic="0:0;22:7:0:d45f7bbd-8249-4af5-8120-a9199830d27a" call-id="24" rc-code="0" op-status="0" interval="0" last-run="1395255085" last-rc-change="1395255085" exec-time="1102" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+        </lrm_resources>
-+      </lrm>
-+    </node_state>
-+    <node_state id="3" uname="virt-3" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member"/>
-+  </status>
-+</cib>
-+
diff --git a/SOURCES/bz1078078-pcmk-pe_do_not_unfence_nodes_that_are_offline_unclean_or_shutting_down.patch b/SOURCES/bz1078078-pcmk-pe_do_not_unfence_nodes_that_are_offline_unclean_or_shutting_down.patch
deleted file mode 100644
index 6fce78c..0000000
--- a/SOURCES/bz1078078-pcmk-pe_do_not_unfence_nodes_that_are_offline_unclean_or_shutting_down.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-commit c2fd34cb2f81e795dae211466edd270613cb6543
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Thu Apr 10 14:50:19 2014 +1000
-
-    Fix: PE: Do not unfence nodes that are offline, unclean or shutting down
-    
-    (cherry picked from commit 12c410557f7685366d8504e57e555624bc6f2a07)
-
-diff --git a/lib/pengine/utils.c b/lib/pengine/utils.c
-index 9cb744a..ccaaa3f 100644
---- a/lib/pengine/utils.c
-+++ b/lib/pengine/utils.c
-@@ -1877,7 +1877,10 @@ trigger_unfencing(
-         /* Wasnt a stonith device */
-         return;
- 
--    } else if(node) {
-+    } else if(node
-+              && node->details->online
-+              && node->details->unclean == FALSE
-+              && node->details->shutdown == FALSE) {
-         action_t *unfence = pe_fence_op(node, "on", FALSE, data_set);
- 
-         crm_notice("Unfencing %s: %s", node->details->uname, reason);
diff --git a/SOURCES/bz1078078-pcmk-pe_ensure_actions_like_shutdown_and_fence_have_a_unique_key.patch b/SOURCES/bz1078078-pcmk-pe_ensure_actions_like_shutdown_and_fence_have_a_unique_key.patch
deleted file mode 100644
index 2a57c2b..0000000
--- a/SOURCES/bz1078078-pcmk-pe_ensure_actions_like_shutdown_and_fence_have_a_unique_key.patch
+++ /dev/null
@@ -1,15241 +0,0 @@
-commit 4b390749bf42df944402e2530a27521e89a45682
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Apr 2 15:24:21 2014 +1100
-
-    Refactor: PE: Ensure actions like shutdown and fence have a unique key
-    
-    (cherry picked from commit 30bb942116c8e9a1e0ace47a98a0447889407d50)
-    
-    Conflicts:
-    	pengine/regression.sh
-    	pengine/test10/11-a-then-bm-b-move-a-clone-starting.exp
-    	pengine/test10/594.exp
-    	pengine/test10/662.exp
-    	pengine/test10/696.exp
-    	pengine/test10/726.exp
-    	pengine/test10/735.exp
-    	pengine/test10/764.exp
-    	pengine/test10/797.exp
-    	pengine/test10/829.exp
-    	pengine/test10/anti-colocation-order.exp
-    	pengine/test10/asymmetric.exp
-    	pengine/test10/attrs1.exp
-    	pengine/test10/attrs2.exp
-    	pengine/test10/attrs3.exp
-    	pengine/test10/attrs4.exp
-    	pengine/test10/attrs5.exp
-    	pengine/test10/attrs6.exp
-    	pengine/test10/attrs7.exp
-    	pengine/test10/attrs8.exp
-    	pengine/test10/balanced.exp
-    	pengine/test10/base-score.exp
-    	pengine/test10/bug-1572-1.exp
-    	pengine/test10/bug-1572-2.exp
-    	pengine/test10/bug-1573.exp
-    	pengine/test10/bug-1820-1.exp
-    	pengine/test10/bug-1820.exp
-    	pengine/test10/bug-1822.exp
-    	pengine/test10/bug-5014-A-start-B-start.exp
-    	pengine/test10/bug-5014-A-stopped-B-stopped.exp
-    	pengine/test10/bug-5014-CLONE-A-start-B-start.exp
-    	pengine/test10/bug-5014-CthenAthenB-C-stopped.exp
-    	pengine/test10/bug-5028-detach.exp
-    	pengine/test10/bug-lf-2160.exp
-    	pengine/test10/bug-lf-2435.exp
-    	pengine/test10/bug-lf-2445.exp
-    	pengine/test10/bug-lf-2581.exp
-    	pengine/test10/bug-lf-2606.exp
-    	pengine/test10/bug-n-387749.exp
-    	pengine/test10/bug-pm-11.exp
-    	pengine/test10/clone-anon-dup.exp
-    	pengine/test10/clone-anon-probe-1.exp
-    	pengine/test10/clone-colocate-instance-1.exp
-    	pengine/test10/clone-colocate-instance-2.exp
-    	pengine/test10/clone-interleave-1.exp
-    	pengine/test10/clone-interleave-2.exp
-    	pengine/test10/clone-interleave-3.exp
-    	pengine/test10/clone-no-shuffle.exp
-    	pengine/test10/clone-order-instance.exp
-    	pengine/test10/clone-order-primitive.exp
-    	pengine/test10/coloc-group.exp
-    	pengine/test10/coloc-list.exp
-    	pengine/test10/coloc-loop.exp
-    	pengine/test10/coloc-many-one.exp
-    	pengine/test10/colocate-primitive-with-clone.exp
-    	pengine/test10/comments.exp
-    	pengine/test10/container-1.exp
-    	pengine/test10/container-2.exp
-    	pengine/test10/container-3.exp
-    	pengine/test10/container-4.exp
-    	pengine/test10/container-group-1.exp
-    	pengine/test10/container-group-2.exp
-    	pengine/test10/container-group-3.exp
-    	pengine/test10/container-group-4.exp
-    	pengine/test10/date-1.exp
-    	pengine/test10/domain.exp
-    	pengine/test10/group-fail.exp
-    	pengine/test10/group-unmanaged-stopped.exp
-    	pengine/test10/group-unmanaged.exp
-    	pengine/test10/group1.exp
-    	pengine/test10/group10.exp
-    	pengine/test10/group11.exp
-    	pengine/test10/group15.exp
-    	pengine/test10/group2.exp
-    	pengine/test10/group3.exp
-    	pengine/test10/group4.exp
-    	pengine/test10/group5.exp
-    	pengine/test10/group6.exp
-    	pengine/test10/group7.exp
-    	pengine/test10/group8.exp
-    	pengine/test10/group9.exp
-    	pengine/test10/honor_stonith_rsc_order1.exp
-    	pengine/test10/honor_stonith_rsc_order2.exp
-    	pengine/test10/honor_stonith_rsc_order3.exp
-    	pengine/test10/honor_stonith_rsc_order4.exp
-    	pengine/test10/ignore_stonith_rsc_order1.exp
-    	pengine/test10/ignore_stonith_rsc_order2.exp
-    	pengine/test10/ignore_stonith_rsc_order3.exp
-    	pengine/test10/ignore_stonith_rsc_order4.exp
-    	pengine/test10/inc0.exp
-    	pengine/test10/inc1.exp
-    	pengine/test10/inc11.exp
-    	pengine/test10/inc12.exp
-    	pengine/test10/inc2.exp
-    	pengine/test10/inc3.exp
-    	pengine/test10/inc4.exp
-    	pengine/test10/inc5.exp
-    	pengine/test10/inc6.exp
-    	pengine/test10/inc7.exp
-    	pengine/test10/inc8.exp
-    	pengine/test10/interleave-0.exp
-    	pengine/test10/interleave-1.exp
-    	pengine/test10/interleave-2.exp
-    	pengine/test10/interleave-3.exp
-    	pengine/test10/location-sets-templates.exp
-    	pengine/test10/managed-0.exp
-    	pengine/test10/managed-1.exp
-    	pengine/test10/managed-2.exp
-    	pengine/test10/master-0.exp
-    	pengine/test10/master-1.exp
-    	pengine/test10/master-10.exp
-    	pengine/test10/master-11.exp
-    	pengine/test10/master-2.exp
-    	pengine/test10/master-3.exp
-    	pengine/test10/master-4.exp
-    	pengine/test10/master-5.exp
-    	pengine/test10/master-6.exp
-    	pengine/test10/master-7.exp
-    	pengine/test10/master-8.exp
-    	pengine/test10/master-9.exp
-    	pengine/test10/master-depend.exp
-    	pengine/test10/master-ordering.exp
-    	pengine/test10/master-probed-score.exp
-    	pengine/test10/master-reattach.exp
-    	pengine/test10/master-stop.exp
-    	pengine/test10/master-unmanaged-monitor.exp
-    	pengine/test10/migrate-1.exp
-    	pengine/test10/migrate-2.exp
-    	pengine/test10/migrate-3.exp
-    	pengine/test10/migrate-4.exp
-    	pengine/test10/migrate-shutdown.exp
-    	pengine/test10/migrate-start-complex.exp
-    	pengine/test10/minimal.exp
-    	pengine/test10/mon-rsc-1.exp
-    	pengine/test10/mon-rsc-2.exp
-    	pengine/test10/mon-rsc-3.exp
-    	pengine/test10/mon-rsc-4.exp
-    	pengine/test10/multi1.exp
-    	pengine/test10/node-maintenance-1.exp
-    	pengine/test10/node-maintenance-2.exp
-    	pengine/test10/notify-0.exp
-    	pengine/test10/notify-1.exp
-    	pengine/test10/notify-2.exp
-    	pengine/test10/notify-3.exp
-    	pengine/test10/novell-239082.exp
-    	pengine/test10/novell-252693-2.exp
-    	pengine/test10/novell-252693-3.exp
-    	pengine/test10/novell-252693.exp
-    	pengine/test10/obsolete-lrm-resource.exp
-    	pengine/test10/one-or-more-0.exp
-    	pengine/test10/one-or-more-1.exp
-    	pengine/test10/one-or-more-2.exp
-    	pengine/test10/one-or-more-3.exp
-    	pengine/test10/one-or-more-4.exp
-    	pengine/test10/one-or-more-5.exp
-    	pengine/test10/order-mandatory.exp
-    	pengine/test10/order-optional-keyword.exp
-    	pengine/test10/order-optional.exp
-    	pengine/test10/order-required.exp
-    	pengine/test10/order-wrong-kind.exp
-    	pengine/test10/order1.exp
-    	pengine/test10/order2.exp
-    	pengine/test10/order3.exp
-    	pengine/test10/order4.exp
-    	pengine/test10/order5.exp
-    	pengine/test10/order6.exp
-    	pengine/test10/order7.exp
-    	pengine/test10/ordered-set-basic-startup.exp
-    	pengine/test10/orphan-0.exp
-    	pengine/test10/orphan-1.exp
-    	pengine/test10/orphan-2.exp
-    	pengine/test10/params-0.exp
-    	pengine/test10/params-1.exp
-    	pengine/test10/params-2.exp
-    	pengine/test10/params-4.exp
-    	pengine/test10/params-5.exp
-    	pengine/test10/per-node-attrs.exp
-    	pengine/test10/placement-capacity.exp
-    	pengine/test10/placement-location.exp
-    	pengine/test10/placement-priority.exp
-    	pengine/test10/placement-stickiness.exp
-    	pengine/test10/probe-0.exp
-    	pengine/test10/probe-1.exp
-    	pengine/test10/probe-timeout.exp
-    	pengine/test10/quorum-1.exp
-    	pengine/test10/quorum-2.exp
-    	pengine/test10/quorum-3.exp
-    	pengine/test10/quorum-4.exp
-    	pengine/test10/quorum-5.exp
-    	pengine/test10/quorum-6.exp
-    	pengine/test10/rec-node-1.exp
-    	pengine/test10/rec-node-10.exp
-    	pengine/test10/rec-node-11.exp
-    	pengine/test10/rec-node-12.exp
-    	pengine/test10/rec-node-15.exp
-    	pengine/test10/rec-node-2.exp
-    	pengine/test10/rec-node-3.exp
-    	pengine/test10/rec-node-4.exp
-    	pengine/test10/rec-node-5.exp
-    	pengine/test10/rec-node-6.exp
-    	pengine/test10/rec-node-7.exp
-    	pengine/test10/rec-node-8.exp
-    	pengine/test10/rec-node-9.exp
-    	pengine/test10/rec-rsc-0.exp
-    	pengine/test10/rec-rsc-1.exp
-    	pengine/test10/rec-rsc-2.exp
-    	pengine/test10/rec-rsc-3.exp
-    	pengine/test10/rec-rsc-4.exp
-    	pengine/test10/rec-rsc-5.exp
-    	pengine/test10/rec-rsc-6.exp
-    	pengine/test10/rec-rsc-7.exp
-    	pengine/test10/rec-rsc-8.exp
-    	pengine/test10/rec-rsc-9.exp
-    	pengine/test10/remote-startup-probes.exp
-    	pengine/test10/remote-startup.exp
-    	pengine/test10/reprobe-target_rc.exp
-    	pengine/test10/rsc-maintenance.exp
-    	pengine/test10/rsc-sets-clone-1.exp
-    	pengine/test10/rsc-sets-clone.exp
-    	pengine/test10/rsc-sets-master.exp
-    	pengine/test10/rsc-sets-seq-false.exp
-    	pengine/test10/rsc-sets-seq-true.exp
-    	pengine/test10/rsc_dep1.exp
-    	pengine/test10/rsc_dep10.exp
-    	pengine/test10/rsc_dep2.exp
-    	pengine/test10/rsc_dep3.exp
-    	pengine/test10/rsc_dep4.exp
-    	pengine/test10/rsc_dep5.exp
-    	pengine/test10/rsc_dep7.exp
-    	pengine/test10/rsc_dep8.exp
-    	pengine/test10/simple11.exp
-    	pengine/test10/simple12.exp
-    	pengine/test10/simple2.exp
-    	pengine/test10/simple3.exp
-    	pengine/test10/simple4.exp
-    	pengine/test10/simple6.exp
-    	pengine/test10/simple7.exp
-    	pengine/test10/simple8.exp
-    	pengine/test10/stonith-3.exp
-    	pengine/test10/stop-failure-no-fencing.exp
-    	pengine/test10/stop-failure-with-fencing.exp
-    	pengine/test10/stopped-monitor-00.exp
-    	pengine/test10/stopped-monitor-01.exp
-    	pengine/test10/stopped-monitor-02.exp
-    	pengine/test10/stopped-monitor-03.exp
-    	pengine/test10/stopped-monitor-04.exp
-    	pengine/test10/stopped-monitor-05.exp
-    	pengine/test10/stopped-monitor-06.exp
-    	pengine/test10/stopped-monitor-07.exp
-    	pengine/test10/stopped-monitor-08.exp
-    	pengine/test10/stopped-monitor-09.exp
-    	pengine/test10/stopped-monitor-10.exp
-    	pengine/test10/stopped-monitor-11.exp
-    	pengine/test10/stopped-monitor-12.exp
-    	pengine/test10/stopped-monitor-20.exp
-    	pengine/test10/stopped-monitor-21.exp
-    	pengine/test10/stopped-monitor-22.exp
-    	pengine/test10/stopped-monitor-23.exp
-    	pengine/test10/stopped-monitor-24.exp
-    	pengine/test10/stopped-monitor-25.exp
-    	pengine/test10/stopped-monitor-26.exp
-    	pengine/test10/stopped-monitor-27.exp
-    	pengine/test10/stopped-monitor-30.exp
-    	pengine/test10/stopped-monitor-31.exp
-    	pengine/test10/systemhealth2.exp
-    	pengine/test10/systemhealth3.exp
-    	pengine/test10/systemhealthm2.exp
-    	pengine/test10/systemhealthm3.exp
-    	pengine/test10/systemhealthn2.exp
-    	pengine/test10/systemhealthn3.exp
-    	pengine/test10/systemhealtho2.exp
-    	pengine/test10/systemhealtho3.exp
-    	pengine/test10/systemhealthp2.exp
-    	pengine/test10/systemhealthp3.exp
-    	pengine/test10/target-0.exp
-    	pengine/test10/target-1.exp
-    	pengine/test10/target-2.exp
-    	pengine/test10/template-1.exp
-    	pengine/test10/template-2.exp
-    	pengine/test10/template-3.exp
-    	pengine/test10/template-clone-group.exp
-    	pengine/test10/template-clone-primitive.exp
-    	pengine/test10/template-coloc-1.exp
-    	pengine/test10/template-coloc-2.exp
-    	pengine/test10/template-coloc-3.exp
-    	pengine/test10/template-order-1.exp
-    	pengine/test10/template-order-2.exp
-    	pengine/test10/template-order-3.exp
-    	pengine/test10/template-rsc-sets-1.exp
-    	pengine/test10/template-rsc-sets-2.exp
-    	pengine/test10/template-rsc-sets-3.exp
-    	pengine/test10/template-rsc-sets-4.exp
-    	pengine/test10/template-ticket.exp
-    	pengine/test10/ticket-clone-1.exp
-    	pengine/test10/ticket-clone-10.exp
-    	pengine/test10/ticket-clone-11.exp
-    	pengine/test10/ticket-clone-12.exp
-    	pengine/test10/ticket-clone-13.exp
-    	pengine/test10/ticket-clone-14.exp
-    	pengine/test10/ticket-clone-15.exp
-    	pengine/test10/ticket-clone-16.exp
-    	pengine/test10/ticket-clone-17.exp
-    	pengine/test10/ticket-clone-18.exp
-    	pengine/test10/ticket-clone-19.exp
-    	pengine/test10/ticket-clone-2.exp
-    	pengine/test10/ticket-clone-20.exp
-    	pengine/test10/ticket-clone-22.exp
-    	pengine/test10/ticket-clone-23.exp
-    	pengine/test10/ticket-clone-24.exp
-    	pengine/test10/ticket-clone-3.exp
-    	pengine/test10/ticket-clone-4.exp
-    	pengine/test10/ticket-clone-5.exp
-    	pengine/test10/ticket-clone-6.exp
-    	pengine/test10/ticket-clone-7.exp
-    	pengine/test10/ticket-clone-8.exp
-    	pengine/test10/ticket-group-1.exp
-    	pengine/test10/ticket-group-10.exp
-    	pengine/test10/ticket-group-11.exp
-    	pengine/test10/ticket-group-12.exp
-    	pengine/test10/ticket-group-13.exp
-    	pengine/test10/ticket-group-14.exp
-    	pengine/test10/ticket-group-15.exp
-    	pengine/test10/ticket-group-16.exp
-    	pengine/test10/ticket-group-17.exp
-    	pengine/test10/ticket-group-18.exp
-    	pengine/test10/ticket-group-19.exp
-    	pengine/test10/ticket-group-2.exp
-    	pengine/test10/ticket-group-20.exp
-    	pengine/test10/ticket-group-21.exp
-    	pengine/test10/ticket-group-22.exp
-    	pengine/test10/ticket-group-23.exp
-    	pengine/test10/ticket-group-24.exp
-    	pengine/test10/ticket-group-3.exp
-    	pengine/test10/ticket-group-4.exp
-    	pengine/test10/ticket-group-5.exp
-    	pengine/test10/ticket-group-6.exp
-    	pengine/test10/ticket-group-7.exp
-    	pengine/test10/ticket-group-8.exp
-    	pengine/test10/ticket-group-9.exp
-    	pengine/test10/ticket-master-1.exp
-    	pengine/test10/ticket-master-10.exp
-    	pengine/test10/ticket-master-11.exp
-    	pengine/test10/ticket-master-12.exp
-    	pengine/test10/ticket-master-13.exp
-    	pengine/test10/ticket-master-14.exp
-    	pengine/test10/ticket-master-15.exp
-    	pengine/test10/ticket-master-16.exp
-    	pengine/test10/ticket-master-17.exp
-    	pengine/test10/ticket-master-18.exp
-    	pengine/test10/ticket-master-19.exp
-    	pengine/test10/ticket-master-2.exp
-    	pengine/test10/ticket-master-20.exp
-    	pengine/test10/ticket-master-21.exp
-    	pengine/test10/ticket-master-22.exp
-    	pengine/test10/ticket-master-23.exp
-    	pengine/test10/ticket-master-24.exp
-    	pengine/test10/ticket-master-3.exp
-    	pengine/test10/ticket-master-4.exp
-    	pengine/test10/ticket-master-5.exp
-    	pengine/test10/ticket-master-6.exp
-    	pengine/test10/ticket-master-7.exp
-    	pengine/test10/ticket-master-8.exp
-    	pengine/test10/ticket-master-9.exp
-    	pengine/test10/ticket-primitive-1.exp
-    	pengine/test10/ticket-primitive-10.exp
-    	pengine/test10/ticket-primitive-11.exp
-    	pengine/test10/ticket-primitive-12.exp
-    	pengine/test10/ticket-primitive-13.exp
-    	pengine/test10/ticket-primitive-14.exp
-    	pengine/test10/ticket-primitive-15.exp
-    	pengine/test10/ticket-primitive-16.exp
-    	pengine/test10/ticket-primitive-17.exp
-    	pengine/test10/ticket-primitive-18.exp
-    	pengine/test10/ticket-primitive-19.exp
-    	pengine/test10/ticket-primitive-2.exp
-    	pengine/test10/ticket-primitive-20.exp
-    	pengine/test10/ticket-primitive-21.exp
-    	pengine/test10/ticket-primitive-22.exp
-    	pengine/test10/ticket-primitive-23.exp
-    	pengine/test10/ticket-primitive-24.exp
-    	pengine/test10/ticket-primitive-3.exp
-    	pengine/test10/ticket-primitive-4.exp
-    	pengine/test10/ticket-primitive-5.exp
-    	pengine/test10/ticket-primitive-6.exp
-    	pengine/test10/ticket-primitive-7.exp
-    	pengine/test10/ticket-primitive-8.exp
-    	pengine/test10/ticket-primitive-9.exp
-    	pengine/test10/ticket-rsc-sets-1.exp
-    	pengine/test10/ticket-rsc-sets-10.exp
-    	pengine/test10/ticket-rsc-sets-11.exp
-    	pengine/test10/ticket-rsc-sets-12.exp
-    	pengine/test10/ticket-rsc-sets-13.exp
-    	pengine/test10/ticket-rsc-sets-14.exp
-    	pengine/test10/ticket-rsc-sets-2.exp
-    	pengine/test10/ticket-rsc-sets-3.exp
-    	pengine/test10/ticket-rsc-sets-4.exp
-    	pengine/test10/ticket-rsc-sets-5.exp
-    	pengine/test10/ticket-rsc-sets-6.exp
-    	pengine/test10/ticket-rsc-sets-7.exp
-    	pengine/test10/ticket-rsc-sets-8.exp
-    	pengine/test10/ticket-rsc-sets-9.exp
-    	pengine/test10/unmanaged-master.exp
-    	pengine/test10/unmanaged-stop-1.exp
-    	pengine/test10/unmanaged-stop-2.exp
-    	pengine/test10/unmanaged-stop-3.exp
-    	pengine/test10/unmanaged-stop-4.exp
-    	pengine/test10/unrunnable-1.exp
-    	pengine/test10/use-after-free-merge.exp
-    	pengine/test10/utilization-order1.exp
-    	pengine/test10/utilization-order2.exp
-    	pengine/test10/utilization-order3.exp
-    	pengine/test10/utilization.exp
-    	pengine/test10/whitebox-ms-ordering.exp
-
-diff --git a/pengine/allocate.c b/pengine/allocate.c
-index a8e5412..a07fdad 100644
---- a/pengine/allocate.c
-+++ b/pengine/allocate.c
-@@ -851,14 +851,14 @@ probe_resources(pe_working_set_t * data_set)
-         }
- 
-         if (probed != NULL && crm_is_true(probed) == FALSE) {
--            action_t *probe_op = custom_action(NULL, strdup(CRM_OP_REPROBE),
-+            action_t *probe_op = custom_action(NULL, g_strdup_printf("%s-%s", CRM_OP_REPROBE, node->details->uname),
-                                                CRM_OP_REPROBE, node, FALSE, TRUE, data_set);
- 
-             add_hash_param(probe_op->meta, XML_ATTR_TE_NOWAIT, XML_BOOLEAN_TRUE);
-             continue;
-         }
- 
--        probe_node_complete = custom_action(NULL, strdup(CRM_OP_PROBED),
-+        probe_node_complete = custom_action(NULL, g_strdup_printf("%s-%s", CRM_OP_PROBED, node->details->uname),
-                                             CRM_OP_PROBED, node, FALSE, TRUE, data_set);
-         if (crm_is_true(probed)) {
-             crm_trace("unset");
-@@ -1265,21 +1265,22 @@ any_managed_resources(pe_working_set_t * data_set)
- action_t *
- pe_fence_op(node_t * node, const char *op, pe_working_set_t * data_set)
- {
-+    char *key = NULL;
-     action_t *stonith_op = NULL;
- 
-     if(op == NULL) {
-         op = data_set->stonith_action;
-     }
- 
--    stonith_op = custom_action(
--        NULL, g_strdup_printf("%s-%s-%s", CRM_OP_FENCE, node->details->uname, op),
--        CRM_OP_FENCE, node, FALSE, TRUE, data_set);
--
--    add_hash_param(stonith_op->meta, XML_LRM_ATTR_TARGET, node->details->uname);
-+    key = g_strdup_printf("%s-%s-%s", CRM_OP_FENCE, node->details->uname, op);
- 
--    add_hash_param(stonith_op->meta, XML_LRM_ATTR_TARGET_UUID, node->details->id);
-+    if(stonith_op == NULL) {
-+        stonith_op = custom_action(NULL, key, CRM_OP_FENCE, node, FALSE, TRUE, data_set);
- 
--    add_hash_param(stonith_op->meta, "stonith_action", op);
-+        add_hash_param(stonith_op->meta, XML_LRM_ATTR_TARGET, node->details->uname);
-+        add_hash_param(stonith_op->meta, XML_LRM_ATTR_TARGET_UUID, node->details->id);
-+        add_hash_param(stonith_op->meta, "stonith_action", op);
-+    }
- 
-     return stonith_op;
- }
-@@ -1338,7 +1339,7 @@ stage6(pe_working_set_t * data_set)
- 
-             crm_notice("Scheduling Node %s for shutdown", node->details->uname);
- 
--            down_op = custom_action(NULL, strdup(CRM_OP_SHUTDOWN),
-+            down_op = custom_action(NULL, g_strdup_printf("%s-%s", CRM_OP_SHUTDOWN, node->details->uname),
-                                     CRM_OP_SHUTDOWN, node, FALSE, TRUE, data_set);
- 
-             shutdown_constraints(node, down_op, data_set);
-@@ -1367,20 +1368,22 @@ stage6(pe_working_set_t * data_set)
-     }
- 
-     if (dc_down != NULL) {
--        GListPtr shutdown_matches = find_actions(data_set->actions, CRM_OP_SHUTDOWN, NULL);
-+        GListPtr gIter = NULL;
- 
-         crm_trace("Ordering shutdowns before %s on %s (DC)",
-                   dc_down->task, dc_down->node->details->uname);
- 
-         add_hash_param(dc_down->meta, XML_ATTR_TE_NOWAIT, XML_BOOLEAN_TRUE);
- 
--        gIter = shutdown_matches;
--        for (; gIter != NULL; gIter = gIter->next) {
-+        for (gIter = data_set->actions; gIter != NULL; gIter = gIter->next) {
-             action_t *node_stop = (action_t *) gIter->data;
- 
--            if (node_stop->node->details->is_dc) {
-+            if (safe_str_neq(CRM_OP_SHUTDOWN, node_stop->task)) {
-+                continue;
-+            } else if (node_stop->node->details->is_dc) {
-                 continue;
-             }
-+
-             crm_debug("Ordering shutdown on %s before %s on %s",
-                       node_stop->node->details->uname,
-                       dc_down->task, dc_down->node->details->uname);
-@@ -1391,7 +1394,6 @@ stage6(pe_working_set_t * data_set)
-         if (last_stonith && dc_down != last_stonith) {
-             order_actions(last_stonith, dc_down, pe_order_optional);
-         }
--        g_list_free(shutdown_matches);
-     }
- 
-     if (last_stonith) {
-diff --git a/pengine/test10/11-a-then-bm-b-move-a-clone-starting.exp b/pengine/test10/11-a-then-bm-b-move-a-clone-starting.exp
-new file mode 100644
-index 0000000..6374d93
---- /dev/null
-+++ b/pengine/test10/11-a-then-bm-b-move-a-clone-starting.exp
-@@ -0,0 +1,168 @@
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
-+  <synapse id="0">
-+    <action_set>
-+      <rsc_op id="7" operation="start" operation_key="myclone_start_0" internal_operation_key="myclone:0_start_0" on_node="f20node2" on_node_uuid="2">
-+        <primitive id="myclone" long-id="myclone:0" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="6" operation="stop" operation_key="myclone_stop_0" internal_operation_key="myclone:0_stop_0" on_node="f20node1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="8" operation="start" operation_key="myclone-clone_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="1">
-+    <action_set>
-+      <rsc_op id="6" operation="stop" operation_key="myclone_stop_0" internal_operation_key="myclone:0_stop_0" on_node="f20node1" on_node_uuid="1">
-+        <primitive id="myclone" long-id="myclone:0" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="10" operation="stop" operation_key="myclone-clone_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="2">
-+    <action_set>
-+      <rsc_op id="5" operation="monitor" operation_key="myclone_monitor_0" internal_operation_key="myclone:0_monitor_0" on_node="f20node2" on_node_uuid="2">
-+        <primitive id="myclone" long-id="myclone:0" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="3" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="11" operation="stopped" operation_key="myclone-clone_stopped_0">
-+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="6" operation="stop" operation_key="myclone_stop_0" internal_operation_key="myclone:0_stop_0" on_node="f20node1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="10" operation="stop" operation_key="myclone-clone_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="4">
-+    <action_set>
-+      <pseudo_event id="10" operation="stop" operation_key="myclone-clone_stop_0">
-+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="12" operation="stop" operation_key="vm_stop_0" on_node="f20node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="5" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="9" operation="running" operation_key="myclone-clone_running_0">
-+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="7" operation="start" operation_key="myclone_start_0" internal_operation_key="myclone:0_start_0" on_node="f20node2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="8" operation="start" operation_key="myclone-clone_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="6">
-+    <action_set>
-+      <pseudo_event id="8" operation="start" operation_key="myclone-clone_start_0">
-+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="11" operation="stopped" operation_key="myclone-clone_stopped_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="7">
-+    <action_set>
-+      <rsc_op id="13" operation="start" operation_key="vm_start_0" on_node="f20node2" on_node_uuid="2">
-+        <primitive id="vm" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="9" operation="running" operation_key="myclone-clone_running_0"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="12" operation="stop" operation_key="vm_stop_0" on_node="f20node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="8">
-+    <action_set>
-+      <rsc_op id="12" operation="stop" operation_key="vm_stop_0" on_node="f20node1" on_node_uuid="1">
-+        <primitive id="vm" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="9" priority="1000000">
-+    <action_set>
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-f20node2" on_node="f20node2" on_node_uuid="2">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="5" operation="monitor" operation_key="myclone_monitor_0" internal_operation_key="myclone:0_monitor_0" on_node="f20node2" on_node_uuid="2"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="10">
-+    <action_set>
-+      <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-f20node2" on_node="f20node2" on_node_uuid="2"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="11">
-+    <action_set>
-+      <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="6" operation="stop" operation_key="myclone_stop_0" internal_operation_key="myclone:0_stop_0" on_node="f20node1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="12" operation="stop" operation_key="vm_stop_0" on_node="f20node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+</transition_graph>
-diff --git a/pengine/test10/594.exp b/pengine/test10/594.exp
-index f1e77f8..357921c 100644
---- a/pengine/test10/594.exp
-+++ b/pengine/test10/594.exp
-@@ -191,7 +191,7 @@
-   </synapse>
-   <synapse id="16">
-     <action_set>
--      <crm_event id="36" operation="do_shutdown" operation_key="do_shutdown" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3">
-+      <crm_event id="36" operation="do_shutdown" operation_key="do_shutdown-hadev2" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -221,7 +221,7 @@
-   </synapse>
-   <synapse id="18" priority="1000000">
-     <action_set>
--      <rsc_op id="14" operation="probe_complete" operation_key="probe_complete" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3">
-+      <rsc_op id="14" operation="probe_complete" operation_key="probe_complete-hadev2" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -236,7 +236,7 @@
-   </synapse>
-   <synapse id="19" priority="1000000">
-     <action_set>
--      <rsc_op id="10" operation="probe_complete" operation_key="probe_complete" on_node="hadev1" on_node_uuid="6125a0df-456a-4395-829a-418e9a380d36">
-+      <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-hadev1" on_node="hadev1" on_node_uuid="6125a0df-456a-4395-829a-418e9a380d36">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -260,10 +260,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="10" operation="probe_complete" operation_key="probe_complete" on_node="hadev1" on_node_uuid="6125a0df-456a-4395-829a-418e9a380d36"/>
-+        <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-hadev1" on_node="hadev1" on_node_uuid="6125a0df-456a-4395-829a-418e9a380d36"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="14" operation="probe_complete" operation_key="probe_complete" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3"/>
-+        <rsc_op id="14" operation="probe_complete" operation_key="probe_complete-hadev2" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/662.exp b/pengine/test10/662.exp
-index 90f8a54..910f85f 100644
---- a/pengine/test10/662.exp
-+++ b/pengine/test10/662.exp
-@@ -282,7 +282,7 @@
-   </synapse>
-   <synapse id="29">
-     <action_set>
--      <crm_event id="62" operation="do_shutdown" operation_key="do_shutdown" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <crm_event id="62" operation="do_shutdown" operation_key="do_shutdown-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -297,7 +297,7 @@
-    </synapse>
-   <synapse id="30" priority="1000000">
-      <action_set>
--      <rsc_op id="33" operation="probe_complete" operation_key="probe_complete" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4">
-+      <rsc_op id="33" operation="probe_complete" operation_key="probe_complete-c001n09" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -321,7 +321,7 @@
-    </synapse>
-    <synapse id="31" priority="1000000">
-      <action_set>
--      <rsc_op id="25" operation="probe_complete" operation_key="probe_complete" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559">
-+      <rsc_op id="25" operation="probe_complete" operation_key="probe_complete-c001n04" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -351,7 +351,7 @@
-    </synapse>
-    <synapse id="32" priority="1000000">
-      <action_set>
--      <rsc_op id="18" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="18" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -378,7 +378,7 @@
-    </synapse>
-    <synapse id="33" priority="1000000">
-      <action_set>
--      <rsc_op id="12" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="12" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -408,16 +408,16 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="12" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="12" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="18" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="18" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="25" operation="probe_complete" operation_key="probe_complete" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559"/>
-+        <rsc_op id="25" operation="probe_complete" operation_key="probe_complete-c001n04" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="33" operation="probe_complete" operation_key="probe_complete" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4"/>
-+        <rsc_op id="33" operation="probe_complete" operation_key="probe_complete-c001n09" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/696.exp b/pengine/test10/696.exp
-index ec6a5f6..45bf881 100644
---- a/pengine/test10/696.exp
-+++ b/pengine/test10/696.exp
-@@ -309,7 +309,7 @@
-   </synapse>
-   <synapse id="29" priority="1000000">
-     <action_set>
--      <rsc_op id="16" operation="probe_complete" operation_key="probe_complete" on_node="hadev3" on_node_uuid="879e65f8-4b38-4c56-9552-4752ad436669">
-+      <rsc_op id="16" operation="probe_complete" operation_key="probe_complete-hadev3" on_node="hadev3" on_node_uuid="879e65f8-4b38-4c56-9552-4752ad436669">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -330,7 +330,7 @@
-    </synapse>
-   <synapse id="30" priority="1000000">
-      <action_set>
--      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3">
-+      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-hadev2" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -351,7 +351,7 @@
-    </synapse>
-    <synapse id="31" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hadev1" on_node_uuid="6125a0df-456a-4395-829a-418e9a380d36">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hadev1" on_node="hadev1" on_node_uuid="6125a0df-456a-4395-829a-418e9a380d36">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -387,13 +387,13 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hadev1" on_node_uuid="6125a0df-456a-4395-829a-418e9a380d36"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hadev1" on_node="hadev1" on_node_uuid="6125a0df-456a-4395-829a-418e9a380d36"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3"/>
-+        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-hadev2" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="16" operation="probe_complete" operation_key="probe_complete" on_node="hadev3" on_node_uuid="879e65f8-4b38-4c56-9552-4752ad436669"/>
-+        <rsc_op id="16" operation="probe_complete" operation_key="probe_complete-hadev3" on_node="hadev3" on_node_uuid="879e65f8-4b38-4c56-9552-4752ad436669"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/726.exp b/pengine/test10/726.exp
-index 0f56ae3..0a10a6d 100644
---- a/pengine/test10/726.exp
-+++ b/pengine/test10/726.exp
-@@ -531,7 +531,7 @@
-    </synapse>
-   <synapse id="49" priority="1000000">
-      <action_set>
--      <rsc_op id="32" operation="probe_complete" operation_key="probe_complete" on_node="test03" on_node_uuid="f9c593eb-ca0d-4ab3-ba88-fde12c02334a">
-+      <rsc_op id="32" operation="probe_complete" operation_key="probe_complete-test03" on_node="test03" on_node_uuid="f9c593eb-ca0d-4ab3-ba88-fde12c02334a">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -552,7 +552,7 @@
-    </synapse>
-   <synapse id="50" priority="1000000">
-      <action_set>
--      <rsc_op id="23" operation="probe_complete" operation_key="probe_complete" on_node="test02" on_node_uuid="f75e684a-be1e-4036-89e5-a14f8dcdc947">
-+      <rsc_op id="23" operation="probe_complete" operation_key="probe_complete-test02" on_node="test02" on_node_uuid="f75e684a-be1e-4036-89e5-a14f8dcdc947">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -585,7 +585,7 @@
-    </synapse>
-   <synapse id="51" priority="1000000">
-      <action_set>
--      <rsc_op id="13" operation="probe_complete" operation_key="probe_complete" on_node="sgi2" on_node_uuid="619e8a37-147a-4782-ac11-46afad7c32b8">
-+      <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-sgi2" on_node="sgi2" on_node_uuid="619e8a37-147a-4782-ac11-46afad7c32b8">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -621,7 +621,7 @@
-    </synapse>
-   <synapse id="52" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="ibm1" on_node_uuid="d0d76dd9-7a01-4c12-bbec-98aa2a669638">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-ibm1" on_node="ibm1" on_node_uuid="d0d76dd9-7a01-4c12-bbec-98aa2a669638">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -663,16 +663,16 @@
-     </action_set>
-     <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="ibm1" on_node_uuid="d0d76dd9-7a01-4c12-bbec-98aa2a669638"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-ibm1" on_node="ibm1" on_node_uuid="d0d76dd9-7a01-4c12-bbec-98aa2a669638"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete" on_node="sgi2" on_node_uuid="619e8a37-147a-4782-ac11-46afad7c32b8"/>
-+        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-sgi2" on_node="sgi2" on_node_uuid="619e8a37-147a-4782-ac11-46afad7c32b8"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="23" operation="probe_complete" operation_key="probe_complete" on_node="test02" on_node_uuid="f75e684a-be1e-4036-89e5-a14f8dcdc947"/>
-+        <rsc_op id="23" operation="probe_complete" operation_key="probe_complete-test02" on_node="test02" on_node_uuid="f75e684a-be1e-4036-89e5-a14f8dcdc947"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="32" operation="probe_complete" operation_key="probe_complete" on_node="test03" on_node_uuid="f9c593eb-ca0d-4ab3-ba88-fde12c02334a"/>
-+        <rsc_op id="32" operation="probe_complete" operation_key="probe_complete-test03" on_node="test03" on_node_uuid="f9c593eb-ca0d-4ab3-ba88-fde12c02334a"/>
-        </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/735.exp b/pengine/test10/735.exp
-index fd66dfe..e4b73e5 100644
---- a/pengine/test10/735.exp
-+++ b/pengine/test10/735.exp
-@@ -182,7 +182,7 @@
-   </synapse>
-   <synapse id="15" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="hadev3" on_node_uuid="879e65f8-4b38-4c56-9552-4752ad436669">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-hadev3" on_node="hadev3" on_node_uuid="879e65f8-4b38-4c56-9552-4752ad436669">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -209,7 +209,7 @@
-      </action_set>
-      <inputs>
-        <trigger>
--         <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="hadev3" on_node_uuid="879e65f8-4b38-4c56-9552-4752ad436669"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-hadev3" on_node="hadev3" on_node_uuid="879e65f8-4b38-4c56-9552-4752ad436669"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/764.exp b/pengine/test10/764.exp
-index 890665a..bbb2d32 100644
---- a/pengine/test10/764.exp
-+++ b/pengine/test10/764.exp
-@@ -156,7 +156,7 @@
-    </synapse>
-   <synapse id="15" priority="1000000">
-      <action_set>
--      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="posic043" on_node_uuid="3daa25e7-8713-4c6f-8790-7f41599a1596">
-+      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-posic043" on_node="posic043" on_node_uuid="3daa25e7-8713-4c6f-8790-7f41599a1596">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -177,7 +177,7 @@
-    </synapse>
-   <synapse id="16" priority="1000000">
-      <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="posic041" on_node_uuid="c5d5ed56-7340-4d81-afd6-40b5ee6803ad">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-posic041" on_node="posic041" on_node_uuid="c5d5ed56-7340-4d81-afd6-40b5ee6803ad">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -204,10 +204,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="posic041" on_node_uuid="c5d5ed56-7340-4d81-afd6-40b5ee6803ad"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-posic041" on_node="posic041" on_node_uuid="c5d5ed56-7340-4d81-afd6-40b5ee6803ad"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="posic043" on_node_uuid="3daa25e7-8713-4c6f-8790-7f41599a1596"/>
-+        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-posic043" on_node="posic043" on_node_uuid="3daa25e7-8713-4c6f-8790-7f41599a1596"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/797.exp b/pengine/test10/797.exp
-index cac962d..02ef70b 100644
---- a/pengine/test10/797.exp
-+++ b/pengine/test10/797.exp
-@@ -324,7 +324,7 @@
-    </synapse>
-   <synapse id="28">
-      <action_set>
--      <crm_event id="51" operation="do_shutdown" operation_key="do_shutdown" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <crm_event id="51" operation="do_shutdown" operation_key="do_shutdown-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </crm_event>
-      </action_set>
-@@ -342,7 +342,7 @@
-    </synapse>
-   <synapse id="29" priority="1000000">
-      <action_set>
--      <rsc_op id="24" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="24" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -363,7 +363,7 @@
-    </synapse>
-   <synapse id="30" priority="1000000">
-      <action_set>
--      <rsc_op id="20" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="20" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -381,7 +381,7 @@
-    </synapse>
-   <synapse id="31" priority="1000000">
-      <action_set>
--      <rsc_op id="13" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-+      <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -414,13 +414,13 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="20" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="20" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="24" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="24" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/829.exp b/pengine/test10/829.exp
-index 749014f..21a9ecd 100644
---- a/pengine/test10/829.exp
-+++ b/pengine/test10/829.exp
-@@ -266,7 +266,7 @@
-   </synapse>
-   <synapse id="25" priority="1000000">
-     <action_set>
--      <rsc_op id="25" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="25" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -287,7 +287,7 @@
-   </synapse>
-   <synapse id="26" priority="1000000">
-     <action_set>
--      <rsc_op id="18" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="18" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -314,7 +314,7 @@
-   </synapse>
-   <synapse id="27" priority="1000000">
-     <action_set>
--      <rsc_op id="10" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-+      <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -350,13 +350,13 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="10" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="18" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="18" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="25" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="25" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/anti-colocation-order.exp b/pengine/test10/anti-colocation-order.exp
-new file mode 100644
-index 0000000..99d5f3a
---- /dev/null
-+++ b/pengine/test10/anti-colocation-order.exp
-@@ -0,0 +1,217 @@
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
-+  <synapse id="0" priority="100">
-+    <action_set>
-+      <pseudo_event id="12" operation="stopped" operation_key="group1_stopped_0">
-+        <attributes CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="5" operation="stop" operation_key="rsc1_stop_0" on_node="node1" on_node_uuid="node1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="7" operation="stop" operation_key="rsc2_stop_0" on_node="node1" on_node_uuid="node1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="11" operation="stop" operation_key="group1_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="1" priority="100">
-+    <action_set>
-+      <pseudo_event id="11" operation="stop" operation_key="group1_stop_0">
-+        <attributes CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="2" priority="100">
-+    <action_set>
-+      <pseudo_event id="10" operation="running" operation_key="group1_running_0">
-+        <attributes CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="6" operation="start" operation_key="rsc1_start_0" on_node="node2" on_node_uuid="node2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="8" operation="start" operation_key="rsc2_start_0" on_node="node2" on_node_uuid="node2"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="9" operation="start" operation_key="group1_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="3" priority="100">
-+    <action_set>
-+      <pseudo_event id="9" operation="start" operation_key="group1_start_0">
-+        <attributes CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="12" operation="stopped" operation_key="group1_stopped_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="18" operation="stopped" operation_key="group2_stopped_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="4" priority="100">
-+    <action_set>
-+      <rsc_op id="6" operation="start" operation_key="rsc1_start_0" on_node="node2" on_node_uuid="node2">
-+        <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="5" operation="stop" operation_key="rsc1_stop_0" on_node="node1" on_node_uuid="node1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="9" operation="start" operation_key="group1_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="5" priority="100">
-+    <action_set>
-+      <rsc_op id="5" operation="stop" operation_key="rsc1_stop_0" on_node="node1" on_node_uuid="node1">
-+        <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="7" operation="stop" operation_key="rsc2_stop_0" on_node="node1" on_node_uuid="node1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="11" operation="stop" operation_key="group1_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="6" priority="100">
-+    <action_set>
-+      <rsc_op id="8" operation="start" operation_key="rsc2_start_0" on_node="node2" on_node_uuid="node2">
-+        <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="6" operation="start" operation_key="rsc1_start_0" on_node="node2" on_node_uuid="node2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="7" operation="stop" operation_key="rsc2_stop_0" on_node="node1" on_node_uuid="node1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="9" operation="start" operation_key="group1_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="7" priority="100">
-+    <action_set>
-+      <rsc_op id="7" operation="stop" operation_key="rsc2_stop_0" on_node="node1" on_node_uuid="node1">
-+        <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="11" operation="stop" operation_key="group1_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="8" priority="10">
-+    <action_set>
-+      <pseudo_event id="18" operation="stopped" operation_key="group2_stopped_0">
-+        <attributes CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="13" operation="stop" operation_key="rsc3_stop_0" on_node="node2" on_node_uuid="node2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="14" operation="stop" operation_key="rsc4_stop_0" on_node="node2" on_node_uuid="node2"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="17" operation="stop" operation_key="group2_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="9" priority="10">
-+    <action_set>
-+      <pseudo_event id="17" operation="stop" operation_key="group2_stop_0">
-+        <attributes CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="10" priority="10">
-+    <action_set>
-+      <rsc_op id="13" operation="stop" operation_key="rsc3_stop_0" on_node="node2" on_node_uuid="node2">
-+        <primitive id="rsc3" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="14" operation="stop" operation_key="rsc4_stop_0" on_node="node2" on_node_uuid="node2"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="17" operation="stop" operation_key="group2_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="11" priority="10">
-+    <action_set>
-+      <rsc_op id="14" operation="stop" operation_key="rsc4_stop_0" on_node="node2" on_node_uuid="node2">
-+        <primitive id="rsc4" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="17" operation="stop" operation_key="group2_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="12" priority="1000000">
-+    <action_set>
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="13" priority="1000000">
-+    <action_set>
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="14">
-+    <action_set>
-+      <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="5" operation="stop" operation_key="rsc1_stop_0" on_node="node1" on_node_uuid="node1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="7" operation="stop" operation_key="rsc2_stop_0" on_node="node1" on_node_uuid="node1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="13" operation="stop" operation_key="rsc3_stop_0" on_node="node2" on_node_uuid="node2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="14" operation="stop" operation_key="rsc4_stop_0" on_node="node2" on_node_uuid="node2"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+</transition_graph>
-diff --git a/pengine/test10/asymmetric.exp b/pengine/test10/asymmetric.exp
-index 33850dd..52a2327 100644
---- a/pengine/test10/asymmetric.exp
-+++ b/pengine/test10/asymmetric.exp
-@@ -37,7 +37,7 @@
-    </synapse>
-   <synapse id="4" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="puma3" on_node_uuid="d61fe2cb-98f0-4815-9b7e-2552f5330ad3">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-puma3" on_node="puma3" on_node_uuid="d61fe2cb-98f0-4815-9b7e-2552f5330ad3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -49,7 +49,7 @@
-    </synapse>
-    <synapse id="5" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="puma1" on_node_uuid="c1b88737-8c7c-4824-81de-843fe7f2e88a">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-puma1" on_node="puma1" on_node_uuid="c1b88737-8c7c-4824-81de-843fe7f2e88a">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -67,10 +67,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="puma1" on_node_uuid="c1b88737-8c7c-4824-81de-843fe7f2e88a"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-puma1" on_node="puma1" on_node_uuid="c1b88737-8c7c-4824-81de-843fe7f2e88a"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="puma3" on_node_uuid="d61fe2cb-98f0-4815-9b7e-2552f5330ad3"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-puma3" on_node="puma3" on_node_uuid="d61fe2cb-98f0-4815-9b7e-2552f5330ad3"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/attrs1.exp b/pengine/test10/attrs1.exp
-index 9e83487..8dd6a40 100644
---- a/pengine/test10/attrs1.exp
-+++ b/pengine/test10/attrs1.exp
-@@ -32,7 +32,7 @@
-    </synapse>
-   <synapse id="3" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -44,7 +44,7 @@
-    </synapse>
-    <synapse id="4" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -62,10 +62,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/attrs2.exp b/pengine/test10/attrs2.exp
-index 9e83487..8dd6a40 100644
---- a/pengine/test10/attrs2.exp
-+++ b/pengine/test10/attrs2.exp
-@@ -32,7 +32,7 @@
-    </synapse>
-   <synapse id="3" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -44,7 +44,7 @@
-    </synapse>
-    <synapse id="4" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -62,10 +62,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/attrs3.exp b/pengine/test10/attrs3.exp
-index 99b81e7..b6e55a2 100644
---- a/pengine/test10/attrs3.exp
-+++ b/pengine/test10/attrs3.exp
-@@ -32,7 +32,7 @@
-    </synapse>
-   <synapse id="3" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -44,7 +44,7 @@
-    </synapse>
-    <synapse id="4" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -62,10 +62,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/attrs4.exp b/pengine/test10/attrs4.exp
-index 99b81e7..b6e55a2 100644
---- a/pengine/test10/attrs4.exp
-+++ b/pengine/test10/attrs4.exp
-@@ -32,7 +32,7 @@
-    </synapse>
-   <synapse id="3" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -44,7 +44,7 @@
-    </synapse>
-    <synapse id="4" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -62,10 +62,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/attrs5.exp b/pengine/test10/attrs5.exp
-index c7f836f..5e7b2c7 100644
---- a/pengine/test10/attrs5.exp
-+++ b/pengine/test10/attrs5.exp
-@@ -19,7 +19,7 @@
-    </synapse>
-   <synapse id="2" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -31,7 +31,7 @@
-    </synapse>
-    <synapse id="3" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -49,10 +49,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/attrs6.exp b/pengine/test10/attrs6.exp
-index 99b81e7..b6e55a2 100644
---- a/pengine/test10/attrs6.exp
-+++ b/pengine/test10/attrs6.exp
-@@ -32,7 +32,7 @@
-    </synapse>
-   <synapse id="3" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -44,7 +44,7 @@
-    </synapse>
-    <synapse id="4" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -62,10 +62,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/attrs7.exp b/pengine/test10/attrs7.exp
-index 9e83487..8dd6a40 100644
---- a/pengine/test10/attrs7.exp
-+++ b/pengine/test10/attrs7.exp
-@@ -32,7 +32,7 @@
-    </synapse>
-   <synapse id="3" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -44,7 +44,7 @@
-    </synapse>
-    <synapse id="4" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -62,10 +62,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/attrs8.exp b/pengine/test10/attrs8.exp
-index 9e83487..8dd6a40 100644
---- a/pengine/test10/attrs8.exp
-+++ b/pengine/test10/attrs8.exp
-@@ -32,7 +32,7 @@
-    </synapse>
-   <synapse id="3" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -44,7 +44,7 @@
-    </synapse>
-    <synapse id="4" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -62,10 +62,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/balanced.exp b/pengine/test10/balanced.exp
-index e6e96d0..c188632 100644
---- a/pengine/test10/balanced.exp
-+++ b/pengine/test10/balanced.exp
-@@ -69,7 +69,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="host2" on_node_uuid="host2">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-host2" on_node="host2" on_node_uuid="host2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -84,7 +84,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="host1" on_node_uuid="host1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-host1" on_node="host1" on_node_uuid="host1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -105,10 +105,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="host1" on_node_uuid="host1"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-host1" on_node="host1" on_node_uuid="host1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="host2" on_node_uuid="host2"/>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-host2" on_node="host2" on_node_uuid="host2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/base-score.exp b/pengine/test10/base-score.exp
-index b6710f5..ab71c3b 100644
---- a/pengine/test10/base-score.exp
-+++ b/pengine/test10/base-score.exp
-@@ -50,7 +50,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="puma4" on_node_uuid="puma4">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-puma4" on_node="puma4" on_node_uuid="puma4">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -62,7 +62,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="puma3" on_node_uuid="puma3">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-puma3" on_node="puma3" on_node_uuid="puma3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -74,7 +74,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="puma2" on_node_uuid="puma2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-puma2" on_node="puma2" on_node_uuid="puma2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -86,7 +86,7 @@
-   </synapse>
-   <synapse id="8" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="puma1" on_node_uuid="puma1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-puma1" on_node="puma1" on_node_uuid="puma1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -104,16 +104,16 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="puma1" on_node_uuid="puma1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-puma1" on_node="puma1" on_node_uuid="puma1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="puma2" on_node_uuid="puma2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-puma2" on_node="puma2" on_node_uuid="puma2"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="puma3" on_node_uuid="puma3"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-puma3" on_node="puma3" on_node_uuid="puma3"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="puma4" on_node_uuid="puma4"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-puma4" on_node="puma4" on_node_uuid="puma4"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/bug-1572-1.exp b/pengine/test10/bug-1572-1.exp
-index 2b3bf4c..c0184ae 100644
---- a/pengine/test10/bug-1572-1.exp
-+++ b/pengine/test10/bug-1572-1.exp
-@@ -750,7 +750,7 @@
-   </synapse>
-   <synapse id="50">
-     <action_set>
--      <crm_event id="47" operation="do_shutdown" operation_key="do_shutdown" on_node="arc-dknightlx" on_node_uuid="8c16c69e-f753-49cf-ba89-3ae421940042">
-+      <crm_event id="47" operation="do_shutdown" operation_key="do_shutdown-arc-dknightlx" on_node="arc-dknightlx" on_node_uuid="8c16c69e-f753-49cf-ba89-3ae421940042">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-diff --git a/pengine/test10/bug-1572-2.exp b/pengine/test10/bug-1572-2.exp
-index ad91bab..465bf1d 100644
---- a/pengine/test10/bug-1572-2.exp
-+++ b/pengine/test10/bug-1572-2.exp
-@@ -371,7 +371,7 @@
-    </synapse>
-    <synapse id="26">
-      <action_set>
--      <crm_event id="43" operation="do_shutdown" operation_key="do_shutdown" on_node="arc-dknightlx" on_node_uuid="8c16c69e-f753-49cf-ba89-3ae421940042">
-+      <crm_event id="43" operation="do_shutdown" operation_key="do_shutdown-arc-dknightlx" on_node="arc-dknightlx" on_node_uuid="8c16c69e-f753-49cf-ba89-3ae421940042">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-diff --git a/pengine/test10/bug-1573.exp b/pengine/test10/bug-1573.exp
-index 86eb893..39f7a61 100644
---- a/pengine/test10/bug-1573.exp
-+++ b/pengine/test10/bug-1573.exp
-@@ -37,7 +37,7 @@
-    </synapse>
-    <synapse id="3">
-      <action_set>
--      <crm_event id="15" operation="do_shutdown" operation_key="do_shutdown" on_node="xen-b" on_node_uuid="6a0b1629-ab27-47c7-a6a4-461c94e477f2">
-+      <crm_event id="15" operation="do_shutdown" operation_key="do_shutdown-xen-b" on_node="xen-b" on_node_uuid="6a0b1629-ab27-47c7-a6a4-461c94e477f2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-      </action_set>
-diff --git a/pengine/test10/bug-1820-1.exp b/pengine/test10/bug-1820-1.exp
-index 732ded8..2753fd0 100644
---- a/pengine/test10/bug-1820-1.exp
-+++ b/pengine/test10/bug-1820-1.exp
-@@ -178,7 +178,7 @@
-    </synapse>
-    <synapse id="13">
-      <action_set>
--      <crm_event id="21" operation="do_shutdown" operation_key="do_shutdown" on_node="star" on_node_uuid="3f368213-61d5-409a-a30e-1428efe70f63">
-+      <crm_event id="21" operation="do_shutdown" operation_key="do_shutdown-star" on_node="star" on_node_uuid="3f368213-61d5-409a-a30e-1428efe70f63">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-      </action_set>
-@@ -193,7 +193,7 @@
-    </synapse>
-   <synapse id="14" priority="1000000">
-      <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="world" on_node_uuid="e4603bf6-d10f-4af2-b53b-ba72de6164d0">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-world" on_node="world" on_node_uuid="e4603bf6-d10f-4af2-b53b-ba72de6164d0">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -205,7 +205,7 @@
-    </synapse>
-    <synapse id="15" priority="1000000">
-      <action_set>
--       <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="star" on_node_uuid="3f368213-61d5-409a-a30e-1428efe70f63">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-star" on_node="star" on_node_uuid="3f368213-61d5-409a-a30e-1428efe70f63">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -223,10 +223,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="star" on_node_uuid="3f368213-61d5-409a-a30e-1428efe70f63"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-star" on_node="star" on_node_uuid="3f368213-61d5-409a-a30e-1428efe70f63"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="world" on_node_uuid="e4603bf6-d10f-4af2-b53b-ba72de6164d0"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-world" on_node="world" on_node_uuid="e4603bf6-d10f-4af2-b53b-ba72de6164d0"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/bug-1820.exp b/pengine/test10/bug-1820.exp
-index ad98db1..434d4b6 100644
---- a/pengine/test10/bug-1820.exp
-+++ b/pengine/test10/bug-1820.exp
-@@ -175,7 +175,7 @@
-    </synapse>
-   <synapse id="12">
-      <action_set>
--      <crm_event id="18" operation="do_shutdown" operation_key="do_shutdown" on_node="star" on_node_uuid="3f368213-61d5-409a-a30e-1428efe70f63">
-+      <crm_event id="18" operation="do_shutdown" operation_key="do_shutdown-star" on_node="star" on_node_uuid="3f368213-61d5-409a-a30e-1428efe70f63">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-      </action_set>
-diff --git a/pengine/test10/bug-1822.exp b/pengine/test10/bug-1822.exp
-index 0e101b5..6dc28f8 100644
---- a/pengine/test10/bug-1822.exp
-+++ b/pengine/test10/bug-1822.exp
-@@ -166,7 +166,7 @@
-    </synapse>
-    <synapse id="12">
-      <action_set>
--      <crm_event id="37" operation="do_shutdown" operation_key="do_shutdown" on_node="process1a" on_node_uuid="4dbb8c56-330e-4835-a15e-c0aa632d4e89">
-+      <crm_event id="37" operation="do_shutdown" operation_key="do_shutdown-process1a" on_node="process1a" on_node_uuid="4dbb8c56-330e-4835-a15e-c0aa632d4e89">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-      </action_set>
-diff --git a/pengine/test10/bug-5014-A-start-B-start.exp b/pengine/test10/bug-5014-A-start-B-start.exp
-index 63c271d..6670814 100644
---- a/pengine/test10/bug-5014-A-start-B-start.exp
-+++ b/pengine/test10/bug-5014-A-start-B-start.exp
-@@ -74,7 +74,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -95,7 +95,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/bug-5014-A-stopped-B-stopped.exp b/pengine/test10/bug-5014-A-stopped-B-stopped.exp
-index e1a25cd..8814477 100644
---- a/pengine/test10/bug-5014-A-stopped-B-stopped.exp
-+++ b/pengine/test10/bug-5014-A-stopped-B-stopped.exp
-@@ -19,7 +19,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -40,7 +40,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/bug-5014-CLONE-A-start-B-start.exp b/pengine/test10/bug-5014-CLONE-A-start-B-start.exp
-index 30d8952..1fc2c70 100644
---- a/pengine/test10/bug-5014-CLONE-A-start-B-start.exp
-+++ b/pengine/test10/bug-5014-CLONE-A-start-B-start.exp
-@@ -127,7 +127,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -148,7 +148,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/bug-5014-CthenAthenB-C-stopped.exp b/pengine/test10/bug-5014-CthenAthenB-C-stopped.exp
-index 6961d8a..318ba6f 100644
---- a/pengine/test10/bug-5014-CthenAthenB-C-stopped.exp
-+++ b/pengine/test10/bug-5014-CthenAthenB-C-stopped.exp
-@@ -28,7 +28,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -52,7 +52,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/bug-5028-detach.exp b/pengine/test10/bug-5028-detach.exp
-index 1c3374b..58d12ec 100644
---- a/pengine/test10/bug-5028-detach.exp
-+++ b/pengine/test10/bug-5028-detach.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0">
-     <action_set>
--      <crm_event id="14" operation="do_shutdown" operation_key="do_shutdown" on_node="bl460g6a" on_node_uuid="11111111-1111-1111-1111-111111111111">
-+      <crm_event id="14" operation="do_shutdown" operation_key="do_shutdown-bl460g6a" on_node="bl460g6a" on_node_uuid="11111111-1111-1111-1111-111111111111">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-diff --git a/pengine/test10/bug-lf-2160.exp b/pengine/test10/bug-lf-2160.exp
-index ed0b455..3d41f1e 100644
---- a/pengine/test10/bug-lf-2160.exp
-+++ b/pengine/test10/bug-lf-2160.exp
-@@ -19,7 +19,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="cardhu" on_node_uuid="cardhu">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-cardhu" on_node="cardhu" on_node_uuid="cardhu">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -40,7 +40,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="cardhu" on_node_uuid="cardhu"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-cardhu" on_node="cardhu" on_node_uuid="cardhu"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/bug-lf-2435.exp b/pengine/test10/bug-lf-2435.exp
-index 7255127..5a12601 100644
---- a/pengine/test10/bug-lf-2435.exp
-+++ b/pengine/test10/bug-lf-2435.exp
-@@ -70,7 +70,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="c21.chepkov.lan" on_node_uuid="c21.chepkov.lan">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-c21.chepkov.lan" on_node="c21.chepkov.lan" on_node_uuid="c21.chepkov.lan">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -82,7 +82,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="c20.chepkov.lan" on_node_uuid="c20.chepkov.lan">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-c20.chepkov.lan" on_node="c20.chepkov.lan" on_node_uuid="c20.chepkov.lan">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -94,7 +94,7 @@
-   </synapse>
-   <synapse id="8" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="c19.chepkov.lan" on_node_uuid="c19.chepkov.lan">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-c19.chepkov.lan" on_node="c19.chepkov.lan" on_node_uuid="c19.chepkov.lan">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -112,13 +112,13 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="c19.chepkov.lan" on_node_uuid="c19.chepkov.lan"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-c19.chepkov.lan" on_node="c19.chepkov.lan" on_node_uuid="c19.chepkov.lan"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="c20.chepkov.lan" on_node_uuid="c20.chepkov.lan"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-c20.chepkov.lan" on_node="c20.chepkov.lan" on_node_uuid="c20.chepkov.lan"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="c21.chepkov.lan" on_node_uuid="c21.chepkov.lan"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-c21.chepkov.lan" on_node="c21.chepkov.lan" on_node_uuid="c21.chepkov.lan"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/bug-lf-2445.exp b/pengine/test10/bug-lf-2445.exp
-index 5733768..d8f88c3 100644
---- a/pengine/test10/bug-lf-2445.exp
-+++ b/pengine/test10/bug-lf-2445.exp
-@@ -80,7 +80,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -88,7 +88,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/bug-lf-2581.exp b/pengine/test10/bug-lf-2581.exp
-index 60667fc..2906613 100644
---- a/pengine/test10/bug-lf-2581.exp
-+++ b/pengine/test10/bug-lf-2581.exp
-@@ -230,7 +230,7 @@
-   </synapse>
-   <synapse id="19" priority="1000000">
-     <action_set>
--      <rsc_op id="15" operation="probe_complete" operation_key="probe_complete" on_node="queen" on_node_uuid="queen">
-+      <rsc_op id="15" operation="probe_complete" operation_key="probe_complete-queen" on_node="queen" on_node_uuid="queen">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -266,7 +266,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="15" operation="probe_complete" operation_key="probe_complete" on_node="queen" on_node_uuid="queen"/>
-+        <rsc_op id="15" operation="probe_complete" operation_key="probe_complete-queen" on_node="queen" on_node_uuid="queen"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/bug-lf-2606.exp b/pengine/test10/bug-lf-2606.exp
-index 270131a..71d8457 100644
---- a/pengine/test10/bug-lf-2606.exp
-+++ b/pengine/test10/bug-lf-2606.exp
-@@ -160,7 +160,7 @@
-   </synapse>
-   <synapse id="12" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/bug-n-387749.exp b/pengine/test10/bug-n-387749.exp
-index 394f8ac..ea0cc27 100644
---- a/pengine/test10/bug-n-387749.exp
-+++ b/pengine/test10/bug-n-387749.exp
-@@ -345,7 +345,7 @@
-   </synapse>
-   <synapse id="25" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="power720-1" on_node_uuid="ac446085-4c9d-4d4a-a94d-5e63b6e421e3">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-power720-1" on_node="power720-1" on_node_uuid="ac446085-4c9d-4d4a-a94d-5e63b6e421e3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -375,7 +375,7 @@
-      </action_set>
-      <inputs>
-        <trigger>
--         <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="power720-1" on_node_uuid="ac446085-4c9d-4d4a-a94d-5e63b6e421e3"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-power720-1" on_node="power720-1" on_node_uuid="ac446085-4c9d-4d4a-a94d-5e63b6e421e3"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/bug-pm-11.exp b/pengine/test10/bug-pm-11.exp
-index 42d405f..bb23360 100644
---- a/pengine/test10/bug-pm-11.exp
-+++ b/pengine/test10/bug-pm-11.exp
-@@ -213,7 +213,7 @@
-   </synapse>
-   <synapse id="17" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node-b" on_node_uuid="9b262633-815c-4e5e-8f63-76486cab9ad2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node-b" on_node="node-b" on_node_uuid="9b262633-815c-4e5e-8f63-76486cab9ad2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -228,7 +228,7 @@
-    </synapse>
-    <synapse id="18" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node-a" on_node_uuid="babfee4b-9c89-4df2-8ccb-3de2a3587d8d">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node-a" on_node="node-a" on_node_uuid="babfee4b-9c89-4df2-8ccb-3de2a3587d8d">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -249,10 +249,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node-a" on_node_uuid="babfee4b-9c89-4df2-8ccb-3de2a3587d8d"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node-a" on_node="node-a" on_node_uuid="babfee4b-9c89-4df2-8ccb-3de2a3587d8d"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node-b" on_node_uuid="9b262633-815c-4e5e-8f63-76486cab9ad2"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node-b" on_node="node-b" on_node_uuid="9b262633-815c-4e5e-8f63-76486cab9ad2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/bug-suse-707150.exp b/pengine/test10/bug-suse-707150.exp
-index 270b3fd..ca3d57b 100644
---- a/pengine/test10/bug-suse-707150.exp
-+++ b/pengine/test10/bug-suse-707150.exp
-@@ -169,7 +169,7 @@
-   </synapse>
-   <synapse id="11" priority="1000000">
-     <action_set>
--      <rsc_op id="10" operation="probe_complete" operation_key="probe_complete" on_node="hex-9" on_node_uuid="hex-9">
-+      <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-hex-9" on_node="hex-9" on_node_uuid="hex-9">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -187,7 +187,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="10" operation="probe_complete" operation_key="probe_complete" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/clone-anon-dup.exp b/pengine/test10/clone-anon-dup.exp
-index 69ed601..1fea098 100644
---- a/pengine/test10/clone-anon-dup.exp
-+++ b/pengine/test10/clone-anon-dup.exp
-@@ -107,7 +107,7 @@
-   </synapse>
-   <synapse id="9" priority="1000000">
-     <action_set>
--      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="wc03" on_node_uuid="f61edb1d-6f49-4ffa-a46a-42ceef796f6e">
-+      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-wc03" on_node="wc03" on_node_uuid="f61edb1d-6f49-4ffa-a46a-42ceef796f6e">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -119,7 +119,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="wc02" on_node_uuid="f36760d8-d84a-46b2-b452-4c8cac8b3396">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-wc02" on_node="wc02" on_node_uuid="f36760d8-d84a-46b2-b452-4c8cac8b3396">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -131,7 +131,7 @@
-   </synapse>
-   <synapse id="11" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="wc01" on_node_uuid="31de4ab3-2d05-476e-8f9a-627ad6cd94ca">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-wc01" on_node="wc01" on_node_uuid="31de4ab3-2d05-476e-8f9a-627ad6cd94ca">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -149,13 +149,13 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="wc01" on_node_uuid="31de4ab3-2d05-476e-8f9a-627ad6cd94ca"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-wc01" on_node="wc01" on_node_uuid="31de4ab3-2d05-476e-8f9a-627ad6cd94ca"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="wc02" on_node_uuid="f36760d8-d84a-46b2-b452-4c8cac8b3396"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-wc02" on_node="wc02" on_node_uuid="f36760d8-d84a-46b2-b452-4c8cac8b3396"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="wc03" on_node_uuid="f61edb1d-6f49-4ffa-a46a-42ceef796f6e"/>
-+        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-wc03" on_node="wc03" on_node_uuid="f61edb1d-6f49-4ffa-a46a-42ceef796f6e"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/clone-anon-probe-1.exp b/pengine/test10/clone-anon-probe-1.exp
-index 13b8d3d..6a0b6de 100644
---- a/pengine/test10/clone-anon-probe-1.exp
-+++ b/pengine/test10/clone-anon-probe-1.exp
-@@ -77,7 +77,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="mysql-02" on_node_uuid="06f7483d-273b-4c51-95a6-bccde94d7fdb">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-mysql-02" on_node="mysql-02" on_node_uuid="06f7483d-273b-4c51-95a6-bccde94d7fdb">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -89,7 +89,7 @@
-    </synapse>
-   <synapse id="7" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="mysql-01" on_node_uuid="3f3eb909-e719-4bc4-a700-d7aa91a65098">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-mysql-01" on_node="mysql-01" on_node_uuid="3f3eb909-e719-4bc4-a700-d7aa91a65098">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -107,10 +107,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="mysql-01" on_node_uuid="3f3eb909-e719-4bc4-a700-d7aa91a65098"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-mysql-01" on_node="mysql-01" on_node_uuid="3f3eb909-e719-4bc4-a700-d7aa91a65098"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="mysql-02" on_node_uuid="06f7483d-273b-4c51-95a6-bccde94d7fdb"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-mysql-02" on_node="mysql-02" on_node_uuid="06f7483d-273b-4c51-95a6-bccde94d7fdb"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/clone-colocate-instance-1.exp b/pengine/test10/clone-colocate-instance-1.exp
-index 0d358be..c1d4629 100644
---- a/pengine/test10/clone-colocate-instance-1.exp
-+++ b/pengine/test10/clone-colocate-instance-1.exp
-@@ -139,7 +139,7 @@
-   </synapse>
-   <synapse id="12" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-bob.demo" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -157,7 +157,7 @@
-   </synapse>
-   <synapse id="13" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-alice.demo" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -181,10 +181,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-alice.demo" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-bob.demo" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/clone-colocate-instance-2.exp b/pengine/test10/clone-colocate-instance-2.exp
-index a02a737..34d03bd 100644
---- a/pengine/test10/clone-colocate-instance-2.exp
-+++ b/pengine/test10/clone-colocate-instance-2.exp
-@@ -139,7 +139,7 @@
-   </synapse>
-   <synapse id="12" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-bob.demo" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -157,7 +157,7 @@
-   </synapse>
-   <synapse id="13" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-alice.demo" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -181,10 +181,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-alice.demo" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-bob.demo" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/clone-interleave-1.exp b/pengine/test10/clone-interleave-1.exp
-new file mode 100644
-index 0000000..a0d8995
---- /dev/null
-+++ b/pengine/test10/clone-interleave-1.exp
-@@ -0,0 +1,231 @@
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
-+  <synapse id="0">
-+    <action_set>
-+      <rsc_op id="6" operation="start" operation_key="dummy_start_0" on_node="pcmk-1" on_node_uuid="1">
-+        <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="24" operation="running" operation_key="clone-3_running_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="1">
-+    <action_set>
-+      <rsc_op id="7" operation="start" operation_key="child-1:0_start_0" on_node="pcmk-2" on_node_uuid="2">
-+        <primitive id="child-1" long-id="child-1:0" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="10" operation="start" operation_key="clone-1_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="2">
-+    <action_set>
-+      <rsc_op id="8" operation="start" operation_key="child-1:1_start_0" on_node="pcmk-3" on_node_uuid="3">
-+        <primitive id="child-1" long-id="child-1:1" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="10" operation="start" operation_key="clone-1_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="3">
-+    <action_set>
-+      <rsc_op id="9" operation="start" operation_key="child-1:2_start_0" on_node="pcmk-1" on_node_uuid="1">
-+        <primitive id="child-1" long-id="child-1:2" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="10" operation="start" operation_key="clone-1_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="4" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="11" operation="running" operation_key="clone-1_running_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="7" operation="start" operation_key="child-1:0_start_0" on_node="pcmk-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="8" operation="start" operation_key="child-1:1_start_0" on_node="pcmk-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="9" operation="start" operation_key="child-1:2_start_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="10" operation="start" operation_key="clone-1_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="5">
-+    <action_set>
-+      <pseudo_event id="10" operation="start" operation_key="clone-1_start_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="6">
-+    <action_set>
-+      <rsc_op id="14" operation="start" operation_key="child-2:0_start_0" on_node="pcmk-2" on_node_uuid="2">
-+        <primitive id="child-2" long-id="child-2:0" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="7" operation="start" operation_key="child-1:0_start_0" on_node="pcmk-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="16" operation="start" operation_key="clone-2_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="7">
-+    <action_set>
-+      <rsc_op id="15" operation="start" operation_key="child-2:1_start_0" on_node="pcmk-3" on_node_uuid="3">
-+        <primitive id="child-2" long-id="child-2:1" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="8" operation="start" operation_key="child-1:1_start_0" on_node="pcmk-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="16" operation="start" operation_key="clone-2_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="8" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="17" operation="running" operation_key="clone-2_running_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="14" operation="start" operation_key="child-2:0_start_0" on_node="pcmk-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="15" operation="start" operation_key="child-2:1_start_0" on_node="pcmk-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="16" operation="start" operation_key="clone-2_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="9">
-+    <action_set>
-+      <pseudo_event id="16" operation="start" operation_key="clone-2_start_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="11" operation="running" operation_key="clone-1_running_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="10">
-+    <action_set>
-+      <rsc_op id="21" operation="start" operation_key="child-3:1_start_0" on_node="pcmk-2" on_node_uuid="2">
-+        <primitive id="child-3" long-id="child-3:1" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="14" operation="start" operation_key="child-2:0_start_0" on_node="pcmk-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="23" operation="start" operation_key="clone-3_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="11">
-+    <action_set>
-+      <rsc_op id="22" operation="start" operation_key="child-3:2_start_0" on_node="pcmk-3" on_node_uuid="3">
-+        <primitive id="child-3" long-id="child-3:2" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="15" operation="start" operation_key="child-2:1_start_0" on_node="pcmk-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="23" operation="start" operation_key="clone-3_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="12" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="24" operation="running" operation_key="clone-3_running_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="21" operation="start" operation_key="child-3:1_start_0" on_node="pcmk-2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="22" operation="start" operation_key="child-3:2_start_0" on_node="pcmk-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="23" operation="start" operation_key="clone-3_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="13">
-+    <action_set>
-+      <pseudo_event id="23" operation="start" operation_key="clone-3_start_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="17" operation="running" operation_key="clone-2_running_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="14" priority="1000000">
-+    <action_set>
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-pcmk-3" on_node="pcmk-3" on_node_uuid="3">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="15" priority="1000000">
-+    <action_set>
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-pcmk-2" on_node="pcmk-2" on_node_uuid="2">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="16" priority="1000000">
-+    <action_set>
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-pcmk-1" on_node="pcmk-1" on_node_uuid="1">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+</transition_graph>
-diff --git a/pengine/test10/clone-interleave-2.exp b/pengine/test10/clone-interleave-2.exp
-new file mode 100644
-index 0000000..fa59afb
---- /dev/null
-+++ b/pengine/test10/clone-interleave-2.exp
-@@ -0,0 +1,176 @@
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
-+  <synapse id="0">
-+    <action_set>
-+      <rsc_op id="7" operation="start" operation_key="dummy_start_0" on_node="pcmk-1" on_node_uuid="1">
-+        <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="6" operation="stop" operation_key="dummy_stop_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="34" operation="running" operation_key="clone-3_running_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="1">
-+    <action_set>
-+      <rsc_op id="6" operation="stop" operation_key="dummy_stop_0" on_node="pcmk-1" on_node_uuid="1">
-+        <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="2">
-+    <action_set>
-+      <rsc_op id="18" operation="stop" operation_key="child-2:2_stop_0" internal_operation_key="child-2:0_stop_0" on_node="pcmk-1" on_node_uuid="1">
-+        <primitive id="child-2" long-id="child-2:2" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="25" operation="stop" operation_key="clone-2_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="27" operation="stop" operation_key="child-3:2_stop_0" internal_operation_key="child-3:0_stop_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="3" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="26" operation="stopped" operation_key="clone-2_stopped_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="18" operation="stop" operation_key="child-2:2_stop_0" internal_operation_key="child-2:0_stop_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="25" operation="stop" operation_key="clone-2_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="4">
-+    <action_set>
-+      <pseudo_event id="25" operation="stop" operation_key="clone-2_stop_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="36" operation="stopped" operation_key="clone-3_stopped_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="5">
-+    <action_set>
-+      <rsc_op id="27" operation="stop" operation_key="child-3:2_stop_0" internal_operation_key="child-3:0_stop_0" on_node="pcmk-1" on_node_uuid="1">
-+        <primitive id="child-3" long-id="child-3:2" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="35" operation="stop" operation_key="clone-3_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="6" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="36" operation="stopped" operation_key="clone-3_stopped_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="27" operation="stop" operation_key="child-3:2_stop_0" internal_operation_key="child-3:0_stop_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="35" operation="stop" operation_key="clone-3_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="7">
-+    <action_set>
-+      <pseudo_event id="35" operation="stop" operation_key="clone-3_stop_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="6" operation="stop" operation_key="dummy_stop_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="8" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="34" operation="running" operation_key="clone-3_running_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="33" operation="start" operation_key="clone-3_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="9">
-+    <action_set>
-+      <pseudo_event id="33" operation="start" operation_key="clone-3_start_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="36" operation="stopped" operation_key="clone-3_stopped_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="10" priority="1000000">
-+    <action_set>
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-pcmk-3" on_node="pcmk-3" on_node_uuid="3">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="11" priority="1000000">
-+    <action_set>
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-pcmk-2" on_node="pcmk-2" on_node_uuid="2">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="12" priority="1000000">
-+    <action_set>
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-pcmk-1" on_node="pcmk-1" on_node_uuid="1">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="13">
-+    <action_set>
-+      <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="6" operation="stop" operation_key="dummy_stop_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="18" operation="stop" operation_key="child-2:2_stop_0" internal_operation_key="child-2:0_stop_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="27" operation="stop" operation_key="child-3:2_stop_0" internal_operation_key="child-3:0_stop_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+</transition_graph>
-diff --git a/pengine/test10/clone-interleave-3.exp b/pengine/test10/clone-interleave-3.exp
-new file mode 100644
-index 0000000..85f6d8b
---- /dev/null
-+++ b/pengine/test10/clone-interleave-3.exp
-@@ -0,0 +1,244 @@
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
-+  <synapse id="0">
-+    <action_set>
-+      <rsc_op id="8" operation="start" operation_key="dummy_start_0" on_node="pcmk-1" on_node_uuid="1">
-+        <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="7" operation="stop" operation_key="dummy_stop_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="35" operation="running" operation_key="clone-3_running_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="1">
-+    <action_set>
-+      <rsc_op id="7" operation="stop" operation_key="dummy_stop_0" on_node="pcmk-1" on_node_uuid="1">
-+        <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="2">
-+    <action_set>
-+      <rsc_op id="19" operation="start" operation_key="child-2:2_start_0" internal_operation_key="child-2:0_start_0" on_node="pcmk-1" on_node_uuid="1">
-+        <primitive id="child-2" long-id="child-2:2" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="1" operation="stop" operation_key="child-2:2_stop_0" internal_operation_key="child-2:0_stop_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="24" operation="start" operation_key="clone-2_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="3">
-+    <action_set>
-+      <rsc_op id="1" operation="stop" operation_key="child-2:2_stop_0" internal_operation_key="child-2:0_stop_0" on_node="pcmk-1" on_node_uuid="1">
-+        <primitive id="child-2" long-id="child-2:2" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="26" operation="stop" operation_key="clone-2_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="28" operation="stop" operation_key="child-3:2_stop_0" internal_operation_key="child-3:0_stop_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="4" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="27" operation="stopped" operation_key="clone-2_stopped_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="1" operation="stop" operation_key="child-2:2_stop_0" internal_operation_key="child-2:0_stop_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="26" operation="stop" operation_key="clone-2_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="5">
-+    <action_set>
-+      <pseudo_event id="26" operation="stop" operation_key="clone-2_stop_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="37" operation="stopped" operation_key="clone-3_stopped_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="6" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="25" operation="running" operation_key="clone-2_running_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="19" operation="start" operation_key="child-2:2_start_0" internal_operation_key="child-2:0_start_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="24" operation="start" operation_key="clone-2_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="7">
-+    <action_set>
-+      <pseudo_event id="24" operation="start" operation_key="clone-2_start_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="27" operation="stopped" operation_key="clone-2_stopped_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="8">
-+    <action_set>
-+      <rsc_op id="29" operation="start" operation_key="child-3:2_start_0" internal_operation_key="child-3:0_start_0" on_node="pcmk-1" on_node_uuid="1">
-+        <primitive id="child-3" long-id="child-3:2" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="19" operation="start" operation_key="child-2:2_start_0" internal_operation_key="child-2:0_start_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="28" operation="stop" operation_key="child-3:2_stop_0" internal_operation_key="child-3:0_stop_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="34" operation="start" operation_key="clone-3_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="9">
-+    <action_set>
-+      <rsc_op id="28" operation="stop" operation_key="child-3:2_stop_0" internal_operation_key="child-3:0_stop_0" on_node="pcmk-1" on_node_uuid="1">
-+        <primitive id="child-3" long-id="child-3:2" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="36" operation="stop" operation_key="clone-3_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="10" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="37" operation="stopped" operation_key="clone-3_stopped_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="28" operation="stop" operation_key="child-3:2_stop_0" internal_operation_key="child-3:0_stop_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="36" operation="stop" operation_key="clone-3_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="11">
-+    <action_set>
-+      <pseudo_event id="36" operation="stop" operation_key="clone-3_stop_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="7" operation="stop" operation_key="dummy_stop_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="12" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="35" operation="running" operation_key="clone-3_running_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="29" operation="start" operation_key="child-3:2_start_0" internal_operation_key="child-3:0_start_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="34" operation="start" operation_key="clone-3_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="13">
-+    <action_set>
-+      <pseudo_event id="34" operation="start" operation_key="clone-3_start_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="25" operation="running" operation_key="clone-2_running_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="37" operation="stopped" operation_key="clone-3_stopped_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="14" priority="1000000">
-+    <action_set>
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-pcmk-3" on_node="pcmk-3" on_node_uuid="3">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="15" priority="1000000">
-+    <action_set>
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-pcmk-2" on_node="pcmk-2" on_node_uuid="2">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="16" priority="1000000">
-+    <action_set>
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-pcmk-1" on_node="pcmk-1" on_node_uuid="1">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="17">
-+    <action_set>
-+      <pseudo_event id="2" operation="all_stopped" operation_key="all_stopped">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="1" operation="stop" operation_key="child-2:2_stop_0" internal_operation_key="child-2:0_stop_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="7" operation="stop" operation_key="dummy_stop_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="28" operation="stop" operation_key="child-3:2_stop_0" internal_operation_key="child-3:0_stop_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+</transition_graph>
-diff --git a/pengine/test10/clone-no-shuffle.exp b/pengine/test10/clone-no-shuffle.exp
-index c6437a6..4c9ee1b 100644
---- a/pengine/test10/clone-no-shuffle.exp
-+++ b/pengine/test10/clone-no-shuffle.exp
-@@ -436,7 +436,7 @@
-   </synapse>
-   <synapse id="32" priority="1000000">
-     <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="dktest2sles10" on_node_uuid="6676c8d5-552e-4a86-a2ea-172e954f7342">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-dktest2sles10" on_node="dktest2sles10" on_node_uuid="6676c8d5-552e-4a86-a2ea-172e954f7342">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -448,7 +448,7 @@
-    </synapse>
-   <synapse id="33" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="dktest1sles10" on_node_uuid="c563f60c-45a8-439e-85dc-645f4ecc150d">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-dktest1sles10" on_node="dktest1sles10" on_node_uuid="c563f60c-45a8-439e-85dc-645f4ecc150d">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -472,10 +472,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="dktest1sles10" on_node_uuid="c563f60c-45a8-439e-85dc-645f4ecc150d"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-dktest1sles10" on_node="dktest1sles10" on_node_uuid="c563f60c-45a8-439e-85dc-645f4ecc150d"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="dktest2sles10" on_node_uuid="6676c8d5-552e-4a86-a2ea-172e954f7342"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-dktest2sles10" on_node="dktest2sles10" on_node_uuid="6676c8d5-552e-4a86-a2ea-172e954f7342"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/clone-order-instance.exp b/pengine/test10/clone-order-instance.exp
-index dd277ae..f6c51de 100644
---- a/pengine/test10/clone-order-instance.exp
-+++ b/pengine/test10/clone-order-instance.exp
-@@ -111,7 +111,7 @@
-   </synapse>
-   <synapse id="9" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-bob.demo" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -126,7 +126,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-alice.demo" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -147,10 +147,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-alice.demo" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-bob.demo" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/clone-order-primitive.exp b/pengine/test10/clone-order-primitive.exp
-index aefaf50..e46f1fc 100644
---- a/pengine/test10/clone-order-primitive.exp
-+++ b/pengine/test10/clone-order-primitive.exp
-@@ -66,7 +66,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="pcw2709.see.ed.ac.uk" on_node_uuid="pcw2709.see.ed.ac.uk">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-pcw2709.see.ed.ac.uk" on_node="pcw2709.see.ed.ac.uk" on_node_uuid="pcw2709.see.ed.ac.uk">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -74,7 +74,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="pcw2688.see.ed.ac.uk" on_node_uuid="pcw2688.see.ed.ac.uk">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-pcw2688.see.ed.ac.uk" on_node="pcw2688.see.ed.ac.uk" on_node_uuid="pcw2688.see.ed.ac.uk">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -82,7 +82,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="pcw2059.see.ed.ac.uk" on_node_uuid="pcw2059.see.ed.ac.uk">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-pcw2059.see.ed.ac.uk" on_node="pcw2059.see.ed.ac.uk" on_node_uuid="pcw2059.see.ed.ac.uk">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -90,7 +90,7 @@
-   </synapse>
-   <synapse id="8" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="pcw2058.see.ed.ac.uk" on_node_uuid="pcw2058.see.ed.ac.uk">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-pcw2058.see.ed.ac.uk" on_node="pcw2058.see.ed.ac.uk" on_node_uuid="pcw2058.see.ed.ac.uk">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/coloc-group.exp b/pengine/test10/coloc-group.exp
-index f6c95f0..04b3b49 100644
---- a/pengine/test10/coloc-group.exp
-+++ b/pengine/test10/coloc-group.exp
-@@ -119,7 +119,7 @@
-    </synapse>
-   <synapse id="12" priority="1000000">
-      <action_set>
--      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="node3" on_node_uuid="node3">
-+      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-node3" on_node="node3" on_node_uuid="node3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -137,7 +137,7 @@
-    </synapse>
-   <synapse id="13" priority="1000000">
-      <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -155,7 +155,7 @@
-    </synapse>
-   <synapse id="14" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -179,13 +179,13 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="node3" on_node_uuid="node3"/>
-+        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-node3" on_node="node3" on_node_uuid="node3"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/coloc-list.exp b/pengine/test10/coloc-list.exp
-index 673c021..ca9d78e 100644
---- a/pengine/test10/coloc-list.exp
-+++ b/pengine/test10/coloc-list.exp
-@@ -139,7 +139,7 @@
-    </synapse>
-   <synapse id="14" priority="1000000">
-      <action_set>
--      <rsc_op id="12" operation="probe_complete" operation_key="probe_complete" on_node="node3" on_node_uuid="node3">
-+      <rsc_op id="12" operation="probe_complete" operation_key="probe_complete-node3" on_node="node3" on_node_uuid="node3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -160,7 +160,7 @@
-    </synapse>
-    <synapse id="15" priority="1000000">
-      <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -178,7 +178,7 @@
-    </synapse>
-    <synapse id="16" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -205,13 +205,13 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="12" operation="probe_complete" operation_key="probe_complete" on_node="node3" on_node_uuid="node3"/>
-+        <rsc_op id="12" operation="probe_complete" operation_key="probe_complete-node3" on_node="node3" on_node_uuid="node3"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/coloc-loop.exp b/pengine/test10/coloc-loop.exp
-index 12e86a2..1b50bad 100644
---- a/pengine/test10/coloc-loop.exp
-+++ b/pengine/test10/coloc-loop.exp
-@@ -121,7 +121,7 @@
-    </synapse>
-   <synapse id="12" priority="1000000">
-      <action_set>
--      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="node3" on_node_uuid="node3">
-+      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-node3" on_node="node3" on_node_uuid="node3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -139,7 +139,7 @@
-    </synapse>
-    <synapse id="13" priority="1000000">
-      <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -157,7 +157,7 @@
-    </synapse>
-    <synapse id="14" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -181,13 +181,13 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="node3" on_node_uuid="node3"/>
-+        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-node3" on_node="node3" on_node_uuid="node3"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/coloc-many-one.exp b/pengine/test10/coloc-many-one.exp
-index 0dca637..e8503a4 100644
---- a/pengine/test10/coloc-many-one.exp
-+++ b/pengine/test10/coloc-many-one.exp
-@@ -121,7 +121,7 @@
-    </synapse>
-   <synapse id="12" priority="1000000">
-      <action_set>
--      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="node3" on_node_uuid="node3">
-+      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-node3" on_node="node3" on_node_uuid="node3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -139,7 +139,7 @@
-    </synapse>
-    <synapse id="13" priority="1000000">
-      <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -157,7 +157,7 @@
-    </synapse>
-    <synapse id="14" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -181,13 +181,13 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="node3" on_node_uuid="node3"/>
-+        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-node3" on_node="node3" on_node_uuid="node3"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/colocate-primitive-with-clone.exp b/pengine/test10/colocate-primitive-with-clone.exp
-index 2dacc06..44fac10 100644
---- a/pengine/test10/colocate-primitive-with-clone.exp
-+++ b/pengine/test10/colocate-primitive-with-clone.exp
-@@ -133,7 +133,7 @@
-   </synapse>
-   <synapse id="9">
-     <action_set>
--      <crm_event id="191" operation="do_shutdown" operation_key="do_shutdown" on_node="srv01" on_node_uuid="srv01">
-+      <crm_event id="191" operation="do_shutdown" operation_key="do_shutdown-srv01" on_node="srv01" on_node_uuid="srv01">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-diff --git a/pengine/test10/comments.exp b/pengine/test10/comments.exp
-index 1ad8819..5d6abb2 100644
---- a/pengine/test10/comments.exp
-+++ b/pengine/test10/comments.exp
-@@ -63,7 +63,7 @@
-    </synapse>
-   <synapse id="6" priority="1000000">
-      <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -78,7 +78,7 @@
-    </synapse>
-    <synapse id="7" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -99,10 +99,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/container-1.exp b/pengine/test10/container-1.exp
-index 522b0f1..e252625 100644
---- a/pengine/test10/container-1.exp
-+++ b/pengine/test10/container-1.exp
-@@ -97,7 +97,7 @@
-   </synapse>
-   <synapse id="8" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -109,7 +109,7 @@
-   </synapse>
-   <synapse id="9" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -127,10 +127,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/container-2.exp b/pengine/test10/container-2.exp
-index c5f9e9e..4b1532b 100644
---- a/pengine/test10/container-2.exp
-+++ b/pengine/test10/container-2.exp
-@@ -119,7 +119,7 @@
-   </synapse>
-   <synapse id="9" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -127,7 +127,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/container-3.exp b/pengine/test10/container-3.exp
-index 3c2703a..e1fb4d9 100644
---- a/pengine/test10/container-3.exp
-+++ b/pengine/test10/container-3.exp
-@@ -104,7 +104,7 @@
-   </synapse>
-   <synapse id="8" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -112,7 +112,7 @@
-   </synapse>
-   <synapse id="9" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/container-4.exp b/pengine/test10/container-4.exp
-index d1da381..ed9bafa 100644
---- a/pengine/test10/container-4.exp
-+++ b/pengine/test10/container-4.exp
-@@ -119,7 +119,7 @@
-   </synapse>
-   <synapse id="9" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -127,7 +127,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/container-group-1.exp b/pengine/test10/container-group-1.exp
-index b14aa4c..af8a7d9 100644
---- a/pengine/test10/container-group-1.exp
-+++ b/pengine/test10/container-group-1.exp
-@@ -144,7 +144,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -156,7 +156,7 @@
-   </synapse>
-   <synapse id="11" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -174,10 +174,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/container-group-2.exp b/pengine/test10/container-group-2.exp
-index ce32cc3..5acdcbc 100644
---- a/pengine/test10/container-group-2.exp
-+++ b/pengine/test10/container-group-2.exp
-@@ -207,7 +207,7 @@
-   </synapse>
-   <synapse id="13" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -215,7 +215,7 @@
-   </synapse>
-   <synapse id="14" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/container-group-3.exp b/pengine/test10/container-group-3.exp
-index 96d99c6..d07c9cb 100644
---- a/pengine/test10/container-group-3.exp
-+++ b/pengine/test10/container-group-3.exp
-@@ -160,7 +160,7 @@
-   </synapse>
-   <synapse id="11" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -168,7 +168,7 @@
-   </synapse>
-   <synapse id="12" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/container-group-4.exp b/pengine/test10/container-group-4.exp
-index 6128599..7970a76 100644
---- a/pengine/test10/container-group-4.exp
-+++ b/pengine/test10/container-group-4.exp
-@@ -207,7 +207,7 @@
-   </synapse>
-   <synapse id="13" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -215,7 +215,7 @@
-   </synapse>
-   <synapse id="14" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/date-1.exp b/pengine/test10/date-1.exp
-index 2a64721..eba26f2 100644
---- a/pengine/test10/date-1.exp
-+++ b/pengine/test10/date-1.exp
-@@ -32,7 +32,7 @@
-    </synapse>
-   <synapse id="3" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -44,7 +44,7 @@
-    </synapse>
-    <synapse id="4" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -62,10 +62,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/domain.exp b/pengine/test10/domain.exp
-index 3d9eb9a..1228dde 100644
---- a/pengine/test10/domain.exp
-+++ b/pengine/test10/domain.exp
-@@ -50,7 +50,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="puma4" on_node_uuid="puma4">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-puma4" on_node="puma4" on_node_uuid="puma4">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -62,7 +62,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="puma3" on_node_uuid="puma3">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-puma3" on_node="puma3" on_node_uuid="puma3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -74,7 +74,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="puma2" on_node_uuid="puma2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-puma2" on_node="puma2" on_node_uuid="puma2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -86,7 +86,7 @@
-   </synapse>
-   <synapse id="8" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="puma1" on_node_uuid="puma1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-puma1" on_node="puma1" on_node_uuid="puma1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -104,16 +104,16 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="puma1" on_node_uuid="puma1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-puma1" on_node="puma1" on_node_uuid="puma1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="puma2" on_node_uuid="puma2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-puma2" on_node="puma2" on_node_uuid="puma2"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="puma3" on_node_uuid="puma3"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-puma3" on_node="puma3" on_node_uuid="puma3"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="puma4" on_node_uuid="puma4"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-puma4" on_node="puma4" on_node_uuid="puma4"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/group-fail.exp b/pengine/test10/group-fail.exp
-index cf4c6eb..79ae80a 100644
---- a/pengine/test10/group-fail.exp
-+++ b/pengine/test10/group-fail.exp
-@@ -159,7 +159,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -167,7 +167,7 @@
-   </synapse>
-   <synapse id="11" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/group-unmanaged-stopped.exp b/pengine/test10/group-unmanaged-stopped.exp
-new file mode 100644
-index 0000000..3ea67ca
---- /dev/null
-+++ b/pengine/test10/group-unmanaged-stopped.exp
-@@ -0,0 +1,66 @@
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="1"  transition_id="0">
-+  <synapse id="0">
-+    <action_set>
-+      <pseudo_event id="15" operation="stopped" operation_key="group-1_stopped_0">
-+        <attributes CRM_meta_timeout="90000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="11" operation="stop" operation_key="r192.168.122.115_stop_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="14" operation="stop" operation_key="group-1_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="1">
-+    <action_set>
-+      <pseudo_event id="14" operation="stop" operation_key="group-1_stop_0">
-+        <attributes CRM_meta_timeout="90000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="2">
-+    <action_set>
-+      <rsc_op id="11" operation="stop" operation_key="r192.168.122.115_stop_0" on_node="pcmk-1" on_node_uuid="1">
-+        <primitive id="r192.168.122.115" class="ocf" provider="heartbeat" type="IPaddr2"/>
-+        <attributes CRM_meta_timeout="90000" cidr_netmask="32"  ip="192.168.122.115"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="14" operation="stop" operation_key="group-1_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="3" priority="1000000">
-+    <action_set>
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-pcmk-2" on_node="pcmk-2" on_node_uuid="2">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="4" priority="1000000">
-+    <action_set>
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-pcmk-1" on_node="pcmk-1" on_node_uuid="1">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="5">
-+    <action_set>
-+      <pseudo_event id="4" operation="all_stopped" operation_key="all_stopped">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="11" operation="stop" operation_key="r192.168.122.115_stop_0" on_node="pcmk-1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+</transition_graph>
-diff --git a/pengine/test10/group-unmanaged.exp b/pengine/test10/group-unmanaged.exp
-new file mode 100644
-index 0000000..9ccb828
---- /dev/null
-+++ b/pengine/test10/group-unmanaged.exp
-@@ -0,0 +1,18 @@
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="1"  transition_id="0">
-+  <synapse id="0" priority="1000000">
-+    <action_set>
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-pcmk-2" on_node="pcmk-2" on_node_uuid="2">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="1" priority="1000000">
-+    <action_set>
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-pcmk-1" on_node="pcmk-1" on_node_uuid="1">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+</transition_graph>
-diff --git a/pengine/test10/group1.exp b/pengine/test10/group1.exp
-index e0c19fe..45e2fcc 100644
---- a/pengine/test10/group1.exp
-+++ b/pengine/test10/group1.exp
-@@ -138,7 +138,7 @@
-   </synapse>
-   <synapse id="11" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -156,7 +156,7 @@
-    </synapse>
-   <synapse id="12" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -180,10 +180,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/group10.exp b/pengine/test10/group10.exp
-index 4285683..7fab8b3 100644
---- a/pengine/test10/group10.exp
-+++ b/pengine/test10/group10.exp
-@@ -291,7 +291,7 @@
-    </synapse>
-   <synapse id="22" priority="1000000">
-      <action_set>
--      <rsc_op id="26" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="26" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -306,7 +306,7 @@
-    </synapse>
-   <synapse id="23" priority="1000000">
-      <action_set>
--      <rsc_op id="23" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="23" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -321,7 +321,7 @@
-   </synapse>
-   <synapse id="24" priority="1000000">
-     <action_set>
--      <rsc_op id="20" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="20" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -336,7 +336,7 @@
-    </synapse>
-   <synapse id="25" priority="1000000">
-      <action_set>
--       <rsc_op id="16" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-+      <rsc_op id="16" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -360,16 +360,16 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="16" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <rsc_op id="16" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="20" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="20" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="23" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="23" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="26" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="26" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/group11.exp b/pengine/test10/group11.exp
-index 5c24675..b316b01 100644
---- a/pengine/test10/group11.exp
-+++ b/pengine/test10/group11.exp
-@@ -68,7 +68,7 @@
-    </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/group15.exp b/pengine/test10/group15.exp
-index 421cd86..47a744a 100644
---- a/pengine/test10/group15.exp
-+++ b/pengine/test10/group15.exp
-@@ -192,7 +192,7 @@
-    </synapse>
-   <synapse id="17" priority="1000000">
-      <action_set>
--      <rsc_op id="10" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -219,7 +219,7 @@
-    </synapse>
-   <synapse id="18" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -252,10 +252,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="10" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/group2.exp b/pengine/test10/group2.exp
-index 061798d..7df6735 100644
---- a/pengine/test10/group2.exp
-+++ b/pengine/test10/group2.exp
-@@ -207,7 +207,7 @@
-    </synapse>
-   <synapse id="17" priority="1000000">
-      <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -231,7 +231,7 @@
-    </synapse>
-   <synapse id="18" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -261,10 +261,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/group3.exp b/pengine/test10/group3.exp
-index 7cb477e..7cf2962 100644
---- a/pengine/test10/group3.exp
-+++ b/pengine/test10/group3.exp
-@@ -279,7 +279,7 @@
-    </synapse>
-   <synapse id="22" priority="1000000">
-      <action_set>
--      <rsc_op id="10" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -306,7 +306,7 @@
-    </synapse>
-   <synapse id="23" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -339,10 +339,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="10" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/group4.exp b/pengine/test10/group4.exp
-index b6b275e..207a905 100644
---- a/pengine/test10/group4.exp
-+++ b/pengine/test10/group4.exp
-@@ -46,7 +46,7 @@
-    </synapse>
-   <synapse id="5" priority="1000000">
-      <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -54,7 +54,7 @@
-    </synapse>
-    <synapse id="6" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -84,10 +84,10 @@
-      </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-       </trigger>
-     </inputs>
-    </synapse>
-diff --git a/pengine/test10/group5.exp b/pengine/test10/group5.exp
-index 920af4d..fa85bbe 100644
---- a/pengine/test10/group5.exp
-+++ b/pengine/test10/group5.exp
-@@ -296,7 +296,7 @@
-    </synapse>
-   <synapse id="19" priority="1000000">
-      <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -320,7 +320,7 @@
-    </synapse>
-   <synapse id="20" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -334,10 +334,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--         <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--         <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/group6.exp b/pengine/test10/group6.exp
-index 40d149f..d71f695 100644
---- a/pengine/test10/group6.exp
-+++ b/pengine/test10/group6.exp
-@@ -420,7 +420,7 @@
-    </synapse>
-   <synapse id="26" priority="1000000">
-      <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -447,7 +447,7 @@
-    </synapse>
-   <synapse id="27" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -461,10 +461,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--         <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--         <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/group7.exp b/pengine/test10/group7.exp
-index 18abb01..4834e86 100644
---- a/pengine/test10/group7.exp
-+++ b/pengine/test10/group7.exp
-@@ -373,7 +373,7 @@
-    </synapse>
-   <synapse id="32" priority="1000000">
-      <action_set>
--      <rsc_op id="19" operation="probe_complete" operation_key="probe_complete" on_node="node3" on_node_uuid="uuid3">
-+      <rsc_op id="19" operation="probe_complete" operation_key="probe_complete-node3" on_node="node3" on_node_uuid="uuid3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -403,7 +403,7 @@
-    </synapse>
-   <synapse id="33" priority="1000000">
-      <action_set>
--      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -433,7 +433,7 @@
-    </synapse>
-   <synapse id="34" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -469,13 +469,13 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="19" operation="probe_complete" operation_key="probe_complete" on_node="node3" on_node_uuid="uuid3"/>
-+        <rsc_op id="19" operation="probe_complete" operation_key="probe_complete-node3" on_node="node3" on_node_uuid="uuid3"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/group8.exp b/pengine/test10/group8.exp
-index 6700350..c4887dd 100644
---- a/pengine/test10/group8.exp
-+++ b/pengine/test10/group8.exp
-@@ -160,7 +160,7 @@
-    </synapse>
-   <synapse id="13" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -196,7 +196,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/group9.exp b/pengine/test10/group9.exp
-index cf8dfea..650dfab 100644
---- a/pengine/test10/group9.exp
-+++ b/pengine/test10/group9.exp
-@@ -384,7 +384,7 @@
-   </synapse>
-   <synapse id="26" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -417,7 +417,7 @@
-    </synapse>
-   <synapse id="27" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -431,10 +431,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--         <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-        <trigger>
--         <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/honor_stonith_rsc_order1.exp b/pengine/test10/honor_stonith_rsc_order1.exp
-index 66a401b..7dd0ffb 100644
---- a/pengine/test10/honor_stonith_rsc_order1.exp
-+++ b/pengine/test10/honor_stonith_rsc_order1.exp
-@@ -123,7 +123,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -147,7 +147,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/honor_stonith_rsc_order2.exp b/pengine/test10/honor_stonith_rsc_order2.exp
-index c4b0ee2..2ceba4a 100644
---- a/pengine/test10/honor_stonith_rsc_order2.exp
-+++ b/pengine/test10/honor_stonith_rsc_order2.exp
-@@ -185,7 +185,7 @@
-   </synapse>
-   <synapse id="14" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -215,7 +215,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/honor_stonith_rsc_order3.exp b/pengine/test10/honor_stonith_rsc_order3.exp
-index 8c0973a..780b1ba 100644
---- a/pengine/test10/honor_stonith_rsc_order3.exp
-+++ b/pengine/test10/honor_stonith_rsc_order3.exp
-@@ -212,7 +212,7 @@
-   </synapse>
-   <synapse id="16" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -242,7 +242,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/honor_stonith_rsc_order4.exp b/pengine/test10/honor_stonith_rsc_order4.exp
-index 6ddf8f9..4bf90b1 100644
---- a/pengine/test10/honor_stonith_rsc_order4.exp
-+++ b/pengine/test10/honor_stonith_rsc_order4.exp
-@@ -70,7 +70,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -94,7 +94,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ignore_stonith_rsc_order1.exp b/pengine/test10/ignore_stonith_rsc_order1.exp
-index 883ba7a..099022c 100644
---- a/pengine/test10/ignore_stonith_rsc_order1.exp
-+++ b/pengine/test10/ignore_stonith_rsc_order1.exp
-@@ -48,7 +48,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -69,7 +69,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ignore_stonith_rsc_order2.exp b/pengine/test10/ignore_stonith_rsc_order2.exp
-index f25ec5a..22850b9 100644
---- a/pengine/test10/ignore_stonith_rsc_order2.exp
-+++ b/pengine/test10/ignore_stonith_rsc_order2.exp
-@@ -105,7 +105,7 @@
-   </synapse>
-   <synapse id="8" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -129,7 +129,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ignore_stonith_rsc_order3.exp b/pengine/test10/ignore_stonith_rsc_order3.exp
-index 2ccc016..4feaa51 100644
---- a/pengine/test10/ignore_stonith_rsc_order3.exp
-+++ b/pengine/test10/ignore_stonith_rsc_order3.exp
-@@ -132,7 +132,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -156,7 +156,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ignore_stonith_rsc_order4.exp b/pengine/test10/ignore_stonith_rsc_order4.exp
-index a1a840d..f6967c1 100644
---- a/pengine/test10/ignore_stonith_rsc_order4.exp
-+++ b/pengine/test10/ignore_stonith_rsc_order4.exp
-@@ -159,7 +159,7 @@
-   </synapse>
-   <synapse id="12" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -183,7 +183,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/inc0.exp b/pengine/test10/inc0.exp
-index 71cced1..2d957aa 100644
---- a/pengine/test10/inc0.exp
-+++ b/pengine/test10/inc0.exp
-@@ -187,7 +187,7 @@
-   </synapse>
-   <synapse id="16" priority="1000000">
-     <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -211,7 +211,7 @@
-    </synapse>
-   <synapse id="17" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -241,10 +241,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/inc1.exp b/pengine/test10/inc1.exp
-index 6f5d759..172ae77 100644
---- a/pengine/test10/inc1.exp
-+++ b/pengine/test10/inc1.exp
-@@ -256,7 +256,7 @@
-   </synapse>
-   <synapse id="22" priority="1000000">
-     <action_set>
--      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -286,7 +286,7 @@
-    </synapse>
-   <synapse id="23" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -322,10 +322,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/inc11.exp b/pengine/test10/inc11.exp
-index 54314c1..527d335 100644
---- a/pengine/test10/inc11.exp
-+++ b/pengine/test10/inc11.exp
-@@ -193,7 +193,7 @@
-    </synapse>
-   <synapse id="17" priority="1000000">
-      <action_set>
--      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -211,7 +211,7 @@
-    </synapse>
-   <synapse id="18" priority="1000000">
-      <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -229,7 +229,7 @@
-    </synapse>
-   <synapse id="19" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node0" on_node_uuid="uuid0">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node0" on_node="node0" on_node_uuid="uuid0">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -253,13 +253,13 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node0" on_node_uuid="uuid0"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node0" on_node="node0" on_node_uuid="uuid0"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/inc12.exp b/pengine/test10/inc12.exp
-index 4fabf43..aa3f992 100644
---- a/pengine/test10/inc12.exp
-+++ b/pengine/test10/inc12.exp
-@@ -420,7 +420,7 @@
-   </synapse>
-   <synapse id="31">
-     <action_set>
--      <crm_event id="80" operation="do_shutdown" operation_key="do_shutdown" on_node="c001n07" on_node_uuid="6637ebb5-ab11-4728-b69e-b61222af9a0c">
-+      <crm_event id="80" operation="do_shutdown" operation_key="do_shutdown-c001n07" on_node="c001n07" on_node_uuid="6637ebb5-ab11-4728-b69e-b61222af9a0c">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -441,7 +441,7 @@
-   </synapse>
-   <synapse id="32">
-     <action_set>
--      <crm_event id="79" operation="do_shutdown" operation_key="do_shutdown" on_node="c001n06" on_node_uuid="169e4673-93fb-4c0a-8082-d3408bae9431">
-+      <crm_event id="79" operation="do_shutdown" operation_key="do_shutdown-c001n06" on_node="c001n06" on_node_uuid="169e4673-93fb-4c0a-8082-d3408bae9431">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -462,7 +462,7 @@
-   </synapse>
-   <synapse id="33">
-     <action_set>
--      <crm_event id="78" operation="do_shutdown" operation_key="do_shutdown" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e">
-+      <crm_event id="78" operation="do_shutdown" operation_key="do_shutdown-c001n05" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -486,7 +486,7 @@
-    </synapse>
-   <synapse id="34">
-      <action_set>
--      <crm_event id="77" operation="do_shutdown" operation_key="do_shutdown" on_node="c001n04" on_node_uuid="9e080e6d-7a25-4dac-be89-f6f4f128623d">
-+      <crm_event id="77" operation="do_shutdown" operation_key="do_shutdown-c001n04" on_node="c001n04" on_node_uuid="9e080e6d-7a25-4dac-be89-f6f4f128623d">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </crm_event>
-      </action_set>
-@@ -510,31 +510,31 @@
-    </synapse>
-   <synapse id="35">
-      <action_set>
--      <crm_event id="76" operation="do_shutdown" operation_key="do_shutdown" on_node="c001n03" on_node_uuid="f5e1d2de-73da-432a-9d5c-37472253c2ee">
-+      <crm_event id="76" operation="do_shutdown" operation_key="do_shutdown-c001n03" on_node="c001n03" on_node_uuid="f5e1d2de-73da-432a-9d5c-37472253c2ee">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </crm_event>
-      </action_set>
-      <inputs>
-        <trigger>
--        <crm_event id="75" operation="do_shutdown" operation_key="do_shutdown" on_node="c001n02" on_node_uuid="e8973f32-1c97-40cb-a84a-c489f49664a5"/>
-+        <crm_event id="75" operation="do_shutdown" operation_key="do_shutdown-c001n02" on_node="c001n02" on_node_uuid="e8973f32-1c97-40cb-a84a-c489f49664a5"/>
-        </trigger>
-        <trigger>
--        <crm_event id="77" operation="do_shutdown" operation_key="do_shutdown" on_node="c001n04" on_node_uuid="9e080e6d-7a25-4dac-be89-f6f4f128623d"/>
-+        <crm_event id="77" operation="do_shutdown" operation_key="do_shutdown-c001n04" on_node="c001n04" on_node_uuid="9e080e6d-7a25-4dac-be89-f6f4f128623d"/>
-        </trigger>
-        <trigger>
--        <crm_event id="78" operation="do_shutdown" operation_key="do_shutdown" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e"/>
-+        <crm_event id="78" operation="do_shutdown" operation_key="do_shutdown-c001n05" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e"/>
-        </trigger>
-        <trigger>
--        <crm_event id="79" operation="do_shutdown" operation_key="do_shutdown" on_node="c001n06" on_node_uuid="169e4673-93fb-4c0a-8082-d3408bae9431"/>
-+        <crm_event id="79" operation="do_shutdown" operation_key="do_shutdown-c001n06" on_node="c001n06" on_node_uuid="169e4673-93fb-4c0a-8082-d3408bae9431"/>
-        </trigger>
-        <trigger>
--        <crm_event id="80" operation="do_shutdown" operation_key="do_shutdown" on_node="c001n07" on_node_uuid="6637ebb5-ab11-4728-b69e-b61222af9a0c"/>
-+        <crm_event id="80" operation="do_shutdown" operation_key="do_shutdown-c001n07" on_node="c001n07" on_node_uuid="6637ebb5-ab11-4728-b69e-b61222af9a0c"/>
-        </trigger>
-      </inputs>
-    </synapse>
-   <synapse id="36">
-      <action_set>
--      <crm_event id="75" operation="do_shutdown" operation_key="do_shutdown" on_node="c001n02" on_node_uuid="e8973f32-1c97-40cb-a84a-c489f49664a5">
-+      <crm_event id="75" operation="do_shutdown" operation_key="do_shutdown-c001n02" on_node="c001n02" on_node_uuid="e8973f32-1c97-40cb-a84a-c489f49664a5">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </crm_event>
-      </action_set>
-diff --git a/pengine/test10/inc2.exp b/pengine/test10/inc2.exp
-index 82474dc..f3064aa 100644
---- a/pengine/test10/inc2.exp
-+++ b/pengine/test10/inc2.exp
-@@ -191,7 +191,7 @@
-    </synapse>
-   <synapse id="14" priority="1000000">
-      <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -221,7 +221,7 @@
-      </action_set>
-      <inputs>
-        <trigger>
--         <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/inc3.exp b/pengine/test10/inc3.exp
-index 653c377..5e566bb 100644
---- a/pengine/test10/inc3.exp
-+++ b/pengine/test10/inc3.exp
-@@ -369,7 +369,7 @@
-    </synapse>
-   <synapse id="27" priority="1000000">
-      <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -393,7 +393,7 @@
-    </synapse>
-   <synapse id="28" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -423,10 +423,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/inc4.exp b/pengine/test10/inc4.exp
-index 7b73210..6a9e648 100644
---- a/pengine/test10/inc4.exp
-+++ b/pengine/test10/inc4.exp
-@@ -384,7 +384,7 @@
-    </synapse>
-   <synapse id="27" priority="1000000">
-      <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -408,7 +408,7 @@
-    </synapse>
-   <synapse id="28" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -438,10 +438,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/inc5.exp b/pengine/test10/inc5.exp
-index f8be6e4..3b0ad75 100644
---- a/pengine/test10/inc5.exp
-+++ b/pengine/test10/inc5.exp
-@@ -629,7 +629,7 @@
-    </synapse>
-   <synapse id="56" priority="1000000">
-      <action_set>
--      <rsc_op id="20" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="20" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -686,7 +686,7 @@
-    </synapse>
-   <synapse id="57" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -749,10 +749,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="20" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="20" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/inc6.exp b/pengine/test10/inc6.exp
-index 5b347d0..3b4c8e2 100644
---- a/pengine/test10/inc6.exp
-+++ b/pengine/test10/inc6.exp
-@@ -438,7 +438,7 @@
-    </synapse>
-   <synapse id="32" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -446,7 +446,7 @@
-   </synapse>
-   <synapse id="33" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/inc7.exp b/pengine/test10/inc7.exp
-index ec1c6d2..2685678 100644
---- a/pengine/test10/inc7.exp
-+++ b/pengine/test10/inc7.exp
-@@ -560,7 +560,7 @@
-    </synapse>
-   <synapse id="48" priority="1000000">
-      <action_set>
--      <rsc_op id="27" operation="probe_complete" operation_key="probe_complete" on_node="node3" on_node_uuid="uuid3">
-+      <rsc_op id="27" operation="probe_complete" operation_key="probe_complete-node3" on_node="node3" on_node_uuid="uuid3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -602,7 +602,7 @@
-    </synapse>
-   <synapse id="49" priority="1000000">
-      <action_set>
--       <rsc_op id="15" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="15" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -644,7 +644,7 @@
-    </synapse>
-   <synapse id="50" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -692,13 +692,13 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="15" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="15" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="27" operation="probe_complete" operation_key="probe_complete" on_node="node3" on_node_uuid="uuid3"/>
-+        <rsc_op id="27" operation="probe_complete" operation_key="probe_complete-node3" on_node="node3" on_node_uuid="uuid3"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/inc8.exp b/pengine/test10/inc8.exp
-index e6ac6de..03f3a4c 100644
---- a/pengine/test10/inc8.exp
-+++ b/pengine/test10/inc8.exp
-@@ -270,7 +270,7 @@
-    </synapse>
-   <synapse id="27" priority="1000000">
-      <action_set>
--      <rsc_op id="15" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="15" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -312,7 +312,7 @@
-    </synapse>
-   <synapse id="28" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -360,10 +360,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="15" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="15" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/interleave-0.exp b/pengine/test10/interleave-0.exp
-index d5523d5..8a3c701 100644
---- a/pengine/test10/interleave-0.exp
-+++ b/pengine/test10/interleave-0.exp
-@@ -1591,7 +1591,7 @@
-   </synapse>
-   <synapse id="164" priority="1000000">
-     <action_set>
--      <rsc_op id="152" operation="probe_complete" operation_key="probe_complete" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4">
-+      <rsc_op id="152" operation="probe_complete" operation_key="probe_complete-c001n09" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -1660,7 +1660,7 @@
-    </synapse>
-   <synapse id="165" priority="1000000">
-      <action_set>
--      <rsc_op id="129" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="129" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1735,7 +1735,7 @@
-    </synapse>
-   <synapse id="166" priority="1000000">
-      <action_set>
--      <rsc_op id="107" operation="probe_complete" operation_key="probe_complete" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b">
-+      <rsc_op id="107" operation="probe_complete" operation_key="probe_complete-c001n07" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1807,7 +1807,7 @@
-   </synapse>
-   <synapse id="167" priority="1000000">
-     <action_set>
--      <rsc_op id="95" operation="probe_complete" operation_key="probe_complete" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2">
-+      <rsc_op id="95" operation="probe_complete" operation_key="probe_complete-c001n06" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -1849,7 +1849,7 @@
-    </synapse>
-   <synapse id="168" priority="1000000">
-      <action_set>
--      <rsc_op id="74" operation="probe_complete" operation_key="probe_complete" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5">
-+      <rsc_op id="74" operation="probe_complete" operation_key="probe_complete-c001n05" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1918,7 +1918,7 @@
-    </synapse>
-   <synapse id="169" priority="1000000">
-      <action_set>
--      <rsc_op id="54" operation="probe_complete" operation_key="probe_complete" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559">
-+      <rsc_op id="54" operation="probe_complete" operation_key="probe_complete-c001n04" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1984,7 +1984,7 @@
-    </synapse>
-   <synapse id="170" priority="1000000">
-      <action_set>
--      <rsc_op id="37" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="37" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -2041,7 +2041,7 @@
-    </synapse>
-   <synapse id="171" priority="1000000">
-      <action_set>
--      <rsc_op id="19" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="19" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -2107,28 +2107,28 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="19" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="19" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="37" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="37" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="54" operation="probe_complete" operation_key="probe_complete" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559"/>
-+        <rsc_op id="54" operation="probe_complete" operation_key="probe_complete-c001n04" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="74" operation="probe_complete" operation_key="probe_complete" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5"/>
-+        <rsc_op id="74" operation="probe_complete" operation_key="probe_complete-c001n05" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="95" operation="probe_complete" operation_key="probe_complete" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2"/>
-+        <rsc_op id="95" operation="probe_complete" operation_key="probe_complete-c001n06" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="107" operation="probe_complete" operation_key="probe_complete" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b"/>
-+        <rsc_op id="107" operation="probe_complete" operation_key="probe_complete-c001n07" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="129" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="129" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="152" operation="probe_complete" operation_key="probe_complete" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4"/>
-+        <rsc_op id="152" operation="probe_complete" operation_key="probe_complete-c001n09" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/interleave-1.exp b/pengine/test10/interleave-1.exp
-index d5523d5..8a3c701 100644
---- a/pengine/test10/interleave-1.exp
-+++ b/pengine/test10/interleave-1.exp
-@@ -1591,7 +1591,7 @@
-   </synapse>
-   <synapse id="164" priority="1000000">
-     <action_set>
--      <rsc_op id="152" operation="probe_complete" operation_key="probe_complete" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4">
-+      <rsc_op id="152" operation="probe_complete" operation_key="probe_complete-c001n09" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -1660,7 +1660,7 @@
-    </synapse>
-   <synapse id="165" priority="1000000">
-      <action_set>
--      <rsc_op id="129" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="129" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1735,7 +1735,7 @@
-    </synapse>
-   <synapse id="166" priority="1000000">
-      <action_set>
--      <rsc_op id="107" operation="probe_complete" operation_key="probe_complete" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b">
-+      <rsc_op id="107" operation="probe_complete" operation_key="probe_complete-c001n07" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1807,7 +1807,7 @@
-   </synapse>
-   <synapse id="167" priority="1000000">
-     <action_set>
--      <rsc_op id="95" operation="probe_complete" operation_key="probe_complete" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2">
-+      <rsc_op id="95" operation="probe_complete" operation_key="probe_complete-c001n06" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -1849,7 +1849,7 @@
-    </synapse>
-   <synapse id="168" priority="1000000">
-      <action_set>
--      <rsc_op id="74" operation="probe_complete" operation_key="probe_complete" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5">
-+      <rsc_op id="74" operation="probe_complete" operation_key="probe_complete-c001n05" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1918,7 +1918,7 @@
-    </synapse>
-   <synapse id="169" priority="1000000">
-      <action_set>
--      <rsc_op id="54" operation="probe_complete" operation_key="probe_complete" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559">
-+      <rsc_op id="54" operation="probe_complete" operation_key="probe_complete-c001n04" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1984,7 +1984,7 @@
-    </synapse>
-   <synapse id="170" priority="1000000">
-      <action_set>
--      <rsc_op id="37" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="37" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -2041,7 +2041,7 @@
-    </synapse>
-   <synapse id="171" priority="1000000">
-      <action_set>
--      <rsc_op id="19" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="19" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -2107,28 +2107,28 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="19" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="19" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="37" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="37" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="54" operation="probe_complete" operation_key="probe_complete" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559"/>
-+        <rsc_op id="54" operation="probe_complete" operation_key="probe_complete-c001n04" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="74" operation="probe_complete" operation_key="probe_complete" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5"/>
-+        <rsc_op id="74" operation="probe_complete" operation_key="probe_complete-c001n05" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="95" operation="probe_complete" operation_key="probe_complete" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2"/>
-+        <rsc_op id="95" operation="probe_complete" operation_key="probe_complete-c001n06" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="107" operation="probe_complete" operation_key="probe_complete" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b"/>
-+        <rsc_op id="107" operation="probe_complete" operation_key="probe_complete-c001n07" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="129" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="129" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="152" operation="probe_complete" operation_key="probe_complete" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4"/>
-+        <rsc_op id="152" operation="probe_complete" operation_key="probe_complete-c001n09" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/interleave-2.exp b/pengine/test10/interleave-2.exp
-index d5523d5..8a3c701 100644
---- a/pengine/test10/interleave-2.exp
-+++ b/pengine/test10/interleave-2.exp
-@@ -1591,7 +1591,7 @@
-   </synapse>
-   <synapse id="164" priority="1000000">
-     <action_set>
--      <rsc_op id="152" operation="probe_complete" operation_key="probe_complete" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4">
-+      <rsc_op id="152" operation="probe_complete" operation_key="probe_complete-c001n09" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -1660,7 +1660,7 @@
-    </synapse>
-   <synapse id="165" priority="1000000">
-      <action_set>
--      <rsc_op id="129" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="129" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1735,7 +1735,7 @@
-    </synapse>
-   <synapse id="166" priority="1000000">
-      <action_set>
--      <rsc_op id="107" operation="probe_complete" operation_key="probe_complete" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b">
-+      <rsc_op id="107" operation="probe_complete" operation_key="probe_complete-c001n07" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1807,7 +1807,7 @@
-   </synapse>
-   <synapse id="167" priority="1000000">
-     <action_set>
--      <rsc_op id="95" operation="probe_complete" operation_key="probe_complete" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2">
-+      <rsc_op id="95" operation="probe_complete" operation_key="probe_complete-c001n06" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -1849,7 +1849,7 @@
-    </synapse>
-   <synapse id="168" priority="1000000">
-      <action_set>
--      <rsc_op id="74" operation="probe_complete" operation_key="probe_complete" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5">
-+      <rsc_op id="74" operation="probe_complete" operation_key="probe_complete-c001n05" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1918,7 +1918,7 @@
-    </synapse>
-   <synapse id="169" priority="1000000">
-      <action_set>
--      <rsc_op id="54" operation="probe_complete" operation_key="probe_complete" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559">
-+      <rsc_op id="54" operation="probe_complete" operation_key="probe_complete-c001n04" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1984,7 +1984,7 @@
-    </synapse>
-   <synapse id="170" priority="1000000">
-      <action_set>
--      <rsc_op id="37" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="37" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -2041,7 +2041,7 @@
-    </synapse>
-   <synapse id="171" priority="1000000">
-      <action_set>
--      <rsc_op id="19" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="19" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -2107,28 +2107,28 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="19" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="19" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="37" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="37" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="54" operation="probe_complete" operation_key="probe_complete" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559"/>
-+        <rsc_op id="54" operation="probe_complete" operation_key="probe_complete-c001n04" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="74" operation="probe_complete" operation_key="probe_complete" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5"/>
-+        <rsc_op id="74" operation="probe_complete" operation_key="probe_complete-c001n05" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="95" operation="probe_complete" operation_key="probe_complete" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2"/>
-+        <rsc_op id="95" operation="probe_complete" operation_key="probe_complete-c001n06" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="107" operation="probe_complete" operation_key="probe_complete" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b"/>
-+        <rsc_op id="107" operation="probe_complete" operation_key="probe_complete-c001n07" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="129" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="129" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="152" operation="probe_complete" operation_key="probe_complete" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4"/>
-+        <rsc_op id="152" operation="probe_complete" operation_key="probe_complete-c001n09" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/interleave-3.exp b/pengine/test10/interleave-3.exp
-index d5523d5..8a3c701 100644
---- a/pengine/test10/interleave-3.exp
-+++ b/pengine/test10/interleave-3.exp
-@@ -1591,7 +1591,7 @@
-   </synapse>
-   <synapse id="164" priority="1000000">
-     <action_set>
--      <rsc_op id="152" operation="probe_complete" operation_key="probe_complete" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4">
-+      <rsc_op id="152" operation="probe_complete" operation_key="probe_complete-c001n09" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -1660,7 +1660,7 @@
-    </synapse>
-   <synapse id="165" priority="1000000">
-      <action_set>
--      <rsc_op id="129" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="129" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1735,7 +1735,7 @@
-    </synapse>
-   <synapse id="166" priority="1000000">
-      <action_set>
--      <rsc_op id="107" operation="probe_complete" operation_key="probe_complete" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b">
-+      <rsc_op id="107" operation="probe_complete" operation_key="probe_complete-c001n07" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1807,7 +1807,7 @@
-   </synapse>
-   <synapse id="167" priority="1000000">
-     <action_set>
--      <rsc_op id="95" operation="probe_complete" operation_key="probe_complete" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2">
-+      <rsc_op id="95" operation="probe_complete" operation_key="probe_complete-c001n06" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -1849,7 +1849,7 @@
-    </synapse>
-   <synapse id="168" priority="1000000">
-      <action_set>
--      <rsc_op id="74" operation="probe_complete" operation_key="probe_complete" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5">
-+      <rsc_op id="74" operation="probe_complete" operation_key="probe_complete-c001n05" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1918,7 +1918,7 @@
-    </synapse>
-   <synapse id="169" priority="1000000">
-      <action_set>
--      <rsc_op id="54" operation="probe_complete" operation_key="probe_complete" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559">
-+      <rsc_op id="54" operation="probe_complete" operation_key="probe_complete-c001n04" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1984,7 +1984,7 @@
-    </synapse>
-   <synapse id="170" priority="1000000">
-      <action_set>
--      <rsc_op id="37" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="37" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -2041,7 +2041,7 @@
-    </synapse>
-   <synapse id="171" priority="1000000">
-      <action_set>
--      <rsc_op id="19" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="19" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -2107,28 +2107,28 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="19" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="19" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="37" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="37" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="54" operation="probe_complete" operation_key="probe_complete" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559"/>
-+        <rsc_op id="54" operation="probe_complete" operation_key="probe_complete-c001n04" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="74" operation="probe_complete" operation_key="probe_complete" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5"/>
-+        <rsc_op id="74" operation="probe_complete" operation_key="probe_complete-c001n05" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="95" operation="probe_complete" operation_key="probe_complete" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2"/>
-+        <rsc_op id="95" operation="probe_complete" operation_key="probe_complete-c001n06" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="107" operation="probe_complete" operation_key="probe_complete" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b"/>
-+        <rsc_op id="107" operation="probe_complete" operation_key="probe_complete-c001n07" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="129" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="129" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="152" operation="probe_complete" operation_key="probe_complete" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4"/>
-+        <rsc_op id="152" operation="probe_complete" operation_key="probe_complete-c001n09" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/location-sets-templates.exp b/pengine/test10/location-sets-templates.exp
-new file mode 100644
-index 0000000..9ffacc6
---- /dev/null
-+++ b/pengine/test10/location-sets-templates.exp
-@@ -0,0 +1,257 @@
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
-+  <synapse id="0">
-+    <action_set>
-+      <rsc_op id="17" operation="start" operation_key="rsc1_start_0" on_node="node2" on_node_uuid="node2">
-+        <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="1">
-+    <action_set>
-+      <rsc_op id="11" operation="monitor" operation_key="rsc1_monitor_0" on_node="node2" on_node_uuid="node2">
-+        <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="2">
-+    <action_set>
-+      <rsc_op id="4" operation="monitor" operation_key="rsc1_monitor_0" on_node="node1" on_node_uuid="node1">
-+        <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="3">
-+    <action_set>
-+      <rsc_op id="18" operation="start" operation_key="rsc2_start_0" on_node="node2" on_node_uuid="node2">
-+        <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="4">
-+    <action_set>
-+      <rsc_op id="12" operation="monitor" operation_key="rsc2_monitor_0" on_node="node2" on_node_uuid="node2">
-+        <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="5">
-+    <action_set>
-+      <rsc_op id="5" operation="monitor" operation_key="rsc2_monitor_0" on_node="node1" on_node_uuid="node1">
-+        <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="6">
-+    <action_set>
-+      <rsc_op id="19" operation="start" operation_key="rsc3_start_0" on_node="node2" on_node_uuid="node2">
-+        <primitive id="rsc3" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="7">
-+    <action_set>
-+      <rsc_op id="13" operation="monitor" operation_key="rsc3_monitor_0" on_node="node2" on_node_uuid="node2">
-+        <primitive id="rsc3" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="8">
-+    <action_set>
-+      <rsc_op id="6" operation="monitor" operation_key="rsc3_monitor_0" on_node="node1" on_node_uuid="node1">
-+        <primitive id="rsc3" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="9">
-+    <action_set>
-+      <rsc_op id="20" operation="start" operation_key="rsc4_start_0" on_node="node2" on_node_uuid="node2">
-+        <primitive id="rsc4" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="10">
-+    <action_set>
-+      <rsc_op id="14" operation="monitor" operation_key="rsc4_monitor_0" on_node="node2" on_node_uuid="node2">
-+        <primitive id="rsc4" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="11">
-+    <action_set>
-+      <rsc_op id="7" operation="monitor" operation_key="rsc4_monitor_0" on_node="node1" on_node_uuid="node1">
-+        <primitive id="rsc4" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="12">
-+    <action_set>
-+      <rsc_op id="21" operation="start" operation_key="rsc5_start_0" on_node="node2" on_node_uuid="node2">
-+        <primitive id="rsc5" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="13">
-+    <action_set>
-+      <rsc_op id="15" operation="monitor" operation_key="rsc5_monitor_0" on_node="node2" on_node_uuid="node2">
-+        <primitive id="rsc5" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="14">
-+    <action_set>
-+      <rsc_op id="8" operation="monitor" operation_key="rsc5_monitor_0" on_node="node1" on_node_uuid="node1">
-+        <primitive id="rsc5" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="15">
-+    <action_set>
-+      <rsc_op id="22" operation="start" operation_key="rsc6_start_0" on_node="node2" on_node_uuid="node2">
-+        <primitive id="rsc6" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="16">
-+    <action_set>
-+      <rsc_op id="16" operation="monitor" operation_key="rsc6_monitor_0" on_node="node2" on_node_uuid="node2">
-+        <primitive id="rsc6" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="17">
-+    <action_set>
-+      <rsc_op id="9" operation="monitor" operation_key="rsc6_monitor_0" on_node="node1" on_node_uuid="node1">
-+        <primitive id="rsc6" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="18" priority="1000000">
-+    <action_set>
-+      <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="11" operation="monitor" operation_key="rsc1_monitor_0" on_node="node2" on_node_uuid="node2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="12" operation="monitor" operation_key="rsc2_monitor_0" on_node="node2" on_node_uuid="node2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="13" operation="monitor" operation_key="rsc3_monitor_0" on_node="node2" on_node_uuid="node2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="14" operation="monitor" operation_key="rsc4_monitor_0" on_node="node2" on_node_uuid="node2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="15" operation="monitor" operation_key="rsc5_monitor_0" on_node="node2" on_node_uuid="node2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="16" operation="monitor" operation_key="rsc6_monitor_0" on_node="node2" on_node_uuid="node2"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="19" priority="1000000">
-+    <action_set>
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="4" operation="monitor" operation_key="rsc1_monitor_0" on_node="node1" on_node_uuid="node1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="5" operation="monitor" operation_key="rsc2_monitor_0" on_node="node1" on_node_uuid="node1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="6" operation="monitor" operation_key="rsc3_monitor_0" on_node="node1" on_node_uuid="node1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="7" operation="monitor" operation_key="rsc4_monitor_0" on_node="node1" on_node_uuid="node1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="8" operation="monitor" operation_key="rsc5_monitor_0" on_node="node1" on_node_uuid="node1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="9" operation="monitor" operation_key="rsc6_monitor_0" on_node="node1" on_node_uuid="node1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="20">
-+    <action_set>
-+      <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+</transition_graph>
-diff --git a/pengine/test10/managed-0.exp b/pengine/test10/managed-0.exp
-index 67fcacb..40f48ed 100644
---- a/pengine/test10/managed-0.exp
-+++ b/pengine/test10/managed-0.exp
-@@ -730,7 +730,7 @@
-    </synapse>
-   <synapse id="81" priority="1000000">
-      <action_set>
--      <rsc_op id="97" operation="probe_complete" operation_key="probe_complete" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4">
-+      <rsc_op id="97" operation="probe_complete" operation_key="probe_complete-c001n09" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -772,7 +772,7 @@
-    </synapse>
-    <synapse id="82" priority="1000000">
-      <action_set>
--      <rsc_op id="82" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="82" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -823,7 +823,7 @@
-    </synapse>
-    <synapse id="83" priority="1000000">
-      <action_set>
--      <rsc_op id="68" operation="probe_complete" operation_key="probe_complete" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b">
-+      <rsc_op id="68" operation="probe_complete" operation_key="probe_complete-c001n07" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -871,7 +871,7 @@
-   </synapse>
-   <synapse id="84" priority="1000000">
-     <action_set>
--      <rsc_op id="64" operation="probe_complete" operation_key="probe_complete" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2">
-+      <rsc_op id="64" operation="probe_complete" operation_key="probe_complete-c001n06" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -889,7 +889,7 @@
-    </synapse>
-    <synapse id="85" priority="1000000">
-      <action_set>
--      <rsc_op id="51" operation="probe_complete" operation_key="probe_complete" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5">
-+      <rsc_op id="51" operation="probe_complete" operation_key="probe_complete-c001n05" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -934,7 +934,7 @@
-    </synapse>
-    <synapse id="86" priority="1000000">
-      <action_set>
--      <rsc_op id="39" operation="probe_complete" operation_key="probe_complete" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559">
-+      <rsc_op id="39" operation="probe_complete" operation_key="probe_complete-c001n04" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -976,7 +976,7 @@
-    </synapse>
-    <synapse id="87" priority="1000000">
-      <action_set>
--      <rsc_op id="30" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="30" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1009,7 +1009,7 @@
-    </synapse>
-    <synapse id="88" priority="1000000">
-      <action_set>
--      <rsc_op id="20" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="20" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1051,28 +1051,28 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="20" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="20" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="30" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="30" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="39" operation="probe_complete" operation_key="probe_complete" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559"/>
-+        <rsc_op id="39" operation="probe_complete" operation_key="probe_complete-c001n04" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="51" operation="probe_complete" operation_key="probe_complete" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5"/>
-+        <rsc_op id="51" operation="probe_complete" operation_key="probe_complete-c001n05" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="64" operation="probe_complete" operation_key="probe_complete" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2"/>
-+        <rsc_op id="64" operation="probe_complete" operation_key="probe_complete-c001n06" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="68" operation="probe_complete" operation_key="probe_complete" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b"/>
-+        <rsc_op id="68" operation="probe_complete" operation_key="probe_complete-c001n07" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="82" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="82" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="97" operation="probe_complete" operation_key="probe_complete" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4"/>
-+        <rsc_op id="97" operation="probe_complete" operation_key="probe_complete-c001n09" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/managed-1.exp b/pengine/test10/managed-1.exp
-index 67fcacb..40f48ed 100644
---- a/pengine/test10/managed-1.exp
-+++ b/pengine/test10/managed-1.exp
-@@ -730,7 +730,7 @@
-    </synapse>
-   <synapse id="81" priority="1000000">
-      <action_set>
--      <rsc_op id="97" operation="probe_complete" operation_key="probe_complete" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4">
-+      <rsc_op id="97" operation="probe_complete" operation_key="probe_complete-c001n09" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -772,7 +772,7 @@
-    </synapse>
-    <synapse id="82" priority="1000000">
-      <action_set>
--      <rsc_op id="82" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="82" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -823,7 +823,7 @@
-    </synapse>
-    <synapse id="83" priority="1000000">
-      <action_set>
--      <rsc_op id="68" operation="probe_complete" operation_key="probe_complete" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b">
-+      <rsc_op id="68" operation="probe_complete" operation_key="probe_complete-c001n07" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -871,7 +871,7 @@
-   </synapse>
-   <synapse id="84" priority="1000000">
-     <action_set>
--      <rsc_op id="64" operation="probe_complete" operation_key="probe_complete" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2">
-+      <rsc_op id="64" operation="probe_complete" operation_key="probe_complete-c001n06" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -889,7 +889,7 @@
-    </synapse>
-    <synapse id="85" priority="1000000">
-      <action_set>
--      <rsc_op id="51" operation="probe_complete" operation_key="probe_complete" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5">
-+      <rsc_op id="51" operation="probe_complete" operation_key="probe_complete-c001n05" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -934,7 +934,7 @@
-    </synapse>
-    <synapse id="86" priority="1000000">
-      <action_set>
--      <rsc_op id="39" operation="probe_complete" operation_key="probe_complete" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559">
-+      <rsc_op id="39" operation="probe_complete" operation_key="probe_complete-c001n04" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -976,7 +976,7 @@
-    </synapse>
-    <synapse id="87" priority="1000000">
-      <action_set>
--      <rsc_op id="30" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="30" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1009,7 +1009,7 @@
-    </synapse>
-    <synapse id="88" priority="1000000">
-      <action_set>
--      <rsc_op id="20" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="20" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1051,28 +1051,28 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="20" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="20" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="30" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="30" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="39" operation="probe_complete" operation_key="probe_complete" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559"/>
-+        <rsc_op id="39" operation="probe_complete" operation_key="probe_complete-c001n04" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="51" operation="probe_complete" operation_key="probe_complete" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5"/>
-+        <rsc_op id="51" operation="probe_complete" operation_key="probe_complete-c001n05" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="64" operation="probe_complete" operation_key="probe_complete" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2"/>
-+        <rsc_op id="64" operation="probe_complete" operation_key="probe_complete-c001n06" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="68" operation="probe_complete" operation_key="probe_complete" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b"/>
-+        <rsc_op id="68" operation="probe_complete" operation_key="probe_complete-c001n07" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="82" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="82" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="97" operation="probe_complete" operation_key="probe_complete" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4"/>
-+        <rsc_op id="97" operation="probe_complete" operation_key="probe_complete-c001n09" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/managed-2.exp b/pengine/test10/managed-2.exp
-index 59dcdaf..5020993 100644
---- a/pengine/test10/managed-2.exp
-+++ b/pengine/test10/managed-2.exp
-@@ -1036,7 +1036,7 @@
-    </synapse>
-   <synapse id="115" priority="1000000">
-      <action_set>
--      <rsc_op id="119" operation="probe_complete" operation_key="probe_complete" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4">
-+      <rsc_op id="119" operation="probe_complete" operation_key="probe_complete-c001n09" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -1090,7 +1090,7 @@
-   </synapse>
-   <synapse id="116" priority="1000000">
-     <action_set>
--      <rsc_op id="102" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="102" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -1147,7 +1147,7 @@
-    </synapse>
-    <synapse id="117" priority="1000000">
-      <action_set>
--      <rsc_op id="85" operation="probe_complete" operation_key="probe_complete" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b">
-+      <rsc_op id="85" operation="probe_complete" operation_key="probe_complete-c001n07" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1204,7 +1204,7 @@
-   </synapse>
-   <synapse id="118" priority="1000000">
-     <action_set>
--      <rsc_op id="73" operation="probe_complete" operation_key="probe_complete" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2">
-+      <rsc_op id="73" operation="probe_complete" operation_key="probe_complete-c001n06" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -1246,7 +1246,7 @@
-    </synapse>
-    <synapse id="119" priority="1000000">
-      <action_set>
--      <rsc_op id="56" operation="probe_complete" operation_key="probe_complete" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5">
-+      <rsc_op id="56" operation="probe_complete" operation_key="probe_complete-c001n05" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1303,7 +1303,7 @@
-    </synapse>
-    <synapse id="120" priority="1000000">
-      <action_set>
--      <rsc_op id="40" operation="probe_complete" operation_key="probe_complete" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559">
-+      <rsc_op id="40" operation="probe_complete" operation_key="probe_complete-c001n04" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1357,7 +1357,7 @@
-    </synapse>
-    <synapse id="121" priority="1000000">
-      <action_set>
--      <rsc_op id="26" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="26" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1405,7 +1405,7 @@
-    </synapse>
-    <synapse id="122" priority="1000000">
-      <action_set>
--      <rsc_op id="12" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="12" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -1459,28 +1459,28 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="12" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="12" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="26" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="26" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="40" operation="probe_complete" operation_key="probe_complete" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559"/>
-+        <rsc_op id="40" operation="probe_complete" operation_key="probe_complete-c001n04" on_node="c001n04" on_node_uuid="c2896699-96b8-4dbc-a94e-6c3b9252b559"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="56" operation="probe_complete" operation_key="probe_complete" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5"/>
-+        <rsc_op id="56" operation="probe_complete" operation_key="probe_complete-c001n05" on_node="c001n05" on_node_uuid="c13968a2-bcf0-41f6-9133-01e5bbb63cd5"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="73" operation="probe_complete" operation_key="probe_complete" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2"/>
-+        <rsc_op id="73" operation="probe_complete" operation_key="probe_complete-c001n06" on_node="c001n06" on_node_uuid="f91e6074-699d-48af-80d6-223132f291e2"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="85" operation="probe_complete" operation_key="probe_complete" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b"/>
-+        <rsc_op id="85" operation="probe_complete" operation_key="probe_complete-c001n07" on_node="c001n07" on_node_uuid="208d89a6-e052-4e9d-973d-07c9036c506b"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="102" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="102" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="119" operation="probe_complete" operation_key="probe_complete" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4"/>
-+        <rsc_op id="119" operation="probe_complete" operation_key="probe_complete-c001n09" on_node="c001n09" on_node_uuid="f67904e0-4dfc-4db1-83a2-e930fc1d20f4"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/master-0.exp b/pengine/test10/master-0.exp
-index 695f274..a1423de 100644
---- a/pengine/test10/master-0.exp
-+++ b/pengine/test10/master-0.exp
-@@ -187,7 +187,7 @@
-   </synapse>
-   <synapse id="16" priority="1000000">
-     <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -211,7 +211,7 @@
-    </synapse>
-   <synapse id="17" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -241,10 +241,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/master-1.exp b/pengine/test10/master-1.exp
-index d5e0def..cb2b4a3 100644
---- a/pengine/test10/master-1.exp
-+++ b/pengine/test10/master-1.exp
-@@ -227,7 +227,7 @@
-    </synapse>
-   <synapse id="19" priority="1000000">
-      <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -251,7 +251,7 @@
-    </synapse>
-   <synapse id="20" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -281,10 +281,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/master-10.exp b/pengine/test10/master-10.exp
-index c34c62c..45b3817 100644
---- a/pengine/test10/master-10.exp
-+++ b/pengine/test10/master-10.exp
-@@ -603,7 +603,7 @@
-    </synapse>
-   <synapse id="43" priority="1000000">
-      <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -627,7 +627,7 @@
-    </synapse>
-   <synapse id="44" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -657,10 +657,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/master-11.exp b/pengine/test10/master-11.exp
-index ae85aa6..33d3ede 100644
---- a/pengine/test10/master-11.exp
-+++ b/pengine/test10/master-11.exp
-@@ -166,7 +166,7 @@
-   </synapse>
-   <synapse id="14" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -184,7 +184,7 @@
-    </synapse>
-   <synapse id="15" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -208,10 +208,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/master-2.exp b/pengine/test10/master-2.exp
-index ef4095b..6bb01f6 100644
---- a/pengine/test10/master-2.exp
-+++ b/pengine/test10/master-2.exp
-@@ -524,7 +524,7 @@
-    </synapse>
-   <synapse id="39" priority="1000000">
-      <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -548,7 +548,7 @@
-    </synapse>
-   <synapse id="40" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -578,10 +578,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/master-3.exp b/pengine/test10/master-3.exp
-index d5e0def..cb2b4a3 100644
---- a/pengine/test10/master-3.exp
-+++ b/pengine/test10/master-3.exp
-@@ -227,7 +227,7 @@
-    </synapse>
-   <synapse id="19" priority="1000000">
-      <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -251,7 +251,7 @@
-    </synapse>
-   <synapse id="20" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -281,10 +281,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/master-4.exp b/pengine/test10/master-4.exp
-index a1e61b3..8ec3c39 100644
---- a/pengine/test10/master-4.exp
-+++ b/pengine/test10/master-4.exp
-@@ -302,7 +302,7 @@
-   </synapse>
-   <synapse id="32" priority="1000000">
-     <action_set>
--      <rsc_op id="45" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="45" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -335,7 +335,7 @@
-    </synapse>
-    <synapse id="33" priority="1000000">
-      <action_set>
--      <rsc_op id="37" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="37" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -365,7 +365,7 @@
-    </synapse>
-    <synapse id="34" priority="1000000">
-      <action_set>
--      <rsc_op id="30" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="30" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -392,7 +392,7 @@
-    </synapse>
-    <synapse id="35" priority="1000000">
-      <action_set>
--      <rsc_op id="23" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-+      <rsc_op id="23" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -425,16 +425,16 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="23" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <rsc_op id="23" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="30" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="30" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="37" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="37" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="45" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="45" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/master-5.exp b/pengine/test10/master-5.exp
-index 0196883..1312668 100644
---- a/pengine/test10/master-5.exp
-+++ b/pengine/test10/master-5.exp
-@@ -244,7 +244,7 @@
-    </synapse>
-   <synapse id="27" priority="1000000">
-      <action_set>
--      <rsc_op id="45" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="45" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -277,7 +277,7 @@
-    </synapse>
-    <synapse id="28" priority="1000000">
-      <action_set>
--      <rsc_op id="37" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="37" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -307,7 +307,7 @@
-    </synapse>
-    <synapse id="29" priority="1000000">
-      <action_set>
--      <rsc_op id="30" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="30" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -334,7 +334,7 @@
-    </synapse>
-    <synapse id="30" priority="1000000">
-      <action_set>
--      <rsc_op id="23" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-+      <rsc_op id="23" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -367,16 +367,16 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="23" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <rsc_op id="23" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="30" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="30" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="37" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="37" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="45" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="45" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/master-6.exp b/pengine/test10/master-6.exp
-index 381bfd5..b9cdb41 100644
---- a/pengine/test10/master-6.exp
-+++ b/pengine/test10/master-6.exp
-@@ -217,7 +217,7 @@
-    </synapse>
-   <synapse id="24" priority="1000000">
-      <action_set>
--      <rsc_op id="43" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="43" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -250,7 +250,7 @@
-    </synapse>
-    <synapse id="25" priority="1000000">
-      <action_set>
--      <rsc_op id="36" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="36" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -277,7 +277,7 @@
-    </synapse>
-    <synapse id="26" priority="1000000">
-      <action_set>
--      <rsc_op id="31" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="31" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -298,7 +298,7 @@
-    </synapse>
-    <synapse id="27" priority="1000000">
-      <action_set>
--      <rsc_op id="24" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-+      <rsc_op id="24" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -331,16 +331,16 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="24" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <rsc_op id="24" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="31" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="31" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="36" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="36" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="43" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="43" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/master-7.exp b/pengine/test10/master-7.exp
-index 4fba172..3f45706 100644
---- a/pengine/test10/master-7.exp
-+++ b/pengine/test10/master-7.exp
-@@ -647,7 +647,7 @@
-   </synapse>
-   <synapse id="47" priority="1000000">
-     <action_set>
--      <rsc_op id="30" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="30" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -668,7 +668,7 @@
-   </synapse>
-   <synapse id="48" priority="1000000">
-     <action_set>
--      <rsc_op id="24" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="24" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -692,7 +692,7 @@
-   </synapse>
-   <synapse id="49" priority="1000000">
-     <action_set>
--      <rsc_op id="19" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="19" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -719,13 +719,13 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="19" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="19" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="24" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="24" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="30" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="30" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/master-8.exp b/pengine/test10/master-8.exp
-index c0cd853..26ba512 100644
---- a/pengine/test10/master-8.exp
-+++ b/pengine/test10/master-8.exp
-@@ -703,7 +703,7 @@
-   </synapse>
-   <synapse id="51" priority="1000000">
-     <action_set>
--      <rsc_op id="30" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="30" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -724,7 +724,7 @@
-   </synapse>
-   <synapse id="52" priority="1000000">
-     <action_set>
--      <rsc_op id="23" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="23" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -751,7 +751,7 @@
-   </synapse>
-   <synapse id="53" priority="1000000">
-     <action_set>
--      <rsc_op id="18" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="18" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -778,13 +778,13 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="18" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="18" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="23" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="23" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="30" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="30" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/master-9.exp b/pengine/test10/master-9.exp
-index 333f272..989f087 100644
---- a/pengine/test10/master-9.exp
-+++ b/pengine/test10/master-9.exp
-@@ -190,7 +190,7 @@
-    </synapse>
-    <synapse id="20">
-      <action_set>
--      <crm_event id="66" operation="do_shutdown" operation_key="do_shutdown" on_node="ibm1" on_node_uuid="d0d76dd9-7a01-4c12-bbec-98aa2a669638">
-+      <crm_event id="66" operation="do_shutdown" operation_key="do_shutdown-ibm1" on_node="ibm1" on_node_uuid="d0d76dd9-7a01-4c12-bbec-98aa2a669638">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-      </action_set>
-@@ -202,7 +202,7 @@
-    </synapse>
-   <synapse id="21" priority="1000000">
-      <action_set>
--      <rsc_op id="14" operation="probe_complete" operation_key="probe_complete" on_node="va1" on_node_uuid="b8f81462-2d65-42bf-bbb1-70db0ea29e5b">
-+      <rsc_op id="14" operation="probe_complete" operation_key="probe_complete-va1" on_node="va1" on_node_uuid="b8f81462-2d65-42bf-bbb1-70db0ea29e5b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -238,7 +238,7 @@
-    </synapse>
-   <synapse id="22" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="ibm1" on_node_uuid="d0d76dd9-7a01-4c12-bbec-98aa2a669638">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-ibm1" on_node="ibm1" on_node_uuid="d0d76dd9-7a01-4c12-bbec-98aa2a669638">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -277,10 +277,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="ibm1" on_node_uuid="d0d76dd9-7a01-4c12-bbec-98aa2a669638"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-ibm1" on_node="ibm1" on_node_uuid="d0d76dd9-7a01-4c12-bbec-98aa2a669638"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="14" operation="probe_complete" operation_key="probe_complete" on_node="va1" on_node_uuid="b8f81462-2d65-42bf-bbb1-70db0ea29e5b"/>
-+        <rsc_op id="14" operation="probe_complete" operation_key="probe_complete-va1" on_node="va1" on_node_uuid="b8f81462-2d65-42bf-bbb1-70db0ea29e5b"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/master-depend.exp b/pengine/test10/master-depend.exp
-index 87d7d68..d9347f2 100644
---- a/pengine/test10/master-depend.exp
-+++ b/pengine/test10/master-depend.exp
-@@ -225,7 +225,7 @@
-    </synapse>
-   <synapse id="19" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-vbox4" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -261,7 +261,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-vbox4" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/master-ordering.exp b/pengine/test10/master-ordering.exp
-index 365bb7b..de4fe7e 100644
---- a/pengine/test10/master-ordering.exp
-+++ b/pengine/test10/master-ordering.exp
-@@ -446,7 +446,7 @@
-    </synapse>
-   <synapse id="37" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="webcluster01" on_node_uuid="49e81295-8e2f-4aeb-98f3-a14de6f62298">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-webcluster01" on_node="webcluster01" on_node_uuid="49e81295-8e2f-4aeb-98f3-a14de6f62298">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -500,7 +500,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="webcluster01" on_node_uuid="49e81295-8e2f-4aeb-98f3-a14de6f62298"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-webcluster01" on_node="webcluster01" on_node_uuid="49e81295-8e2f-4aeb-98f3-a14de6f62298"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/master-probed-score.exp b/pengine/test10/master-probed-score.exp
-index 0992921..be0cf84 100644
---- a/pengine/test10/master-probed-score.exp
-+++ b/pengine/test10/master-probed-score.exp
-@@ -2752,7 +2752,7 @@
-   </synapse>
-   <synapse id="190" priority="1000000">
-     <action_set>
--      <rsc_op id="24" operation="probe_complete" operation_key="probe_complete" on_node="orestes-corosync.nevis.columbia.edu" on_node_uuid="orestes-corosync.nevis.columbia.edu">
-+      <rsc_op id="24" operation="probe_complete" operation_key="probe_complete-orestes-corosync.nevis.columbia.edu" on_node="orestes-corosync.nevis.columbia.edu" on_node_uuid="orestes-corosync.nevis.columbia.edu">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -2818,7 +2818,7 @@
-   </synapse>
-   <synapse id="191" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hypatia-corosync.nevis.columbia.edu" on_node_uuid="hypatia-corosync.nevis.columbia.edu">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hypatia-corosync.nevis.columbia.edu" on_node="hypatia-corosync.nevis.columbia.edu" on_node_uuid="hypatia-corosync.nevis.columbia.edu">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -2893,10 +2893,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hypatia-corosync.nevis.columbia.edu" on_node_uuid="hypatia-corosync.nevis.columbia.edu"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hypatia-corosync.nevis.columbia.edu" on_node="hypatia-corosync.nevis.columbia.edu" on_node_uuid="hypatia-corosync.nevis.columbia.edu"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="24" operation="probe_complete" operation_key="probe_complete" on_node="orestes-corosync.nevis.columbia.edu" on_node_uuid="orestes-corosync.nevis.columbia.edu"/>
-+        <rsc_op id="24" operation="probe_complete" operation_key="probe_complete-orestes-corosync.nevis.columbia.edu" on_node="orestes-corosync.nevis.columbia.edu" on_node_uuid="orestes-corosync.nevis.columbia.edu"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/master-reattach.exp b/pengine/test10/master-reattach.exp
-index afe989b..edf107e 100644
---- a/pengine/test10/master-reattach.exp
-+++ b/pengine/test10/master-reattach.exp
-@@ -46,7 +46,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="dktest2" on_node_uuid="f430bc66-3388-4b7d-9e99-24fb02855f54">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-dktest2" on_node="dktest2" on_node_uuid="f430bc66-3388-4b7d-9e99-24fb02855f54">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -54,7 +54,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="2" operation="probe_complete" operation_key="probe_complete" on_node="dktest1" on_node_uuid="c738bee8-591f-4653-aaad-20a961923f25">
-+      <rsc_op id="2" operation="probe_complete" operation_key="probe_complete-dktest1" on_node="dktest1" on_node_uuid="c738bee8-591f-4653-aaad-20a961923f25">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/master-stop.exp b/pengine/test10/master-stop.exp
-new file mode 100644
-index 0000000..5d9e4c1
---- /dev/null
-+++ b/pengine/test10/master-stop.exp
-@@ -0,0 +1,74 @@
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
-+  <synapse id="0">
-+    <action_set>
-+      <rsc_op id="10" operation="stop" operation_key="dummy:2_stop_0" on_node="node3" on_node_uuid="3">
-+        <primitive id="dummy" long-id="dummy:2" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="1" CRM_meta_master_node_max="1" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="13" operation="stop" operation_key="m_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="1" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="14" operation="stopped" operation_key="m_stopped_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="1" CRM_meta_master_node_max="1" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="10" operation="stop" operation_key="dummy:2_stop_0" on_node="node3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="13" operation="stop" operation_key="m_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="2">
-+    <action_set>
-+      <pseudo_event id="13" operation="stop" operation_key="m_stop_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="1" CRM_meta_master_node_max="1" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="3" priority="1000000">
-+    <action_set>
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node3" on_node="node3" on_node_uuid="3">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="4" priority="1000000">
-+    <action_set>
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="2">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="5" priority="1000000">
-+    <action_set>
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="1">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="6">
-+    <action_set>
-+      <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="10" operation="stop" operation_key="dummy:2_stop_0" on_node="node3" on_node_uuid="3"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+</transition_graph>
-diff --git a/pengine/test10/master-unmanaged-monitor.exp b/pengine/test10/master-unmanaged-monitor.exp
-index 2f7c2da..3f650a5 100644
---- a/pengine/test10/master-unmanaged-monitor.exp
-+++ b/pengine/test10/master-unmanaged-monitor.exp
-@@ -91,7 +91,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="pcmk-1" on_node_uuid="pcmk-1">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-pcmk-1" on_node="pcmk-1" on_node_uuid="pcmk-1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -109,7 +109,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="pcmk-1" on_node_uuid="pcmk-1"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-pcmk-1" on_node="pcmk-1" on_node_uuid="pcmk-1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/migrate-1.exp b/pengine/test10/migrate-1.exp
-index 9111b0f..7830a51 100644
---- a/pengine/test10/migrate-1.exp
-+++ b/pengine/test10/migrate-1.exp
-@@ -67,7 +67,7 @@
-    </synapse>
-   <synapse id="5" priority="1000000">
-      <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -79,7 +79,7 @@
-    </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -93,10 +93,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--         <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-        <trigger>
--         <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/migrate-2.exp b/pengine/test10/migrate-2.exp
-index 3888892..cf7f123 100644
---- a/pengine/test10/migrate-2.exp
-+++ b/pengine/test10/migrate-2.exp
-@@ -1,7 +1,7 @@
-  <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-    <synapse id="0" priority="1000000">
-      <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -9,7 +9,7 @@
-    </synapse>
-    <synapse id="1" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-diff --git a/pengine/test10/migrate-3.exp b/pengine/test10/migrate-3.exp
-index 6c8b5af..6476943 100644
---- a/pengine/test10/migrate-3.exp
-+++ b/pengine/test10/migrate-3.exp
-@@ -39,7 +39,7 @@
-    </synapse>
-   <synapse id="3" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -51,7 +51,7 @@
-    </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -65,10 +65,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--         <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-        <trigger>
--         <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/migrate-4.exp b/pengine/test10/migrate-4.exp
-index 14ce94d..8cac495 100644
---- a/pengine/test10/migrate-4.exp
-+++ b/pengine/test10/migrate-4.exp
-@@ -23,7 +23,7 @@
-    </synapse>
-   <synapse id="2" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -31,7 +31,7 @@
-    </synapse>
-   <synapse id="3" priority="1000000">
-      <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-diff --git a/pengine/test10/migrate-shutdown.exp b/pengine/test10/migrate-shutdown.exp
-index b6a4365..e6d068a 100644
---- a/pengine/test10/migrate-shutdown.exp
-+++ b/pengine/test10/migrate-shutdown.exp
-@@ -325,7 +325,7 @@
-   </synapse>
-   <synapse id="25">
-     <action_set>
--      <crm_event id="59" operation="do_shutdown" operation_key="do_shutdown" on_node="pcmk-4" on_node_uuid="104">
-+      <crm_event id="59" operation="do_shutdown" operation_key="do_shutdown-pcmk-4" on_node="pcmk-4" on_node_uuid="104">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -343,7 +343,7 @@
-   </synapse>
-   <synapse id="26">
-     <action_set>
--      <crm_event id="58" operation="do_shutdown" operation_key="do_shutdown" on_node="pcmk-3" on_node_uuid="103">
-+      <crm_event id="58" operation="do_shutdown" operation_key="do_shutdown-pcmk-3" on_node="pcmk-3" on_node_uuid="103">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -355,7 +355,7 @@
-   </synapse>
-   <synapse id="27">
-     <action_set>
--      <crm_event id="57" operation="do_shutdown" operation_key="do_shutdown" on_node="pcmk-2" on_node_uuid="102">
-+      <crm_event id="57" operation="do_shutdown" operation_key="do_shutdown-pcmk-2" on_node="pcmk-2" on_node_uuid="102">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -385,7 +385,7 @@
-   </synapse>
-   <synapse id="28">
-     <action_set>
--      <crm_event id="56" operation="do_shutdown" operation_key="do_shutdown" on_node="pcmk-1" on_node_uuid="101">
-+      <crm_event id="56" operation="do_shutdown" operation_key="do_shutdown-pcmk-1" on_node="pcmk-1" on_node_uuid="101">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -406,13 +406,13 @@
-         <rsc_op id="43" operation="stop" operation_key="stateful-1:2_stop_0" internal_operation_key="stateful-1:0_stop_0" on_node="pcmk-1" on_node_uuid="101"/>
-       </trigger>
-       <trigger>
--        <crm_event id="57" operation="do_shutdown" operation_key="do_shutdown" on_node="pcmk-2" on_node_uuid="102"/>
-+        <crm_event id="57" operation="do_shutdown" operation_key="do_shutdown-pcmk-2" on_node="pcmk-2" on_node_uuid="102"/>
-       </trigger>
-       <trigger>
--        <crm_event id="58" operation="do_shutdown" operation_key="do_shutdown" on_node="pcmk-3" on_node_uuid="103"/>
-+        <crm_event id="58" operation="do_shutdown" operation_key="do_shutdown-pcmk-3" on_node="pcmk-3" on_node_uuid="103"/>
-       </trigger>
-       <trigger>
--        <crm_event id="59" operation="do_shutdown" operation_key="do_shutdown" on_node="pcmk-4" on_node_uuid="104"/>
-+        <crm_event id="59" operation="do_shutdown" operation_key="do_shutdown-pcmk-4" on_node="pcmk-4" on_node_uuid="104"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/migrate-start-complex.exp b/pengine/test10/migrate-start-complex.exp
-index 7f9e3fa..33e54f6 100644
---- a/pengine/test10/migrate-start-complex.exp
-+++ b/pengine/test10/migrate-start-complex.exp
-@@ -241,7 +241,7 @@
-   </synapse>
-   <synapse id="17" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="dom0-02" on_node_uuid="dom0-02">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-dom0-02" on_node="dom0-02" on_node_uuid="dom0-02">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -253,7 +253,7 @@
-   </synapse>
-   <synapse id="18" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="dom0-01" on_node_uuid="dom0-01">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-dom0-01" on_node="dom0-01" on_node_uuid="dom0-01">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -271,10 +271,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="dom0-01" on_node_uuid="dom0-01"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-dom0-01" on_node="dom0-01" on_node_uuid="dom0-01"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="dom0-02" on_node_uuid="dom0-02"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-dom0-02" on_node="dom0-02" on_node_uuid="dom0-02"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/minimal.exp b/pengine/test10/minimal.exp
-index 565452b..ce47557 100644
---- a/pengine/test10/minimal.exp
-+++ b/pengine/test10/minimal.exp
-@@ -69,7 +69,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="host2" on_node_uuid="host2">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-host2" on_node="host2" on_node_uuid="host2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -84,7 +84,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="host1" on_node_uuid="host1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-host1" on_node="host1" on_node_uuid="host1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -105,10 +105,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="host1" on_node_uuid="host1"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-host1" on_node="host1" on_node_uuid="host1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="host2" on_node_uuid="host2"/>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-host2" on_node="host2" on_node_uuid="host2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/mon-rsc-1.exp b/pengine/test10/mon-rsc-1.exp
-index 3b67915..c1cf031 100644
---- a/pengine/test10/mon-rsc-1.exp
-+++ b/pengine/test10/mon-rsc-1.exp
-@@ -45,7 +45,7 @@
-    </synapse>
-   <synapse id="4" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -57,7 +57,7 @@
-    </synapse>
-    <synapse id="5" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -75,10 +75,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/mon-rsc-2.exp b/pengine/test10/mon-rsc-2.exp
-index 6a6fd07..317b84c 100644
---- a/pengine/test10/mon-rsc-2.exp
-+++ b/pengine/test10/mon-rsc-2.exp
-@@ -52,7 +52,7 @@
-    </synapse>
-   <synapse id="4" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -60,7 +60,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -78,10 +78,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--         <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--         <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/mon-rsc-3.exp b/pengine/test10/mon-rsc-3.exp
-index b32054f..6d93160 100644
---- a/pengine/test10/mon-rsc-3.exp
-+++ b/pengine/test10/mon-rsc-3.exp
-@@ -36,7 +36,7 @@
-    </synapse>
-   <synapse id="3" priority="1000000">
-      <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -48,7 +48,7 @@
-    </synapse>
-    <synapse id="4" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -62,10 +62,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/mon-rsc-4.exp b/pengine/test10/mon-rsc-4.exp
-index 2abfdec..58a64f5 100644
---- a/pengine/test10/mon-rsc-4.exp
-+++ b/pengine/test10/mon-rsc-4.exp
-@@ -52,7 +52,7 @@
-    </synapse>
-   <synapse id="4" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -60,7 +60,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -78,10 +78,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--         <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--         <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/multi1.exp b/pengine/test10/multi1.exp
-index 58d9dbf..18fe162 100644
---- a/pengine/test10/multi1.exp
-+++ b/pengine/test10/multi1.exp
-@@ -35,7 +35,7 @@
-    </synapse>
-   <synapse id="3" priority="1000000">
-      <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -43,7 +43,7 @@
-    </synapse>
-    <synapse id="4" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-diff --git a/pengine/test10/node-maintenance-1.exp b/pengine/test10/node-maintenance-1.exp
-index 3c73791..6a24c07 100644
---- a/pengine/test10/node-maintenance-1.exp
-+++ b/pengine/test10/node-maintenance-1.exp
-@@ -19,7 +19,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -27,7 +27,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/node-maintenance-2.exp b/pengine/test10/node-maintenance-2.exp
-index 0156835..d8b15e4 100644
---- a/pengine/test10/node-maintenance-2.exp
-+++ b/pengine/test10/node-maintenance-2.exp
-@@ -32,7 +32,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -40,7 +40,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/notify-0.exp b/pengine/test10/notify-0.exp
-index 3198a86..626fb59 100644
---- a/pengine/test10/notify-0.exp
-+++ b/pengine/test10/notify-0.exp
-@@ -97,7 +97,7 @@
-   </synapse>
-   <synapse id="8" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -118,7 +118,7 @@
-      </action_set>
-      <inputs>
-        <trigger>
--         <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/notify-1.exp b/pengine/test10/notify-1.exp
-index 8c290aa..ca02a84 100644
---- a/pengine/test10/notify-1.exp
-+++ b/pengine/test10/notify-1.exp
-@@ -263,7 +263,7 @@
-    </synapse>
-   <synapse id="20" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -284,7 +284,7 @@
-      </action_set>
-      <inputs>
-        <trigger>
--         <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/notify-2.exp b/pengine/test10/notify-2.exp
-index 8c290aa..ca02a84 100644
---- a/pengine/test10/notify-2.exp
-+++ b/pengine/test10/notify-2.exp
-@@ -263,7 +263,7 @@
-    </synapse>
-   <synapse id="20" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -284,7 +284,7 @@
-      </action_set>
-      <inputs>
-        <trigger>
--         <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/notify-3.exp b/pengine/test10/notify-3.exp
-index 1615df0..c5708dc 100644
---- a/pengine/test10/notify-3.exp
-+++ b/pengine/test10/notify-3.exp
-@@ -438,7 +438,7 @@
-    </synapse>
-   <synapse id="33" priority="1000000">
-      <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -456,7 +456,7 @@
-    </synapse>
-   <synapse id="34" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -477,10 +477,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/novell-239082.exp b/pengine/test10/novell-239082.exp
-index 3073f7f..538eda6 100644
---- a/pengine/test10/novell-239082.exp
-+++ b/pengine/test10/novell-239082.exp
-@@ -454,7 +454,7 @@
-    </synapse>
-    <synapse id="32">
-      <action_set>
--      <crm_event id="37" operation="do_shutdown" operation_key="do_shutdown" on_node="xen-1" on_node_uuid="00aaa02f-110f-44e6-9a9d-af93827bfdb9">
-+      <crm_event id="37" operation="do_shutdown" operation_key="do_shutdown-xen-1" on_node="xen-1" on_node_uuid="00aaa02f-110f-44e6-9a9d-af93827bfdb9">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-      </action_set>
-diff --git a/pengine/test10/novell-252693-2.exp b/pengine/test10/novell-252693-2.exp
-index f30cf03..ca3c378 100644
---- a/pengine/test10/novell-252693-2.exp
-+++ b/pengine/test10/novell-252693-2.exp
-@@ -696,7 +696,7 @@
-    </synapse>
-   <synapse id="51" priority="1000000">
-      <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="85d23ecf-8b5b-4cd3-9344-e1ff5d869d6a">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="85d23ecf-8b5b-4cd3-9344-e1ff5d869d6a">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -729,7 +729,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="85d23ecf-8b5b-4cd3-9344-e1ff5d869d6a"/>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="85d23ecf-8b5b-4cd3-9344-e1ff5d869d6a"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/novell-252693-3.exp b/pengine/test10/novell-252693-3.exp
-index 48be681..6ebe9a7 100644
---- a/pengine/test10/novell-252693-3.exp
-+++ b/pengine/test10/novell-252693-3.exp
-@@ -800,7 +800,7 @@
-   </synapse>
-   <synapse id="58" priority="1000000">
-     <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="85d23ecf-8b5b-4cd3-9344-e1ff5d869d6a">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="85d23ecf-8b5b-4cd3-9344-e1ff5d869d6a">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -833,7 +833,7 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="85d23ecf-8b5b-4cd3-9344-e1ff5d869d6a"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="85d23ecf-8b5b-4cd3-9344-e1ff5d869d6a"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/novell-252693.exp b/pengine/test10/novell-252693.exp
-index 4ab727a..ca4b942 100644
---- a/pengine/test10/novell-252693.exp
-+++ b/pengine/test10/novell-252693.exp
-@@ -554,7 +554,7 @@
-   </synapse>
-   <synapse id="41">
-     <action_set>
--      <crm_event id="77" operation="do_shutdown" operation_key="do_shutdown" on_node="node1" on_node_uuid="3d8227f0-31dd-4801-b0db-987909d4a321">
-+      <crm_event id="77" operation="do_shutdown" operation_key="do_shutdown-node1" on_node="node1" on_node_uuid="3d8227f0-31dd-4801-b0db-987909d4a321">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-      </action_set>
-diff --git a/pengine/test10/obsolete-lrm-resource.exp b/pengine/test10/obsolete-lrm-resource.exp
-index e56e556..0939b4f 100644
---- a/pengine/test10/obsolete-lrm-resource.exp
-+++ b/pengine/test10/obsolete-lrm-resource.exp
-@@ -58,7 +58,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="yingying.site" on_node_uuid="yingying.site">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-yingying.site" on_node="yingying.site" on_node_uuid="yingying.site">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -76,7 +76,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="yingying.site" on_node_uuid="yingying.site"/>
-+        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-yingying.site" on_node="yingying.site" on_node_uuid="yingying.site"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/one-or-more-0.exp b/pengine/test10/one-or-more-0.exp
-index 315c596..01c59c7 100644
---- a/pengine/test10/one-or-more-0.exp
-+++ b/pengine/test10/one-or-more-0.exp
-@@ -98,7 +98,7 @@
-   </synapse>
-   <synapse id="8" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -125,7 +125,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-+        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/one-or-more-1.exp b/pengine/test10/one-or-more-1.exp
-index 30e68b2..900fc5d 100644
---- a/pengine/test10/one-or-more-1.exp
-+++ b/pengine/test10/one-or-more-1.exp
-@@ -37,7 +37,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -64,7 +64,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-+        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/one-or-more-2.exp b/pengine/test10/one-or-more-2.exp
-index d94fd9d..019b8d0 100644
---- a/pengine/test10/one-or-more-2.exp
-+++ b/pengine/test10/one-or-more-2.exp
-@@ -82,7 +82,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -109,7 +109,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-+        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/one-or-more-3.exp b/pengine/test10/one-or-more-3.exp
-index 2070f51..09776cd 100644
---- a/pengine/test10/one-or-more-3.exp
-+++ b/pengine/test10/one-or-more-3.exp
-@@ -50,7 +50,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -77,7 +77,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-+        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/one-or-more-4.exp b/pengine/test10/one-or-more-4.exp
-index 002fc27..2496808 100644
---- a/pengine/test10/one-or-more-4.exp
-+++ b/pengine/test10/one-or-more-4.exp
-@@ -82,7 +82,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -109,7 +109,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-+        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/one-or-more-5.exp b/pengine/test10/one-or-more-5.exp
-index 67d1231..fe94627 100644
---- a/pengine/test10/one-or-more-5.exp
-+++ b/pengine/test10/one-or-more-5.exp
-@@ -116,7 +116,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -149,7 +149,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/order-mandatory.exp b/pengine/test10/order-mandatory.exp
-index 7aa18d2..166e578 100644
---- a/pengine/test10/order-mandatory.exp
-+++ b/pengine/test10/order-mandatory.exp
-@@ -44,7 +44,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/order-optional-keyword.exp b/pengine/test10/order-optional-keyword.exp
-index d398916..aa3da4e 100644
---- a/pengine/test10/order-optional-keyword.exp
-+++ b/pengine/test10/order-optional-keyword.exp
-@@ -10,7 +10,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/order-optional.exp b/pengine/test10/order-optional.exp
-index d14157b..76126ad 100644
---- a/pengine/test10/order-optional.exp
-+++ b/pengine/test10/order-optional.exp
-@@ -10,7 +10,7 @@
-    </synapse>
-    <synapse id="1" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-diff --git a/pengine/test10/order-required.exp b/pengine/test10/order-required.exp
-index 2d871fa..6fc0257 100644
---- a/pengine/test10/order-required.exp
-+++ b/pengine/test10/order-required.exp
-@@ -44,7 +44,7 @@
-    </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/order-wrong-kind.exp b/pengine/test10/order-wrong-kind.exp
-index 68796f8..426153d 100644
---- a/pengine/test10/order-wrong-kind.exp
-+++ b/pengine/test10/order-wrong-kind.exp
-@@ -35,7 +35,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/order1.exp b/pengine/test10/order1.exp
-index 6db9031..d69e2f6 100644
---- a/pengine/test10/order1.exp
-+++ b/pengine/test10/order1.exp
-@@ -100,7 +100,7 @@
-    </synapse>
-   <synapse id="9" priority="1000000">
-      <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -118,7 +118,7 @@
-    </synapse>
-    <synapse id="10" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -142,10 +142,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/order2.exp b/pengine/test10/order2.exp
-index 9041ba0..9eacda0 100644
---- a/pengine/test10/order2.exp
-+++ b/pengine/test10/order2.exp
-@@ -134,7 +134,7 @@
-   </synapse>
-   <synapse id="12" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -155,7 +155,7 @@
-    </synapse>
-    <synapse id="13" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -182,10 +182,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/order3.exp b/pengine/test10/order3.exp
-index 215b49c..0ce0585 100644
---- a/pengine/test10/order3.exp
-+++ b/pengine/test10/order3.exp
-@@ -171,7 +171,7 @@
-   </synapse>
-   <synapse id="12" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -192,7 +192,7 @@
-    </synapse>
-   <synapse id="13" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -206,10 +206,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--         <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--         <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/order4.exp b/pengine/test10/order4.exp
-index 6db9031..d69e2f6 100644
---- a/pengine/test10/order4.exp
-+++ b/pengine/test10/order4.exp
-@@ -100,7 +100,7 @@
-    </synapse>
-   <synapse id="9" priority="1000000">
-      <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -118,7 +118,7 @@
-    </synapse>
-    <synapse id="10" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -142,10 +142,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/order5.exp b/pengine/test10/order5.exp
-index eceee4f..970f13a 100644
---- a/pengine/test10/order5.exp
-+++ b/pengine/test10/order5.exp
-@@ -189,7 +189,7 @@
-    </synapse>
-   <synapse id="16" priority="1000000">
-      <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -210,7 +210,7 @@
-    </synapse>
-   <synapse id="17" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -237,10 +237,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/order6.exp b/pengine/test10/order6.exp
-index 7ebade6..e82ec71 100644
---- a/pengine/test10/order6.exp
-+++ b/pengine/test10/order6.exp
-@@ -189,7 +189,7 @@
-    </synapse>
-   <synapse id="16" priority="1000000">
-      <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -210,7 +210,7 @@
-    </synapse>
-   <synapse id="17" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -237,10 +237,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/order7.exp b/pengine/test10/order7.exp
-index cc7cf86..abfbe43 100644
---- a/pengine/test10/order7.exp
-+++ b/pengine/test10/order7.exp
-@@ -76,7 +76,7 @@
-    </synapse>
-   <synapse id="7" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -103,7 +103,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ordered-set-basic-startup.exp b/pengine/test10/ordered-set-basic-startup.exp
-index 4704f66..22d6dbb 100644
---- a/pengine/test10/ordered-set-basic-startup.exp
-+++ b/pengine/test10/ordered-set-basic-startup.exp
-@@ -68,7 +68,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -101,7 +101,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-fc16-builder" on_node="fc16-builder" on_node_uuid="fc16-builder"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/orphan-0.exp b/pengine/test10/orphan-0.exp
-index afccffb..ca56f40 100644
---- a/pengine/test10/orphan-0.exp
-+++ b/pengine/test10/orphan-0.exp
-@@ -118,7 +118,7 @@
-    </synapse>
-   <synapse id="13" priority="1000000">
-      <action_set>
--      <rsc_op id="20" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="20" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -139,7 +139,7 @@
-    </synapse>
-    <synapse id="14" priority="1000000">
-      <action_set>
--      <rsc_op id="16" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="16" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -157,7 +157,7 @@
-    </synapse>
-    <synapse id="15" priority="1000000">
-      <action_set>
--      <rsc_op id="13" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -172,7 +172,7 @@
-    </synapse>
-    <synapse id="16" priority="1000000">
-      <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -196,16 +196,16 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="16" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="16" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="20" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="20" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/orphan-1.exp b/pengine/test10/orphan-1.exp
-index b3a6470..6e76cba 100644
---- a/pengine/test10/orphan-1.exp
-+++ b/pengine/test10/orphan-1.exp
-@@ -162,7 +162,7 @@
-   </synapse>
-   <synapse id="17" priority="1000000">
-     <action_set>
--      <rsc_op id="20" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="20" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -183,7 +183,7 @@
-    </synapse>
-   <synapse id="18" priority="1000000">
-      <action_set>
--      <rsc_op id="16" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="16" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -201,7 +201,7 @@
-    </synapse>
-   <synapse id="19" priority="1000000">
-      <action_set>
--      <rsc_op id="13" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -216,7 +216,7 @@
-    </synapse>
-   <synapse id="20" priority="1000000">
-      <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -240,16 +240,16 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="16" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="16" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="20" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="20" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/orphan-2.exp b/pengine/test10/orphan-2.exp
-index ad9ad59..516422c 100644
---- a/pengine/test10/orphan-2.exp
-+++ b/pengine/test10/orphan-2.exp
-@@ -180,7 +180,7 @@
-   </synapse>
-   <synapse id="19" priority="1000000">
-     <action_set>
--      <rsc_op id="22" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="22" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -201,7 +201,7 @@
-   </synapse>
-   <synapse id="20" priority="1000000">
-     <action_set>
--      <rsc_op id="18" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="18" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -219,7 +219,7 @@
-   </synapse>
-   <synapse id="21" priority="1000000">
-     <action_set>
--      <rsc_op id="15" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="15" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -234,7 +234,7 @@
-   </synapse>
-   <synapse id="22" priority="1000000">
-     <action_set>
--      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-+      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -276,16 +276,16 @@
-         <crm_event id="3" operation="clear_failcount" operation_key="rsc_c001n08_clear_failcount" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="15" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="15" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="18" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="18" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="22" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="22" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/params-0.exp b/pengine/test10/params-0.exp
-index 1489e3e..3b036ab 100644
---- a/pengine/test10/params-0.exp
-+++ b/pengine/test10/params-0.exp
-@@ -136,7 +136,7 @@
-    </synapse>
-   <synapse id="15" priority="1000000">
-      <action_set>
--      <rsc_op id="22" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="22" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -157,7 +157,7 @@
-    </synapse>
-    <synapse id="16" priority="1000000">
-      <action_set>
--      <rsc_op id="17" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="17" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -178,7 +178,7 @@
-    </synapse>
-    <synapse id="17" priority="1000000">
-      <action_set>
--       <rsc_op id="13" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -196,7 +196,7 @@
-    </synapse>
-    <synapse id="18" priority="1000000">
-      <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -223,16 +223,16 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="17" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="17" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="22" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="22" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/params-1.exp b/pengine/test10/params-1.exp
-index 09470ab..6b6ef2d 100644
---- a/pengine/test10/params-1.exp
-+++ b/pengine/test10/params-1.exp
-@@ -205,7 +205,7 @@
-    </synapse>
-   <synapse id="21" priority="1000000">
-      <action_set>
--      <rsc_op id="23" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="23" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -226,7 +226,7 @@
-    </synapse>
-   <synapse id="22" priority="1000000">
-      <action_set>
--      <rsc_op id="18" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="18" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -247,7 +247,7 @@
-    </synapse>
-   <synapse id="23" priority="1000000">
-      <action_set>
--       <rsc_op id="14" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="14" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -265,7 +265,7 @@
-    </synapse>
-   <synapse id="24" priority="1000000">
-      <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -292,16 +292,16 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="14" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="14" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="18" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="18" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="23" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="23" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/params-2.exp b/pengine/test10/params-2.exp
-index 7dd199b..fbac4a2 100644
---- a/pengine/test10/params-2.exp
-+++ b/pengine/test10/params-2.exp
-@@ -134,7 +134,7 @@
-   </synapse>
-   <synapse id="12">
-     <action_set>
--      <crm_event id="19" operation="do_shutdown" operation_key="do_shutdown" on_node="node1" on_node_uuid="node1">
-+      <crm_event id="19" operation="do_shutdown" operation_key="do_shutdown-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-      </action_set>
-@@ -146,7 +146,7 @@
-    </synapse>
-   <synapse id="13" priority="1000000">
-      <action_set>
--      <rsc_op id="13" operation="probe_complete" operation_key="probe_complete" on_node="node3" on_node_uuid="node3">
-+      <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-node3" on_node="node3" on_node_uuid="node3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -161,7 +161,7 @@
-    </synapse>
-   <synapse id="14" priority="1000000">
-      <action_set>
--      <rsc_op id="10" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -176,7 +176,7 @@
-    </synapse>
-   <synapse id="15" priority="1000000">
-      <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -197,13 +197,13 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="10" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete" on_node="node3" on_node_uuid="node3"/>
-+        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-node3" on_node="node3" on_node_uuid="node3"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/params-4.exp b/pengine/test10/params-4.exp
-index 50d9b7f..c5987e02 100644
---- a/pengine/test10/params-4.exp
-+++ b/pengine/test10/params-4.exp
-@@ -189,7 +189,7 @@
-    </synapse>
-   <synapse id="20" priority="1000000">
-      <action_set>
--      <rsc_op id="23" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="23" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -210,7 +210,7 @@
-    </synapse>
-   <synapse id="21" priority="1000000">
-      <action_set>
--      <rsc_op id="18" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="18" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -231,7 +231,7 @@
-    </synapse>
-   <synapse id="22" priority="1000000">
-      <action_set>
--       <rsc_op id="14" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="14" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -249,7 +249,7 @@
-    </synapse>
-   <synapse id="23" priority="1000000">
-      <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -276,16 +276,16 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="14" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="14" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="18" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="18" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="23" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="23" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/params-5.exp b/pengine/test10/params-5.exp
-index 85736b0..01231e0 100644
---- a/pengine/test10/params-5.exp
-+++ b/pengine/test10/params-5.exp
-@@ -205,7 +205,7 @@
-   </synapse>
-   <synapse id="21" priority="1000000">
-     <action_set>
--      <rsc_op id="23" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="23" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -226,7 +226,7 @@
-   </synapse>
-   <synapse id="22" priority="1000000">
-     <action_set>
--      <rsc_op id="18" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="18" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -247,7 +247,7 @@
-   </synapse>
-   <synapse id="23" priority="1000000">
-     <action_set>
--      <rsc_op id="14" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="14" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -265,7 +265,7 @@
-   </synapse>
-   <synapse id="24" priority="1000000">
-     <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -292,16 +292,16 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="14" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="14" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="18" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="18" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="23" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="23" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/per-node-attrs.exp b/pengine/test10/per-node-attrs.exp
-index 1e38557..aff6b4f 100644
---- a/pengine/test10/per-node-attrs.exp
-+++ b/pengine/test10/per-node-attrs.exp
-@@ -41,7 +41,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="pcmk-3" on_node_uuid="103">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-pcmk-3" on_node="pcmk-3" on_node_uuid="103">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -53,7 +53,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="pcmk-2" on_node_uuid="102">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-pcmk-2" on_node="pcmk-2" on_node_uuid="102">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -65,7 +65,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="pcmk-1" on_node_uuid="101">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-pcmk-1" on_node="pcmk-1" on_node_uuid="101">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -83,13 +83,13 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="pcmk-1" on_node_uuid="101"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-pcmk-1" on_node="pcmk-1" on_node_uuid="101"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="pcmk-2" on_node_uuid="102"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-pcmk-2" on_node="pcmk-2" on_node_uuid="102"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="pcmk-3" on_node_uuid="103"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-pcmk-3" on_node="pcmk-3" on_node_uuid="103"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/placement-capacity.exp b/pengine/test10/placement-capacity.exp
-index f70c8c5..406d502 100644
---- a/pengine/test10/placement-capacity.exp
-+++ b/pengine/test10/placement-capacity.exp
-@@ -10,7 +10,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -18,7 +18,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/placement-location.exp b/pengine/test10/placement-location.exp
-index f70c8c5..406d502 100644
---- a/pengine/test10/placement-location.exp
-+++ b/pengine/test10/placement-location.exp
-@@ -10,7 +10,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -18,7 +18,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/placement-priority.exp b/pengine/test10/placement-priority.exp
-index c72759e..557f033 100644
---- a/pengine/test10/placement-priority.exp
-+++ b/pengine/test10/placement-priority.exp
-@@ -10,7 +10,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -18,7 +18,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/placement-stickiness.exp b/pengine/test10/placement-stickiness.exp
-index f70c8c5..406d502 100644
---- a/pengine/test10/placement-stickiness.exp
-+++ b/pengine/test10/placement-stickiness.exp
-@@ -10,7 +10,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -18,7 +18,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/probe-0.exp b/pengine/test10/probe-0.exp
-index c1310d9..562e855 100644
---- a/pengine/test10/probe-0.exp
-+++ b/pengine/test10/probe-0.exp
-@@ -160,7 +160,7 @@
-   </synapse>
-   <synapse id="12" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="x32c48" on_node_uuid="ca93fea5-67c9-473d-9ce0-7ed7fb823872">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-x32c48" on_node="x32c48" on_node_uuid="ca93fea5-67c9-473d-9ce0-7ed7fb823872">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -172,7 +172,7 @@
-    </synapse>
-   <synapse id="13" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="x32c47" on_node_uuid="a1dbc8cc-4d33-41e7-a75a-cd4f93b26410">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-x32c47" on_node="x32c47" on_node_uuid="a1dbc8cc-4d33-41e7-a75a-cd4f93b26410">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -190,10 +190,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="x32c47" on_node_uuid="a1dbc8cc-4d33-41e7-a75a-cd4f93b26410"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-x32c47" on_node="x32c47" on_node_uuid="a1dbc8cc-4d33-41e7-a75a-cd4f93b26410"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="x32c48" on_node_uuid="ca93fea5-67c9-473d-9ce0-7ed7fb823872"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-x32c48" on_node="x32c48" on_node_uuid="ca93fea5-67c9-473d-9ce0-7ed7fb823872"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/probe-1.exp b/pengine/test10/probe-1.exp
-index a62f2f3..37d49e3 100644
---- a/pengine/test10/probe-1.exp
-+++ b/pengine/test10/probe-1.exp
-@@ -36,7 +36,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-c001n05" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -54,7 +54,7 @@
-      </action_set>
-      <inputs>
-        <trigger>
--         <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-c001n05" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/probe-4.exp b/pengine/test10/probe-4.exp
-index 819dd5c..4f2d325 100644
---- a/pengine/test10/probe-4.exp
-+++ b/pengine/test10/probe-4.exp
-@@ -33,7 +33,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="23" operation="probe_complete" operation_key="probe_complete" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-+        <rsc_op id="23" operation="probe_complete" operation_key="probe_complete-pcmk-4" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/probe-timeout.exp b/pengine/test10/probe-timeout.exp
-index 2458e7b..baf2440 100644
---- a/pengine/test10/probe-timeout.exp
-+++ b/pengine/test10/probe-timeout.exp
-@@ -115,7 +115,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -130,7 +130,7 @@
-   </synapse>
-   <synapse id="11" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -151,10 +151,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/quorum-1.exp b/pengine/test10/quorum-1.exp
-index f2de2c8..97dec69 100644
---- a/pengine/test10/quorum-1.exp
-+++ b/pengine/test10/quorum-1.exp
-@@ -79,7 +79,7 @@
-    </synapse>
-   <synapse id="7" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -97,7 +97,7 @@
-    </synapse>
-   <synapse id="8" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -115,10 +115,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--         <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--         <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/quorum-2.exp b/pengine/test10/quorum-2.exp
-index ed60d5e..ac868ff 100644
---- a/pengine/test10/quorum-2.exp
-+++ b/pengine/test10/quorum-2.exp
-@@ -66,7 +66,7 @@
-    </synapse>
-   <synapse id="6" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -84,7 +84,7 @@
-    </synapse>
-   <synapse id="7" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -102,10 +102,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/quorum-3.exp b/pengine/test10/quorum-3.exp
-index 175b11d..8ddd88c 100644
---- a/pengine/test10/quorum-3.exp
-+++ b/pengine/test10/quorum-3.exp
-@@ -63,7 +63,7 @@
-    </synapse>
-   <synapse id="6" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -81,7 +81,7 @@
-    </synapse>
-   <synapse id="7" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -99,10 +99,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/quorum-4.exp b/pengine/test10/quorum-4.exp
-index 3b90816..42ba483 100644
---- a/pengine/test10/quorum-4.exp
-+++ b/pengine/test10/quorum-4.exp
-@@ -36,7 +36,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hadev2" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -54,7 +54,7 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hadev2" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/quorum-5.exp b/pengine/test10/quorum-5.exp
-index b2844a9..ee9e28e 100644
---- a/pengine/test10/quorum-5.exp
-+++ b/pengine/test10/quorum-5.exp
-@@ -106,7 +106,7 @@
-   </synapse>
-   <synapse id="8" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hadev2" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -127,7 +127,7 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hadev2" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/quorum-6.exp b/pengine/test10/quorum-6.exp
-index 685a514..0c46abe 100644
---- a/pengine/test10/quorum-6.exp
-+++ b/pengine/test10/quorum-6.exp
-@@ -125,7 +125,7 @@
-    </synapse>
-   <synapse id="12" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hadev2" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -164,7 +164,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hadev2" on_node="hadev2" on_node_uuid="190b75b6-5585-42d9-8cde-eb6041843ae3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-1.exp b/pengine/test10/rec-node-1.exp
-index f26fd66..2cc4595 100644
---- a/pengine/test10/rec-node-1.exp
-+++ b/pengine/test10/rec-node-1.exp
-@@ -45,7 +45,7 @@
-    </synapse>
-   <synapse id="4" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -66,7 +66,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-10.exp b/pengine/test10/rec-node-10.exp
-index 741bcf1..60ab810 100644
---- a/pengine/test10/rec-node-10.exp
-+++ b/pengine/test10/rec-node-10.exp
-@@ -28,7 +28,7 @@
-    </synapse>
-   <synapse id="3" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -52,7 +52,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-11.exp b/pengine/test10/rec-node-11.exp
-index 173df21..f441ce8 100644
---- a/pengine/test10/rec-node-11.exp
-+++ b/pengine/test10/rec-node-11.exp
-@@ -245,7 +245,7 @@
-   </synapse>
-   <synapse id="16" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -269,7 +269,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-12.exp b/pengine/test10/rec-node-12.exp
-index 9732907..1ac908f 100644
---- a/pengine/test10/rec-node-12.exp
-+++ b/pengine/test10/rec-node-12.exp
-@@ -534,7 +534,7 @@
-   </synapse>
-   <synapse id="47" priority="1000000">
-     <action_set>
--      <rsc_op id="23" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="23" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -570,7 +570,7 @@
-   </synapse>
-   <synapse id="48" priority="1000000">
-     <action_set>
--      <rsc_op id="13" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -606,7 +606,7 @@
-   </synapse>
-   <synapse id="49" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -648,13 +648,13 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="23" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="23" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-15.exp b/pengine/test10/rec-node-15.exp
-index 3c79d65..e1330a6 100644
---- a/pengine/test10/rec-node-15.exp
-+++ b/pengine/test10/rec-node-15.exp
-@@ -465,7 +465,7 @@
-   </synapse>
-   <synapse id="30" priority="1000000">
-     <action_set>
--      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="sapcl02" on_node_uuid="09fa194c-d7e1-41fa-a0d0-afd79a139181">
-+      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-sapcl02" on_node="sapcl02" on_node_uuid="09fa194c-d7e1-41fa-a0d0-afd79a139181">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -477,7 +477,7 @@
-   </synapse>
-   <synapse id="31" priority="1000000">
-     <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="sapcl01" on_node_uuid="85180fd0-70c9-4136-a5e0-90d89ea6079d">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-sapcl01" on_node="sapcl01" on_node_uuid="85180fd0-70c9-4136-a5e0-90d89ea6079d">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -495,10 +495,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="sapcl01" on_node_uuid="85180fd0-70c9-4136-a5e0-90d89ea6079d"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-sapcl01" on_node="sapcl01" on_node_uuid="85180fd0-70c9-4136-a5e0-90d89ea6079d"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete" on_node="sapcl02" on_node_uuid="09fa194c-d7e1-41fa-a0d0-afd79a139181"/>
-+        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-sapcl02" on_node="sapcl02" on_node_uuid="09fa194c-d7e1-41fa-a0d0-afd79a139181"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-2.exp b/pengine/test10/rec-node-2.exp
-index 901eded..fd04c37 100644
---- a/pengine/test10/rec-node-2.exp
-+++ b/pengine/test10/rec-node-2.exp
-@@ -266,7 +266,7 @@
-   </synapse>
-   <synapse id="20" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -302,7 +302,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-3.exp b/pengine/test10/rec-node-3.exp
-index f26fd66..2cc4595 100644
---- a/pengine/test10/rec-node-3.exp
-+++ b/pengine/test10/rec-node-3.exp
-@@ -45,7 +45,7 @@
-    </synapse>
-   <synapse id="4" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -66,7 +66,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-4.exp b/pengine/test10/rec-node-4.exp
-index 1e98f4d..2cbfecb 100644
---- a/pengine/test10/rec-node-4.exp
-+++ b/pengine/test10/rec-node-4.exp
-@@ -132,7 +132,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -156,7 +156,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-5.exp b/pengine/test10/rec-node-5.exp
-index f26fd66..2cc4595 100644
---- a/pengine/test10/rec-node-5.exp
-+++ b/pengine/test10/rec-node-5.exp
-@@ -45,7 +45,7 @@
-    </synapse>
-   <synapse id="4" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -66,7 +66,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-6.exp b/pengine/test10/rec-node-6.exp
-index 1e98f4d..2cbfecb 100644
---- a/pengine/test10/rec-node-6.exp
-+++ b/pengine/test10/rec-node-6.exp
-@@ -132,7 +132,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -156,7 +156,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-7.exp b/pengine/test10/rec-node-7.exp
-index 1e98f4d..2cbfecb 100644
---- a/pengine/test10/rec-node-7.exp
-+++ b/pengine/test10/rec-node-7.exp
-@@ -132,7 +132,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -156,7 +156,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-8.exp b/pengine/test10/rec-node-8.exp
-index 00e58ef..1237a82 100644
---- a/pengine/test10/rec-node-8.exp
-+++ b/pengine/test10/rec-node-8.exp
-@@ -37,7 +37,7 @@
-    </synapse>
-   <synapse id="4" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -64,7 +64,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-9.exp b/pengine/test10/rec-node-9.exp
-index e2192c8..9868f6f 100644
---- a/pengine/test10/rec-node-9.exp
-+++ b/pengine/test10/rec-node-9.exp
-@@ -19,7 +19,7 @@
-    </synapse>
-   <synapse id="2" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -40,7 +40,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-rsc-0.exp b/pengine/test10/rec-rsc-0.exp
-index 93bfb15..8caa0c0 100644
---- a/pengine/test10/rec-rsc-0.exp
-+++ b/pengine/test10/rec-rsc-0.exp
-@@ -19,7 +19,7 @@
-    </synapse>
-   <synapse id="2" priority="1000000">
-      <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -27,7 +27,7 @@
-    </synapse>
-    <synapse id="3" priority="1000000">
-      <action_set>
--       <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-diff --git a/pengine/test10/rec-rsc-1.exp b/pengine/test10/rec-rsc-1.exp
-index 3825203..25030c6 100644
---- a/pengine/test10/rec-rsc-1.exp
-+++ b/pengine/test10/rec-rsc-1.exp
-@@ -39,7 +39,7 @@
-    </synapse>
-   <synapse id="3" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -51,7 +51,7 @@
-    </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -65,10 +65,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--         <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--         <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/rec-rsc-2.exp b/pengine/test10/rec-rsc-2.exp
-index 7db7a0e..5f64c90 100644
---- a/pengine/test10/rec-rsc-2.exp
-+++ b/pengine/test10/rec-rsc-2.exp
-@@ -52,7 +52,7 @@
-    </synapse>
-   <synapse id="4" priority="1000000">
-      <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -64,7 +64,7 @@
-    </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -78,10 +78,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--         <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-        <trigger>
--         <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/rec-rsc-3.exp b/pengine/test10/rec-rsc-3.exp
-index 80a6252..7faada9 100644
---- a/pengine/test10/rec-rsc-3.exp
-+++ b/pengine/test10/rec-rsc-3.exp
-@@ -23,7 +23,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -31,7 +31,7 @@
-    </synapse>
-    <synapse id="3" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -49,10 +49,10 @@
-      </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-       </trigger>
-     </inputs>
-    </synapse>
-diff --git a/pengine/test10/rec-rsc-4.exp b/pengine/test10/rec-rsc-4.exp
-index 78a90db..c186199 100644
---- a/pengine/test10/rec-rsc-4.exp
-+++ b/pengine/test10/rec-rsc-4.exp
-@@ -10,7 +10,7 @@
-    </synapse>
-   <synapse id="1" priority="1000000">
-      <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -18,7 +18,7 @@
-    </synapse>
-    <synapse id="2" priority="1000000">
-      <action_set>
--      <rsc_op id="2" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="2" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -36,10 +36,10 @@
-      </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="2" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="2" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-       </trigger>
-     </inputs>
-    </synapse>
-diff --git a/pengine/test10/rec-rsc-5.exp b/pengine/test10/rec-rsc-5.exp
-index 69a85d1..95a3558 100644
---- a/pengine/test10/rec-rsc-5.exp
-+++ b/pengine/test10/rec-rsc-5.exp
-@@ -132,7 +132,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -156,7 +156,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-rsc-6.exp b/pengine/test10/rec-rsc-6.exp
-index 58d9dbf..18fe162 100644
---- a/pengine/test10/rec-rsc-6.exp
-+++ b/pengine/test10/rec-rsc-6.exp
-@@ -35,7 +35,7 @@
-    </synapse>
-   <synapse id="3" priority="1000000">
-      <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -43,7 +43,7 @@
-    </synapse>
-    <synapse id="4" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-diff --git a/pengine/test10/rec-rsc-7.exp b/pengine/test10/rec-rsc-7.exp
-index eb2335e..1454ff3 100644
---- a/pengine/test10/rec-rsc-7.exp
-+++ b/pengine/test10/rec-rsc-7.exp
-@@ -19,7 +19,7 @@
-    </synapse>
-   <synapse id="2" priority="1000000">
-      <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -27,7 +27,7 @@
-    </synapse>
-    <synapse id="3" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-diff --git a/pengine/test10/rec-rsc-8.exp b/pengine/test10/rec-rsc-8.exp
-index 8b8bce3..c53091f 100644
---- a/pengine/test10/rec-rsc-8.exp
-+++ b/pengine/test10/rec-rsc-8.exp
-@@ -1,7 +1,7 @@
-  <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-    <synapse id="0" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -9,7 +9,7 @@
-    </synapse>
-    <synapse id="1" priority="1000000">
-      <action_set>
--      <rsc_op id="2" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="2" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-diff --git a/pengine/test10/rec-rsc-9.exp b/pengine/test10/rec-rsc-9.exp
-index 4d0e70b..5a48606 100644
---- a/pengine/test10/rec-rsc-9.exp
-+++ b/pengine/test10/rec-rsc-9.exp
-@@ -194,7 +194,7 @@
-    </synapse>
-   <synapse id="14" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/remote-startup-probes.exp b/pengine/test10/remote-startup-probes.exp
-new file mode 100644
-index 0000000..3c0f4e5
---- /dev/null
-+++ b/pengine/test10/remote-startup-probes.exp
-@@ -0,0 +1,214 @@
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
-+  <synapse id="0">
-+    <action_set>
-+      <rsc_op id="20" operation="monitor" operation_key="remote1_monitor_60000" on_node="18builder" on_node_uuid="5">
-+        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="19" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="1">
-+    <action_set>
-+      <rsc_op id="19" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5">
-+        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="2">
-+    <action_set>
-+      <rsc_op id="23" operation="monitor" operation_key="FAKE1_monitor_60000" on_node="18node2" on_node_uuid="2">
-+        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="22" operation="start" operation_key="FAKE1_start_0" on_node="18node2" on_node_uuid="2"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="3">
-+    <action_set>
-+      <rsc_op id="22" operation="start" operation_key="FAKE1_start_0" on_node="18node2" on_node_uuid="2">
-+        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="21" operation="stop" operation_key="FAKE1_stop_0" on_node="18builder" on_node_uuid="5"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="4">
-+    <action_set>
-+      <rsc_op id="21" operation="stop" operation_key="FAKE1_stop_0" on_node="18builder" on_node_uuid="5">
-+        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="5">
-+    <action_set>
-+      <rsc_op id="13" operation="monitor" operation_key="FAKE1_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
-+        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="19" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="6">
-+    <action_set>
-+      <rsc_op id="26" operation="monitor" operation_key="FAKE2_monitor_60000" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
-+        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="19" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="25" operation="start" operation_key="FAKE2_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="7">
-+    <action_set>
-+      <rsc_op id="25" operation="start" operation_key="FAKE2_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
-+        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="19" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="24" operation="stop" operation_key="FAKE2_stop_0" on_node="18node2" on_node_uuid="2"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="8">
-+    <action_set>
-+      <rsc_op id="24" operation="stop" operation_key="FAKE2_stop_0" on_node="18node2" on_node_uuid="2">
-+        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="9">
-+    <action_set>
-+      <rsc_op id="14" operation="monitor" operation_key="FAKE2_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
-+        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="19" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="10">
-+    <action_set>
-+      <rsc_op id="15" operation="monitor" operation_key="FAKE3_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
-+        <primitive id="FAKE3" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="19" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="11">
-+    <action_set>
-+      <rsc_op id="16" operation="monitor" operation_key="FAKE4_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
-+        <primitive id="FAKE4" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="19" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="12" priority="1000000">
-+    <action_set>
-+      <rsc_op id="12" operation="probe_complete" operation_key="probe_complete-remote1" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="13" operation="monitor" operation_key="FAKE1_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="14" operation="monitor" operation_key="FAKE2_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="15" operation="monitor" operation_key="FAKE3_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="16" operation="monitor" operation_key="FAKE4_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="13">
-+    <action_set>
-+      <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="12" operation="probe_complete" operation_key="probe_complete-remote1" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="14">
-+    <action_set>
-+      <pseudo_event id="6" operation="all_stopped" operation_key="all_stopped">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="21" operation="stop" operation_key="FAKE1_stop_0" on_node="18builder" on_node_uuid="5"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="24" operation="stop" operation_key="FAKE2_stop_0" on_node="18node2" on_node_uuid="2"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+</transition_graph>
-diff --git a/pengine/test10/remote-startup.exp b/pengine/test10/remote-startup.exp
-new file mode 100644
-index 0000000..82fd243
---- /dev/null
-+++ b/pengine/test10/remote-startup.exp
-@@ -0,0 +1,246 @@
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
-+  <synapse id="0">
-+    <action_set>
-+      <rsc_op id="18" operation="monitor" operation_key="shooter_monitor_60000" on_node="18node1" on_node_uuid="1">
-+        <primitive id="shooter" class="stonith" type="fence_xvm"/>
-+        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="17" operation="start" operation_key="shooter_start_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="1">
-+    <action_set>
-+      <rsc_op id="17" operation="start" operation_key="shooter_start_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="shooter" class="stonith" type="fence_xvm"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="16" operation="stop" operation_key="shooter_stop_0" on_node="18builder" on_node_uuid="5"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="2">
-+    <action_set>
-+      <rsc_op id="16" operation="stop" operation_key="shooter_stop_0" on_node="18builder" on_node_uuid="5">
-+        <primitive id="shooter" class="stonith" type="fence_xvm"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="3" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="3">
-+    <action_set>
-+      <rsc_op id="19" operation="start" operation_key="fake_start_0" on_node="18node2" on_node_uuid="2">
-+        <primitive id="fake" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="3" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="4">
-+    <action_set>
-+      <rsc_op id="15" operation="monitor" operation_key="fake_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
-+        <primitive id="fake" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="20" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="5">
-+    <action_set>
-+      <rsc_op id="12" operation="monitor" operation_key="fake_monitor_0" on_node="18node2" on_node_uuid="2">
-+        <primitive id="fake" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="6">
-+    <action_set>
-+      <rsc_op id="9" operation="monitor" operation_key="fake_monitor_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="fake" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="7">
-+    <action_set>
-+      <rsc_op id="6" operation="monitor" operation_key="fake_monitor_0" on_node="18builder" on_node_uuid="5">
-+        <primitive id="fake" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="8">
-+    <action_set>
-+      <rsc_op id="21" operation="monitor" operation_key="remote1_monitor_60000" on_node="18builder" on_node_uuid="5">
-+        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="20" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="9">
-+    <action_set>
-+      <rsc_op id="20" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5">
-+        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="4" operation="probe_nodes_complete" operation_key="probe_nodes_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="10">
-+    <action_set>
-+      <rsc_op id="13" operation="monitor" operation_key="remote1_monitor_0" on_node="18node2" on_node_uuid="2">
-+        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="11">
-+    <action_set>
-+      <rsc_op id="10" operation="monitor" operation_key="remote1_monitor_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="12">
-+    <action_set>
-+      <rsc_op id="7" operation="monitor" operation_key="remote1_monitor_0" on_node="18builder" on_node_uuid="5">
-+        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="13" priority="1000000">
-+    <action_set>
-+      <rsc_op id="14" operation="probe_complete" operation_key="probe_complete-remote1" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="15" operation="monitor" operation_key="fake_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="14" priority="1000000">
-+    <action_set>
-+      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-18node2" on_node="18node2" on_node_uuid="2">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="12" operation="monitor" operation_key="fake_monitor_0" on_node="18node2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="13" operation="monitor" operation_key="remote1_monitor_0" on_node="18node2" on_node_uuid="2"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="15" priority="1000000">
-+    <action_set>
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-18node1" on_node="18node1" on_node_uuid="1">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="9" operation="monitor" operation_key="fake_monitor_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="10" operation="monitor" operation_key="remote1_monitor_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="16" priority="1000000">
-+    <action_set>
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-18builder" on_node="18builder" on_node_uuid="5">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="6" operation="monitor" operation_key="fake_monitor_0" on_node="18builder" on_node_uuid="5"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="7" operation="monitor" operation_key="remote1_monitor_0" on_node="18builder" on_node_uuid="5"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="17">
-+    <action_set>
-+      <pseudo_event id="4" operation="probe_nodes_complete" operation_key="probe_nodes_complete">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-18builder" on_node="18builder" on_node_uuid="5"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-18node1" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-18node2" on_node="18node2" on_node_uuid="2"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="18">
-+    <action_set>
-+      <pseudo_event id="3" operation="probe_complete" operation_key="probe_complete">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="14" operation="probe_complete" operation_key="probe_complete-remote1" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="19">
-+    <action_set>
-+      <pseudo_event id="2" operation="all_stopped" operation_key="all_stopped">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="16" operation="stop" operation_key="shooter_stop_0" on_node="18builder" on_node_uuid="5"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+</transition_graph>
-diff --git a/pengine/test10/reprobe-target_rc.exp b/pengine/test10/reprobe-target_rc.exp
-index 9c09de7..f3b5a38 100644
---- a/pengine/test10/reprobe-target_rc.exp
-+++ b/pengine/test10/reprobe-target_rc.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0">
-     <action_set>
--      <rsc_op id="4" operation="probe_again" operation_key="probe_again" on_node="node-1" on_node_uuid="node-1">
-+      <rsc_op id="4" operation="probe_again" operation_key="probe_again-node-1" on_node="node-1" on_node_uuid="node-1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1">
-     <action_set>
--      <rsc_op id="3" operation="probe_again" operation_key="probe_again" on_node="node-0" on_node_uuid="node-0">
-+      <rsc_op id="3" operation="probe_again" operation_key="probe_again-node-0" on_node="node-0" on_node_uuid="node-0">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/rsc-maintenance.exp b/pengine/test10/rsc-maintenance.exp
-new file mode 100644
-index 0000000..146519c
---- /dev/null
-+++ b/pengine/test10/rsc-maintenance.exp
-@@ -0,0 +1,36 @@
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
-+  <synapse id="0">
-+    <action_set>
-+      <rsc_op id="1" operation="cancel" operation_key="rsc1_monitor_10000" on_node="node1" on_node_uuid="node1">
-+        <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_call_id="3" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_operation="monitor" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="1">
-+    <action_set>
-+      <rsc_op id="2" operation="cancel" operation_key="rsc2_monitor_10000" on_node="node1" on_node_uuid="node1">
-+        <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_call_id="3" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_operation="monitor" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="2" priority="1000000">
-+    <action_set>
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="3" priority="1000000">
-+    <action_set>
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+</transition_graph>
-diff --git a/pengine/test10/rsc-sets-clone-1.exp b/pengine/test10/rsc-sets-clone-1.exp
-index 7e441c3..c338d7a 100644
---- a/pengine/test10/rsc-sets-clone-1.exp
-+++ b/pengine/test10/rsc-sets-clone-1.exp
-@@ -476,7 +476,7 @@
-   </synapse>
-   <synapse id="36" priority="1000000">
-     <action_set>
--      <rsc_op id="13" operation="probe_complete" operation_key="probe_complete" on_node="sys3" on_node_uuid="sys3">
-+      <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-sys3" on_node="sys3" on_node_uuid="sys3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -536,7 +536,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete" on_node="sys3" on_node_uuid="sys3"/>
-+        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-sys3" on_node="sys3" on_node_uuid="sys3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rsc-sets-clone.exp b/pengine/test10/rsc-sets-clone.exp
-index 042eff5..14d9ccb 100644
---- a/pengine/test10/rsc-sets-clone.exp
-+++ b/pengine/test10/rsc-sets-clone.exp
-@@ -88,7 +88,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -96,7 +96,7 @@
-   </synapse>
-   <synapse id="8" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/rsc-sets-master.exp b/pengine/test10/rsc-sets-master.exp
-index 18609c9..f801973 100644
---- a/pengine/test10/rsc-sets-master.exp
-+++ b/pengine/test10/rsc-sets-master.exp
-@@ -205,7 +205,7 @@
-   </synapse>
-   <synapse id="15" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -213,7 +213,7 @@
-   </synapse>
-   <synapse id="16" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/rsc-sets-seq-false.exp b/pengine/test10/rsc-sets-seq-false.exp
-index 36109e4..76f5156 100644
---- a/pengine/test10/rsc-sets-seq-false.exp
-+++ b/pengine/test10/rsc-sets-seq-false.exp
-@@ -166,7 +166,7 @@
-   </synapse>
-   <synapse id="12" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -174,7 +174,7 @@
-   </synapse>
-   <synapse id="13" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/rsc-sets-seq-true.exp b/pengine/test10/rsc-sets-seq-true.exp
-index be82497..c37c9a9 100644
---- a/pengine/test10/rsc-sets-seq-true.exp
-+++ b/pengine/test10/rsc-sets-seq-true.exp
-@@ -168,7 +168,7 @@
-   </synapse>
-   <synapse id="12" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -176,7 +176,7 @@
-   </synapse>
-   <synapse id="13" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/rsc_dep1.exp b/pengine/test10/rsc_dep1.exp
-index 9b61a44..96b998a 100644
---- a/pengine/test10/rsc_dep1.exp
-+++ b/pengine/test10/rsc_dep1.exp
-@@ -63,7 +63,7 @@
-    </synapse>
-   <synapse id="6" priority="1000000">
-      <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -78,7 +78,7 @@
-    </synapse>
-    <synapse id="7" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -99,10 +99,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/rsc_dep10.exp b/pengine/test10/rsc_dep10.exp
-index a8f0bdf..727e20d 100644
---- a/pengine/test10/rsc_dep10.exp
-+++ b/pengine/test10/rsc_dep10.exp
-@@ -50,7 +50,7 @@
-    </synapse>
-   <synapse id="5" priority="1000000">
-      <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -65,7 +65,7 @@
-    </synapse>
-    <synapse id="6" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -86,10 +86,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/rsc_dep2.exp b/pengine/test10/rsc_dep2.exp
-index 9040091..0e861e6 100644
---- a/pengine/test10/rsc_dep2.exp
-+++ b/pengine/test10/rsc_dep2.exp
-@@ -81,7 +81,7 @@
-    </synapse>
-   <synapse id="8" priority="1000000">
-      <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -99,7 +99,7 @@
-    </synapse>
-    <synapse id="9" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -123,10 +123,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/rsc_dep3.exp b/pengine/test10/rsc_dep3.exp
-index 15bf782..4c78ffc 100644
---- a/pengine/test10/rsc_dep3.exp
-+++ b/pengine/test10/rsc_dep3.exp
-@@ -63,7 +63,7 @@
-    </synapse>
-   <synapse id="6" priority="1000000">
-      <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -78,7 +78,7 @@
-    </synapse>
-    <synapse id="7" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -99,10 +99,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/rsc_dep4.exp b/pengine/test10/rsc_dep4.exp
-index 6b4eb82..1ad9e3e 100644
---- a/pengine/test10/rsc_dep4.exp
-+++ b/pengine/test10/rsc_dep4.exp
-@@ -110,7 +110,7 @@
-    </synapse>
-   <synapse id="10" priority="1000000">
-      <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -131,7 +131,7 @@
-    </synapse>
-   <synapse id="11" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -152,10 +152,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-        </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rsc_dep5.exp b/pengine/test10/rsc_dep5.exp
-index 64ba084..9119f77 100644
---- a/pengine/test10/rsc_dep5.exp
-+++ b/pengine/test10/rsc_dep5.exp
-@@ -81,7 +81,7 @@
-    </synapse>
-   <synapse id="8" priority="1000000">
-      <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -99,7 +99,7 @@
-    </synapse>
-    <synapse id="9" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -123,10 +123,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/rsc_dep7.exp b/pengine/test10/rsc_dep7.exp
-index 8da56fe..64f1140 100644
---- a/pengine/test10/rsc_dep7.exp
-+++ b/pengine/test10/rsc_dep7.exp
-@@ -94,7 +94,7 @@
-    </synapse>
-   <synapse id="9" priority="1000000">
-      <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -112,7 +112,7 @@
-    </synapse>
-    <synapse id="10" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -136,10 +136,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/rsc_dep8.exp b/pengine/test10/rsc_dep8.exp
-index 9040091..0e861e6 100644
---- a/pengine/test10/rsc_dep8.exp
-+++ b/pengine/test10/rsc_dep8.exp
-@@ -81,7 +81,7 @@
-    </synapse>
-   <synapse id="8" priority="1000000">
-      <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -99,7 +99,7 @@
-    </synapse>
-    <synapse id="9" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -123,10 +123,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/simple11.exp b/pengine/test10/simple11.exp
-index 315a7fd..f94ad53 100644
---- a/pengine/test10/simple11.exp
-+++ b/pengine/test10/simple11.exp
-@@ -63,7 +63,7 @@
-    </synapse>
-   <synapse id="6" priority="1000000">
-      <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -78,7 +78,7 @@
-    </synapse>
-    <synapse id="7" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -99,10 +99,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/simple12.exp b/pengine/test10/simple12.exp
-index 2b0a9f8..fda3c50 100644
---- a/pengine/test10/simple12.exp
-+++ b/pengine/test10/simple12.exp
-@@ -63,7 +63,7 @@
-    </synapse>
-   <synapse id="6" priority="1000000">
-      <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -78,7 +78,7 @@
-    </synapse>
-    <synapse id="7" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -99,10 +99,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/simple2.exp b/pengine/test10/simple2.exp
-index 99b81e7..b6e55a2 100644
---- a/pengine/test10/simple2.exp
-+++ b/pengine/test10/simple2.exp
-@@ -32,7 +32,7 @@
-    </synapse>
-   <synapse id="3" priority="1000000">
-      <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -44,7 +44,7 @@
-    </synapse>
-    <synapse id="4" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -62,10 +62,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="uuid1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="uuid2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="uuid2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/simple3.exp b/pengine/test10/simple3.exp
-index 6e4c8cb..2ff55a8 100644
---- a/pengine/test10/simple3.exp
-+++ b/pengine/test10/simple3.exp
-@@ -10,7 +10,7 @@
-    </synapse>
-    <synapse id="1" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-diff --git a/pengine/test10/simple4.exp b/pengine/test10/simple4.exp
-index 73c62e6..8702eab 100644
---- a/pengine/test10/simple4.exp
-+++ b/pengine/test10/simple4.exp
-@@ -10,7 +10,7 @@
-    </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/simple6.exp b/pengine/test10/simple6.exp
-index 79d230d..785c04c 100644
---- a/pengine/test10/simple6.exp
-+++ b/pengine/test10/simple6.exp
-@@ -39,7 +39,7 @@
-    </synapse>
-   <synapse id="3" priority="1000000">
-      <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -57,7 +57,7 @@
-      </action_set>
-      <inputs>
-        <trigger>
--         <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/simple7.exp b/pengine/test10/simple7.exp
-index ed0c1db..5cbf960 100644
---- a/pengine/test10/simple7.exp
-+++ b/pengine/test10/simple7.exp
-@@ -10,7 +10,7 @@
-    </synapse>
-    <synapse id="1">
-      <action_set>
--      <crm_event id="6" operation="do_shutdown" operation_key="do_shutdown" on_node="node1" on_node_uuid="node1">
-+      <crm_event id="6" operation="do_shutdown" operation_key="do_shutdown-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-      </action_set>
-@@ -22,7 +22,7 @@
-    </synapse>
-    <synapse id="2" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-diff --git a/pengine/test10/simple8.exp b/pengine/test10/simple8.exp
-index 0344648..4e8f09b 100644
---- a/pengine/test10/simple8.exp
-+++ b/pengine/test10/simple8.exp
-@@ -37,7 +37,7 @@
-    </synapse>
-   <synapse id="4" priority="1000000">
-      <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -58,7 +58,7 @@
-    </synapse>
-    <synapse id="5" priority="1000000">
-      <action_set>
--       <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -72,10 +72,10 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/stonith-3.exp b/pengine/test10/stonith-3.exp
-index 49e6e81..c4c1e32 100644
---- a/pengine/test10/stonith-3.exp
-+++ b/pengine/test10/stonith-3.exp
-@@ -137,7 +137,7 @@
-   </synapse>
-   <synapse id="11" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="rh5node2" on_node_uuid="fb62f5f4-015c-466a-8778-7b5c1c5639d6">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-rh5node2" on_node="rh5node2" on_node_uuid="fb62f5f4-015c-466a-8778-7b5c1c5639d6">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -158,7 +158,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="rh5node2" on_node_uuid="fb62f5f4-015c-466a-8778-7b5c1c5639d6"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-rh5node2" on_node="rh5node2" on_node_uuid="fb62f5f4-015c-466a-8778-7b5c1c5639d6"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/stonith-4.exp b/pengine/test10/stonith-4.exp
-index 2cfffc0..2be0a96 100644
---- a/pengine/test10/stonith-4.exp
-+++ b/pengine/test10/stonith-4.exp
-@@ -79,13 +79,13 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="pcmk-11" on_node_uuid="111"/>
-+        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-pcmk-11" on_node="pcmk-11" on_node_uuid="111"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="pcmk-2" on_node_uuid="102"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-pcmk-2" on_node="pcmk-2" on_node_uuid="102"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="pcmk-3" on_node_uuid="103"/>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-pcmk-3" on_node="pcmk-3" on_node_uuid="103"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/stop-failure-no-fencing.exp b/pengine/test10/stop-failure-no-fencing.exp
-index e9d94b8..52fe598 100644
---- a/pengine/test10/stop-failure-no-fencing.exp
-+++ b/pengine/test10/stop-failure-no-fencing.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="pcmk-2" on_node_uuid="102">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-pcmk-2" on_node="pcmk-2" on_node_uuid="102">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/stop-failure-with-fencing.exp b/pengine/test10/stop-failure-with-fencing.exp
-index 335ac37..8a467b4 100644
---- a/pengine/test10/stop-failure-with-fencing.exp
-+++ b/pengine/test10/stop-failure-with-fencing.exp
-@@ -72,7 +72,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="pcmk-1" on_node_uuid="101">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-pcmk-1" on_node="pcmk-1" on_node_uuid="101">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -90,7 +90,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="pcmk-1" on_node_uuid="101"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-pcmk-1" on_node="pcmk-1" on_node_uuid="101"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/stopped-monitor-00.exp b/pengine/test10/stopped-monitor-00.exp
-index 2788366..c27f870 100644
---- a/pengine/test10/stopped-monitor-00.exp
-+++ b/pengine/test10/stopped-monitor-00.exp
-@@ -58,7 +58,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -70,7 +70,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -88,10 +88,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/stopped-monitor-01.exp b/pengine/test10/stopped-monitor-01.exp
-index 04e44ee..5ca1496 100644
---- a/pengine/test10/stopped-monitor-01.exp
-+++ b/pengine/test10/stopped-monitor-01.exp
-@@ -36,7 +36,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -44,7 +44,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/stopped-monitor-02.exp b/pengine/test10/stopped-monitor-02.exp
-index 236d8ec..a735b0f 100644
---- a/pengine/test10/stopped-monitor-02.exp
-+++ b/pengine/test10/stopped-monitor-02.exp
-@@ -61,7 +61,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -69,7 +69,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/stopped-monitor-03.exp b/pengine/test10/stopped-monitor-03.exp
-index 9598ad7..92a5f57 100644
---- a/pengine/test10/stopped-monitor-03.exp
-+++ b/pengine/test10/stopped-monitor-03.exp
-@@ -23,7 +23,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -31,7 +31,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/stopped-monitor-04.exp b/pengine/test10/stopped-monitor-04.exp
-index ccd7539..cf75a01 100644
---- a/pengine/test10/stopped-monitor-04.exp
-+++ b/pengine/test10/stopped-monitor-04.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/stopped-monitor-05.exp b/pengine/test10/stopped-monitor-05.exp
-index ccd7539..cf75a01 100644
---- a/pengine/test10/stopped-monitor-05.exp
-+++ b/pengine/test10/stopped-monitor-05.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/stopped-monitor-06.exp b/pengine/test10/stopped-monitor-06.exp
-index ba6632b..0f663b1 100644
---- a/pengine/test10/stopped-monitor-06.exp
-+++ b/pengine/test10/stopped-monitor-06.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/stopped-monitor-07.exp b/pengine/test10/stopped-monitor-07.exp
-index ba6632b..0f663b1 100644
---- a/pengine/test10/stopped-monitor-07.exp
-+++ b/pengine/test10/stopped-monitor-07.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/stopped-monitor-08.exp b/pengine/test10/stopped-monitor-08.exp
-index d1da812..a291c47 100644
---- a/pengine/test10/stopped-monitor-08.exp
-+++ b/pengine/test10/stopped-monitor-08.exp
-@@ -61,7 +61,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -69,7 +69,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/stopped-monitor-09.exp b/pengine/test10/stopped-monitor-09.exp
-index ba6632b..0f663b1 100644
---- a/pengine/test10/stopped-monitor-09.exp
-+++ b/pengine/test10/stopped-monitor-09.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/stopped-monitor-10.exp b/pengine/test10/stopped-monitor-10.exp
-index 6d57001..641b47d 100644
---- a/pengine/test10/stopped-monitor-10.exp
-+++ b/pengine/test10/stopped-monitor-10.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/stopped-monitor-11.exp b/pengine/test10/stopped-monitor-11.exp
-index ba6632b..0f663b1 100644
---- a/pengine/test10/stopped-monitor-11.exp
-+++ b/pengine/test10/stopped-monitor-11.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/stopped-monitor-12.exp b/pengine/test10/stopped-monitor-12.exp
-index 6d57001..641b47d 100644
---- a/pengine/test10/stopped-monitor-12.exp
-+++ b/pengine/test10/stopped-monitor-12.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/stopped-monitor-20.exp b/pengine/test10/stopped-monitor-20.exp
-index 0d1c05e..d4a4076 100644
---- a/pengine/test10/stopped-monitor-20.exp
-+++ b/pengine/test10/stopped-monitor-20.exp
-@@ -45,7 +45,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -57,7 +57,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -75,10 +75,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/stopped-monitor-21.exp b/pengine/test10/stopped-monitor-21.exp
-index 39054cf..0a912fe 100644
---- a/pengine/test10/stopped-monitor-21.exp
-+++ b/pengine/test10/stopped-monitor-21.exp
-@@ -23,7 +23,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -31,7 +31,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/stopped-monitor-22.exp b/pengine/test10/stopped-monitor-22.exp
-index e5dc1de..5a3476e 100644
---- a/pengine/test10/stopped-monitor-22.exp
-+++ b/pengine/test10/stopped-monitor-22.exp
-@@ -45,7 +45,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -53,7 +53,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/stopped-monitor-23.exp b/pengine/test10/stopped-monitor-23.exp
-index eb42407..75bfca2 100644
---- a/pengine/test10/stopped-monitor-23.exp
-+++ b/pengine/test10/stopped-monitor-23.exp
-@@ -36,7 +36,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -44,7 +44,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/stopped-monitor-24.exp b/pengine/test10/stopped-monitor-24.exp
-index ba6632b..0f663b1 100644
---- a/pengine/test10/stopped-monitor-24.exp
-+++ b/pengine/test10/stopped-monitor-24.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/stopped-monitor-25.exp b/pengine/test10/stopped-monitor-25.exp
-index 1cff5b2..cc62d3f 100644
---- a/pengine/test10/stopped-monitor-25.exp
-+++ b/pengine/test10/stopped-monitor-25.exp
-@@ -19,7 +19,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -27,7 +27,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/stopped-monitor-26.exp b/pengine/test10/stopped-monitor-26.exp
-index ba6632b..0f663b1 100644
---- a/pengine/test10/stopped-monitor-26.exp
-+++ b/pengine/test10/stopped-monitor-26.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/stopped-monitor-27.exp b/pengine/test10/stopped-monitor-27.exp
-index 1cff5b2..cc62d3f 100644
---- a/pengine/test10/stopped-monitor-27.exp
-+++ b/pengine/test10/stopped-monitor-27.exp
-@@ -19,7 +19,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -27,7 +27,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/stopped-monitor-30.exp b/pengine/test10/stopped-monitor-30.exp
-index 2dce65f..fb3c88f 100644
---- a/pengine/test10/stopped-monitor-30.exp
-+++ b/pengine/test10/stopped-monitor-30.exp
-@@ -23,7 +23,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node3" on_node_uuid="node3">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node3" on_node="node3" on_node_uuid="node3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -35,7 +35,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -43,7 +43,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -57,13 +57,13 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node3" on_node_uuid="node3"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node3" on_node="node3" on_node_uuid="node3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/stopped-monitor-31.exp b/pengine/test10/stopped-monitor-31.exp
-index 394cbc7..e51c78d 100644
---- a/pengine/test10/stopped-monitor-31.exp
-+++ b/pengine/test10/stopped-monitor-31.exp
-@@ -23,7 +23,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node3" on_node_uuid="node3">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node3" on_node="node3" on_node_uuid="node3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -35,7 +35,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -43,7 +43,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -57,13 +57,13 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node3" on_node_uuid="node3"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node3" on_node="node3" on_node_uuid="node3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealth2.exp b/pengine/test10/systemhealth2.exp
-index 68b5078..95d8847 100644
---- a/pengine/test10/systemhealth2.exp
-+++ b/pengine/test10/systemhealth2.exp
-@@ -122,7 +122,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -146,7 +146,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealth3.exp b/pengine/test10/systemhealth3.exp
-index 68b5078..95d8847 100644
---- a/pengine/test10/systemhealth3.exp
-+++ b/pengine/test10/systemhealth3.exp
-@@ -122,7 +122,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -146,7 +146,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealthm2.exp b/pengine/test10/systemhealthm2.exp
-index 68b5078..95d8847 100644
---- a/pengine/test10/systemhealthm2.exp
-+++ b/pengine/test10/systemhealthm2.exp
-@@ -122,7 +122,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -146,7 +146,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealthm3.exp b/pengine/test10/systemhealthm3.exp
-index 7246b5b..4100342 100644
---- a/pengine/test10/systemhealthm3.exp
-+++ b/pengine/test10/systemhealthm3.exp
-@@ -48,7 +48,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -72,7 +72,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealthn2.exp b/pengine/test10/systemhealthn2.exp
-index 68b5078..95d8847 100644
---- a/pengine/test10/systemhealthn2.exp
-+++ b/pengine/test10/systemhealthn2.exp
-@@ -122,7 +122,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -146,7 +146,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealthn3.exp b/pengine/test10/systemhealthn3.exp
-index 68b5078..95d8847 100644
---- a/pengine/test10/systemhealthn3.exp
-+++ b/pengine/test10/systemhealthn3.exp
-@@ -122,7 +122,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -146,7 +146,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealtho2.exp b/pengine/test10/systemhealtho2.exp
-index 7246b5b..4100342 100644
---- a/pengine/test10/systemhealtho2.exp
-+++ b/pengine/test10/systemhealtho2.exp
-@@ -48,7 +48,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -72,7 +72,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealtho3.exp b/pengine/test10/systemhealtho3.exp
-index 7246b5b..4100342 100644
---- a/pengine/test10/systemhealtho3.exp
-+++ b/pengine/test10/systemhealtho3.exp
-@@ -48,7 +48,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -72,7 +72,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealthp2.exp b/pengine/test10/systemhealthp2.exp
-index e3ba25d..77729c4 100644
---- a/pengine/test10/systemhealthp2.exp
-+++ b/pengine/test10/systemhealthp2.exp
-@@ -106,7 +106,7 @@
-   </synapse>
-   <synapse id="9" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -130,7 +130,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealthp3.exp b/pengine/test10/systemhealthp3.exp
-index 7246b5b..4100342 100644
---- a/pengine/test10/systemhealthp3.exp
-+++ b/pengine/test10/systemhealthp3.exp
-@@ -48,7 +48,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -72,7 +72,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/target-0.exp b/pengine/test10/target-0.exp
-index 1233c09..825d9ae 100644
---- a/pengine/test10/target-0.exp
-+++ b/pengine/test10/target-0.exp
-@@ -136,7 +136,7 @@
-    </synapse>
-   <synapse id="15" priority="1000000">
-      <action_set>
--      <rsc_op id="22" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="22" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -157,7 +157,7 @@
-    </synapse>
-    <synapse id="16" priority="1000000">
-      <action_set>
--      <rsc_op id="17" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="17" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -178,7 +178,7 @@
-    </synapse>
-    <synapse id="17" priority="1000000">
-      <action_set>
--       <rsc_op id="13" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -196,7 +196,7 @@
-    </synapse>
-    <synapse id="18" priority="1000000">
-      <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -223,16 +223,16 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="17" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="17" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="22" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="22" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/target-1.exp b/pengine/test10/target-1.exp
-index 15d6a54..06ac73d 100644
---- a/pengine/test10/target-1.exp
-+++ b/pengine/test10/target-1.exp
-@@ -122,7 +122,7 @@
-    </synapse>
-   <synapse id="13" priority="1000000">
-      <action_set>
--      <rsc_op id="20" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="20" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -140,7 +140,7 @@
-    </synapse>
-   <synapse id="14" priority="1000000">
-      <action_set>
--      <rsc_op id="15" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="15" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-      </action_set>
-@@ -161,7 +161,7 @@
-    </synapse>
-   <synapse id="15" priority="1000000">
-      <action_set>
--      <rsc_op id="12" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="12" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -176,7 +176,7 @@
-    </synapse>
-   <synapse id="16" priority="1000000">
-      <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -200,16 +200,16 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="12" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="12" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="15" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="15" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-        </trigger>
-        <trigger>
--        <rsc_op id="20" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="20" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/target-2.exp b/pengine/test10/target-2.exp
-index 94e1e86..a723118 100644
---- a/pengine/test10/target-2.exp
-+++ b/pengine/test10/target-2.exp
-@@ -149,7 +149,7 @@
-   </synapse>
-   <synapse id="16" priority="1000000">
-     <action_set>
--      <rsc_op id="22" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-+      <rsc_op id="22" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -170,7 +170,7 @@
-   </synapse>
-   <synapse id="17" priority="1000000">
-     <action_set>
--      <rsc_op id="17" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="17" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -191,7 +191,7 @@
-   </synapse>
-   <synapse id="18" priority="1000000">
-     <action_set>
--      <rsc_op id="13" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -209,7 +209,7 @@
-   </synapse>
-   <synapse id="19" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -236,16 +236,16 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="17" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="17" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="22" operation="probe_complete" operation_key="probe_complete" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-+        <rsc_op id="22" operation="probe_complete" operation_key="probe_complete-c001n08" on_node="c001n08" on_node_uuid="6427cb5a-c7a5-4bdf-9892-a04ce56f4e6b"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/template-1.exp b/pengine/test10/template-1.exp
-index a65f3c5..0fef2b0 100644
---- a/pengine/test10/template-1.exp
-+++ b/pengine/test10/template-1.exp
-@@ -66,7 +66,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -81,7 +81,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -102,10 +102,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/template-2.exp b/pengine/test10/template-2.exp
-index a206d20..0fd08cb 100644
---- a/pengine/test10/template-2.exp
-+++ b/pengine/test10/template-2.exp
-@@ -66,7 +66,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -81,7 +81,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -102,10 +102,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/template-3.exp b/pengine/test10/template-3.exp
-index f76a695..6b65404 100644
---- a/pengine/test10/template-3.exp
-+++ b/pengine/test10/template-3.exp
-@@ -121,7 +121,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -136,7 +136,7 @@
-   </synapse>
-   <synapse id="11" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -157,10 +157,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/template-clone-group.exp b/pengine/test10/template-clone-group.exp
-index 7d06925..2ec6921 100644
---- a/pengine/test10/template-clone-group.exp
-+++ b/pengine/test10/template-clone-group.exp
-@@ -193,7 +193,7 @@
-   </synapse>
-   <synapse id="14" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -208,7 +208,7 @@
-   </synapse>
-   <synapse id="15" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -229,10 +229,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/template-clone-primitive.exp b/pengine/test10/template-clone-primitive.exp
-index b631908..151edf6 100644
---- a/pengine/test10/template-clone-primitive.exp
-+++ b/pengine/test10/template-clone-primitive.exp
-@@ -77,7 +77,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -89,7 +89,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -107,10 +107,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/template-coloc-1.exp b/pengine/test10/template-coloc-1.exp
-index 871e4e1..96fce66 100644
---- a/pengine/test10/template-coloc-1.exp
-+++ b/pengine/test10/template-coloc-1.exp
-@@ -125,7 +125,7 @@
-   </synapse>
-   <synapse id="12" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -146,7 +146,7 @@
-   </synapse>
-   <synapse id="13" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -173,10 +173,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/template-coloc-2.exp b/pengine/test10/template-coloc-2.exp
-index 871e4e1..96fce66 100644
---- a/pengine/test10/template-coloc-2.exp
-+++ b/pengine/test10/template-coloc-2.exp
-@@ -125,7 +125,7 @@
-   </synapse>
-   <synapse id="12" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -146,7 +146,7 @@
-   </synapse>
-   <synapse id="13" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -173,10 +173,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/template-coloc-3.exp b/pengine/test10/template-coloc-3.exp
-index 37e359b..74e9f90 100644
---- a/pengine/test10/template-coloc-3.exp
-+++ b/pengine/test10/template-coloc-3.exp
-@@ -187,7 +187,7 @@
-   </synapse>
-   <synapse id="18" priority="1000000">
-     <action_set>
--      <rsc_op id="10" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -214,7 +214,7 @@
-   </synapse>
-   <synapse id="19" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -247,10 +247,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="10" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/template-order-1.exp b/pengine/test10/template-order-1.exp
-index 82c79fa..dc9ecd9 100644
---- a/pengine/test10/template-order-1.exp
-+++ b/pengine/test10/template-order-1.exp
-@@ -134,7 +134,7 @@
-   </synapse>
-   <synapse id="12" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -155,7 +155,7 @@
-   </synapse>
-   <synapse id="13" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -182,10 +182,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/template-order-2.exp b/pengine/test10/template-order-2.exp
-index 261ae44..bbf7d9c 100644
---- a/pengine/test10/template-order-2.exp
-+++ b/pengine/test10/template-order-2.exp
-@@ -134,7 +134,7 @@
-   </synapse>
-   <synapse id="12" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -155,7 +155,7 @@
-   </synapse>
-   <synapse id="13" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -182,10 +182,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/template-order-3.exp b/pengine/test10/template-order-3.exp
-index 7e2e90f..17eab13 100644
---- a/pengine/test10/template-order-3.exp
-+++ b/pengine/test10/template-order-3.exp
-@@ -214,7 +214,7 @@
-   </synapse>
-   <synapse id="18" priority="1000000">
-     <action_set>
--      <rsc_op id="10" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -241,7 +241,7 @@
-   </synapse>
-   <synapse id="19" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -274,10 +274,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="10" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/template-rsc-sets-1.exp b/pengine/test10/template-rsc-sets-1.exp
-index 0e0f6bd..5166d93 100644
---- a/pengine/test10/template-rsc-sets-1.exp
-+++ b/pengine/test10/template-rsc-sets-1.exp
-@@ -168,7 +168,7 @@
-   </synapse>
-   <synapse id="15" priority="1000000">
-     <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -192,7 +192,7 @@
-   </synapse>
-   <synapse id="16" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -222,10 +222,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/template-rsc-sets-2.exp b/pengine/test10/template-rsc-sets-2.exp
-index 6e08aad..43c138b 100644
---- a/pengine/test10/template-rsc-sets-2.exp
-+++ b/pengine/test10/template-rsc-sets-2.exp
-@@ -174,7 +174,7 @@
-   </synapse>
-   <synapse id="15" priority="1000000">
-     <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -198,7 +198,7 @@
-   </synapse>
-   <synapse id="16" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -228,10 +228,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/template-rsc-sets-3.exp b/pengine/test10/template-rsc-sets-3.exp
-index 0e0f6bd..5166d93 100644
---- a/pengine/test10/template-rsc-sets-3.exp
-+++ b/pengine/test10/template-rsc-sets-3.exp
-@@ -168,7 +168,7 @@
-   </synapse>
-   <synapse id="15" priority="1000000">
-     <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -192,7 +192,7 @@
-   </synapse>
-   <synapse id="16" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -222,10 +222,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/template-rsc-sets-4.exp b/pengine/test10/template-rsc-sets-4.exp
-index f97def2..a00ac64 100644
---- a/pengine/test10/template-rsc-sets-4.exp
-+++ b/pengine/test10/template-rsc-sets-4.exp
-@@ -55,7 +55,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -73,7 +73,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -97,10 +97,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/template-ticket.exp b/pengine/test10/template-ticket.exp
-index f97def2..a00ac64 100644
---- a/pengine/test10/template-ticket.exp
-+++ b/pengine/test10/template-ticket.exp
-@@ -55,7 +55,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -73,7 +73,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -97,10 +97,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-clone-1.exp b/pengine/test10/ticket-clone-1.exp
-index e3a5cb8..e127ef8 100644
---- a/pengine/test10/ticket-clone-1.exp
-+++ b/pengine/test10/ticket-clone-1.exp
-@@ -19,7 +19,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -31,7 +31,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -49,10 +49,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-clone-10.exp b/pengine/test10/ticket-clone-10.exp
-index e3a5cb8..e127ef8 100644
---- a/pengine/test10/ticket-clone-10.exp
-+++ b/pengine/test10/ticket-clone-10.exp
-@@ -19,7 +19,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -31,7 +31,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -49,10 +49,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-clone-11.exp b/pengine/test10/ticket-clone-11.exp
-index 9fc69df..cc7e89a 100644
---- a/pengine/test10/ticket-clone-11.exp
-+++ b/pengine/test10/ticket-clone-11.exp
-@@ -79,7 +79,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -87,7 +87,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-clone-12.exp b/pengine/test10/ticket-clone-12.exp
-index 6d57001..641b47d 100644
---- a/pengine/test10/ticket-clone-12.exp
-+++ b/pengine/test10/ticket-clone-12.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-clone-13.exp b/pengine/test10/ticket-clone-13.exp
-index ccd7539..cf75a01 100644
---- a/pengine/test10/ticket-clone-13.exp
-+++ b/pengine/test10/ticket-clone-13.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-clone-14.exp b/pengine/test10/ticket-clone-14.exp
-index f9dffd7..cd56b44 100644
---- a/pengine/test10/ticket-clone-14.exp
-+++ b/pengine/test10/ticket-clone-14.exp
-@@ -53,7 +53,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -61,7 +61,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-clone-15.exp b/pengine/test10/ticket-clone-15.exp
-index f9dffd7..cd56b44 100644
---- a/pengine/test10/ticket-clone-15.exp
-+++ b/pengine/test10/ticket-clone-15.exp
-@@ -53,7 +53,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -61,7 +61,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-clone-16.exp b/pengine/test10/ticket-clone-16.exp
-index ccd7539..cf75a01 100644
---- a/pengine/test10/ticket-clone-16.exp
-+++ b/pengine/test10/ticket-clone-16.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-clone-17.exp b/pengine/test10/ticket-clone-17.exp
-index f9dffd7..cd56b44 100644
---- a/pengine/test10/ticket-clone-17.exp
-+++ b/pengine/test10/ticket-clone-17.exp
-@@ -53,7 +53,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -61,7 +61,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-clone-18.exp b/pengine/test10/ticket-clone-18.exp
-index f9dffd7..cd56b44 100644
---- a/pengine/test10/ticket-clone-18.exp
-+++ b/pengine/test10/ticket-clone-18.exp
-@@ -53,7 +53,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -61,7 +61,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-clone-19.exp b/pengine/test10/ticket-clone-19.exp
-index ccd7539..cf75a01 100644
---- a/pengine/test10/ticket-clone-19.exp
-+++ b/pengine/test10/ticket-clone-19.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-clone-2.exp b/pengine/test10/ticket-clone-2.exp
-index 9fc69df..cc7e89a 100644
---- a/pengine/test10/ticket-clone-2.exp
-+++ b/pengine/test10/ticket-clone-2.exp
-@@ -79,7 +79,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -87,7 +87,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-clone-20.exp b/pengine/test10/ticket-clone-20.exp
-index f9dffd7..cd56b44 100644
---- a/pengine/test10/ticket-clone-20.exp
-+++ b/pengine/test10/ticket-clone-20.exp
-@@ -53,7 +53,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -61,7 +61,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-clone-22.exp b/pengine/test10/ticket-clone-22.exp
-index ccd7539..cf75a01 100644
---- a/pengine/test10/ticket-clone-22.exp
-+++ b/pengine/test10/ticket-clone-22.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-clone-23.exp b/pengine/test10/ticket-clone-23.exp
-index f9dffd7..cd56b44 100644
---- a/pengine/test10/ticket-clone-23.exp
-+++ b/pengine/test10/ticket-clone-23.exp
-@@ -53,7 +53,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -61,7 +61,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-clone-24.exp b/pengine/test10/ticket-clone-24.exp
-index 6d57001..641b47d 100644
---- a/pengine/test10/ticket-clone-24.exp
-+++ b/pengine/test10/ticket-clone-24.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-clone-3.exp b/pengine/test10/ticket-clone-3.exp
-index f9dffd7..cd56b44 100644
---- a/pengine/test10/ticket-clone-3.exp
-+++ b/pengine/test10/ticket-clone-3.exp
-@@ -53,7 +53,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -61,7 +61,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-clone-4.exp b/pengine/test10/ticket-clone-4.exp
-index e3a5cb8..e127ef8 100644
---- a/pengine/test10/ticket-clone-4.exp
-+++ b/pengine/test10/ticket-clone-4.exp
-@@ -19,7 +19,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -31,7 +31,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -49,10 +49,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-clone-5.exp b/pengine/test10/ticket-clone-5.exp
-index 9fc69df..cc7e89a 100644
---- a/pengine/test10/ticket-clone-5.exp
-+++ b/pengine/test10/ticket-clone-5.exp
-@@ -79,7 +79,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -87,7 +87,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-clone-6.exp b/pengine/test10/ticket-clone-6.exp
-index f9dffd7..cd56b44 100644
---- a/pengine/test10/ticket-clone-6.exp
-+++ b/pengine/test10/ticket-clone-6.exp
-@@ -53,7 +53,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -61,7 +61,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-clone-7.exp b/pengine/test10/ticket-clone-7.exp
-index e3a5cb8..e127ef8 100644
---- a/pengine/test10/ticket-clone-7.exp
-+++ b/pengine/test10/ticket-clone-7.exp
-@@ -19,7 +19,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -31,7 +31,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -49,10 +49,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-clone-8.exp b/pengine/test10/ticket-clone-8.exp
-index 9fc69df..cc7e89a 100644
---- a/pengine/test10/ticket-clone-8.exp
-+++ b/pengine/test10/ticket-clone-8.exp
-@@ -79,7 +79,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -87,7 +87,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-group-1.exp b/pengine/test10/ticket-group-1.exp
-index 328d7a7..15dd4eb 100644
---- a/pengine/test10/ticket-group-1.exp
-+++ b/pengine/test10/ticket-group-1.exp
-@@ -37,7 +37,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -52,7 +52,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -73,10 +73,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-group-10.exp b/pengine/test10/ticket-group-10.exp
-index 328d7a7..15dd4eb 100644
---- a/pengine/test10/ticket-group-10.exp
-+++ b/pengine/test10/ticket-group-10.exp
-@@ -37,7 +37,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -52,7 +52,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -73,10 +73,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-group-11.exp b/pengine/test10/ticket-group-11.exp
-index e1b6cc1..7048e97 100644
---- a/pengine/test10/ticket-group-11.exp
-+++ b/pengine/test10/ticket-group-11.exp
-@@ -82,7 +82,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -90,7 +90,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-group-12.exp b/pengine/test10/ticket-group-12.exp
-index 6d57001..641b47d 100644
---- a/pengine/test10/ticket-group-12.exp
-+++ b/pengine/test10/ticket-group-12.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-group-13.exp b/pengine/test10/ticket-group-13.exp
-index ccd7539..cf75a01 100644
---- a/pengine/test10/ticket-group-13.exp
-+++ b/pengine/test10/ticket-group-13.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-group-14.exp b/pengine/test10/ticket-group-14.exp
-index 250b6ee..b3b1182 100644
---- a/pengine/test10/ticket-group-14.exp
-+++ b/pengine/test10/ticket-group-14.exp
-@@ -56,7 +56,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -64,7 +64,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-group-15.exp b/pengine/test10/ticket-group-15.exp
-index 250b6ee..b3b1182 100644
---- a/pengine/test10/ticket-group-15.exp
-+++ b/pengine/test10/ticket-group-15.exp
-@@ -56,7 +56,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -64,7 +64,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-group-16.exp b/pengine/test10/ticket-group-16.exp
-index ccd7539..cf75a01 100644
---- a/pengine/test10/ticket-group-16.exp
-+++ b/pengine/test10/ticket-group-16.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-group-17.exp b/pengine/test10/ticket-group-17.exp
-index 250b6ee..b3b1182 100644
---- a/pengine/test10/ticket-group-17.exp
-+++ b/pengine/test10/ticket-group-17.exp
-@@ -56,7 +56,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -64,7 +64,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-group-18.exp b/pengine/test10/ticket-group-18.exp
-index 250b6ee..b3b1182 100644
---- a/pengine/test10/ticket-group-18.exp
-+++ b/pengine/test10/ticket-group-18.exp
-@@ -56,7 +56,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -64,7 +64,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-group-19.exp b/pengine/test10/ticket-group-19.exp
-index ccd7539..cf75a01 100644
---- a/pengine/test10/ticket-group-19.exp
-+++ b/pengine/test10/ticket-group-19.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-group-2.exp b/pengine/test10/ticket-group-2.exp
-index e1b6cc1..7048e97 100644
---- a/pengine/test10/ticket-group-2.exp
-+++ b/pengine/test10/ticket-group-2.exp
-@@ -82,7 +82,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -90,7 +90,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-group-20.exp b/pengine/test10/ticket-group-20.exp
-index 250b6ee..b3b1182 100644
---- a/pengine/test10/ticket-group-20.exp
-+++ b/pengine/test10/ticket-group-20.exp
-@@ -56,7 +56,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -64,7 +64,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-group-21.exp b/pengine/test10/ticket-group-21.exp
-index d85b683..c7b5b72 100644
---- a/pengine/test10/ticket-group-21.exp
-+++ b/pengine/test10/ticket-group-21.exp
-@@ -84,7 +84,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-group-22.exp b/pengine/test10/ticket-group-22.exp
-index ccd7539..cf75a01 100644
---- a/pengine/test10/ticket-group-22.exp
-+++ b/pengine/test10/ticket-group-22.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-group-23.exp b/pengine/test10/ticket-group-23.exp
-index 250b6ee..b3b1182 100644
---- a/pengine/test10/ticket-group-23.exp
-+++ b/pengine/test10/ticket-group-23.exp
-@@ -56,7 +56,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -64,7 +64,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-group-24.exp b/pengine/test10/ticket-group-24.exp
-index 6d57001..641b47d 100644
---- a/pengine/test10/ticket-group-24.exp
-+++ b/pengine/test10/ticket-group-24.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-group-3.exp b/pengine/test10/ticket-group-3.exp
-index 250b6ee..b3b1182 100644
---- a/pengine/test10/ticket-group-3.exp
-+++ b/pengine/test10/ticket-group-3.exp
-@@ -56,7 +56,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -64,7 +64,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-group-4.exp b/pengine/test10/ticket-group-4.exp
-index 328d7a7..15dd4eb 100644
---- a/pengine/test10/ticket-group-4.exp
-+++ b/pengine/test10/ticket-group-4.exp
-@@ -37,7 +37,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -52,7 +52,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -73,10 +73,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-group-5.exp b/pengine/test10/ticket-group-5.exp
-index e1b6cc1..7048e97 100644
---- a/pengine/test10/ticket-group-5.exp
-+++ b/pengine/test10/ticket-group-5.exp
-@@ -82,7 +82,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -90,7 +90,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-group-6.exp b/pengine/test10/ticket-group-6.exp
-index 250b6ee..b3b1182 100644
---- a/pengine/test10/ticket-group-6.exp
-+++ b/pengine/test10/ticket-group-6.exp
-@@ -56,7 +56,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -64,7 +64,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-group-7.exp b/pengine/test10/ticket-group-7.exp
-index 328d7a7..15dd4eb 100644
---- a/pengine/test10/ticket-group-7.exp
-+++ b/pengine/test10/ticket-group-7.exp
-@@ -37,7 +37,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -52,7 +52,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -73,10 +73,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-group-8.exp b/pengine/test10/ticket-group-8.exp
-index e1b6cc1..7048e97 100644
---- a/pengine/test10/ticket-group-8.exp
-+++ b/pengine/test10/ticket-group-8.exp
-@@ -82,7 +82,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -90,7 +90,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-group-9.exp b/pengine/test10/ticket-group-9.exp
-index d85b683..c7b5b72 100644
---- a/pengine/test10/ticket-group-9.exp
-+++ b/pengine/test10/ticket-group-9.exp
-@@ -84,7 +84,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-master-1.exp b/pengine/test10/ticket-master-1.exp
-index 3a93a0e..55abf78 100644
---- a/pengine/test10/ticket-master-1.exp
-+++ b/pengine/test10/ticket-master-1.exp
-@@ -19,7 +19,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -31,7 +31,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -49,10 +49,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-master-10.exp b/pengine/test10/ticket-master-10.exp
-index 8f76f85..44cb6a0 100644
---- a/pengine/test10/ticket-master-10.exp
-+++ b/pengine/test10/ticket-master-10.exp
-@@ -77,7 +77,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -89,7 +89,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -107,10 +107,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-master-11.exp b/pengine/test10/ticket-master-11.exp
-index d160526..c0299ae 100644
---- a/pengine/test10/ticket-master-11.exp
-+++ b/pengine/test10/ticket-master-11.exp
-@@ -34,7 +34,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -42,7 +42,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-master-12.exp b/pengine/test10/ticket-master-12.exp
-index 6d57001..641b47d 100644
---- a/pengine/test10/ticket-master-12.exp
-+++ b/pengine/test10/ticket-master-12.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-master-13.exp b/pengine/test10/ticket-master-13.exp
-index ccd7539..cf75a01 100644
---- a/pengine/test10/ticket-master-13.exp
-+++ b/pengine/test10/ticket-master-13.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-master-14.exp b/pengine/test10/ticket-master-14.exp
-index 256060e..2e1faee 100644
---- a/pengine/test10/ticket-master-14.exp
-+++ b/pengine/test10/ticket-master-14.exp
-@@ -96,7 +96,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -104,7 +104,7 @@
-   </synapse>
-   <synapse id="8" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-master-15.exp b/pengine/test10/ticket-master-15.exp
-index 256060e..2e1faee 100644
---- a/pengine/test10/ticket-master-15.exp
-+++ b/pengine/test10/ticket-master-15.exp
-@@ -96,7 +96,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -104,7 +104,7 @@
-   </synapse>
-   <synapse id="8" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-master-16.exp b/pengine/test10/ticket-master-16.exp
-index 6d57001..641b47d 100644
---- a/pengine/test10/ticket-master-16.exp
-+++ b/pengine/test10/ticket-master-16.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-master-17.exp b/pengine/test10/ticket-master-17.exp
-index b1b51b2..47b3cd7 100644
---- a/pengine/test10/ticket-master-17.exp
-+++ b/pengine/test10/ticket-master-17.exp
-@@ -37,7 +37,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -45,7 +45,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-master-18.exp b/pengine/test10/ticket-master-18.exp
-index b1b51b2..47b3cd7 100644
---- a/pengine/test10/ticket-master-18.exp
-+++ b/pengine/test10/ticket-master-18.exp
-@@ -37,7 +37,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -45,7 +45,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-master-19.exp b/pengine/test10/ticket-master-19.exp
-index 6d57001..641b47d 100644
---- a/pengine/test10/ticket-master-19.exp
-+++ b/pengine/test10/ticket-master-19.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-master-2.exp b/pengine/test10/ticket-master-2.exp
-index 967072c..c995d00 100644
---- a/pengine/test10/ticket-master-2.exp
-+++ b/pengine/test10/ticket-master-2.exp
-@@ -93,7 +93,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -101,7 +101,7 @@
-   </synapse>
-   <synapse id="8" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-master-20.exp b/pengine/test10/ticket-master-20.exp
-index b1b51b2..47b3cd7 100644
---- a/pengine/test10/ticket-master-20.exp
-+++ b/pengine/test10/ticket-master-20.exp
-@@ -37,7 +37,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -45,7 +45,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-master-21.exp b/pengine/test10/ticket-master-21.exp
-index 1ed731c..5b21e47 100644
---- a/pengine/test10/ticket-master-21.exp
-+++ b/pengine/test10/ticket-master-21.exp
-@@ -135,7 +135,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-master-22.exp b/pengine/test10/ticket-master-22.exp
-index 6d57001..641b47d 100644
---- a/pengine/test10/ticket-master-22.exp
-+++ b/pengine/test10/ticket-master-22.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-master-23.exp b/pengine/test10/ticket-master-23.exp
-index b1b51b2..47b3cd7 100644
---- a/pengine/test10/ticket-master-23.exp
-+++ b/pengine/test10/ticket-master-23.exp
-@@ -37,7 +37,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -45,7 +45,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-master-24.exp b/pengine/test10/ticket-master-24.exp
-index 6d57001..641b47d 100644
---- a/pengine/test10/ticket-master-24.exp
-+++ b/pengine/test10/ticket-master-24.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-master-3.exp b/pengine/test10/ticket-master-3.exp
-index 256060e..2e1faee 100644
---- a/pengine/test10/ticket-master-3.exp
-+++ b/pengine/test10/ticket-master-3.exp
-@@ -96,7 +96,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -104,7 +104,7 @@
-   </synapse>
-   <synapse id="8" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-master-4.exp b/pengine/test10/ticket-master-4.exp
-index 8f76f85..44cb6a0 100644
---- a/pengine/test10/ticket-master-4.exp
-+++ b/pengine/test10/ticket-master-4.exp
-@@ -77,7 +77,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -89,7 +89,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -107,10 +107,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-master-5.exp b/pengine/test10/ticket-master-5.exp
-index d160526..c0299ae 100644
---- a/pengine/test10/ticket-master-5.exp
-+++ b/pengine/test10/ticket-master-5.exp
-@@ -34,7 +34,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -42,7 +42,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-master-6.exp b/pengine/test10/ticket-master-6.exp
-index b1b51b2..47b3cd7 100644
---- a/pengine/test10/ticket-master-6.exp
-+++ b/pengine/test10/ticket-master-6.exp
-@@ -37,7 +37,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -45,7 +45,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-master-7.exp b/pengine/test10/ticket-master-7.exp
-index 8f76f85..44cb6a0 100644
---- a/pengine/test10/ticket-master-7.exp
-+++ b/pengine/test10/ticket-master-7.exp
-@@ -77,7 +77,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -89,7 +89,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -107,10 +107,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-master-8.exp b/pengine/test10/ticket-master-8.exp
-index d160526..c0299ae 100644
---- a/pengine/test10/ticket-master-8.exp
-+++ b/pengine/test10/ticket-master-8.exp
-@@ -34,7 +34,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -42,7 +42,7 @@
-   </synapse>
-   <synapse id="4" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-master-9.exp b/pengine/test10/ticket-master-9.exp
-index 1ed731c..5b21e47 100644
---- a/pengine/test10/ticket-master-9.exp
-+++ b/pengine/test10/ticket-master-9.exp
-@@ -135,7 +135,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-primitive-1.exp b/pengine/test10/ticket-primitive-1.exp
-index b532698..88a1075 100644
---- a/pengine/test10/ticket-primitive-1.exp
-+++ b/pengine/test10/ticket-primitive-1.exp
-@@ -19,7 +19,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -31,7 +31,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -49,10 +49,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-primitive-10.exp b/pengine/test10/ticket-primitive-10.exp
-index b532698..88a1075 100644
---- a/pengine/test10/ticket-primitive-10.exp
-+++ b/pengine/test10/ticket-primitive-10.exp
-@@ -19,7 +19,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -31,7 +31,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -49,10 +49,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-primitive-11.exp b/pengine/test10/ticket-primitive-11.exp
-index 2d13079..ed47627 100644
---- a/pengine/test10/ticket-primitive-11.exp
-+++ b/pengine/test10/ticket-primitive-11.exp
-@@ -23,7 +23,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -31,7 +31,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-primitive-12.exp b/pengine/test10/ticket-primitive-12.exp
-index ba6632b..0f663b1 100644
---- a/pengine/test10/ticket-primitive-12.exp
-+++ b/pengine/test10/ticket-primitive-12.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-primitive-13.exp b/pengine/test10/ticket-primitive-13.exp
-index ccd7539..cf75a01 100644
---- a/pengine/test10/ticket-primitive-13.exp
-+++ b/pengine/test10/ticket-primitive-13.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-primitive-14.exp b/pengine/test10/ticket-primitive-14.exp
-index 3cb5f90..12753e9 100644
---- a/pengine/test10/ticket-primitive-14.exp
-+++ b/pengine/test10/ticket-primitive-14.exp
-@@ -10,7 +10,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -18,7 +18,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-primitive-15.exp b/pengine/test10/ticket-primitive-15.exp
-index 3cb5f90..12753e9 100644
---- a/pengine/test10/ticket-primitive-15.exp
-+++ b/pengine/test10/ticket-primitive-15.exp
-@@ -10,7 +10,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -18,7 +18,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-primitive-16.exp b/pengine/test10/ticket-primitive-16.exp
-index ccd7539..cf75a01 100644
---- a/pengine/test10/ticket-primitive-16.exp
-+++ b/pengine/test10/ticket-primitive-16.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-primitive-17.exp b/pengine/test10/ticket-primitive-17.exp
-index 3cb5f90..12753e9 100644
---- a/pengine/test10/ticket-primitive-17.exp
-+++ b/pengine/test10/ticket-primitive-17.exp
-@@ -10,7 +10,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -18,7 +18,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-primitive-18.exp b/pengine/test10/ticket-primitive-18.exp
-index 3cb5f90..12753e9 100644
---- a/pengine/test10/ticket-primitive-18.exp
-+++ b/pengine/test10/ticket-primitive-18.exp
-@@ -10,7 +10,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -18,7 +18,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-primitive-19.exp b/pengine/test10/ticket-primitive-19.exp
-index ccd7539..cf75a01 100644
---- a/pengine/test10/ticket-primitive-19.exp
-+++ b/pengine/test10/ticket-primitive-19.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-primitive-2.exp b/pengine/test10/ticket-primitive-2.exp
-index 2d13079..ed47627 100644
---- a/pengine/test10/ticket-primitive-2.exp
-+++ b/pengine/test10/ticket-primitive-2.exp
-@@ -23,7 +23,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -31,7 +31,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-primitive-20.exp b/pengine/test10/ticket-primitive-20.exp
-index 3cb5f90..12753e9 100644
---- a/pengine/test10/ticket-primitive-20.exp
-+++ b/pengine/test10/ticket-primitive-20.exp
-@@ -10,7 +10,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -18,7 +18,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-primitive-21.exp b/pengine/test10/ticket-primitive-21.exp
-index c88cf38..72fcacd 100644
---- a/pengine/test10/ticket-primitive-21.exp
-+++ b/pengine/test10/ticket-primitive-21.exp
-@@ -33,7 +33,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-primitive-22.exp b/pengine/test10/ticket-primitive-22.exp
-index ccd7539..cf75a01 100644
---- a/pengine/test10/ticket-primitive-22.exp
-+++ b/pengine/test10/ticket-primitive-22.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-primitive-23.exp b/pengine/test10/ticket-primitive-23.exp
-index 3cb5f90..12753e9 100644
---- a/pengine/test10/ticket-primitive-23.exp
-+++ b/pengine/test10/ticket-primitive-23.exp
-@@ -10,7 +10,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -18,7 +18,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-primitive-24.exp b/pengine/test10/ticket-primitive-24.exp
-index ba6632b..0f663b1 100644
---- a/pengine/test10/ticket-primitive-24.exp
-+++ b/pengine/test10/ticket-primitive-24.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-primitive-3.exp b/pengine/test10/ticket-primitive-3.exp
-index 3cb5f90..12753e9 100644
---- a/pengine/test10/ticket-primitive-3.exp
-+++ b/pengine/test10/ticket-primitive-3.exp
-@@ -10,7 +10,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -18,7 +18,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-primitive-4.exp b/pengine/test10/ticket-primitive-4.exp
-index b532698..88a1075 100644
---- a/pengine/test10/ticket-primitive-4.exp
-+++ b/pengine/test10/ticket-primitive-4.exp
-@@ -19,7 +19,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -31,7 +31,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -49,10 +49,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-primitive-5.exp b/pengine/test10/ticket-primitive-5.exp
-index 2d13079..ed47627 100644
---- a/pengine/test10/ticket-primitive-5.exp
-+++ b/pengine/test10/ticket-primitive-5.exp
-@@ -23,7 +23,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -31,7 +31,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-primitive-6.exp b/pengine/test10/ticket-primitive-6.exp
-index 3cb5f90..12753e9 100644
---- a/pengine/test10/ticket-primitive-6.exp
-+++ b/pengine/test10/ticket-primitive-6.exp
-@@ -10,7 +10,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -18,7 +18,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-primitive-7.exp b/pengine/test10/ticket-primitive-7.exp
-index b532698..88a1075 100644
---- a/pengine/test10/ticket-primitive-7.exp
-+++ b/pengine/test10/ticket-primitive-7.exp
-@@ -19,7 +19,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -31,7 +31,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -49,10 +49,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-primitive-8.exp b/pengine/test10/ticket-primitive-8.exp
-index 2d13079..ed47627 100644
---- a/pengine/test10/ticket-primitive-8.exp
-+++ b/pengine/test10/ticket-primitive-8.exp
-@@ -23,7 +23,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -31,7 +31,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-primitive-9.exp b/pengine/test10/ticket-primitive-9.exp
-index c88cf38..72fcacd 100644
---- a/pengine/test10/ticket-primitive-9.exp
-+++ b/pengine/test10/ticket-primitive-9.exp
-@@ -33,7 +33,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-rsc-sets-1.exp b/pengine/test10/ticket-rsc-sets-1.exp
-index 20800e2..869b1e3 100644
---- a/pengine/test10/ticket-rsc-sets-1.exp
-+++ b/pengine/test10/ticket-rsc-sets-1.exp
-@@ -149,7 +149,7 @@
-   </synapse>
-   <synapse id="14" priority="1000000">
-     <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -173,7 +173,7 @@
-   </synapse>
-   <synapse id="15" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -203,10 +203,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-rsc-sets-10.exp b/pengine/test10/ticket-rsc-sets-10.exp
-index 35e5a99..36b6cc9 100644
---- a/pengine/test10/ticket-rsc-sets-10.exp
-+++ b/pengine/test10/ticket-rsc-sets-10.exp
-@@ -153,7 +153,7 @@
-   </synapse>
-   <synapse id="12" priority="1000000">
-     <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -161,7 +161,7 @@
-   </synapse>
-   <synapse id="13" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-rsc-sets-11.exp b/pengine/test10/ticket-rsc-sets-11.exp
-index ccd7539..cf75a01 100644
---- a/pengine/test10/ticket-rsc-sets-11.exp
-+++ b/pengine/test10/ticket-rsc-sets-11.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-rsc-sets-12.exp b/pengine/test10/ticket-rsc-sets-12.exp
-index 2712003..bc5c4d4 100644
---- a/pengine/test10/ticket-rsc-sets-12.exp
-+++ b/pengine/test10/ticket-rsc-sets-12.exp
-@@ -65,7 +65,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -73,7 +73,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-rsc-sets-13.exp b/pengine/test10/ticket-rsc-sets-13.exp
-index 35e5a99..36b6cc9 100644
---- a/pengine/test10/ticket-rsc-sets-13.exp
-+++ b/pengine/test10/ticket-rsc-sets-13.exp
-@@ -153,7 +153,7 @@
-   </synapse>
-   <synapse id="12" priority="1000000">
-     <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -161,7 +161,7 @@
-   </synapse>
-   <synapse id="13" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-rsc-sets-14.exp b/pengine/test10/ticket-rsc-sets-14.exp
-index 35e5a99..36b6cc9 100644
---- a/pengine/test10/ticket-rsc-sets-14.exp
-+++ b/pengine/test10/ticket-rsc-sets-14.exp
-@@ -153,7 +153,7 @@
-   </synapse>
-   <synapse id="12" priority="1000000">
-     <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -161,7 +161,7 @@
-   </synapse>
-   <synapse id="13" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-rsc-sets-2.exp b/pengine/test10/ticket-rsc-sets-2.exp
-index 5618565..0594676 100644
---- a/pengine/test10/ticket-rsc-sets-2.exp
-+++ b/pengine/test10/ticket-rsc-sets-2.exp
-@@ -215,7 +215,7 @@
-   </synapse>
-   <synapse id="17" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -223,7 +223,7 @@
-   </synapse>
-   <synapse id="18" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-rsc-sets-3.exp b/pengine/test10/ticket-rsc-sets-3.exp
-index 35e5a99..36b6cc9 100644
---- a/pengine/test10/ticket-rsc-sets-3.exp
-+++ b/pengine/test10/ticket-rsc-sets-3.exp
-@@ -153,7 +153,7 @@
-   </synapse>
-   <synapse id="12" priority="1000000">
-     <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -161,7 +161,7 @@
-   </synapse>
-   <synapse id="13" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-rsc-sets-4.exp b/pengine/test10/ticket-rsc-sets-4.exp
-index 20800e2..869b1e3 100644
---- a/pengine/test10/ticket-rsc-sets-4.exp
-+++ b/pengine/test10/ticket-rsc-sets-4.exp
-@@ -149,7 +149,7 @@
-   </synapse>
-   <synapse id="14" priority="1000000">
-     <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -173,7 +173,7 @@
-   </synapse>
-   <synapse id="15" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -203,10 +203,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2"/>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-rsc-sets-5.exp b/pengine/test10/ticket-rsc-sets-5.exp
-index 9e20a6b..206959f 100644
---- a/pengine/test10/ticket-rsc-sets-5.exp
-+++ b/pengine/test10/ticket-rsc-sets-5.exp
-@@ -104,7 +104,7 @@
-   </synapse>
-   <synapse id="8" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -112,7 +112,7 @@
-   </synapse>
-   <synapse id="9" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-rsc-sets-6.exp b/pengine/test10/ticket-rsc-sets-6.exp
-index 9bd2d3a..91ce17e 100644
---- a/pengine/test10/ticket-rsc-sets-6.exp
-+++ b/pengine/test10/ticket-rsc-sets-6.exp
-@@ -112,7 +112,7 @@
-   </synapse>
-   <synapse id="9" priority="1000000">
-     <action_set>
--      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -120,7 +120,7 @@
-   </synapse>
-   <synapse id="10" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-rsc-sets-7.exp b/pengine/test10/ticket-rsc-sets-7.exp
-index 35e5a99..36b6cc9 100644
---- a/pengine/test10/ticket-rsc-sets-7.exp
-+++ b/pengine/test10/ticket-rsc-sets-7.exp
-@@ -153,7 +153,7 @@
-   </synapse>
-   <synapse id="12" priority="1000000">
-     <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -161,7 +161,7 @@
-   </synapse>
-   <synapse id="13" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-rsc-sets-8.exp b/pengine/test10/ticket-rsc-sets-8.exp
-index ccd7539..cf75a01 100644
---- a/pengine/test10/ticket-rsc-sets-8.exp
-+++ b/pengine/test10/ticket-rsc-sets-8.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/ticket-rsc-sets-9.exp b/pengine/test10/ticket-rsc-sets-9.exp
-index 35e5a99..36b6cc9 100644
---- a/pengine/test10/ticket-rsc-sets-9.exp
-+++ b/pengine/test10/ticket-rsc-sets-9.exp
-@@ -153,7 +153,7 @@
-   </synapse>
-   <synapse id="12" priority="1000000">
-     <action_set>
--      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -161,7 +161,7 @@
-   </synapse>
-   <synapse id="13" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/unmanaged-master.exp b/pengine/test10/unmanaged-master.exp
-index 9e0f188..58311fd 100644
---- a/pengine/test10/unmanaged-master.exp
-+++ b/pengine/test10/unmanaged-master.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="1" batch-limit="10" transition_id="0">
-   <synapse id="0">
-     <action_set>
--      <crm_event id="92" operation="do_shutdown" operation_key="do_shutdown" on_node="pcmk-2" on_node_uuid="pcmk-2">
-+      <crm_event id="92" operation="do_shutdown" operation_key="do_shutdown-pcmk-2" on_node="pcmk-2" on_node_uuid="pcmk-2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -9,13 +9,13 @@
-   </synapse>
-   <synapse id="1">
-     <action_set>
--      <crm_event id="91" operation="do_shutdown" operation_key="do_shutdown" on_node="pcmk-1" on_node_uuid="pcmk-1">
-+      <crm_event id="91" operation="do_shutdown" operation_key="do_shutdown-pcmk-1" on_node="pcmk-1" on_node_uuid="pcmk-1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="92" operation="do_shutdown" operation_key="do_shutdown" on_node="pcmk-2" on_node_uuid="pcmk-2"/>
-+        <crm_event id="92" operation="do_shutdown" operation_key="do_shutdown-pcmk-2" on_node="pcmk-2" on_node_uuid="pcmk-2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/unmanaged-stop-1.exp b/pengine/test10/unmanaged-stop-1.exp
-index 7845919..ed7dcfb 100644
---- a/pengine/test10/unmanaged-stop-1.exp
-+++ b/pengine/test10/unmanaged-stop-1.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="yingying.site" on_node_uuid="yingying.site">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-yingying.site" on_node="yingying.site" on_node_uuid="yingying.site">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/unmanaged-stop-2.exp b/pengine/test10/unmanaged-stop-2.exp
-index 7845919..ed7dcfb 100644
---- a/pengine/test10/unmanaged-stop-2.exp
-+++ b/pengine/test10/unmanaged-stop-2.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="yingying.site" on_node_uuid="yingying.site">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-yingying.site" on_node="yingying.site" on_node_uuid="yingying.site">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/unmanaged-stop-3.exp b/pengine/test10/unmanaged-stop-3.exp
-index 2cb2435..a1db8b0 100644
---- a/pengine/test10/unmanaged-stop-3.exp
-+++ b/pengine/test10/unmanaged-stop-3.exp
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="yingying.site" on_node_uuid="yingying.site">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-yingying.site" on_node="yingying.site" on_node_uuid="yingying.site">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/unmanaged-stop-4.exp b/pengine/test10/unmanaged-stop-4.exp
-index 2cb2435..a1db8b0 100644
---- a/pengine/test10/unmanaged-stop-4.exp
-+++ b/pengine/test10/unmanaged-stop-4.exp
-@@ -9,7 +9,7 @@
-   </synapse>
-   <synapse id="1" priority="1000000">
-     <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="yingying.site" on_node_uuid="yingying.site">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-yingying.site" on_node="yingying.site" on_node_uuid="yingying.site">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/unrunnable-1.exp b/pengine/test10/unrunnable-1.exp
-index 62a6e29..35b17ee 100644
---- a/pengine/test10/unrunnable-1.exp
-+++ b/pengine/test10/unrunnable-1.exp
-@@ -120,7 +120,7 @@
-    </synapse>
-   <synapse id="13" priority="1000000">
-      <action_set>
--      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-+      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-        </rsc_op>
-      </action_set>
-@@ -168,7 +168,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-+        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-c001n03" on_node="c001n03" on_node_uuid="5d9a8c11-8684-43ea-91.0.6e221530c193"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/use-after-free-merge.exp b/pengine/test10/use-after-free-merge.exp
-index e7052b1..178b84e 100644
---- a/pengine/test10/use-after-free-merge.exp
-+++ b/pengine/test10/use-after-free-merge.exp
-@@ -144,7 +144,7 @@
-   </synapse>
-   <synapse id="13" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="hex-14" on_node_uuid="hex-14">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-hex-14" on_node="hex-14" on_node_uuid="hex-14">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -165,7 +165,7 @@
-   </synapse>
-   <synapse id="14" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hex-13" on_node_uuid="hex-13">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hex-13" on_node="hex-13" on_node_uuid="hex-13">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -192,10 +192,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="hex-13" on_node_uuid="hex-13"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-hex-13" on_node="hex-13" on_node_uuid="hex-13"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="hex-14" on_node_uuid="hex-14"/>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-hex-14" on_node="hex-14" on_node_uuid="hex-14"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/utilization-order1.exp b/pengine/test10/utilization-order1.exp
-index c5e551d..40ba326 100644
---- a/pengine/test10/utilization-order1.exp
-+++ b/pengine/test10/utilization-order1.exp
-@@ -23,7 +23,7 @@
-   </synapse>
-   <synapse id="2" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -31,7 +31,7 @@
-   </synapse>
-   <synapse id="3" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/utilization-order2.exp b/pengine/test10/utilization-order2.exp
-index f62a8ef..dfa3f60 100644
---- a/pengine/test10/utilization-order2.exp
-+++ b/pengine/test10/utilization-order2.exp
-@@ -84,7 +84,7 @@
-   </synapse>
-   <synapse id="7" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -92,7 +92,7 @@
-   </synapse>
-   <synapse id="8" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/utilization-order3.exp b/pengine/test10/utilization-order3.exp
-index 570a39e..9075052 100644
---- a/pengine/test10/utilization-order3.exp
-+++ b/pengine/test10/utilization-order3.exp
-@@ -64,7 +64,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete" on_node="node2" on_node_uuid="node2">
-+      <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -72,7 +72,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="node1" on_node_uuid="node1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-diff --git a/pengine/test10/utilization.exp b/pengine/test10/utilization.exp
-index ed08a2b..f6c1b69 100644
---- a/pengine/test10/utilization.exp
-+++ b/pengine/test10/utilization.exp
-@@ -53,7 +53,7 @@
-   </synapse>
-   <synapse id="5" priority="1000000">
-     <action_set>
--      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="host2" on_node_uuid="host2">
-+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-host2" on_node="host2" on_node_uuid="host2">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -68,7 +68,7 @@
-   </synapse>
-   <synapse id="6" priority="1000000">
-     <action_set>
--      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="host1" on_node_uuid="host1">
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-host1" on_node="host1" on_node_uuid="host1">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -89,10 +89,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete" on_node="host1" on_node_uuid="host1"/>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-host1" on_node="host1" on_node_uuid="host1"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete" on_node="host2" on_node_uuid="host2"/>
-+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-host2" on_node="host2" on_node_uuid="host2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/whitebox-fail3.exp b/pengine/test10/whitebox-fail3.exp
-index c5a6474..739d71b 100644
---- a/pengine/test10/whitebox-fail3.exp
-+++ b/pengine/test10/whitebox-fail3.exp
-@@ -187,7 +187,7 @@
-   </synapse>
-   <synapse id="14" priority="1000000">
-     <action_set>
--      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="dvossel-laptop2" on_node_uuid="24815808">
-+      <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-dvossel-laptop2" on_node="dvossel-laptop2" on_node_uuid="24815808">
-         <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-@@ -205,7 +205,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="dvossel-laptop2" on_node_uuid="24815808"/>
-+        <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-dvossel-laptop2" on_node="dvossel-laptop2" on_node_uuid="24815808"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/whitebox-ms-ordering.exp b/pengine/test10/whitebox-ms-ordering.exp
-new file mode 100644
-index 0000000..1ff4595
---- /dev/null
-+++ b/pengine/test10/whitebox-ms-ordering.exp
-@@ -0,0 +1,503 @@
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
-+  <synapse id="0">
-+    <action_set>
-+      <rsc_op id="19" operation="start" operation_key="container1_start_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="container1" class="ocf" provider="heartbeat" type="VirtualDomain"/>
-+        <attributes CRM_meta_timeout="20000" config="/var/lib/pacemaker/cts/lxc/lxc1.xml"  force_stop="true" hypervisor="lxc:///" remote-node="lxc1"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="4" operation="probe_nodes_complete" operation_key="probe_nodes_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="1">
-+    <action_set>
-+      <rsc_op id="14" operation="monitor" operation_key="container1_monitor_0" on_node="18node3" on_node_uuid="3">
-+        <primitive id="container1" class="ocf" provider="heartbeat" type="VirtualDomain"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" config="/var/lib/pacemaker/cts/lxc/lxc1.xml"  force_stop="true" hypervisor="lxc:///" remote-node="lxc1"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="2">
-+    <action_set>
-+      <rsc_op id="10" operation="monitor" operation_key="container1_monitor_0" on_node="18node2" on_node_uuid="2">
-+        <primitive id="container1" class="ocf" provider="heartbeat" type="VirtualDomain"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" config="/var/lib/pacemaker/cts/lxc/lxc1.xml"  force_stop="true" hypervisor="lxc:///" remote-node="lxc1"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="3">
-+    <action_set>
-+      <rsc_op id="6" operation="monitor" operation_key="container1_monitor_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="container1" class="ocf" provider="heartbeat" type="VirtualDomain"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" config="/var/lib/pacemaker/cts/lxc/lxc1.xml"  force_stop="true" hypervisor="lxc:///" remote-node="lxc1"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="4">
-+    <action_set>
-+      <rsc_op id="20" operation="start" operation_key="container2_start_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="container2" class="ocf" provider="heartbeat" type="VirtualDomain"/>
-+        <attributes CRM_meta_timeout="20000" config="/var/lib/pacemaker/cts/lxc/lxc2.xml"  force_stop="true" hypervisor="lxc:///" remote-node="lxc2"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="4" operation="probe_nodes_complete" operation_key="probe_nodes_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="5">
-+    <action_set>
-+      <rsc_op id="15" operation="monitor" operation_key="container2_monitor_0" on_node="18node3" on_node_uuid="3">
-+        <primitive id="container2" class="ocf" provider="heartbeat" type="VirtualDomain"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" config="/var/lib/pacemaker/cts/lxc/lxc2.xml"  force_stop="true" hypervisor="lxc:///" remote-node="lxc2"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="6">
-+    <action_set>
-+      <rsc_op id="11" operation="monitor" operation_key="container2_monitor_0" on_node="18node2" on_node_uuid="2">
-+        <primitive id="container2" class="ocf" provider="heartbeat" type="VirtualDomain"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" config="/var/lib/pacemaker/cts/lxc/lxc2.xml"  force_stop="true" hypervisor="lxc:///" remote-node="lxc2"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="7">
-+    <action_set>
-+      <rsc_op id="7" operation="monitor" operation_key="container2_monitor_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="container2" class="ocf" provider="heartbeat" type="VirtualDomain"/>
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" config="/var/lib/pacemaker/cts/lxc/lxc2.xml"  force_stop="true" hypervisor="lxc:///" remote-node="lxc2"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="8">
-+    <action_set>
-+      <rsc_op id="24" operation="promote" operation_key="lxc-ms_promote_0" internal_operation_key="lxc-ms:0_promote_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1">
-+        <primitive id="lxc-ms" long-id="lxc-ms:0" class="ocf" provider="pacemaker" type="Stateful"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="1" CRM_meta_master_node_max="1" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="21" operation="demote" operation_key="lxc-ms_demote_0" internal_operation_key="lxc-ms:0_demote_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="23" operation="start" operation_key="lxc-ms_start_0" internal_operation_key="lxc-ms:0_start_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="32" operation="promote" operation_key="lxc-ms-master_promote_0"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="36" operation="start" operation_key="lxc1_start_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="9">
-+    <action_set>
-+      <rsc_op id="23" operation="start" operation_key="lxc-ms_start_0" internal_operation_key="lxc-ms:0_start_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1">
-+        <primitive id="lxc-ms" long-id="lxc-ms:0" class="ocf" provider="pacemaker" type="Stateful"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="1" CRM_meta_master_node_max="1" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="3" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="22" operation="stop" operation_key="lxc-ms_stop_0" internal_operation_key="lxc-ms:0_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="28" operation="start" operation_key="lxc-ms-master_start_0"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="36" operation="start" operation_key="lxc1_start_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="10">
-+    <action_set>
-+      <pseudo_event id="22" operation="stop" operation_key="lxc-ms_stop_0" internal_operation_key="lxc-ms:0_stop_0">
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="1" CRM_meta_master_node_max="1" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="3" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="21" operation="demote" operation_key="lxc-ms_demote_0" internal_operation_key="lxc-ms:0_demote_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="30" operation="stop" operation_key="lxc-ms-master_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="11">
-+    <action_set>
-+      <rsc_op id="21" operation="demote" operation_key="lxc-ms_demote_0" internal_operation_key="lxc-ms:0_demote_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1">
-+        <primitive id="lxc-ms" long-id="lxc-ms:0" class="ocf" provider="pacemaker" type="Stateful"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="1" CRM_meta_master_node_max="1" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="34" operation="demote" operation_key="lxc-ms-master_demote_0"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="36" operation="start" operation_key="lxc1_start_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="12">
-+    <action_set>
-+      <rsc_op id="16" operation="monitor" operation_key="lxc-ms_monitor_0" internal_operation_key="lxc-ms:0_monitor_0" on_node="18node3" on_node_uuid="3">
-+        <primitive id="lxc-ms" long-id="lxc-ms:0" class="ocf" provider="pacemaker" type="Stateful"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="1" CRM_meta_master_node_max="1" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="13">
-+    <action_set>
-+      <rsc_op id="12" operation="monitor" operation_key="lxc-ms_monitor_0" internal_operation_key="lxc-ms:0_monitor_0" on_node="18node2" on_node_uuid="2">
-+        <primitive id="lxc-ms" long-id="lxc-ms:0" class="ocf" provider="pacemaker" type="Stateful"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="1" CRM_meta_master_node_max="1" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="14">
-+    <action_set>
-+      <rsc_op id="8" operation="monitor" operation_key="lxc-ms_monitor_0" internal_operation_key="lxc-ms:0_monitor_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="lxc-ms" long-id="lxc-ms:0" class="ocf" provider="pacemaker" type="Stateful"/>
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="1" CRM_meta_master_node_max="1" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="15">
-+    <action_set>
-+      <rsc_op id="27" operation="monitor" operation_key="lxc-ms_monitor_10000" internal_operation_key="lxc-ms:1_monitor_10000" on_node="lxc2" on_node_uuid="lxc2" router_node="18node1">
-+        <primitive id="lxc-ms" long-id="lxc-ms:1" class="ocf" provider="pacemaker" type="Stateful"/>
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_master_max="1" CRM_meta_master_node_max="1" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="26" operation="start" operation_key="lxc-ms_start_0" internal_operation_key="lxc-ms:1_start_0" on_node="lxc2" on_node_uuid="lxc2" router_node="18node1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="38" operation="start" operation_key="lxc2_start_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="16">
-+    <action_set>
-+      <rsc_op id="26" operation="start" operation_key="lxc-ms_start_0" internal_operation_key="lxc-ms:1_start_0" on_node="lxc2" on_node_uuid="lxc2" router_node="18node1">
-+        <primitive id="lxc-ms" long-id="lxc-ms:1" class="ocf" provider="pacemaker" type="Stateful"/>
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="1" CRM_meta_master_node_max="1" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="3" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="25" operation="stop" operation_key="lxc-ms_stop_0" internal_operation_key="lxc-ms:1_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="28" operation="start" operation_key="lxc-ms-master_start_0"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="38" operation="start" operation_key="lxc2_start_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="17">
-+    <action_set>
-+      <pseudo_event id="25" operation="stop" operation_key="lxc-ms_stop_0" internal_operation_key="lxc-ms:1_stop_0">
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="1" CRM_meta_master_node_max="1" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="3" operation="probe_complete" operation_key="probe_complete"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="30" operation="stop" operation_key="lxc-ms-master_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="18" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="35" operation="demoted" operation_key="lxc-ms-master_demoted_0">
-+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="1" CRM_meta_master_node_max="1" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="21" operation="demote" operation_key="lxc-ms_demote_0" internal_operation_key="lxc-ms:0_demote_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="34" operation="demote" operation_key="lxc-ms-master_demote_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="19">
-+    <action_set>
-+      <pseudo_event id="34" operation="demote" operation_key="lxc-ms-master_demote_0">
-+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="1" CRM_meta_master_node_max="1" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="20" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="33" operation="promoted" operation_key="lxc-ms-master_promoted_0">
-+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="1" CRM_meta_master_node_max="1" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="24" operation="promote" operation_key="lxc-ms_promote_0" internal_operation_key="lxc-ms:0_promote_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="21">
-+    <action_set>
-+      <pseudo_event id="32" operation="promote" operation_key="lxc-ms-master_promote_0">
-+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="1" CRM_meta_master_node_max="1" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="29" operation="running" operation_key="lxc-ms-master_running_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="31" operation="stopped" operation_key="lxc-ms-master_stopped_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="35" operation="demoted" operation_key="lxc-ms-master_demoted_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="22" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="31" operation="stopped" operation_key="lxc-ms-master_stopped_0">
-+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="1" CRM_meta_master_node_max="1" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="22" operation="stop" operation_key="lxc-ms_stop_0" internal_operation_key="lxc-ms:0_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="25" operation="stop" operation_key="lxc-ms_stop_0" internal_operation_key="lxc-ms:1_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="30" operation="stop" operation_key="lxc-ms-master_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="23">
-+    <action_set>
-+      <pseudo_event id="30" operation="stop" operation_key="lxc-ms-master_stop_0">
-+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="1" CRM_meta_master_node_max="1" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="35" operation="demoted" operation_key="lxc-ms-master_demoted_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="24" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="29" operation="running" operation_key="lxc-ms-master_running_0">
-+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="1" CRM_meta_master_node_max="1" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="23" operation="start" operation_key="lxc-ms_start_0" internal_operation_key="lxc-ms:0_start_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="26" operation="start" operation_key="lxc-ms_start_0" internal_operation_key="lxc-ms:1_start_0" on_node="lxc2" on_node_uuid="lxc2" router_node="18node1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="28" operation="start" operation_key="lxc-ms-master_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="25">
-+    <action_set>
-+      <pseudo_event id="28" operation="start" operation_key="lxc-ms-master_start_0">
-+        <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_master_max="1" CRM_meta_master_node_max="1" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="31" operation="stopped" operation_key="lxc-ms-master_stopped_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="35" operation="demoted" operation_key="lxc-ms-master_demoted_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="26">
-+    <action_set>
-+      <rsc_op id="37" operation="monitor" operation_key="lxc1_monitor_30000" on_node="18node1" on_node_uuid="1">
-+        <primitive id="lxc1" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_interval="30000" CRM_meta_name="monitor" CRM_meta_timeout="30000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="36" operation="start" operation_key="lxc1_start_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="27">
-+    <action_set>
-+      <rsc_op id="36" operation="start" operation_key="lxc1_start_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="lxc1" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_name="start" CRM_meta_timeout="60000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="19" operation="start" operation_key="container1_start_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="28">
-+    <action_set>
-+      <rsc_op id="39" operation="monitor" operation_key="lxc2_monitor_30000" on_node="18node1" on_node_uuid="1">
-+        <primitive id="lxc2" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_container="container2" CRM_meta_interval="30000" CRM_meta_name="monitor" CRM_meta_timeout="30000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="38" operation="start" operation_key="lxc2_start_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="29">
-+    <action_set>
-+      <rsc_op id="38" operation="start" operation_key="lxc2_start_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="lxc2" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_container="container2" CRM_meta_name="start" CRM_meta_timeout="60000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="20" operation="start" operation_key="container2_start_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="30" priority="1000000">
-+    <action_set>
-+      <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-18node3" on_node="18node3" on_node_uuid="3">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="14" operation="monitor" operation_key="container1_monitor_0" on_node="18node3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="15" operation="monitor" operation_key="container2_monitor_0" on_node="18node3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="16" operation="monitor" operation_key="lxc-ms_monitor_0" internal_operation_key="lxc-ms:0_monitor_0" on_node="18node3" on_node_uuid="3"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="31" priority="1000000">
-+    <action_set>
-+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-18node2" on_node="18node2" on_node_uuid="2">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="10" operation="monitor" operation_key="container1_monitor_0" on_node="18node2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="11" operation="monitor" operation_key="container2_monitor_0" on_node="18node2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="12" operation="monitor" operation_key="lxc-ms_monitor_0" internal_operation_key="lxc-ms:0_monitor_0" on_node="18node2" on_node_uuid="2"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="32" priority="1000000">
-+    <action_set>
-+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-18node1" on_node="18node1" on_node_uuid="1">
-+        <attributes CRM_meta_op_no_wait="true" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="6" operation="monitor" operation_key="container1_monitor_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="7" operation="monitor" operation_key="container2_monitor_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="8" operation="monitor" operation_key="lxc-ms_monitor_0" internal_operation_key="lxc-ms:0_monitor_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="33">
-+    <action_set>
-+      <pseudo_event id="4" operation="probe_nodes_complete" operation_key="probe_nodes_complete">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-18node1" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-18node2" on_node="18node2" on_node_uuid="2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-18node3" on_node="18node3" on_node_uuid="3"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="34">
-+    <action_set>
-+      <pseudo_event id="3" operation="probe_complete" operation_key="probe_complete">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="35">
-+    <action_set>
-+      <pseudo_event id="2" operation="all_stopped" operation_key="all_stopped">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="22" operation="stop" operation_key="lxc-ms_stop_0" internal_operation_key="lxc-ms:0_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="25" operation="stop" operation_key="lxc-ms_stop_0" internal_operation_key="lxc-ms:1_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+</transition_graph>
-diff --git a/tools/crm_simulate.c b/tools/crm_simulate.c
-index 78cab50..2eb68f1 100644
---- a/tools/crm_simulate.c
-+++ b/tools/crm_simulate.c
-@@ -760,9 +760,12 @@ create_action_name(action_t * action)
-     } else if (safe_str_eq(action->task, CRM_OP_FENCE)) {
-         action_name = g_strdup_printf("%s%s %s", prefix ? prefix : "", action->task, action_host);
- 
--    } else if (action_host) {
-+    } else if (action->rsc && action_host) {
-         action_name = g_strdup_printf("%s%s %s", prefix ? prefix : "", action->uuid, action_host);
- 
-+    } else if (action_host) {
-+        action_name = g_strdup_printf("%s%s %s", prefix ? prefix : "", action->task, action_host);
-+
-     } else {
-         action_name = g_strdup_printf("%s", action->uuid);
-     }
-@@ -789,7 +792,7 @@ create_dotfile(pe_working_set_t * data_set, const char *dot_file, gboolean all_a
-         const char *color = "black";
-         char *action_name = create_action_name(action);
- 
--        crm_trace("Action %d: %p", action->id, action);
-+        crm_trace("Action %d: %s %s %p", action->id, action_name, action->uuid, action);
- 
-         if (is_set(action->flags, pe_action_pseudo)) {
-             font = "orange";
-@@ -819,6 +822,8 @@ create_dotfile(pe_working_set_t * data_set, const char *dot_file, gboolean all_a
-         }
- 
-         set_bit(action->flags, pe_action_dumped);
-+        crm_trace("\"%s\" [ style=%s color=\"%s\" fontcolor=\"%s\"]",
-+                action_name, style, color, font);
-         fprintf(dot_strm, "\"%s\" [ style=%s color=\"%s\" fontcolor=\"%s\"]\n",
-                 action_name, style, color, font);
-   dont_write:
-@@ -857,6 +862,8 @@ create_dotfile(pe_working_set_t * data_set, const char *dot_file, gboolean all_a
-             if (all_actions || optional == FALSE) {
-                 before_name = create_action_name(before->action);
-                 after_name = create_action_name(action);
-+                crm_trace("\"%s\" -> \"%s\" [ style = %s]",
-+                        before_name, after_name, style);
-                 fprintf(dot_strm, "\"%s\" -> \"%s\" [ style = %s]\n",
-                         before_name, after_name, style);
-                 free(before_name);
diff --git a/SOURCES/bz1078078-pcmk-pe_ensure_unfencing_occurs_before_fencing_devices_are_re_probed.patch b/SOURCES/bz1078078-pcmk-pe_ensure_unfencing_occurs_before_fencing_devices_are_re_probed.patch
deleted file mode 100644
index b7d7017..0000000
--- a/SOURCES/bz1078078-pcmk-pe_ensure_unfencing_occurs_before_fencing_devices_are_re_probed.patch
+++ /dev/null
@@ -1,311 +0,0 @@
-commit 5566c3e6b194cbe682408ef9c88ad3b6a9755f7d
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Apr 9 12:07:46 2014 +1000
-
-    Fix: PE: Ensure unfencing occurs before fencing devices are (re-)probed
-    
-    (cherry picked from commit 6be22945726c204b9c73da843bb04981e46126be)
-    
-    Conflicts:
-    	pengine/test10/unfence-startup.summary
-
-diff --git a/lib/pengine/utils.c b/lib/pengine/utils.c
-index e84d341..9cb744a 100644
---- a/lib/pengine/utils.c
-+++ b/lib/pengine/utils.c
-@@ -1881,7 +1881,7 @@ trigger_unfencing(
-         action_t *unfence = pe_fence_op(node, "on", FALSE, data_set);
- 
-         crm_notice("Unfencing %s: %s", node->details->uname, reason);
--        if(FALSE && dependancy) {
-+        if(dependancy) {
-             order_actions(unfence, dependancy, pe_order_optional);
-         }
- 
-diff --git a/pengine/native.c b/pengine/native.c
-index 3d75dc9..5c723c2 100644
---- a/pengine/native.c
-+++ b/pengine/native.c
-@@ -2518,8 +2518,21 @@ native_create_probe(resource_t * rsc, node_t * node, action_t * complete,
-     }
- 
-     pe_rsc_debug(rsc, "Probing %s on %s (%s)", rsc->id, node->details->uname, role2text(rsc->role));
--    order_actions(probe, complete, pe_order_implies_then);
- 
-+    if(is_set(rsc->flags, pe_rsc_fence_device) && is_set(data_set->flags, pe_flag_enable_unfencing)) {
-+        /* Normally rsc.start depends on probe complete which depends
-+         * on rsc.probe. But this can't be the case in this scenario as
-+         * it would create graph loops.
-+         *
-+         * So instead we explicitly order 'rsc.probe then rsc.start'
-+         */
-+        custom_action_order(rsc, NULL, probe,
-+                            rsc, generate_op_key(rsc->id, RSC_START, 0), NULL,
-+                            pe_order_optional, data_set);
-+
-+    } else {
-+        order_actions(probe, complete, pe_order_implies_then);
-+    }
-     return TRUE;
- }
- 
-diff --git a/pengine/test10/unfence-definition.dot b/pengine/test10/unfence-definition.dot
-index e737687..6ab0e28 100644
---- a/pengine/test10/unfence-definition.dot
-+++ b/pengine/test10/unfence-definition.dot
-@@ -61,7 +61,7 @@ digraph "g" {
- "dlm_stop_0 virt-1" [ style=bold color="green" fontcolor="black"]
- "fencing_delete_0 virt-1" -> "fencing_start_0 virt-1" [ style = bold]
- "fencing_delete_0 virt-1" [ style=bold color="green" fontcolor="black"]
--"fencing_monitor_0 virt-3" -> "probe_complete virt-3" [ style = bold]
-+"fencing_monitor_0 virt-3" -> "fencing_start_0 virt-1" [ style = bold]
- "fencing_monitor_0 virt-3" [ style=bold color="green" fontcolor="black"]
- "fencing_start_0 virt-1" [ style=bold color="green" fontcolor="black"]
- "fencing_stop_0 virt-1" -> "all_stopped" [ style = bold]
-@@ -89,6 +89,7 @@ digraph "g" {
- "stonith 'on' virt-1" [ style=bold color="green" fontcolor="black"]
- "stonith 'on' virt-3" -> "clvmd-clone_start_0" [ style = bold]
- "stonith 'on' virt-3" -> "dlm-clone_start_0" [ style = bold]
-+"stonith 'on' virt-3" -> "fencing_monitor_0 virt-3" [ style = bold]
- "stonith 'on' virt-3" [ style=bold color="green" fontcolor="black"]
- "stonith 'reboot' virt-4" -> "stonith_complete" [ style = bold]
- "stonith 'reboot' virt-4" [ style=bold color="green" fontcolor="black"]
-diff --git a/pengine/test10/unfence-definition.exp b/pengine/test10/unfence-definition.exp
-index 9075347..0f779da 100644
---- a/pengine/test10/unfence-definition.exp
-+++ b/pengine/test10/unfence-definition.exp
-@@ -19,6 +19,9 @@
-       <trigger>
-         <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-+      <trigger>
-+        <rsc_op id="13" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="1">
-@@ -28,7 +31,11 @@
-         <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-       </rsc_op>
-     </action_set>
--    <inputs/>
-+    <inputs>
-+      <trigger>
-+        <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+    </inputs>
-   </synapse>
-   <synapse id="2">
-     <action_set>
-@@ -387,9 +394,6 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="13" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3"/>
--      </trigger>
--      <trigger>
-         <rsc_op id="14" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
-       </trigger>
-       <trigger>
-diff --git a/pengine/test10/unfence-definition.summary b/pengine/test10/unfence-definition.summary
-index c954c4b..3e4b66b 100644
---- a/pengine/test10/unfence-definition.summary
-+++ b/pengine/test10/unfence-definition.summary
-@@ -20,7 +20,6 @@ Transition Summary:
-  * Start   clvmd:2	(virt-3)
- 
- Executing cluster transition:
-- * Resource action: fencing         monitor on virt-3
-  * Resource action: dlm             monitor on virt-3
-  * Resource action: clvmd           monitor on virt-2
-  * Resource action: clvmd           monitor on virt-3
-@@ -38,8 +37,9 @@ Executing cluster transition:
-  * Fencing virt-3 (on)
-  * Pseudo action:   all_stopped
-  * Fencing virt-1 (on)
-- * Resource action: fencing         start on virt-1
-+ * Resource action: fencing         monitor on virt-3
-  * Pseudo action:   dlm-clone_start_0
-+ * Resource action: fencing         start on virt-1
-  * Resource action: dlm             start on virt-1
-  * Resource action: dlm             start on virt-3
-  * Pseudo action:   dlm-clone_running_0
-diff --git a/pengine/test10/unfence-parameters.dot b/pengine/test10/unfence-parameters.dot
-index e67eb5a..082bbe1 100644
---- a/pengine/test10/unfence-parameters.dot
-+++ b/pengine/test10/unfence-parameters.dot
-@@ -78,7 +78,7 @@ digraph "g" {
- "dlm_stop_0 virt-2" -> "dlm_start_0 virt-2" [ style = bold]
- "dlm_stop_0 virt-2" -> "dlm_stop_0 virt-1" [ style = bold]
- "dlm_stop_0 virt-2" [ style=bold color="green" fontcolor="black"]
--"fencing_monitor_0 virt-3" -> "probe_complete virt-3" [ style = bold]
-+"fencing_monitor_0 virt-3" -> "fencing_start_0 virt-1" [ style = bold]
- "fencing_monitor_0 virt-3" [ style=bold color="green" fontcolor="black"]
- "fencing_start_0 virt-1" [ style=bold color="green" fontcolor="black"]
- "fencing_stop_0 virt-1" -> "all_stopped" [ style = bold]
-@@ -111,6 +111,7 @@ digraph "g" {
- "stonith 'on' virt-2" [ style=bold color="green" fontcolor="black"]
- "stonith 'on' virt-3" -> "clvmd-clone_start_0" [ style = bold]
- "stonith 'on' virt-3" -> "dlm-clone_start_0" [ style = bold]
-+"stonith 'on' virt-3" -> "fencing_monitor_0 virt-3" [ style = bold]
- "stonith 'on' virt-3" [ style=bold color="green" fontcolor="black"]
- "stonith 'reboot' virt-4" -> "stonith_complete" [ style = bold]
- "stonith 'reboot' virt-4" [ style=bold color="green" fontcolor="black"]
-diff --git a/pengine/test10/unfence-parameters.exp b/pengine/test10/unfence-parameters.exp
-index 491d78e..d3480f3 100644
---- a/pengine/test10/unfence-parameters.exp
-+++ b/pengine/test10/unfence-parameters.exp
-@@ -19,7 +19,11 @@
-         <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-       </rsc_op>
-     </action_set>
--    <inputs/>
-+    <inputs>
-+      <trigger>
-+        <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+    </inputs>
-   </synapse>
-   <synapse id="2">
-     <action_set>
-@@ -36,6 +40,9 @@
-         <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-       <trigger>
-+        <rsc_op id="12" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-         <rsc_op id="15" operation="stop" operation_key="fencing_stop_0" on_node="virt-1" on_node_uuid="1"/>
-       </trigger>
-     </inputs>
-@@ -433,9 +440,6 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="12" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3"/>
--      </trigger>
--      <trigger>
-         <rsc_op id="13" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
-       </trigger>
-       <trigger>
-diff --git a/pengine/test10/unfence-parameters.summary b/pengine/test10/unfence-parameters.summary
-index 17bbc62..5276cba 100644
---- a/pengine/test10/unfence-parameters.summary
-+++ b/pengine/test10/unfence-parameters.summary
-@@ -21,7 +21,6 @@ Transition Summary:
-  * Start   clvmd:2	(virt-3)
- 
- Executing cluster transition:
-- * Resource action: fencing         monitor on virt-3
-  * Resource action: dlm             monitor on virt-3
-  * Resource action: clvmd           monitor on virt-2
-  * Resource action: clvmd           monitor on virt-3
-@@ -40,6 +39,7 @@ Executing cluster transition:
-  * Fencing virt-2 (on)
-  * Pseudo action:   all_stopped
-  * Fencing virt-1 (on)
-+ * Resource action: fencing         monitor on virt-3
-  * Resource action: fencing         start on virt-1
-  * Pseudo action:   dlm-clone_start_0
-  * Resource action: dlm             start on virt-1
-diff --git a/pengine/test10/unfence-startup.dot b/pengine/test10/unfence-startup.dot
-index a5cc606..4dbd273 100644
---- a/pengine/test10/unfence-startup.dot
-+++ b/pengine/test10/unfence-startup.dot
-@@ -26,7 +26,6 @@ digraph "g" {
- "dlm:2_start_0 virt-3" -> "clvmd:2_start_0 virt-3" [ style = bold]
- "dlm:2_start_0 virt-3" -> "dlm-clone_running_0" [ style = bold]
- "dlm:2_start_0 virt-3" [ style=bold color="green" fontcolor="black"]
--"fencing_monitor_0 virt-3" -> "probe_complete virt-3" [ style = bold]
- "fencing_monitor_0 virt-3" [ style=bold color="green" fontcolor="black"]
- "probe_complete virt-1" -> "probe_complete" [ style = bold]
- "probe_complete virt-1" [ style=bold color="green" fontcolor="black"]
-@@ -40,6 +39,7 @@ digraph "g" {
- "probe_complete" [ style=bold color="green" fontcolor="orange"]
- "stonith 'on' virt-3" -> "clvmd-clone_start_0" [ style = bold]
- "stonith 'on' virt-3" -> "dlm-clone_start_0" [ style = bold]
-+"stonith 'on' virt-3" -> "fencing_monitor_0 virt-3" [ style = bold]
- "stonith 'on' virt-3" [ style=bold color="green" fontcolor="black"]
- "stonith 'reboot' virt-4" -> "stonith_complete" [ style = bold]
- "stonith 'reboot' virt-4" [ style=bold color="green" fontcolor="black"]
-diff --git a/pengine/test10/unfence-startup.exp b/pengine/test10/unfence-startup.exp
-index 8a04d54..7c55d2c 100644
---- a/pengine/test10/unfence-startup.exp
-+++ b/pengine/test10/unfence-startup.exp
-@@ -6,7 +6,11 @@
-         <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-       </rsc_op>
-     </action_set>
--    <inputs/>
-+    <inputs>
-+      <trigger>
-+        <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3"/>
-+      </trigger>
-+    </inputs>
-   </synapse>
-   <synapse id="1">
-     <action_set>
-@@ -186,9 +190,6 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="11" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3"/>
--      </trigger>
--      <trigger>
-         <rsc_op id="12" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
-       </trigger>
-       <trigger>
-diff --git a/pengine/test10/unfence-startup.summary b/pengine/test10/unfence-startup.summary
-new file mode 100644
-index 0000000..a03fa15
---- /dev/null
-+++ b/pengine/test10/unfence-startup.summary
-@@ -0,0 +1,48 @@
-+
-+Current cluster status:
-+Node virt-4 (4): UNCLEAN (offline)
-+Online: [ virt-1 virt-2 virt-3 ]
-+
-+ fencing	(stonith:fence_scsi):	Started virt-1 
-+ Clone Set: dlm-clone [dlm]
-+     Started: [ virt-1 virt-2 ]
-+     Stopped: [ virt-3 virt-4 ]
-+ Clone Set: clvmd-clone [clvmd]
-+     Started: [ virt-1 ]
-+     Stopped: [ virt-2 virt-3 virt-4 ]
-+
-+Transition Summary:
-+ * Start   dlm:2	(virt-3)
-+ * Start   clvmd:1	(virt-2)
-+ * Start   clvmd:2	(virt-3)
-+
-+Executing cluster transition:
-+ * Resource action: dlm             monitor on virt-3
-+ * Resource action: clvmd           monitor on virt-2
-+ * Resource action: clvmd           monitor on virt-3
-+ * Fencing virt-4 (reboot)
-+ * Pseudo action:   stonith_complete
-+ * Pseudo action:   probe_complete
-+ * Fencing virt-3 (on)
-+ * Pseudo action:   all_stopped
-+ * Resource action: fencing         monitor on virt-3
-+ * Pseudo action:   dlm-clone_start_0
-+ * Resource action: dlm             start on virt-3
-+ * Pseudo action:   dlm-clone_running_0
-+ * Pseudo action:   clvmd-clone_start_0
-+ * Resource action: clvmd           start on virt-2
-+ * Resource action: clvmd           start on virt-3
-+ * Pseudo action:   clvmd-clone_running_0
-+
-+Revised cluster status:
-+Online: [ virt-1 virt-2 virt-3 ]
-+OFFLINE: [ virt-4 ]
-+
-+ fencing	(stonith:fence_scsi):	Started virt-1 
-+ Clone Set: dlm-clone [dlm]
-+     Started: [ virt-1 virt-2 virt-3 ]
-+     Stopped: [ virt-4 ]
-+ Clone Set: clvmd-clone [clvmd]
-+     Started: [ virt-1 virt-2 virt-3 ]
-+     Stopped: [ virt-4 ]
-+
diff --git a/SOURCES/bz1078078-pcmk-pe_ensure_unfencing_only_happens_once_even_if_the_transition_is_interrupted.patch b/SOURCES/bz1078078-pcmk-pe_ensure_unfencing_only_happens_once_even_if_the_transition_is_interrupted.patch
deleted file mode 100644
index 0cbf2b6..0000000
--- a/SOURCES/bz1078078-pcmk-pe_ensure_unfencing_only_happens_once_even_if_the_transition_is_interrupted.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-commit 6f2e3fc12f64f317280f9cb3d65cc08489516e39
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Thu Apr 10 14:25:32 2014 +1000
-
-    Fix: PE: Ensure unfencing only happens once, even if the transition is interrupted
-    
-    (cherry picked from commit 76a3fe06ae8fdfa579b2ae6ba730945ef79b0ebc)
-
-diff --git a/pengine/native.c b/pengine/native.c
-index 5c723c2..6294092 100644
---- a/pengine/native.c
-+++ b/pengine/native.c
-@@ -2498,6 +2498,7 @@ native_create_probe(resource_t * rsc, node_t * node, action_t * complete,
-      */
-     if(is_set(rsc->flags, pe_rsc_fence_device) && is_set(data_set->flags, pe_flag_enable_unfencing)) {
-         trigger_unfencing(NULL, node, "node discovery", probe, data_set);
-+        probe->priority = INFINITY; /* Ensure this runs if unfencing succeeds */
- 
-     } else if(is_set(rsc->flags, pe_rsc_needs_unfencing)) {
-         action_t *unfence = pe_fence_op(node, "on", TRUE, data_set);
-diff --git a/pengine/test10/unfence-definition.exp b/pengine/test10/unfence-definition.exp
-index 0f779da..f023a0b 100644
---- a/pengine/test10/unfence-definition.exp
-+++ b/pengine/test10/unfence-definition.exp
-@@ -24,7 +24,7 @@
-       </trigger>
-     </inputs>
-   </synapse>
--  <synapse id="1">
-+  <synapse id="1" priority="1000000">
-     <action_set>
-       <rsc_op id="13" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3">
-         <primitive id="fencing" class="stonith" type="fence_scsi"/>
-diff --git a/pengine/test10/unfence-parameters.exp b/pengine/test10/unfence-parameters.exp
-index d3480f3..8ff3016 100644
---- a/pengine/test10/unfence-parameters.exp
-+++ b/pengine/test10/unfence-parameters.exp
-@@ -12,7 +12,7 @@
-       </trigger>
-     </inputs>
-   </synapse>
--  <synapse id="1">
-+  <synapse id="1" priority="1000000">
-     <action_set>
-       <rsc_op id="12" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3">
-         <primitive id="fencing" class="stonith" type="fence_scsi"/>
-diff --git a/pengine/test10/unfence-startup.exp b/pengine/test10/unfence-startup.exp
-index 7c55d2c..a0661e7 100644
---- a/pengine/test10/unfence-startup.exp
-+++ b/pengine/test10/unfence-startup.exp
-@@ -1,5 +1,5 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
--  <synapse id="0">
-+  <synapse id="0" priority="1000000">
-     <action_set>
-       <rsc_op id="11" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3">
-         <primitive id="fencing" class="stonith" type="fence_scsi"/>
diff --git a/SOURCES/bz1078078-pcmk-pe_fencing_devices_default_to_only_requiring_quorum_in_order_to_start.patch b/SOURCES/bz1078078-pcmk-pe_fencing_devices_default_to_only_requiring_quorum_in_order_to_start.patch
deleted file mode 100644
index d4831fd..0000000
--- a/SOURCES/bz1078078-pcmk-pe_fencing_devices_default_to_only_requiring_quorum_in_order_to_start.patch
+++ /dev/null
@@ -1,753 +0,0 @@
-commit fabf4840a335d199ec921b37692af02344e87565
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Fri Apr 4 10:14:05 2014 +1100
-
-    Fix: PE: Fencing devices default to only requiring quorum in order to start
-    
-    (cherry picked from commit c19b872efb9ad1007f5bf574abf1928689af9dcc)
-    
-    Conflicts:
-    	pengine/test10/bug-5186-partial-migrate.dot
-
-diff --git a/lib/pengine/complex.c b/lib/pengine/complex.c
-index 8b774c0..0f20481 100644
---- a/lib/pengine/complex.c
-+++ b/lib/pengine/complex.c
-@@ -586,7 +586,10 @@ common_unpack(xmlNode * xml_obj, resource_t ** rsc,
-         }
- 
-         isdefault = TRUE;
--        if (is_set(data_set->flags, pe_flag_enable_unfencing)) {
-+        if(is_set((*rsc)->flags, pe_rsc_fence_device)) {
-+            value = "quorum";
-+
-+        } else if (is_set(data_set->flags, pe_flag_enable_unfencing)) {
-             value = "unfencing";
- 
-         } else if (is_set(data_set->flags, pe_flag_stonith_enabled)) {
-diff --git a/pengine/test10/bug-5186-partial-migrate.exp b/pengine/test10/bug-5186-partial-migrate.exp
-index 7e10e3a..216d962 100644
---- a/pengine/test10/bug-5186-partial-migrate.exp
-+++ b/pengine/test10/bug-5186-partial-migrate.exp
-@@ -167,9 +167,6 @@
-       <trigger>
-         <pseudo_event id="43" operation="start" operation_key="grpStonith8_start_0"/>
-       </trigger>
--      <trigger>
--        <pseudo_event id="74" operation="stonith_complete" operation_key="stonith_complete"/>
--      </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="12">
-@@ -220,9 +217,6 @@
-       <trigger>
-         <pseudo_event id="43" operation="start" operation_key="grpStonith8_start_0"/>
-       </trigger>
--      <trigger>
--        <pseudo_event id="74" operation="stonith_complete" operation_key="stonith_complete"/>
--      </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="15">
-diff --git a/pengine/test10/bug-lf-2508.dot b/pengine/test10/bug-lf-2508.dot
-index 6bef312..6e88af5 100644
---- a/pengine/test10/bug-lf-2508.dot
-+++ b/pengine/test10/bug-lf-2508.dot
-@@ -24,6 +24,7 @@ digraph "g" {
- "Group02_stop_0" [ style=bold color="green" fontcolor="orange" ]
- "Group02_stopped_0" -> "Group02_start_0" [ style = bold]
- "Group02_stopped_0" [ style=bold color="green" fontcolor="orange" ]
-+"all_stopped" -> "prmStonith3-3:1_start_0 srv01" [ style = bold]
- "all_stopped" [ style=bold color="green" fontcolor="orange" ]
- "clnStonith1_stop_0" -> "clnStonith1_stopped_0" [ style = bold]
- "clnStonith1_stop_0" -> "grpStonith1:1_stop_0" [ style = bold]
-@@ -107,6 +108,5 @@ digraph "g" {
- "stonith_complete" -> "Dummy01_start_0 srv01" [ style = bold]
- "stonith_complete" -> "Dummy02_start_0 srv04" [ style = bold]
- "stonith_complete" -> "all_stopped" [ style = bold]
--"stonith_complete" -> "prmStonith3-3:1_start_0 srv01" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/bug-lf-2508.exp b/pengine/test10/bug-lf-2508.exp
-index d56002e..0d84e9e 100644
---- a/pengine/test10/bug-lf-2508.exp
-+++ b/pengine/test10/bug-lf-2508.exp
-@@ -363,10 +363,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <pseudo_event id="115" operation="start" operation_key="grpStonith3:1_start_0"/>
-+        <pseudo_event id="18" operation="all_stopped" operation_key="all_stopped"/>
-       </trigger>
-       <trigger>
--        <pseudo_event id="165" operation="stonith_complete" operation_key="stonith_complete"/>
-+        <pseudo_event id="115" operation="start" operation_key="grpStonith3:1_start_0"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/bug-lf-2551.dot b/pengine/test10/bug-lf-2551.dot
-index 3225e00..ed80e15 100644
---- a/pengine/test10/bug-lf-2551.dot
-+++ b/pengine/test10/bug-lf-2551.dot
-@@ -80,7 +80,6 @@ digraph "g" {
- "stonith 'reboot' hex-9" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "dummy1_start_0 hex-0" [ style = bold]
--"stonith_complete" -> "fencing-sbd_start_0 hex-0" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- "vg1:3_stop_0 hex-9" -> "all_stopped" [ style = bold]
- "vg1:3_stop_0 hex-9" -> "base-group:3_stopped_0" [ style = bold]
-diff --git a/pengine/test10/bug-lf-2551.exp b/pengine/test10/bug-lf-2551.exp
-index 7790199..1912812 100644
---- a/pengine/test10/bug-lf-2551.exp
-+++ b/pengine/test10/bug-lf-2551.exp
-@@ -10,9 +10,6 @@
-       <trigger>
-         <pseudo_event id="162" operation="stop" operation_key="fencing-sbd_stop_0"/>
-       </trigger>
--      <trigger>
--        <pseudo_event id="248" operation="stonith_complete" operation_key="stonith_complete"/>
--      </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="1">
-diff --git a/pengine/test10/rec-node-11.dot b/pengine/test10/rec-node-11.dot
-index 2865f41..bc76888 100644
---- a/pengine/test10/rec-node-11.dot
-+++ b/pengine/test10/rec-node-11.dot
-@@ -1,4 +1,5 @@
- digraph "g" {
-+"all_stopped" -> "stonith-1_start_0 node2" [ style = bold]
- "all_stopped" [ style=bold color="green" fontcolor="orange" ]
- "group1_running_0" [ style=bold color="green" fontcolor="orange" ]
- "group1_start_0" -> "group1_running_0" [ style = bold]
-@@ -56,6 +57,5 @@ digraph "g" {
- "stonith_complete" -> "rsc1_start_0 node2" [ style = bold]
- "stonith_complete" -> "rsc2_start_0 node2" [ style = bold]
- "stonith_complete" -> "rsc3_start_0 node2" [ style = bold]
--"stonith_complete" -> "stonith-1_start_0 node2" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/rec-node-11.exp b/pengine/test10/rec-node-11.exp
-index f441ce8..b6f4c47 100644
---- a/pengine/test10/rec-node-11.exp
-+++ b/pengine/test10/rec-node-11.exp
-@@ -8,10 +8,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+        <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped"/>
-       </trigger>
-       <trigger>
--        <pseudo_event id="18" operation="stonith_complete" operation_key="stonith_complete"/>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-11.summary b/pengine/test10/rec-node-11.summary
-index d2ad78a..5a37fb8 100644
---- a/pengine/test10/rec-node-11.summary
-+++ b/pengine/test10/rec-node-11.summary
-@@ -22,13 +22,13 @@ Executing cluster transition:
-  * Fencing node1 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-- * Resource action: stonith-1       start on node2
-  * Pseudo action:   group1_stop_0
-  * Pseudo action:   rsc2_stop_0
-  * Pseudo action:   rsc1_stop_0
-  * Pseudo action:   group1_stopped_0
-  * Resource action: rsc3            stop on node2
-  * Pseudo action:   all_stopped
-+ * Resource action: stonith-1       start on node2
-  * Resource action: rsc3            start on node2
-  * Pseudo action:   group1_start_0
-  * Resource action: rsc1            start on node2
-diff --git a/pengine/test10/rec-node-15.dot b/pengine/test10/rec-node-15.dot
-index 31d0929..71062bf 100644
---- a/pengine/test10/rec-node-15.dot
-+++ b/pengine/test10/rec-node-15.dot
-@@ -42,6 +42,7 @@ digraph "g" {
- "LVM_22_start_0 sapcl01" -> "LVM_22_monitor_120000 sapcl01" [ style = bold]
- "LVM_22_start_0 sapcl01" -> "oracle_running_0" [ style = bold]
- "LVM_22_start_0 sapcl01" [ style=bold color="green" fontcolor="black" ]
-+"all_stopped" -> "stonith-1_start_0 sapcl01" [ style = bold]
- "all_stopped" [ style=bold color="green" fontcolor="orange" ]
- "app02_running_0" [ style=bold color="green" fontcolor="orange" ]
- "app02_start_0" -> "Filesystem_13_start_0 sapcl01" [ style = bold]
-@@ -98,6 +99,5 @@ digraph "g" {
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "oracle_24_start_0 sapcl01" [ style = bold]
- "stonith_complete" -> "oralsnr_25_start_0 sapcl01" [ style = bold]
--"stonith_complete" -> "stonith-1_start_0 sapcl01" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/rec-node-15.exp b/pengine/test10/rec-node-15.exp
-index e1330a6..9654d34 100644
---- a/pengine/test10/rec-node-15.exp
-+++ b/pengine/test10/rec-node-15.exp
-@@ -8,10 +8,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete"/>
-+        <pseudo_event id="7" operation="all_stopped" operation_key="all_stopped"/>
-       </trigger>
-       <trigger>
--        <pseudo_event id="51" operation="stonith_complete" operation_key="stonith_complete"/>
-+        <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-15.summary b/pengine/test10/rec-node-15.summary
-index 85bfed5..b44a364 100644
---- a/pengine/test10/rec-node-15.summary
-+++ b/pengine/test10/rec-node-15.summary
-@@ -39,7 +39,6 @@ Executing cluster transition:
-  * Fencing sapcl03 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-- * Resource action: stonith-1       start on sapcl01
-  * Resource action: Filesystem_13   stop on sapcl02
-  * Resource action: IPaddr_192_168_1_104 start on sapcl01
-  * Resource action: LVM_22          start on sapcl01
-@@ -55,6 +54,7 @@ Executing cluster transition:
-  * Resource action: oralsnr_25      monitor=120000 on sapcl01
-  * Resource action: IPaddr_192_168_1_102 stop on sapcl02
-  * Pseudo action:   all_stopped
-+ * Resource action: stonith-1       start on sapcl01
-  * Pseudo action:   app02_stopped_0
-  * Pseudo action:   app02_start_0
-  * Resource action: IPaddr_192_168_1_102 start on sapcl01
-diff --git a/pengine/test10/rec-node-2.dot b/pengine/test10/rec-node-2.dot
-index f8ba887..d889080 100644
---- a/pengine/test10/rec-node-2.dot
-+++ b/pengine/test10/rec-node-2.dot
-@@ -1,6 +1,7 @@
- digraph "g" {
- "all_stopped" -> "rsc1_start_0 node2" [ style = bold]
- "all_stopped" -> "rsc3_start_0 node2" [ style = bold]
-+"all_stopped" -> "stonith-1_start_0 node2" [ style = bold]
- "all_stopped" [ style=bold color="green" fontcolor="orange" ]
- "group1_running_0" [ style=bold color="green" fontcolor="orange" ]
- "group1_start_0" -> "group1_running_0" [ style = bold]
-@@ -56,6 +57,5 @@ digraph "g" {
- "stonith_complete" -> "rsc4_start_0 node2" [ style = bold]
- "stonith_complete" -> "rsc5_start_0 node2" [ style = bold]
- "stonith_complete" -> "rsc6_start_0 node2" [ style = bold]
--"stonith_complete" -> "stonith-1_start_0 node2" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/rec-node-2.exp b/pengine/test10/rec-node-2.exp
-index fd04c37..ea68e3e 100644
---- a/pengine/test10/rec-node-2.exp
-+++ b/pengine/test10/rec-node-2.exp
-@@ -8,10 +8,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+        <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped"/>
-       </trigger>
-       <trigger>
--        <pseudo_event id="26" operation="stonith_complete" operation_key="stonith_complete"/>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-4.dot b/pengine/test10/rec-node-4.dot
-index e5b31ef..221cefe 100644
---- a/pengine/test10/rec-node-4.dot
-+++ b/pengine/test10/rec-node-4.dot
-@@ -1,4 +1,5 @@
- digraph "g" {
-+"all_stopped" -> "stonith-1_start_0 node2" [ style = bold]
- "all_stopped" [ style=bold color="green" fontcolor="orange" ]
- "probe_complete node2" -> "probe_complete" [ style = bold]
- "probe_complete node2" [ style=bold color="green" fontcolor="black" ]
-@@ -30,6 +31,5 @@ digraph "g" {
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "rsc1_start_0 node2" [ style = bold]
- "stonith_complete" -> "rsc2_start_0 node2" [ style = bold]
--"stonith_complete" -> "stonith-1_start_0 node2" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/rec-node-4.exp b/pengine/test10/rec-node-4.exp
-index 2cbfecb..4932b98 100644
---- a/pengine/test10/rec-node-4.exp
-+++ b/pengine/test10/rec-node-4.exp
-@@ -8,10 +8,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+        <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped"/>
-       </trigger>
-       <trigger>
--        <pseudo_event id="12" operation="stonith_complete" operation_key="stonith_complete"/>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-4.summary b/pengine/test10/rec-node-4.summary
-index 295da1d..60f70fc 100644
---- a/pengine/test10/rec-node-4.summary
-+++ b/pengine/test10/rec-node-4.summary
-@@ -19,10 +19,10 @@ Executing cluster transition:
-  * Fencing node1 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-- * Resource action: stonith-1       start on node2
-  * Pseudo action:   rsc1_stop_0
-  * Pseudo action:   rsc2_stop_0
-  * Pseudo action:   all_stopped
-+ * Resource action: stonith-1       start on node2
-  * Resource action: rsc1            start on node2
-  * Resource action: rsc2            start on node2
- 
-diff --git a/pengine/test10/rec-node-6.dot b/pengine/test10/rec-node-6.dot
-index e5b31ef..221cefe 100644
---- a/pengine/test10/rec-node-6.dot
-+++ b/pengine/test10/rec-node-6.dot
-@@ -1,4 +1,5 @@
- digraph "g" {
-+"all_stopped" -> "stonith-1_start_0 node2" [ style = bold]
- "all_stopped" [ style=bold color="green" fontcolor="orange" ]
- "probe_complete node2" -> "probe_complete" [ style = bold]
- "probe_complete node2" [ style=bold color="green" fontcolor="black" ]
-@@ -30,6 +31,5 @@ digraph "g" {
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "rsc1_start_0 node2" [ style = bold]
- "stonith_complete" -> "rsc2_start_0 node2" [ style = bold]
--"stonith_complete" -> "stonith-1_start_0 node2" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/rec-node-6.exp b/pengine/test10/rec-node-6.exp
-index 2cbfecb..4932b98 100644
---- a/pengine/test10/rec-node-6.exp
-+++ b/pengine/test10/rec-node-6.exp
-@@ -8,10 +8,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+        <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped"/>
-       </trigger>
-       <trigger>
--        <pseudo_event id="12" operation="stonith_complete" operation_key="stonith_complete"/>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-6.summary b/pengine/test10/rec-node-6.summary
-index 300d61b..7ae96e5 100644
---- a/pengine/test10/rec-node-6.summary
-+++ b/pengine/test10/rec-node-6.summary
-@@ -19,10 +19,10 @@ Executing cluster transition:
-  * Fencing node1 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-- * Resource action: stonith-1       start on node2
-  * Pseudo action:   rsc1_stop_0
-  * Pseudo action:   rsc2_stop_0
-  * Pseudo action:   all_stopped
-+ * Resource action: stonith-1       start on node2
-  * Resource action: rsc1            start on node2
-  * Resource action: rsc2            start on node2
- 
-diff --git a/pengine/test10/rec-node-7.dot b/pengine/test10/rec-node-7.dot
-index e5b31ef..221cefe 100644
---- a/pengine/test10/rec-node-7.dot
-+++ b/pengine/test10/rec-node-7.dot
-@@ -1,4 +1,5 @@
- digraph "g" {
-+"all_stopped" -> "stonith-1_start_0 node2" [ style = bold]
- "all_stopped" [ style=bold color="green" fontcolor="orange" ]
- "probe_complete node2" -> "probe_complete" [ style = bold]
- "probe_complete node2" [ style=bold color="green" fontcolor="black" ]
-@@ -30,6 +31,5 @@ digraph "g" {
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "rsc1_start_0 node2" [ style = bold]
- "stonith_complete" -> "rsc2_start_0 node2" [ style = bold]
--"stonith_complete" -> "stonith-1_start_0 node2" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/rec-node-7.exp b/pengine/test10/rec-node-7.exp
-index 2cbfecb..4932b98 100644
---- a/pengine/test10/rec-node-7.exp
-+++ b/pengine/test10/rec-node-7.exp
-@@ -8,10 +8,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+        <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped"/>
-       </trigger>
-       <trigger>
--        <pseudo_event id="12" operation="stonith_complete" operation_key="stonith_complete"/>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-7.summary b/pengine/test10/rec-node-7.summary
-index 295da1d..60f70fc 100644
---- a/pengine/test10/rec-node-7.summary
-+++ b/pengine/test10/rec-node-7.summary
-@@ -19,10 +19,10 @@ Executing cluster transition:
-  * Fencing node1 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-- * Resource action: stonith-1       start on node2
-  * Pseudo action:   rsc1_stop_0
-  * Pseudo action:   rsc2_stop_0
-  * Pseudo action:   all_stopped
-+ * Resource action: stonith-1       start on node2
-  * Resource action: rsc1            start on node2
-  * Resource action: rsc2            start on node2
- 
-diff --git a/pengine/test10/rec-rsc-5.dot b/pengine/test10/rec-rsc-5.dot
-index 53b9521..3ca51f8 100644
---- a/pengine/test10/rec-rsc-5.dot
-+++ b/pengine/test10/rec-rsc-5.dot
-@@ -1,4 +1,5 @@
- digraph "g" {
-+"all_stopped" -> "stonith-1_start_0 node1" [ style = bold]
- "all_stopped" [ style=bold color="green" fontcolor="orange" ]
- "probe_complete node1" -> "probe_complete" [ style = bold]
- "probe_complete node1" [ style=bold color="green" fontcolor="black" ]
-@@ -30,6 +31,5 @@ digraph "g" {
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "rsc1_start_0 node1" [ style = bold]
- "stonith_complete" -> "rsc2_start_0 node1" [ style = bold]
--"stonith_complete" -> "stonith-1_start_0 node1" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/rec-rsc-5.exp b/pengine/test10/rec-rsc-5.exp
-index 95a3558..a99555f 100644
---- a/pengine/test10/rec-rsc-5.exp
-+++ b/pengine/test10/rec-rsc-5.exp
-@@ -8,10 +8,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+        <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped"/>
-       </trigger>
-       <trigger>
--        <pseudo_event id="12" operation="stonith_complete" operation_key="stonith_complete"/>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-rsc-5.summary b/pengine/test10/rec-rsc-5.summary
-index 549abe6..cdb9011 100644
---- a/pengine/test10/rec-rsc-5.summary
-+++ b/pengine/test10/rec-rsc-5.summary
-@@ -19,10 +19,10 @@ Executing cluster transition:
-  * Fencing node2 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-- * Resource action: stonith-1       start on node1
-  * Pseudo action:   rsc1_stop_0
-  * Pseudo action:   rsc2_stop_0
-  * Pseudo action:   all_stopped
-+ * Resource action: stonith-1       start on node1
-  * Resource action: rsc1            start on node1
-  * Resource action: rsc2            start on node1
- 
-diff --git a/pengine/test10/stonith-3.dot b/pengine/test10/stonith-3.dot
-index df5f607..86c3bd3 100644
---- a/pengine/test10/stonith-3.dot
-+++ b/pengine/test10/stonith-3.dot
-@@ -1,4 +1,5 @@
- digraph "g" {
-+"all_stopped" -> "prmStonith:0_start_0 rh5node2" [ style = bold]
- "all_stopped" [ style=bold color="green" fontcolor="orange" ]
- "clnStonith_running_0" [ style=bold color="green" fontcolor="orange" ]
- "clnStonith_start_0" -> "clnStonith_running_0" [ style = bold]
-@@ -27,6 +28,5 @@ digraph "g" {
- "stonith 'reboot' rh5node1" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "prmIpPostgreSQLDB_start_0 rh5node2" [ style = bold]
--"stonith_complete" -> "prmStonith:0_start_0 rh5node2" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/stonith-3.exp b/pengine/test10/stonith-3.exp
-index c4c1e32..4ada6ad 100644
---- a/pengine/test10/stonith-3.exp
-+++ b/pengine/test10/stonith-3.exp
-@@ -73,13 +73,13 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+        <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped"/>
-       </trigger>
-       <trigger>
--        <pseudo_event id="9" operation="start" operation_key="grpStonith:0_start_0"/>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-       <trigger>
--        <pseudo_event id="21" operation="stonith_complete" operation_key="stonith_complete"/>
-+        <pseudo_event id="9" operation="start" operation_key="grpStonith:0_start_0"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/stonith-4.dot b/pengine/test10/stonith-4.dot
-index 24243d8..1a7771a 100644
---- a/pengine/test10/stonith-4.dot
-+++ b/pengine/test10/stonith-4.dot
-@@ -6,6 +6,7 @@ digraph "g" {
- "Fencing_monitor_0 pcmk-3" -> "probe_complete pcmk-3" [ style = dashed]
- "Fencing_monitor_0 pcmk-3" [ style=dashed color="red" fontcolor="black"]
- "Fencing_start_0 pcmk-1" [ style=bold color="green" fontcolor="black"]
-+"all_stopped" -> "Fencing_start_0 pcmk-1" [ style = bold]
- "all_stopped" [ style=bold color="green" fontcolor="orange"]
- "probe_complete pcmk-11" -> "probe_complete" [ style = bold]
- "probe_complete pcmk-11" [ style=dashed color="red" fontcolor="black"]
-@@ -23,7 +24,6 @@ digraph "g" {
- "stonith 'reboot' pcmk-7" [ style=bold color="green" fontcolor="black"]
- "stonith 'reboot' pcmk-8" -> "stonith_complete" [ style = bold]
- "stonith 'reboot' pcmk-8" [ style=bold color="green" fontcolor="black"]
--"stonith_complete" -> "Fencing_start_0 pcmk-1" [ style = bold]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange"]
- }
-diff --git a/pengine/test10/stonith-4.exp b/pengine/test10/stonith-4.exp
-index 2be0a96..aa61f4d 100644
---- a/pengine/test10/stonith-4.exp
-+++ b/pengine/test10/stonith-4.exp
-@@ -8,10 +8,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+        <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped"/>
-       </trigger>
-       <trigger>
--        <pseudo_event id="11" operation="stonith_complete" operation_key="stonith_complete"/>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealth2.dot b/pengine/test10/systemhealth2.dot
-index dcf49eb..1e029a6 100644
---- a/pengine/test10/systemhealth2.dot
-+++ b/pengine/test10/systemhealth2.dot
-@@ -1,4 +1,5 @@
- digraph "g" {
-+"all_stopped" -> "stonith-1_start_0 hs21c" [ style = bold]
- "all_stopped" [ style=bold color="green" fontcolor="orange" ]
- "apache_1_monitor_0 hs21c" -> "probe_complete hs21c" [ style = bold]
- "apache_1_monitor_0 hs21c" [ style=bold color="green" fontcolor="black" ]
-@@ -24,6 +25,5 @@ digraph "g" {
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "apache_1_start_0 hs21c" [ style = bold]
- "stonith_complete" -> "nfs_1_start_0 hs21c" [ style = bold]
--"stonith_complete" -> "stonith-1_start_0 hs21c" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/systemhealth2.exp b/pengine/test10/systemhealth2.exp
-index 95d8847..43ae4e3 100644
---- a/pengine/test10/systemhealth2.exp
-+++ b/pengine/test10/systemhealth2.exp
-@@ -8,10 +8,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+        <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped"/>
-       </trigger>
-       <trigger>
--        <pseudo_event id="12" operation="stonith_complete" operation_key="stonith_complete"/>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealth3.dot b/pengine/test10/systemhealth3.dot
-index dcf49eb..1e029a6 100644
---- a/pengine/test10/systemhealth3.dot
-+++ b/pengine/test10/systemhealth3.dot
-@@ -1,4 +1,5 @@
- digraph "g" {
-+"all_stopped" -> "stonith-1_start_0 hs21c" [ style = bold]
- "all_stopped" [ style=bold color="green" fontcolor="orange" ]
- "apache_1_monitor_0 hs21c" -> "probe_complete hs21c" [ style = bold]
- "apache_1_monitor_0 hs21c" [ style=bold color="green" fontcolor="black" ]
-@@ -24,6 +25,5 @@ digraph "g" {
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "apache_1_start_0 hs21c" [ style = bold]
- "stonith_complete" -> "nfs_1_start_0 hs21c" [ style = bold]
--"stonith_complete" -> "stonith-1_start_0 hs21c" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/systemhealth3.exp b/pengine/test10/systemhealth3.exp
-index 95d8847..43ae4e3 100644
---- a/pengine/test10/systemhealth3.exp
-+++ b/pengine/test10/systemhealth3.exp
-@@ -8,10 +8,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+        <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped"/>
-       </trigger>
-       <trigger>
--        <pseudo_event id="12" operation="stonith_complete" operation_key="stonith_complete"/>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealthm2.dot b/pengine/test10/systemhealthm2.dot
-index dcf49eb..1e029a6 100644
---- a/pengine/test10/systemhealthm2.dot
-+++ b/pengine/test10/systemhealthm2.dot
-@@ -1,4 +1,5 @@
- digraph "g" {
-+"all_stopped" -> "stonith-1_start_0 hs21c" [ style = bold]
- "all_stopped" [ style=bold color="green" fontcolor="orange" ]
- "apache_1_monitor_0 hs21c" -> "probe_complete hs21c" [ style = bold]
- "apache_1_monitor_0 hs21c" [ style=bold color="green" fontcolor="black" ]
-@@ -24,6 +25,5 @@ digraph "g" {
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "apache_1_start_0 hs21c" [ style = bold]
- "stonith_complete" -> "nfs_1_start_0 hs21c" [ style = bold]
--"stonith_complete" -> "stonith-1_start_0 hs21c" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/systemhealthm2.exp b/pengine/test10/systemhealthm2.exp
-index 95d8847..43ae4e3 100644
---- a/pengine/test10/systemhealthm2.exp
-+++ b/pengine/test10/systemhealthm2.exp
-@@ -8,10 +8,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+        <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped"/>
-       </trigger>
-       <trigger>
--        <pseudo_event id="12" operation="stonith_complete" operation_key="stonith_complete"/>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealthn2.dot b/pengine/test10/systemhealthn2.dot
-index dcf49eb..1e029a6 100644
---- a/pengine/test10/systemhealthn2.dot
-+++ b/pengine/test10/systemhealthn2.dot
-@@ -1,4 +1,5 @@
- digraph "g" {
-+"all_stopped" -> "stonith-1_start_0 hs21c" [ style = bold]
- "all_stopped" [ style=bold color="green" fontcolor="orange" ]
- "apache_1_monitor_0 hs21c" -> "probe_complete hs21c" [ style = bold]
- "apache_1_monitor_0 hs21c" [ style=bold color="green" fontcolor="black" ]
-@@ -24,6 +25,5 @@ digraph "g" {
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "apache_1_start_0 hs21c" [ style = bold]
- "stonith_complete" -> "nfs_1_start_0 hs21c" [ style = bold]
--"stonith_complete" -> "stonith-1_start_0 hs21c" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/systemhealthn2.exp b/pengine/test10/systemhealthn2.exp
-index 95d8847..43ae4e3 100644
---- a/pengine/test10/systemhealthn2.exp
-+++ b/pengine/test10/systemhealthn2.exp
-@@ -8,10 +8,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+        <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped"/>
-       </trigger>
-       <trigger>
--        <pseudo_event id="12" operation="stonith_complete" operation_key="stonith_complete"/>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealthn3.dot b/pengine/test10/systemhealthn3.dot
-index dcf49eb..1e029a6 100644
---- a/pengine/test10/systemhealthn3.dot
-+++ b/pengine/test10/systemhealthn3.dot
-@@ -1,4 +1,5 @@
- digraph "g" {
-+"all_stopped" -> "stonith-1_start_0 hs21c" [ style = bold]
- "all_stopped" [ style=bold color="green" fontcolor="orange" ]
- "apache_1_monitor_0 hs21c" -> "probe_complete hs21c" [ style = bold]
- "apache_1_monitor_0 hs21c" [ style=bold color="green" fontcolor="black" ]
-@@ -24,6 +25,5 @@ digraph "g" {
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "apache_1_start_0 hs21c" [ style = bold]
- "stonith_complete" -> "nfs_1_start_0 hs21c" [ style = bold]
--"stonith_complete" -> "stonith-1_start_0 hs21c" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/systemhealthn3.exp b/pengine/test10/systemhealthn3.exp
-index 95d8847..43ae4e3 100644
---- a/pengine/test10/systemhealthn3.exp
-+++ b/pengine/test10/systemhealthn3.exp
-@@ -8,10 +8,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-+        <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped"/>
-       </trigger>
-       <trigger>
--        <pseudo_event id="12" operation="stonith_complete" operation_key="stonith_complete"/>
-+        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-master-21.dot b/pengine/test10/ticket-master-21.dot
-index e1abd95..60386a8 100644
---- a/pengine/test10/ticket-master-21.dot
-+++ b/pengine/test10/ticket-master-21.dot
-@@ -27,6 +27,5 @@ digraph "g" {
- "stonith 'reboot' node1" -> "stonith_complete" [ style = bold]
- "stonith 'reboot' node1" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
--"stonith_complete" -> "rsc_stonith_start_0 node2" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange"]
- }
-diff --git a/pengine/test10/ticket-master-21.exp b/pengine/test10/ticket-master-21.exp
-index 5b21e47..e9482c4 100644
---- a/pengine/test10/ticket-master-21.exp
-+++ b/pengine/test10/ticket-master-21.exp
-@@ -10,9 +10,6 @@
-       <trigger>
-         <pseudo_event id="6" operation="stop" operation_key="rsc_stonith_stop_0"/>
-       </trigger>
--      <trigger>
--        <pseudo_event id="20" operation="stonith_complete" operation_key="stonith_complete"/>
--      </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="1">
-diff --git a/pengine/test10/ticket-master-9.dot b/pengine/test10/ticket-master-9.dot
-index 40c2e7f..3a29836 100644
---- a/pengine/test10/ticket-master-9.dot
-+++ b/pengine/test10/ticket-master-9.dot
-@@ -27,6 +27,5 @@ digraph "g" {
- "stonith 'reboot' node1" -> "stonith_complete" [ style = bold]
- "stonith 'reboot' node1" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
--"stonith_complete" -> "rsc_stonith_start_0 node2" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/ticket-master-9.exp b/pengine/test10/ticket-master-9.exp
-index 5b21e47..e9482c4 100644
---- a/pengine/test10/ticket-master-9.exp
-+++ b/pengine/test10/ticket-master-9.exp
-@@ -10,9 +10,6 @@
-       <trigger>
-         <pseudo_event id="6" operation="stop" operation_key="rsc_stonith_stop_0"/>
-       </trigger>
--      <trigger>
--        <pseudo_event id="20" operation="stonith_complete" operation_key="stonith_complete"/>
--      </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="1">
diff --git a/SOURCES/bz1078078-pcmk-pe_fix_comments_and_formatting_for_pe_ordering_enum.patch b/SOURCES/bz1078078-pcmk-pe_fix_comments_and_formatting_for_pe_ordering_enum.patch
deleted file mode 100644
index f9b3516..0000000
--- a/SOURCES/bz1078078-pcmk-pe_fix_comments_and_formatting_for_pe_ordering_enum.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-commit 75a1451ef00947f7689d42d59efa92503485b8a3
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Tue Apr 1 19:31:28 2014 +1100
-
-    Refactor: PE: Fix comments and formatting for pe_ordering enum
-    
-    (cherry picked from commit 43596dcacadbdd1199e1238052105914311b151c)
-    
-    Conflicts:
-    	include/crm/pengine/status.h
-
-diff --git a/include/crm/pengine/status.h b/include/crm/pengine/status.h
-index 158a562..c81566a 100644
---- a/include/crm/pengine/status.h
-+++ b/include/crm/pengine/status.h
-@@ -319,28 +319,28 @@ enum pe_link_state {
- 
- /* *INDENT-OFF* */
- enum pe_ordering {
--    pe_order_none                  = 0x0,        /* deleted */
--    pe_order_optional              = 0x1,    /* pure ordering, nothing implied */
-+    pe_order_none                  = 0x0,       /* deleted */
-+    pe_order_optional              = 0x1,       /* pure ordering, nothing implied */
- 
--    pe_order_implies_first         = 0x10,      /* If 'first' is required, ensure 'then' is too */
--    pe_order_implies_then          = 0x20,       /* If 'then' is required, ensure 'first' is too */
-+    pe_order_implies_first         = 0x10,      /* If 'then' is required, ensure 'first' is too */
-+    pe_order_implies_then          = 0x20,      /* If 'first' is required, ensure 'then' is too */
-     pe_order_implies_first_master  = 0x40,      /* Imply 'first' is required when 'then' is required and then's rsc holds Master role. */
- 
-     pe_order_runnable_left         = 0x100,     /* 'then' requires 'first' to be runnable */
- 
-     pe_order_restart               = 0x1000,    /* 'then' is runnable if 'first' is optional or runnable */
--    pe_order_stonith_stop          = 0x2000,     /* only applies if the action is non-pseudo */
--    pe_order_serialize_only        = 0x4000,   /* serialize */
-+    pe_order_stonith_stop          = 0x2000,    /* only applies if the action is non-pseudo */
-+    pe_order_serialize_only        = 0x4000,    /* serialize */
- 
-     pe_order_implies_first_printed = 0x10000,   /* Like ..implies_first but only ensures 'first' is printed, not manditory */
--    pe_order_implies_then_printed  = 0x20000,    /* Like ..implies_then but only ensures 'then' is printed, not manditory */
-+    pe_order_implies_then_printed  = 0x20000,   /* Like ..implies_then but only ensures 'then' is printed, not manditory */
- 
--    pe_order_asymmetrical          = 0x100000,    /* Indicates asymmetrical one way ordering constraint. */
--    pe_order_load                  = 0x200000,    /* Only relevant if... */
--    pe_order_one_or_more           = 0x400000,    /* 'then' is only runnable if one or more of it's dependancies are too */
-+    pe_order_asymmetrical          = 0x100000,  /* Indicates asymmetrical one way ordering constraint. */
-+    pe_order_load                  = 0x200000,  /* Only relevant if... */
-+    pe_order_one_or_more           = 0x400000,  /* 'then' is only runnable if one or more of it's dependancies are too */
-     pe_order_anti_colocation       = 0x800000,
- 
--    pe_order_trace                 = 0x4000000  /* test marker */
-+    pe_order_trace                 = 0x4000000, /* test marker */
- };
- /* *INDENT-ON* */
- 
diff --git a/SOURCES/bz1078078-pcmk-pe_include_stonith_operation_in_dot_graph_regression_test_results.patch b/SOURCES/bz1078078-pcmk-pe_include_stonith_operation_in_dot_graph_regression_test_results.patch
deleted file mode 100644
index fbc2956..0000000
--- a/SOURCES/bz1078078-pcmk-pe_include_stonith_operation_in_dot_graph_regression_test_results.patch
+++ /dev/null
@@ -1,1092 +0,0 @@
-commit dfcfb5f354e6df601878ce6fbcc4ef7baaf8a969
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Apr 2 15:30:45 2014 +1100
-
-    Test: PE: Include stonith operation in .dot graph regression test results
-    
-    (cherry picked from commit c1fb74e4a3fd39ee94182bfd6f26634cc7bdcdca)
-    
-    Conflicts:
-    	pengine/test10/bug-5186-partial-migrate.dot
-    	pengine/test10/remote-fence-unclean.dot
-
-diff --git a/pengine/test10/594.dot b/pengine/test10/594.dot
-index 0e7a507..9e38bc6 100644
---- a/pengine/test10/594.dot
-+++ b/pengine/test10/594.dot
-@@ -45,8 +45,8 @@ digraph "g" {
- "rsc_hadev2_stop_0 hadev2" [ style=bold color="green" fontcolor="black" ]
- "rsc_hadev3_monitor_0 hadev2" -> "probe_complete hadev2" [ style = bold]
- "rsc_hadev3_monitor_0 hadev2" [ style=bold color="green" fontcolor="black" ]
--"stonith hadev3" -> "stonith_complete" [ style = bold]
--"stonith hadev3" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' hadev3" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' hadev3" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "DcIPaddr_start_0 hadev1" [ style = bold]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "rsc_hadev2_start_0 hadev1" [ style = bold]
-diff --git a/pengine/test10/829.dot b/pengine/test10/829.dot
-index cb41eda..85873cf 100644
---- a/pengine/test10/829.dot
-+++ b/pengine/test10/829.dot
-@@ -57,11 +57,11 @@ digraph "g" {
- "rsc_c001n08_monitor_0 c001n01" [ style=bold color="green" fontcolor="black" ]
- "rsc_c001n08_monitor_0 c001n03" -> "probe_complete c001n03" [ style = bold]
- "rsc_c001n08_monitor_0 c001n03" [ style=bold color="green" fontcolor="black" ]
--"stonith c001n02" -> "DoFencing_stop_0" [ style = bold]
--"stonith c001n02" -> "child_DoFencing:0_stop_0 c001n02" [ style = bold]
--"stonith c001n02" -> "rsc_c001n02_stop_0 c001n02" [ style = bold]
--"stonith c001n02" -> "stonith_complete" [ style = bold]
--"stonith c001n02" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' c001n02" -> "DoFencing_stop_0" [ style = bold]
-+"stonith 'reboot' c001n02" -> "child_DoFencing:0_stop_0 c001n02" [ style = bold]
-+"stonith 'reboot' c001n02" -> "rsc_c001n02_stop_0 c001n02" [ style = bold]
-+"stonith 'reboot' c001n02" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' c001n02" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "rsc_c001n02_start_0 c001n01" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
-diff --git a/pengine/test10/bug-lf-2508.dot b/pengine/test10/bug-lf-2508.dot
-index 918e4fa..6bef312 100644
---- a/pengine/test10/bug-lf-2508.dot
-+++ b/pengine/test10/bug-lf-2508.dot
-@@ -91,19 +91,19 @@ digraph "g" {
- "prmStonith4-3:1_stop_0 srv02" -> "grpStonith4:1_stopped_0" [ style = bold]
- "prmStonith4-3:1_stop_0 srv02" -> "prmStonith4-1:1_stop_0 srv02" [ style = bold]
- "prmStonith4-3:1_stop_0 srv02" [ style=bold color="green" fontcolor="orange"]
--"stonith srv02" -> "Dummy02_stop_0 srv02" [ style = bold]
--"stonith srv02" -> "Group02_stop_0" [ style = bold]
--"stonith srv02" -> "clnStonith1_stop_0" [ style = bold]
--"stonith srv02" -> "clnStonith3_stop_0" [ style = bold]
--"stonith srv02" -> "clnStonith4_stop_0" [ style = bold]
--"stonith srv02" -> "prmStonith1-1:1_stop_0 srv02" [ style = bold]
--"stonith srv02" -> "prmStonith1-3:1_stop_0 srv02" [ style = bold]
--"stonith srv02" -> "prmStonith3-1:1_stop_0 srv02" [ style = bold]
--"stonith srv02" -> "prmStonith3-3:1_stop_0 srv02" [ style = bold]
--"stonith srv02" -> "prmStonith4-1:1_stop_0 srv02" [ style = bold]
--"stonith srv02" -> "prmStonith4-3:1_stop_0 srv02" [ style = bold]
--"stonith srv02" -> "stonith_complete" [ style = bold]
--"stonith srv02" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' srv02" -> "Dummy02_stop_0 srv02" [ style = bold]
-+"stonith 'reboot' srv02" -> "Group02_stop_0" [ style = bold]
-+"stonith 'reboot' srv02" -> "clnStonith1_stop_0" [ style = bold]
-+"stonith 'reboot' srv02" -> "clnStonith3_stop_0" [ style = bold]
-+"stonith 'reboot' srv02" -> "clnStonith4_stop_0" [ style = bold]
-+"stonith 'reboot' srv02" -> "prmStonith1-1:1_stop_0 srv02" [ style = bold]
-+"stonith 'reboot' srv02" -> "prmStonith1-3:1_stop_0 srv02" [ style = bold]
-+"stonith 'reboot' srv02" -> "prmStonith3-1:1_stop_0 srv02" [ style = bold]
-+"stonith 'reboot' srv02" -> "prmStonith3-3:1_stop_0 srv02" [ style = bold]
-+"stonith 'reboot' srv02" -> "prmStonith4-1:1_stop_0 srv02" [ style = bold]
-+"stonith 'reboot' srv02" -> "prmStonith4-3:1_stop_0 srv02" [ style = bold]
-+"stonith 'reboot' srv02" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' srv02" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "Dummy01_start_0 srv01" [ style = bold]
- "stonith_complete" -> "Dummy02_start_0 srv04" [ style = bold]
- "stonith_complete" -> "all_stopped" [ style = bold]
-diff --git a/pengine/test10/bug-lf-2551.dot b/pengine/test10/bug-lf-2551.dot
-index b4a69db..3225e00 100644
---- a/pengine/test10/bug-lf-2551.dot
-+++ b/pengine/test10/bug-lf-2551.dot
-@@ -51,33 +51,33 @@ digraph "g" {
- "ocfs2-1:3_stop_0 hex-9" -> "base-group:3_stopped_0" [ style = bold]
- "ocfs2-1:3_stop_0 hex-9" -> "vg1:3_stop_0 hex-9" [ style = bold]
- "ocfs2-1:3_stop_0 hex-9" [ style=bold color="green" fontcolor="orange" ]
--"stonith hex-9" -> "base-clone_stop_0" [ style = bold]
--"stonith hex-9" -> "clvm:3_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "cmirrord:3_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "dlm:3_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "dummy1_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "fencing-sbd_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "o2cb:3_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "ocfs2-1:3_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "stonith_complete" [ style = bold]
--"stonith hex-9" -> "vg1:3_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "vm-03_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "vm-06_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "vm-09_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "vm-13_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "vm-17_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "vm-21_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "vm-25_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "vm-29_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "vm-33_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "vm-37_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "vm-41_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "vm-45_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "vm-49_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "vm-53_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "vm-57_stop_0 hex-9" [ style = bold]
--"stonith hex-9" -> "vm-61_stop_0 hex-9" [ style = bold]
--"stonith hex-9" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' hex-9" -> "base-clone_stop_0" [ style = bold]
-+"stonith 'reboot' hex-9" -> "clvm:3_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "cmirrord:3_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "dlm:3_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "dummy1_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "fencing-sbd_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "o2cb:3_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "ocfs2-1:3_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' hex-9" -> "vg1:3_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "vm-03_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "vm-06_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "vm-09_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "vm-13_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "vm-17_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "vm-21_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "vm-25_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "vm-29_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "vm-33_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "vm-37_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "vm-41_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "vm-45_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "vm-49_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "vm-53_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "vm-57_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" -> "vm-61_stop_0 hex-9" [ style = bold]
-+"stonith 'reboot' hex-9" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "dummy1_start_0 hex-0" [ style = bold]
- "stonith_complete" -> "fencing-sbd_start_0 hex-0" [ style = bold]
-diff --git a/pengine/test10/bug-lf-2606.dot b/pengine/test10/bug-lf-2606.dot
-index 403dc1e..612bd02 100644
---- a/pengine/test10/bug-lf-2606.dot
-+++ b/pengine/test10/bug-lf-2606.dot
-@@ -24,13 +24,13 @@ digraph "g" {
- "rsc3:1_stop_0 node2" -> "all_stopped" [ style = bold]
- "rsc3:1_stop_0 node2" -> "ms3_stopped_0" [ style = bold]
- "rsc3:1_stop_0 node2" [ style=bold color="green" fontcolor="orange"]
--"stonith node2" -> "ms3_stop_0" [ style = bold]
--"stonith node2" -> "rsc1_stop_0 node2" [ style = bold]
--"stonith node2" -> "rsc2_stop_0 node2" [ style = bold]
--"stonith node2" -> "rsc3:1_demote_0 node2" [ style = bold]
--"stonith node2" -> "rsc3:1_stop_0 node2" [ style = bold]
--"stonith node2" -> "stonith_complete" [ style = bold]
--"stonith node2" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' node2" -> "ms3_stop_0" [ style = bold]
-+"stonith 'reboot' node2" -> "rsc1_stop_0 node2" [ style = bold]
-+"stonith 'reboot' node2" -> "rsc2_stop_0 node2" [ style = bold]
-+"stonith 'reboot' node2" -> "rsc3:1_demote_0 node2" [ style = bold]
-+"stonith 'reboot' node2" -> "rsc3:1_stop_0 node2" [ style = bold]
-+"stonith 'reboot' node2" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' node2" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "rsc2_start_0 node1" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange"]
-diff --git a/pengine/test10/interleave-pseudo-stop.dot b/pengine/test10/interleave-pseudo-stop.dot
-index 8c3ddd3..5b3d272 100644
---- a/pengine/test10/interleave-pseudo-stop.dot
-+++ b/pengine/test10/interleave-pseudo-stop.dot
-@@ -91,19 +91,19 @@ digraph "g" {
- "imagestorecloneset_stop_0" [ style=bold color="green" fontcolor="orange" ]
- "imagestorecloneset_stopped_0" -> "imagestorecloneset_post_notify_stopped_0" [ style = bold]
- "imagestorecloneset_stopped_0" [ style=bold color="green" fontcolor="orange" ]
--"stonith node1" -> "configstoreclone:0_post_notify_stonith_0" [ style = bold]
--"stonith node1" -> "configstoreclone:0_stop_0 node1" [ style = bold]
--"stonith node1" -> "configstorecloneset_stop_0" [ style = bold]
--"stonith node1" -> "evmsclone:0_post_notify_stonith_0" [ style = bold]
--"stonith node1" -> "evmsclone:0_stop_0 node1" [ style = bold]
--"stonith node1" -> "evmscloneset_stop_0" [ style = bold]
--"stonith node1" -> "imagestoreclone:0_post_notify_stonith_0" [ style = bold]
--"stonith node1" -> "imagestoreclone:0_stop_0 node1" [ style = bold]
--"stonith node1" -> "imagestorecloneset_stop_0" [ style = bold]
--"stonith node1" -> "stonith_complete" [ style = bold]
--"stonith node1" -> "stonithclone:0_stop_0 node1" [ style = bold]
--"stonith node1" -> "stonithcloneset_stop_0" [ style = bold]
--"stonith node1" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' node1" -> "configstoreclone:0_post_notify_stonith_0" [ style = bold]
-+"stonith 'reboot' node1" -> "configstoreclone:0_stop_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "configstorecloneset_stop_0" [ style = bold]
-+"stonith 'reboot' node1" -> "evmsclone:0_post_notify_stonith_0" [ style = bold]
-+"stonith 'reboot' node1" -> "evmsclone:0_stop_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "evmscloneset_stop_0" [ style = bold]
-+"stonith 'reboot' node1" -> "imagestoreclone:0_post_notify_stonith_0" [ style = bold]
-+"stonith 'reboot' node1" -> "imagestoreclone:0_stop_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "imagestorecloneset_stop_0" [ style = bold]
-+"stonith 'reboot' node1" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' node1" -> "stonithclone:0_stop_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "stonithcloneset_stop_0" [ style = bold]
-+"stonith 'reboot' node1" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- "stonithclone:0_stop_0 node1" -> "all_stopped" [ style = bold]
-diff --git a/pengine/test10/master-7.dot b/pengine/test10/master-7.dot
-index ae5e08e..61b0f1c 100644
---- a/pengine/test10/master-7.dot
-+++ b/pengine/test10/master-7.dot
-@@ -127,16 +127,16 @@ digraph "g" {
- "rsc_c001n01_stop_0 c001n01" -> "all_stopped" [ style = bold]
- "rsc_c001n01_stop_0 c001n01" -> "rsc_c001n01_start_0 c001n03" [ style = bold]
- "rsc_c001n01_stop_0 c001n01" [ style=bold color="green" fontcolor="orange" ]
--"stonith c001n01" -> "DcIPaddr_stop_0 c001n01" [ style = bold]
--"stonith c001n01" -> "DoFencing_stop_0" [ style = bold]
--"stonith c001n01" -> "child_DoFencing:0_stop_0 c001n01" [ style = bold]
--"stonith c001n01" -> "master_rsc_1_stop_0" [ style = bold]
--"stonith c001n01" -> "ocf_msdummy:0_demote_0 c001n01" [ style = bold]
--"stonith c001n01" -> "ocf_msdummy:0_stop_0 c001n01" [ style = bold]
--"stonith c001n01" -> "ocf_msdummy:4_stop_0 c001n01" [ style = bold]
--"stonith c001n01" -> "rsc_c001n01_stop_0 c001n01" [ style = bold]
--"stonith c001n01" -> "stonith_complete" [ style = bold]
--"stonith c001n01" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' c001n01" -> "DcIPaddr_stop_0 c001n01" [ style = bold]
-+"stonith 'reboot' c001n01" -> "DoFencing_stop_0" [ style = bold]
-+"stonith 'reboot' c001n01" -> "child_DoFencing:0_stop_0 c001n01" [ style = bold]
-+"stonith 'reboot' c001n01" -> "master_rsc_1_stop_0" [ style = bold]
-+"stonith 'reboot' c001n01" -> "ocf_msdummy:0_demote_0 c001n01" [ style = bold]
-+"stonith 'reboot' c001n01" -> "ocf_msdummy:0_stop_0 c001n01" [ style = bold]
-+"stonith 'reboot' c001n01" -> "ocf_msdummy:4_stop_0 c001n01" [ style = bold]
-+"stonith 'reboot' c001n01" -> "rsc_c001n01_stop_0 c001n01" [ style = bold]
-+"stonith 'reboot' c001n01" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' c001n01" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "DcIPaddr_start_0 c001n03" [ style = bold]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "heartbeat_192.168.100.182_start_0 c001n02" [ style = bold]
-diff --git a/pengine/test10/master-8.dot b/pengine/test10/master-8.dot
-index a6ed1f6..70be8f1 100644
---- a/pengine/test10/master-8.dot
-+++ b/pengine/test10/master-8.dot
-@@ -137,15 +137,15 @@ digraph "g" {
- "rsc_c001n01_stop_0 c001n01" -> "all_stopped" [ style = bold]
- "rsc_c001n01_stop_0 c001n01" -> "rsc_c001n01_start_0 c001n03" [ style = bold]
- "rsc_c001n01_stop_0 c001n01" [ style=bold color="green" fontcolor="orange" ]
--"stonith c001n01" -> "DcIPaddr_stop_0 c001n01" [ style = bold]
--"stonith c001n01" -> "DoFencing_stop_0" [ style = bold]
--"stonith c001n01" -> "child_DoFencing:0_stop_0 c001n01" [ style = bold]
--"stonith c001n01" -> "master_rsc_1_stop_0" [ style = bold]
--"stonith c001n01" -> "ocf_msdummy:0_demote_0 c001n01" [ style = bold]
--"stonith c001n01" -> "ocf_msdummy:0_stop_0 c001n01" [ style = bold]
--"stonith c001n01" -> "rsc_c001n01_stop_0 c001n01" [ style = bold]
--"stonith c001n01" -> "stonith_complete" [ style = bold]
--"stonith c001n01" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' c001n01" -> "DcIPaddr_stop_0 c001n01" [ style = bold]
-+"stonith 'reboot' c001n01" -> "DoFencing_stop_0" [ style = bold]
-+"stonith 'reboot' c001n01" -> "child_DoFencing:0_stop_0 c001n01" [ style = bold]
-+"stonith 'reboot' c001n01" -> "master_rsc_1_stop_0" [ style = bold]
-+"stonith 'reboot' c001n01" -> "ocf_msdummy:0_demote_0 c001n01" [ style = bold]
-+"stonith 'reboot' c001n01" -> "ocf_msdummy:0_stop_0 c001n01" [ style = bold]
-+"stonith 'reboot' c001n01" -> "rsc_c001n01_stop_0 c001n01" [ style = bold]
-+"stonith 'reboot' c001n01" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' c001n01" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "DcIPaddr_start_0 c001n03" [ style = bold]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "heartbeat_192.168.100.182_start_0 c001n02" [ style = bold]
-diff --git a/pengine/test10/migrate-fencing.dot b/pengine/test10/migrate-fencing.dot
-index 8dd3e3a..1aa8d3c 100644
---- a/pengine/test10/migrate-fencing.dot
-+++ b/pengine/test10/migrate-fencing.dot
-@@ -107,21 +107,21 @@ digraph "g" {
- "stateful-1:1_promote_0 pcmk-1" [ style=bold color="green" fontcolor="black" ]
- "stateful-1:2_monitor_15000 pcmk-2" [ style=bold color="green" fontcolor="black" ]
- "stateful-1:3_monitor_15000 pcmk-3" [ style=bold color="green" fontcolor="black" ]
--"stonith pcmk-4" -> "Connectivity_stop_0" [ style = bold]
--"stonith pcmk-4" -> "FencingChild:0_stop_0 pcmk-4" [ style = bold]
--"stonith pcmk-4" -> "Fencing_stop_0" [ style = bold]
--"stonith pcmk-4" -> "group-1_stop_0" [ style = bold]
--"stonith pcmk-4" -> "lsb-dummy_stop_0 pcmk-4" [ style = bold]
--"stonith pcmk-4" -> "master-1_stop_0" [ style = bold]
--"stonith pcmk-4" -> "ping-1:0_stop_0 pcmk-4" [ style = bold]
--"stonith pcmk-4" -> "r192.168.101.181_stop_0 pcmk-4" [ style = bold]
--"stonith pcmk-4" -> "r192.168.101.182_stop_0 pcmk-4" [ style = bold]
--"stonith pcmk-4" -> "r192.168.101.183_stop_0 pcmk-4" [ style = bold]
--"stonith pcmk-4" -> "rsc_pcmk-4_stop_0 pcmk-4" [ style = bold]
--"stonith pcmk-4" -> "stateful-1:0_demote_0 pcmk-4" [ style = bold]
--"stonith pcmk-4" -> "stateful-1:0_stop_0 pcmk-4" [ style = bold]
--"stonith pcmk-4" -> "stonith_complete" [ style = bold]
--"stonith pcmk-4" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' pcmk-4" -> "Connectivity_stop_0" [ style = bold]
-+"stonith 'reboot' pcmk-4" -> "FencingChild:0_stop_0 pcmk-4" [ style = bold]
-+"stonith 'reboot' pcmk-4" -> "Fencing_stop_0" [ style = bold]
-+"stonith 'reboot' pcmk-4" -> "group-1_stop_0" [ style = bold]
-+"stonith 'reboot' pcmk-4" -> "lsb-dummy_stop_0 pcmk-4" [ style = bold]
-+"stonith 'reboot' pcmk-4" -> "master-1_stop_0" [ style = bold]
-+"stonith 'reboot' pcmk-4" -> "ping-1:0_stop_0 pcmk-4" [ style = bold]
-+"stonith 'reboot' pcmk-4" -> "r192.168.101.181_stop_0 pcmk-4" [ style = bold]
-+"stonith 'reboot' pcmk-4" -> "r192.168.101.182_stop_0 pcmk-4" [ style = bold]
-+"stonith 'reboot' pcmk-4" -> "r192.168.101.183_stop_0 pcmk-4" [ style = bold]
-+"stonith 'reboot' pcmk-4" -> "rsc_pcmk-4_stop_0 pcmk-4" [ style = bold]
-+"stonith 'reboot' pcmk-4" -> "stateful-1:0_demote_0 pcmk-4" [ style = bold]
-+"stonith 'reboot' pcmk-4" -> "stateful-1:0_stop_0 pcmk-4" [ style = bold]
-+"stonith 'reboot' pcmk-4" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' pcmk-4" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "lsb-dummy_start_0 pcmk-1" [ style = bold]
- "stonith_complete" -> "migrator_migrate_to_0 pcmk-1" [ style = bold]
-diff --git a/pengine/test10/rec-node-11.dot b/pengine/test10/rec-node-11.dot
-index d78cf6b..2865f41 100644
---- a/pengine/test10/rec-node-11.dot
-+++ b/pengine/test10/rec-node-11.dot
-@@ -44,11 +44,11 @@ digraph "g" {
- "rsc3_stop_0 node2" -> "all_stopped" [ style = bold]
- "rsc3_stop_0 node2" -> "rsc3_start_0 node2" [ style = bold]
- "rsc3_stop_0 node2" [ style=bold color="green" fontcolor="black" ]
--"stonith node1" -> "group1_stop_0" [ style = bold]
--"stonith node1" -> "rsc1_stop_0 node1" [ style = bold]
--"stonith node1" -> "rsc2_stop_0 node1" [ style = bold]
--"stonith node1" -> "stonith_complete" [ style = bold]
--"stonith node1" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' node1" -> "group1_stop_0" [ style = bold]
-+"stonith 'reboot' node1" -> "rsc1_stop_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "rsc2_stop_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' node1" [ style=bold color="green" fontcolor="black"]
- "stonith-1_monitor_0 node2" -> "probe_complete node2" [ style = bold]
- "stonith-1_monitor_0 node2" [ style=bold color="green" fontcolor="black" ]
- "stonith-1_start_0 node2" [ style=bold color="green" fontcolor="black" ]
-diff --git a/pengine/test10/rec-node-12.dot b/pengine/test10/rec-node-12.dot
-index 5f79a9a..8275a2e 100644
---- a/pengine/test10/rec-node-12.dot
-+++ b/pengine/test10/rec-node-12.dot
-@@ -105,8 +105,8 @@ digraph "g" {
- "rsc_c001n08_monitor_5000 c001n08" [ style=bold color="green" fontcolor="black" ]
- "rsc_c001n08_start_0 c001n08" -> "rsc_c001n08_monitor_5000 c001n08" [ style = bold]
- "rsc_c001n08_start_0 c001n08" [ style=bold color="green" fontcolor="black" ]
--"stonith c001n02" -> "stonith_complete" [ style = bold]
--"stonith c001n02" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' c001n02" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' c001n02" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "DcIPaddr_start_0 c001n08" [ style = bold]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "rsc_c001n01_start_0 c001n01" [ style = bold]
-diff --git a/pengine/test10/rec-node-13.dot b/pengine/test10/rec-node-13.dot
-index 9a55e66..094c241 100644
---- a/pengine/test10/rec-node-13.dot
-+++ b/pengine/test10/rec-node-13.dot
-@@ -7,10 +7,10 @@
- "ocf_msdummy:6_stop_0 c001n04" -> "all_stopped" [ style = bold]
- "ocf_msdummy:6_stop_0 c001n04" -> "master_rsc_1_stopped_0" [ style = bold]
- "ocf_msdummy:6_stop_0 c001n04" [ style=bold color="green" fontcolor="orange" ]
--"stonith c001n04" -> "master_rsc_1_stop_0" [ style = bold]
--"stonith c001n04" -> "ocf_msdummy:6_stop_0 c001n04" [ style = bold]
--"stonith c001n04" -> "stonith_complete" [ style = bold]
--"stonith c001n04" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' c001n04" -> "master_rsc_1_stop_0" [ style = bold]
-+"stonith 'reboot' c001n04" -> "ocf_msdummy:6_stop_0 c001n04" [ style = bold]
-+"stonith 'reboot' c001n04" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' c001n04" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/rec-node-14.dot b/pengine/test10/rec-node-14.dot
-index 6f5956c..395fa89 100644
---- a/pengine/test10/rec-node-14.dot
-+++ b/pengine/test10/rec-node-14.dot
-@@ -1,11 +1,11 @@
-  digraph "g" {
- "all_stopped" [ style=bold color="green" fontcolor="orange" ]
--"stonith node1" -> "stonith node3" [ style = bold]
--"stonith node1" [ style=bold color="green" fontcolor="black" ]
--"stonith node2" [ style=bold color="green" fontcolor="black" ]
--"stonith node3" -> "stonith node2" [ style = bold]
--"stonith node3" -> "stonith_complete" [ style = bold]
--"stonith node3" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' node1" -> "stonith 'reboot' node3" [ style = bold]
-+"stonith 'reboot' node1" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' node2" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' node3" -> "stonith 'reboot' node2" [ style = bold]
-+"stonith 'reboot' node3" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' node3" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/rec-node-15.dot b/pengine/test10/rec-node-15.dot
-index a01ffd2..31d0929 100644
---- a/pengine/test10/rec-node-15.dot
-+++ b/pengine/test10/rec-node-15.dot
-@@ -82,8 +82,8 @@ digraph "g" {
- "probe_complete" -> "LVM_12_stop_0 sapcl02" [ style = bold]
- "probe_complete" -> "stonith-1_start_0 sapcl01" [ style = bold]
- "probe_complete" [ style=bold color="green" fontcolor="orange" ]
--"stonith sapcl03" -> "stonith_complete" [ style = bold]
--"stonith sapcl03" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' sapcl03" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' sapcl03" [ style=bold color="green" fontcolor="black"]
- "stonith-1_monitor_0 sapcl01" -> "probe_complete sapcl01" [ style = bold]
- "stonith-1_monitor_0 sapcl01" [ style=bold color="green" fontcolor="black" ]
- "stonith-1_monitor_0 sapcl02" -> "probe_complete sapcl02" [ style = bold]
-diff --git a/pengine/test10/rec-node-2.dot b/pengine/test10/rec-node-2.dot
-index 23b3f2f..f8ba887 100644
---- a/pengine/test10/rec-node-2.dot
-+++ b/pengine/test10/rec-node-2.dot
-@@ -46,8 +46,8 @@ digraph "g" {
- "rsc6_monitor_0 node2" [ style=bold color="green" fontcolor="black" ]
- "rsc6_start_0 node2" -> "group2_running_0" [ style = bold]
- "rsc6_start_0 node2" [ style=bold color="green" fontcolor="black" ]
--"stonith node1" -> "stonith_complete" [ style = bold]
--"stonith node1" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' node1" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' node1" [ style=bold color="green" fontcolor="black"]
- "stonith-1_monitor_0 node2" -> "probe_complete node2" [ style = bold]
- "stonith-1_monitor_0 node2" [ style=bold color="green" fontcolor="black" ]
- "stonith-1_start_0 node2" [ style=bold color="green" fontcolor="black" ]
-diff --git a/pengine/test10/rec-node-4.dot b/pengine/test10/rec-node-4.dot
-index be10460..e5b31ef 100644
---- a/pengine/test10/rec-node-4.dot
-+++ b/pengine/test10/rec-node-4.dot
-@@ -20,10 +20,10 @@ digraph "g" {
- "rsc2_stop_0 node1" -> "all_stopped" [ style = bold]
- "rsc2_stop_0 node1" -> "rsc2_start_0 node2" [ style = bold]
- "rsc2_stop_0 node1" [ style=bold color="green" fontcolor="orange" ]
--"stonith node1" -> "rsc1_stop_0 node1" [ style = bold]
--"stonith node1" -> "rsc2_stop_0 node1" [ style = bold]
--"stonith node1" -> "stonith_complete" [ style = bold]
--"stonith node1" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' node1" -> "rsc1_stop_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "rsc2_stop_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' node1" [ style=bold color="green" fontcolor="black"]
- "stonith-1_monitor_0 node2" -> "probe_complete node2" [ style = bold]
- "stonith-1_monitor_0 node2" [ style=bold color="green" fontcolor="black" ]
- "stonith-1_start_0 node2" [ style=bold color="green" fontcolor="black" ]
-diff --git a/pengine/test10/rec-node-6.dot b/pengine/test10/rec-node-6.dot
-index be10460..e5b31ef 100644
---- a/pengine/test10/rec-node-6.dot
-+++ b/pengine/test10/rec-node-6.dot
-@@ -20,10 +20,10 @@ digraph "g" {
- "rsc2_stop_0 node1" -> "all_stopped" [ style = bold]
- "rsc2_stop_0 node1" -> "rsc2_start_0 node2" [ style = bold]
- "rsc2_stop_0 node1" [ style=bold color="green" fontcolor="orange" ]
--"stonith node1" -> "rsc1_stop_0 node1" [ style = bold]
--"stonith node1" -> "rsc2_stop_0 node1" [ style = bold]
--"stonith node1" -> "stonith_complete" [ style = bold]
--"stonith node1" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' node1" -> "rsc1_stop_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "rsc2_stop_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' node1" [ style=bold color="green" fontcolor="black"]
- "stonith-1_monitor_0 node2" -> "probe_complete node2" [ style = bold]
- "stonith-1_monitor_0 node2" [ style=bold color="green" fontcolor="black" ]
- "stonith-1_start_0 node2" [ style=bold color="green" fontcolor="black" ]
-diff --git a/pengine/test10/rec-node-7.dot b/pengine/test10/rec-node-7.dot
-index be10460..e5b31ef 100644
---- a/pengine/test10/rec-node-7.dot
-+++ b/pengine/test10/rec-node-7.dot
-@@ -20,10 +20,10 @@ digraph "g" {
- "rsc2_stop_0 node1" -> "all_stopped" [ style = bold]
- "rsc2_stop_0 node1" -> "rsc2_start_0 node2" [ style = bold]
- "rsc2_stop_0 node1" [ style=bold color="green" fontcolor="orange" ]
--"stonith node1" -> "rsc1_stop_0 node1" [ style = bold]
--"stonith node1" -> "rsc2_stop_0 node1" [ style = bold]
--"stonith node1" -> "stonith_complete" [ style = bold]
--"stonith node1" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' node1" -> "rsc1_stop_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "rsc2_stop_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' node1" [ style=bold color="green" fontcolor="black"]
- "stonith-1_monitor_0 node2" -> "probe_complete node2" [ style = bold]
- "stonith-1_monitor_0 node2" [ style=bold color="green" fontcolor="black" ]
- "stonith-1_start_0 node2" [ style=bold color="green" fontcolor="black" ]
-diff --git a/pengine/test10/rec-rsc-5.dot b/pengine/test10/rec-rsc-5.dot
-index 48bad88..53b9521 100644
---- a/pengine/test10/rec-rsc-5.dot
-+++ b/pengine/test10/rec-rsc-5.dot
-@@ -20,10 +20,10 @@ digraph "g" {
- "rsc2_stop_0 node2" -> "all_stopped" [ style = bold]
- "rsc2_stop_0 node2" -> "rsc2_start_0 node1" [ style = bold]
- "rsc2_stop_0 node2" [ style=bold color="green" fontcolor="orange" ]
--"stonith node2" -> "rsc1_stop_0 node2" [ style = bold]
--"stonith node2" -> "rsc2_stop_0 node2" [ style = bold]
--"stonith node2" -> "stonith_complete" [ style = bold]
--"stonith node2" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' node2" -> "rsc1_stop_0 node2" [ style = bold]
-+"stonith 'reboot' node2" -> "rsc2_stop_0 node2" [ style = bold]
-+"stonith 'reboot' node2" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' node2" [ style=bold color="green" fontcolor="black"]
- "stonith-1_monitor_0 node1" -> "probe_complete node1" [ style = bold]
- "stonith-1_monitor_0 node1" [ style=bold color="green" fontcolor="black" ]
- "stonith-1_start_0 node1" [ style=bold color="green" fontcolor="black" ]
-diff --git a/pengine/test10/stonith-0.dot b/pengine/test10/stonith-0.dot
-index db60eb9..29cdd59 100644
---- a/pengine/test10/stonith-0.dot
-+++ b/pengine/test10/stonith-0.dot
-@@ -66,19 +66,19 @@ digraph "g" {
- "rsc_c001n07_stop_0 c001n03" -> "all_stopped" [ style = bold]
- "rsc_c001n07_stop_0 c001n03" -> "rsc_c001n07_start_0 c001n07" [ style = bold]
- "rsc_c001n07_stop_0 c001n03" [ style=bold color="green" fontcolor="orange" ]
--"stonith c001n03" -> "group-1_stop_0" [ style = bold]
--"stonith c001n03" -> "heartbeat_192.168.100.182_stop_0 c001n03" [ style = bold]
--"stonith c001n03" -> "ocf_192.168.100.181_stop_0 c001n03" [ style = bold]
--"stonith c001n03" -> "ocf_192.168.100.183_stop_0 c001n03" [ style = bold]
--"stonith c001n03" -> "rsc_c001n07_stop_0 c001n03" [ style = bold]
--"stonith c001n03" [ style=bold color="green" fontcolor="black" ]
--"stonith c001n05" -> "group-1_stop_0" [ style = bold]
--"stonith c001n05" -> "ocf_192.168.100.181_stop_0 c001n05" [ style = bold]
--"stonith c001n05" -> "ocf_192.168.100.183_stop_0 c001n05" [ style = bold]
--"stonith c001n05" -> "rsc_c001n05_stop_0 c001n05" [ style = bold]
--"stonith c001n05" -> "stonith c001n03" [ style = bold]
--"stonith c001n05" -> "stonith_complete" [ style = bold]
--"stonith c001n05" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' c001n03" -> "group-1_stop_0" [ style = bold]
-+"stonith 'reboot' c001n03" -> "heartbeat_192.168.100.182_stop_0 c001n03" [ style = bold]
-+"stonith 'reboot' c001n03" -> "ocf_192.168.100.181_stop_0 c001n03" [ style = bold]
-+"stonith 'reboot' c001n03" -> "ocf_192.168.100.183_stop_0 c001n03" [ style = bold]
-+"stonith 'reboot' c001n03" -> "rsc_c001n07_stop_0 c001n03" [ style = bold]
-+"stonith 'reboot' c001n03" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' c001n05" -> "group-1_stop_0" [ style = bold]
-+"stonith 'reboot' c001n05" -> "ocf_192.168.100.181_stop_0 c001n05" [ style = bold]
-+"stonith 'reboot' c001n05" -> "ocf_192.168.100.183_stop_0 c001n05" [ style = bold]
-+"stonith 'reboot' c001n05" -> "rsc_c001n05_stop_0 c001n05" [ style = bold]
-+"stonith 'reboot' c001n05" -> "stonith 'reboot' c001n03" [ style = bold]
-+"stonith 'reboot' c001n05" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' c001n05" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "heartbeat_192.168.100.182_start_0 c001n02" [ style = bold]
- "stonith_complete" -> "ocf_192.168.100.181_start_0 c001n02" [ style = bold]
-diff --git a/pengine/test10/stonith-1.dot b/pengine/test10/stonith-1.dot
-index 5ee6c1b..d64edcf 100644
---- a/pengine/test10/stonith-1.dot
-+++ b/pengine/test10/stonith-1.dot
-@@ -88,15 +88,15 @@ digraph "g" {
- "rsc_sles-3_stop_0 sles-3" -> "rsc_sles-3_start_0 sles-4" [ style = bold]
- "rsc_sles-3_stop_0 sles-3" [ style=bold color="green" fontcolor="orange" ]
- "rsc_sles-4_monitor_5000 sles-4" [ style=bold color="green" fontcolor="black" ]
--"stonith sles-3" -> "DoFencing_stop_0" [ style = bold]
--"stonith sles-3" -> "child_DoFencing:2_stop_0 sles-3" [ style = bold]
--"stonith sles-3" -> "master_rsc_1_stop_0" [ style = bold]
--"stonith sles-3" -> "migrator_stop_0 sles-3" [ style = bold]
--"stonith sles-3" -> "ocf_msdummy:2_stop_0 sles-3" [ style = bold]
--"stonith sles-3" -> "ocf_msdummy:5_stop_0 sles-3" [ style = bold]
--"stonith sles-3" -> "rsc_sles-3_stop_0 sles-3" [ style = bold]
--"stonith sles-3" -> "stonith_complete" [ style = bold]
--"stonith sles-3" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' sles-3" -> "DoFencing_stop_0" [ style = bold]
-+"stonith 'reboot' sles-3" -> "child_DoFencing:2_stop_0 sles-3" [ style = bold]
-+"stonith 'reboot' sles-3" -> "master_rsc_1_stop_0" [ style = bold]
-+"stonith 'reboot' sles-3" -> "migrator_stop_0 sles-3" [ style = bold]
-+"stonith 'reboot' sles-3" -> "ocf_msdummy:2_stop_0 sles-3" [ style = bold]
-+"stonith 'reboot' sles-3" -> "ocf_msdummy:5_stop_0 sles-3" [ style = bold]
-+"stonith 'reboot' sles-3" -> "rsc_sles-3_stop_0 sles-3" [ style = bold]
-+"stonith 'reboot' sles-3" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' sles-3" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "migrator_start_0 sles-4" [ style = bold]
- "stonith_complete" -> "ocf_msdummy:0_start_0 sles-4" [ style = bold]
-diff --git a/pengine/test10/stonith-2.dot b/pengine/test10/stonith-2.dot
-index c5626c7..2e9420b 100644
---- a/pengine/test10/stonith-2.dot
-+++ b/pengine/test10/stonith-2.dot
-@@ -3,8 +3,8 @@ digraph "g" {
- "rsc_sles-5_monitor_5000 sles-6" [ style=bold color="green" fontcolor="black" ]
- "rsc_sles-5_start_0 sles-6" -> "rsc_sles-5_monitor_5000 sles-6" [ style = bold]
- "rsc_sles-5_start_0 sles-6" [ style=bold color="green" fontcolor="black" ]
--"stonith sles-5" -> "stonith_complete" [ style = bold]
--"stonith sles-5" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' sles-5" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' sles-5" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "rsc_sles-5_start_0 sles-6" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
-diff --git a/pengine/test10/stonith-3.dot b/pengine/test10/stonith-3.dot
-index f93ef79..df5f607 100644
---- a/pengine/test10/stonith-3.dot
-+++ b/pengine/test10/stonith-3.dot
-@@ -23,8 +23,8 @@ digraph "g" {
- "probe_complete" -> "prmIpPostgreSQLDB_start_0 rh5node2" [ style = bold]
- "probe_complete" -> "prmStonith:0_start_0 rh5node2" [ style = bold]
- "probe_complete" [ style=bold color="green" fontcolor="orange" ]
--"stonith rh5node1" -> "stonith_complete" [ style = bold]
--"stonith rh5node1" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' rh5node1" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' rh5node1" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "prmIpPostgreSQLDB_start_0 rh5node2" [ style = bold]
- "stonith_complete" -> "prmStonith:0_start_0 rh5node2" [ style = bold]
-diff --git a/pengine/test10/stonith-4.dot b/pengine/test10/stonith-4.dot
-index 1508fc8..24243d8 100644
---- a/pengine/test10/stonith-4.dot
-+++ b/pengine/test10/stonith-4.dot
-@@ -15,14 +15,14 @@ digraph "g" {
- "probe_complete pcmk-3" [ style=dashed color="red" fontcolor="black"]
- "probe_complete" -> "Fencing_start_0 pcmk-1" [ style = bold]
- "probe_complete" [ style=bold color="green" fontcolor="orange"]
--"stonith pcmk-10" -> "stonith pcmk-5" [ style = bold]
--"stonith pcmk-10" [ style=bold color="green" fontcolor="black"]
--"stonith pcmk-5" -> "stonith pcmk-7" [ style = bold]
--"stonith pcmk-5" [ style=bold color="green" fontcolor="black"]
--"stonith pcmk-7" -> "stonith pcmk-8" [ style = bold]
--"stonith pcmk-7" [ style=bold color="green" fontcolor="black"]
--"stonith pcmk-8" -> "stonith_complete" [ style = bold]
--"stonith pcmk-8" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' pcmk-10" -> "stonith 'reboot' pcmk-5" [ style = bold]
-+"stonith 'reboot' pcmk-10" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' pcmk-5" -> "stonith 'reboot' pcmk-7" [ style = bold]
-+"stonith 'reboot' pcmk-5" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' pcmk-7" -> "stonith 'reboot' pcmk-8" [ style = bold]
-+"stonith 'reboot' pcmk-7" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' pcmk-8" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' pcmk-8" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "Fencing_start_0 pcmk-1" [ style = bold]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange"]
-diff --git a/pengine/test10/stop-failure-no-quorum.dot b/pengine/test10/stop-failure-no-quorum.dot
-index 55faa45..e00258d 100644
---- a/pengine/test10/stop-failure-no-quorum.dot
-+++ b/pengine/test10/stop-failure-no-quorum.dot
-@@ -10,10 +10,10 @@ digraph "g" {
- "clvm_stop_0 pcmk-2" -> "clvm-clone_stopped_0" [ style = bold]
- "clvm_stop_0 pcmk-2" [ style=bold color="green" fontcolor="orange"]
- "dlm_monitor_60000 pcmk-1" [ style=dashed color="red" fontcolor="black"]
--"stonith pcmk-2" -> "clvm-clone_stop_0" [ style = bold]
--"stonith pcmk-2" -> "clvm_stop_0 pcmk-2" [ style = bold]
--"stonith pcmk-2" -> "stonith_complete" [ style = bold]
--"stonith pcmk-2" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' pcmk-2" -> "clvm-clone_stop_0" [ style = bold]
-+"stonith 'reboot' pcmk-2" -> "clvm_stop_0 pcmk-2" [ style = bold]
-+"stonith 'reboot' pcmk-2" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' pcmk-2" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange"]
- }
-diff --git a/pengine/test10/stop-failure-with-fencing.dot b/pengine/test10/stop-failure-with-fencing.dot
-index a4dd5f8..cd5c089 100644
---- a/pengine/test10/stop-failure-with-fencing.dot
-+++ b/pengine/test10/stop-failure-with-fencing.dot
-@@ -15,10 +15,10 @@ digraph "g" {
- "probe_complete pcmk-1" -> "probe_complete" [ style = bold]
- "probe_complete pcmk-1" [ style=bold color="green" fontcolor="black"]
- "probe_complete" [ style=bold color="green" fontcolor="orange"]
--"stonith pcmk-2" -> "clvm-clone_stop_0" [ style = bold]
--"stonith pcmk-2" -> "clvm_stop_0 pcmk-2" [ style = bold]
--"stonith pcmk-2" -> "stonith_complete" [ style = bold]
--"stonith pcmk-2" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' pcmk-2" -> "clvm-clone_stop_0" [ style = bold]
-+"stonith 'reboot' pcmk-2" -> "clvm_stop_0 pcmk-2" [ style = bold]
-+"stonith 'reboot' pcmk-2" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' pcmk-2" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange"]
- }
-diff --git a/pengine/test10/systemhealth1.dot b/pengine/test10/systemhealth1.dot
-index c47ce24..28841b7 100644
---- a/pengine/test10/systemhealth1.dot
-+++ b/pengine/test10/systemhealth1.dot
-@@ -1,9 +1,9 @@
- digraph "g" {
- "all_stopped" [ style=bold color="green" fontcolor="orange" ]
--"stonith hs21c" [ style=bold color="green" fontcolor="black" ]
--"stonith hs21d" -> "stonith hs21c" [ style = bold]
--"stonith hs21d" -> "stonith_complete" [ style = bold]
--"stonith hs21d" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' hs21c" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' hs21d" -> "stonith 'reboot' hs21c" [ style = bold]
-+"stonith 'reboot' hs21d" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' hs21d" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/systemhealth2.dot b/pengine/test10/systemhealth2.dot
-index a3d05c0..dcf49eb 100644
---- a/pengine/test10/systemhealth2.dot
-+++ b/pengine/test10/systemhealth2.dot
-@@ -16,8 +16,8 @@ digraph "g" {
- "probe_complete" -> "nfs_1_start_0 hs21c" [ style = bold]
- "probe_complete" -> "stonith-1_start_0 hs21c" [ style = bold]
- "probe_complete" [ style=bold color="green" fontcolor="orange" ]
--"stonith hs21d" -> "stonith_complete" [ style = bold]
--"stonith hs21d" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' hs21d" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' hs21d" [ style=bold color="green" fontcolor="black"]
- "stonith-1_monitor_0 hs21c" -> "probe_complete hs21c" [ style = bold]
- "stonith-1_monitor_0 hs21c" [ style=bold color="green" fontcolor="black" ]
- "stonith-1_start_0 hs21c" [ style=bold color="green" fontcolor="black" ]
-diff --git a/pengine/test10/systemhealth3.dot b/pengine/test10/systemhealth3.dot
-index a3d05c0..dcf49eb 100644
---- a/pengine/test10/systemhealth3.dot
-+++ b/pengine/test10/systemhealth3.dot
-@@ -16,8 +16,8 @@ digraph "g" {
- "probe_complete" -> "nfs_1_start_0 hs21c" [ style = bold]
- "probe_complete" -> "stonith-1_start_0 hs21c" [ style = bold]
- "probe_complete" [ style=bold color="green" fontcolor="orange" ]
--"stonith hs21d" -> "stonith_complete" [ style = bold]
--"stonith hs21d" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' hs21d" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' hs21d" [ style=bold color="green" fontcolor="black"]
- "stonith-1_monitor_0 hs21c" -> "probe_complete hs21c" [ style = bold]
- "stonith-1_monitor_0 hs21c" [ style=bold color="green" fontcolor="black" ]
- "stonith-1_start_0 hs21c" [ style=bold color="green" fontcolor="black" ]
-diff --git a/pengine/test10/systemhealthm1.dot b/pengine/test10/systemhealthm1.dot
-index c47ce24..28841b7 100644
---- a/pengine/test10/systemhealthm1.dot
-+++ b/pengine/test10/systemhealthm1.dot
-@@ -1,9 +1,9 @@
- digraph "g" {
- "all_stopped" [ style=bold color="green" fontcolor="orange" ]
--"stonith hs21c" [ style=bold color="green" fontcolor="black" ]
--"stonith hs21d" -> "stonith hs21c" [ style = bold]
--"stonith hs21d" -> "stonith_complete" [ style = bold]
--"stonith hs21d" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' hs21c" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' hs21d" -> "stonith 'reboot' hs21c" [ style = bold]
-+"stonith 'reboot' hs21d" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' hs21d" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/systemhealthm2.dot b/pengine/test10/systemhealthm2.dot
-index a3d05c0..dcf49eb 100644
---- a/pengine/test10/systemhealthm2.dot
-+++ b/pengine/test10/systemhealthm2.dot
-@@ -16,8 +16,8 @@ digraph "g" {
- "probe_complete" -> "nfs_1_start_0 hs21c" [ style = bold]
- "probe_complete" -> "stonith-1_start_0 hs21c" [ style = bold]
- "probe_complete" [ style=bold color="green" fontcolor="orange" ]
--"stonith hs21d" -> "stonith_complete" [ style = bold]
--"stonith hs21d" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' hs21d" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' hs21d" [ style=bold color="green" fontcolor="black"]
- "stonith-1_monitor_0 hs21c" -> "probe_complete hs21c" [ style = bold]
- "stonith-1_monitor_0 hs21c" [ style=bold color="green" fontcolor="black" ]
- "stonith-1_start_0 hs21c" [ style=bold color="green" fontcolor="black" ]
-diff --git a/pengine/test10/systemhealthm3.dot b/pengine/test10/systemhealthm3.dot
-index 987de92..2980e3f 100644
---- a/pengine/test10/systemhealthm3.dot
-+++ b/pengine/test10/systemhealthm3.dot
-@@ -7,8 +7,8 @@ digraph "g" {
- "probe_complete hs21c" -> "probe_complete" [ style = bold]
- "probe_complete hs21c" [ style=bold color="green" fontcolor="black" ]
- "probe_complete" [ style=bold color="green" fontcolor="orange" ]
--"stonith hs21d" -> "stonith_complete" [ style = bold]
--"stonith hs21d" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' hs21d" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' hs21d" [ style=bold color="green" fontcolor="black"]
- "stonith-1_monitor_0 hs21c" -> "probe_complete hs21c" [ style = bold]
- "stonith-1_monitor_0 hs21c" [ style=bold color="green" fontcolor="black" ]
- "stonith_complete" -> "all_stopped" [ style = bold]
-diff --git a/pengine/test10/systemhealthn1.dot b/pengine/test10/systemhealthn1.dot
-index c47ce24..28841b7 100644
---- a/pengine/test10/systemhealthn1.dot
-+++ b/pengine/test10/systemhealthn1.dot
-@@ -1,9 +1,9 @@
- digraph "g" {
- "all_stopped" [ style=bold color="green" fontcolor="orange" ]
--"stonith hs21c" [ style=bold color="green" fontcolor="black" ]
--"stonith hs21d" -> "stonith hs21c" [ style = bold]
--"stonith hs21d" -> "stonith_complete" [ style = bold]
--"stonith hs21d" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' hs21c" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' hs21d" -> "stonith 'reboot' hs21c" [ style = bold]
-+"stonith 'reboot' hs21d" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' hs21d" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/systemhealthn2.dot b/pengine/test10/systemhealthn2.dot
-index a3d05c0..dcf49eb 100644
---- a/pengine/test10/systemhealthn2.dot
-+++ b/pengine/test10/systemhealthn2.dot
-@@ -16,8 +16,8 @@ digraph "g" {
- "probe_complete" -> "nfs_1_start_0 hs21c" [ style = bold]
- "probe_complete" -> "stonith-1_start_0 hs21c" [ style = bold]
- "probe_complete" [ style=bold color="green" fontcolor="orange" ]
--"stonith hs21d" -> "stonith_complete" [ style = bold]
--"stonith hs21d" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' hs21d" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' hs21d" [ style=bold color="green" fontcolor="black"]
- "stonith-1_monitor_0 hs21c" -> "probe_complete hs21c" [ style = bold]
- "stonith-1_monitor_0 hs21c" [ style=bold color="green" fontcolor="black" ]
- "stonith-1_start_0 hs21c" [ style=bold color="green" fontcolor="black" ]
-diff --git a/pengine/test10/systemhealthn3.dot b/pengine/test10/systemhealthn3.dot
-index a3d05c0..dcf49eb 100644
---- a/pengine/test10/systemhealthn3.dot
-+++ b/pengine/test10/systemhealthn3.dot
-@@ -16,8 +16,8 @@ digraph "g" {
- "probe_complete" -> "nfs_1_start_0 hs21c" [ style = bold]
- "probe_complete" -> "stonith-1_start_0 hs21c" [ style = bold]
- "probe_complete" [ style=bold color="green" fontcolor="orange" ]
--"stonith hs21d" -> "stonith_complete" [ style = bold]
--"stonith hs21d" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' hs21d" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' hs21d" [ style=bold color="green" fontcolor="black"]
- "stonith-1_monitor_0 hs21c" -> "probe_complete hs21c" [ style = bold]
- "stonith-1_monitor_0 hs21c" [ style=bold color="green" fontcolor="black" ]
- "stonith-1_start_0 hs21c" [ style=bold color="green" fontcolor="black" ]
-diff --git a/pengine/test10/systemhealtho1.dot b/pengine/test10/systemhealtho1.dot
-index c47ce24..28841b7 100644
---- a/pengine/test10/systemhealtho1.dot
-+++ b/pengine/test10/systemhealtho1.dot
-@@ -1,9 +1,9 @@
- digraph "g" {
- "all_stopped" [ style=bold color="green" fontcolor="orange" ]
--"stonith hs21c" [ style=bold color="green" fontcolor="black" ]
--"stonith hs21d" -> "stonith hs21c" [ style = bold]
--"stonith hs21d" -> "stonith_complete" [ style = bold]
--"stonith hs21d" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' hs21c" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' hs21d" -> "stonith 'reboot' hs21c" [ style = bold]
-+"stonith 'reboot' hs21d" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' hs21d" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/systemhealtho2.dot b/pengine/test10/systemhealtho2.dot
-index 987de92..2980e3f 100644
---- a/pengine/test10/systemhealtho2.dot
-+++ b/pengine/test10/systemhealtho2.dot
-@@ -7,8 +7,8 @@ digraph "g" {
- "probe_complete hs21c" -> "probe_complete" [ style = bold]
- "probe_complete hs21c" [ style=bold color="green" fontcolor="black" ]
- "probe_complete" [ style=bold color="green" fontcolor="orange" ]
--"stonith hs21d" -> "stonith_complete" [ style = bold]
--"stonith hs21d" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' hs21d" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' hs21d" [ style=bold color="green" fontcolor="black"]
- "stonith-1_monitor_0 hs21c" -> "probe_complete hs21c" [ style = bold]
- "stonith-1_monitor_0 hs21c" [ style=bold color="green" fontcolor="black" ]
- "stonith_complete" -> "all_stopped" [ style = bold]
-diff --git a/pengine/test10/systemhealtho3.dot b/pengine/test10/systemhealtho3.dot
-index 987de92..2980e3f 100644
---- a/pengine/test10/systemhealtho3.dot
-+++ b/pengine/test10/systemhealtho3.dot
-@@ -7,8 +7,8 @@ digraph "g" {
- "probe_complete hs21c" -> "probe_complete" [ style = bold]
- "probe_complete hs21c" [ style=bold color="green" fontcolor="black" ]
- "probe_complete" [ style=bold color="green" fontcolor="orange" ]
--"stonith hs21d" -> "stonith_complete" [ style = bold]
--"stonith hs21d" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' hs21d" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' hs21d" [ style=bold color="green" fontcolor="black"]
- "stonith-1_monitor_0 hs21c" -> "probe_complete hs21c" [ style = bold]
- "stonith-1_monitor_0 hs21c" [ style=bold color="green" fontcolor="black" ]
- "stonith_complete" -> "all_stopped" [ style = bold]
-diff --git a/pengine/test10/systemhealthp1.dot b/pengine/test10/systemhealthp1.dot
-index c47ce24..28841b7 100644
---- a/pengine/test10/systemhealthp1.dot
-+++ b/pengine/test10/systemhealthp1.dot
-@@ -1,9 +1,9 @@
- digraph "g" {
- "all_stopped" [ style=bold color="green" fontcolor="orange" ]
--"stonith hs21c" [ style=bold color="green" fontcolor="black" ]
--"stonith hs21d" -> "stonith hs21c" [ style = bold]
--"stonith hs21d" -> "stonith_complete" [ style = bold]
--"stonith hs21d" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' hs21c" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' hs21d" -> "stonith 'reboot' hs21c" [ style = bold]
-+"stonith 'reboot' hs21d" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' hs21d" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/systemhealthp2.dot b/pengine/test10/systemhealthp2.dot
-index 8100587..bb9d914 100644
---- a/pengine/test10/systemhealthp2.dot
-+++ b/pengine/test10/systemhealthp2.dot
-@@ -15,8 +15,8 @@ digraph "g" {
- "probe_complete" -> "apache_1_start_0 hs21c" [ style = bold]
- "probe_complete" -> "nfs_1_start_0 hs21c" [ style = bold]
- "probe_complete" [ style=bold color="green" fontcolor="orange" ]
--"stonith hs21d" -> "stonith_complete" [ style = bold]
--"stonith hs21d" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' hs21d" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' hs21d" [ style=bold color="green" fontcolor="black"]
- "stonith-1_monitor_0 hs21c" -> "probe_complete hs21c" [ style = bold]
- "stonith-1_monitor_0 hs21c" [ style=bold color="green" fontcolor="black" ]
- "stonith_complete" -> "all_stopped" [ style = bold]
-diff --git a/pengine/test10/systemhealthp3.dot b/pengine/test10/systemhealthp3.dot
-index 987de92..2980e3f 100644
---- a/pengine/test10/systemhealthp3.dot
-+++ b/pengine/test10/systemhealthp3.dot
-@@ -7,8 +7,8 @@ digraph "g" {
- "probe_complete hs21c" -> "probe_complete" [ style = bold]
- "probe_complete hs21c" [ style=bold color="green" fontcolor="black" ]
- "probe_complete" [ style=bold color="green" fontcolor="orange" ]
--"stonith hs21d" -> "stonith_complete" [ style = bold]
--"stonith hs21d" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' hs21d" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' hs21d" [ style=bold color="green" fontcolor="black"]
- "stonith-1_monitor_0 hs21c" -> "probe_complete hs21c" [ style = bold]
- "stonith-1_monitor_0 hs21c" [ style=bold color="green" fontcolor="black" ]
- "stonith_complete" -> "all_stopped" [ style = bold]
-diff --git a/pengine/test10/ticket-clone-21.dot b/pengine/test10/ticket-clone-21.dot
-index 44a702e..c26817e 100644
---- a/pengine/test10/ticket-clone-21.dot
-+++ b/pengine/test10/ticket-clone-21.dot
-@@ -13,15 +13,15 @@ digraph "g" {
- "rsc1:1_stop_0 node1" [ style=bold color="green" fontcolor="orange"]
- "rsc_stonith_stop_0 node1" -> "all_stopped" [ style = bold]
- "rsc_stonith_stop_0 node1" [ style=bold color="green" fontcolor="orange"]
--"stonith node1" -> "clone1_stop_0" [ style = bold]
--"stonith node1" -> "rsc1:1_stop_0 node1" [ style = bold]
--"stonith node1" -> "rsc_stonith_stop_0 node1" [ style = bold]
--"stonith node1" -> "stonith node2" [ style = bold]
--"stonith node1" [ style=bold color="green" fontcolor="black"]
--"stonith node2" -> "clone1_stop_0" [ style = bold]
--"stonith node2" -> "rsc1:0_stop_0 node2" [ style = bold]
--"stonith node2" -> "stonith_complete" [ style = bold]
--"stonith node2" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' node1" -> "clone1_stop_0" [ style = bold]
-+"stonith 'reboot' node1" -> "rsc1:1_stop_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "rsc_stonith_stop_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "stonith 'reboot' node2" [ style = bold]
-+"stonith 'reboot' node1" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' node2" -> "clone1_stop_0" [ style = bold]
-+"stonith 'reboot' node2" -> "rsc1:0_stop_0 node2" [ style = bold]
-+"stonith 'reboot' node2" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' node2" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange"]
- }
-diff --git a/pengine/test10/ticket-clone-9.dot b/pengine/test10/ticket-clone-9.dot
-index 20066c8..8abddd4 100644
---- a/pengine/test10/ticket-clone-9.dot
-+++ b/pengine/test10/ticket-clone-9.dot
-@@ -13,15 +13,15 @@ digraph "g" {
- "rsc1:1_stop_0 node1" [ style=bold color="green" fontcolor="orange" ]
- "rsc_stonith_stop_0 node1" -> "all_stopped" [ style = bold]
- "rsc_stonith_stop_0 node1" [ style=bold color="green" fontcolor="orange"]
--"stonith node1" -> "clone1_stop_0" [ style = bold]
--"stonith node1" -> "rsc1:1_stop_0 node1" [ style = bold]
--"stonith node1" -> "rsc_stonith_stop_0 node1" [ style = bold]
--"stonith node1" -> "stonith node2" [ style = bold]
--"stonith node1" [ style=bold color="green" fontcolor="black" ]
--"stonith node2" -> "clone1_stop_0" [ style = bold]
--"stonith node2" -> "rsc1:0_stop_0 node2" [ style = bold]
--"stonith node2" -> "stonith_complete" [ style = bold]
--"stonith node2" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' node1" -> "clone1_stop_0" [ style = bold]
-+"stonith 'reboot' node1" -> "rsc1:1_stop_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "rsc_stonith_stop_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "stonith 'reboot' node2" [ style = bold]
-+"stonith 'reboot' node1" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' node2" -> "clone1_stop_0" [ style = bold]
-+"stonith 'reboot' node2" -> "rsc1:0_stop_0 node2" [ style = bold]
-+"stonith 'reboot' node2" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' node2" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/ticket-group-21.dot b/pengine/test10/ticket-group-21.dot
-index aeebada..cac1fc7 100644
---- a/pengine/test10/ticket-group-21.dot
-+++ b/pengine/test10/ticket-group-21.dot
-@@ -13,11 +13,11 @@ digraph "g" {
- "rsc2_stop_0 node2" -> "group1_stopped_0" [ style = bold]
- "rsc2_stop_0 node2" -> "rsc1_stop_0 node2" [ style = bold]
- "rsc2_stop_0 node2" [ style=bold color="green" fontcolor="orange"]
--"stonith node2" -> "group1_stop_0" [ style = bold]
--"stonith node2" -> "rsc1_stop_0 node2" [ style = bold]
--"stonith node2" -> "rsc2_stop_0 node2" [ style = bold]
--"stonith node2" -> "stonith_complete" [ style = bold]
--"stonith node2" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' node2" -> "group1_stop_0" [ style = bold]
-+"stonith 'reboot' node2" -> "rsc1_stop_0 node2" [ style = bold]
-+"stonith 'reboot' node2" -> "rsc2_stop_0 node2" [ style = bold]
-+"stonith 'reboot' node2" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' node2" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange"]
- }
-diff --git a/pengine/test10/ticket-group-9.dot b/pengine/test10/ticket-group-9.dot
-index 9991946..1649e62 100644
---- a/pengine/test10/ticket-group-9.dot
-+++ b/pengine/test10/ticket-group-9.dot
-@@ -13,11 +13,11 @@ digraph "g" {
- "rsc2_stop_0 node2" -> "group1_stopped_0" [ style = bold]
- "rsc2_stop_0 node2" -> "rsc1_stop_0 node2" [ style = bold]
- "rsc2_stop_0 node2" [ style=bold color="green" fontcolor="orange" ]
--"stonith node2" -> "group1_stop_0" [ style = bold]
--"stonith node2" -> "rsc1_stop_0 node2" [ style = bold]
--"stonith node2" -> "rsc2_stop_0 node2" [ style = bold]
--"stonith node2" -> "stonith_complete" [ style = bold]
--"stonith node2" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' node2" -> "group1_stop_0" [ style = bold]
-+"stonith 'reboot' node2" -> "rsc1_stop_0 node2" [ style = bold]
-+"stonith 'reboot' node2" -> "rsc2_stop_0 node2" [ style = bold]
-+"stonith 'reboot' node2" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' node2" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/pengine/test10/ticket-master-21.dot b/pengine/test10/ticket-master-21.dot
-index 9f04de9..e1abd95 100644
---- a/pengine/test10/ticket-master-21.dot
-+++ b/pengine/test10/ticket-master-21.dot
-@@ -20,12 +20,12 @@ digraph "g" {
- "rsc_stonith_stop_0 node1" -> "all_stopped" [ style = bold]
- "rsc_stonith_stop_0 node1" -> "rsc_stonith_start_0 node2" [ style = bold]
- "rsc_stonith_stop_0 node1" [ style=bold color="green" fontcolor="orange"]
--"stonith node1" -> "ms1_stop_0" [ style = bold]
--"stonith node1" -> "rsc1:1_demote_0 node1" [ style = bold]
--"stonith node1" -> "rsc1:1_stop_0 node1" [ style = bold]
--"stonith node1" -> "rsc_stonith_stop_0 node1" [ style = bold]
--"stonith node1" -> "stonith_complete" [ style = bold]
--"stonith node1" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' node1" -> "ms1_stop_0" [ style = bold]
-+"stonith 'reboot' node1" -> "rsc1:1_demote_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "rsc1:1_stop_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "rsc_stonith_stop_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' node1" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "rsc_stonith_start_0 node2" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange"]
-diff --git a/pengine/test10/ticket-master-9.dot b/pengine/test10/ticket-master-9.dot
-index 91a833a..40c2e7f 100644
---- a/pengine/test10/ticket-master-9.dot
-+++ b/pengine/test10/ticket-master-9.dot
-@@ -20,12 +20,12 @@ digraph "g" {
- "rsc_stonith_stop_0 node1" -> "all_stopped" [ style = bold]
- "rsc_stonith_stop_0 node1" -> "rsc_stonith_start_0 node2" [ style = bold]
- "rsc_stonith_stop_0 node1" [ style=bold color="green" fontcolor="orange"]
--"stonith node1" -> "ms1_stop_0" [ style = bold]
--"stonith node1" -> "rsc1:1_demote_0 node1" [ style = bold]
--"stonith node1" -> "rsc1:1_stop_0 node1" [ style = bold]
--"stonith node1" -> "rsc_stonith_stop_0 node1" [ style = bold]
--"stonith node1" -> "stonith_complete" [ style = bold]
--"stonith node1" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' node1" -> "ms1_stop_0" [ style = bold]
-+"stonith 'reboot' node1" -> "rsc1:1_demote_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "rsc1:1_stop_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "rsc_stonith_stop_0 node1" [ style = bold]
-+"stonith 'reboot' node1" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' node1" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" -> "rsc_stonith_start_0 node2" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
-diff --git a/pengine/test10/ticket-primitive-21.dot b/pengine/test10/ticket-primitive-21.dot
-index f54e0f0..ba07df3 100644
---- a/pengine/test10/ticket-primitive-21.dot
-+++ b/pengine/test10/ticket-primitive-21.dot
-@@ -3,9 +3,9 @@ digraph "g" {
- "probe_complete node1" [ style=bold color="green" fontcolor="black"]
- "rsc1_stop_0 node2" -> "all_stopped" [ style = bold]
- "rsc1_stop_0 node2" [ style=bold color="green" fontcolor="orange"]
--"stonith node2" -> "rsc1_stop_0 node2" [ style = bold]
--"stonith node2" -> "stonith_complete" [ style = bold]
--"stonith node2" [ style=bold color="green" fontcolor="black"]
-+"stonith 'reboot' node2" -> "rsc1_stop_0 node2" [ style = bold]
-+"stonith 'reboot' node2" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' node2" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange"]
- }
-diff --git a/pengine/test10/ticket-primitive-9.dot b/pengine/test10/ticket-primitive-9.dot
-index 40a69d7..0036a23 100644
---- a/pengine/test10/ticket-primitive-9.dot
-+++ b/pengine/test10/ticket-primitive-9.dot
-@@ -3,9 +3,9 @@ digraph "g" {
- "probe_complete node1" [ style=bold color="green" fontcolor="black" ]
- "rsc1_stop_0 node2" -> "all_stopped" [ style = bold]
- "rsc1_stop_0 node2" [ style=bold color="green" fontcolor="orange" ]
--"stonith node2" -> "rsc1_stop_0 node2" [ style = bold]
--"stonith node2" -> "stonith_complete" [ style = bold]
--"stonith node2" [ style=bold color="green" fontcolor="black" ]
-+"stonith 'reboot' node2" -> "rsc1_stop_0 node2" [ style = bold]
-+"stonith 'reboot' node2" -> "stonith_complete" [ style = bold]
-+"stonith 'reboot' node2" [ style=bold color="green" fontcolor="black"]
- "stonith_complete" -> "all_stopped" [ style = bold]
- "stonith_complete" [ style=bold color="green" fontcolor="orange" ]
- }
-diff --git a/tools/crm_simulate.c b/tools/crm_simulate.c
-index 2eb68f1..9d20cdd 100644
---- a/tools/crm_simulate.c
-+++ b/tools/crm_simulate.c
-@@ -758,7 +758,9 @@ create_action_name(action_t * action)
-         free(key);
- 
-     } else if (safe_str_eq(action->task, CRM_OP_FENCE)) {
--        action_name = g_strdup_printf("%s%s %s", prefix ? prefix : "", action->task, action_host);
-+        const char *op = g_hash_table_lookup(action->meta, "stonith_action");
-+
-+        action_name = g_strdup_printf("%s%s '%s' %s", prefix ? prefix : "", action->task, op, action_host);
- 
-     } else if (action->rsc && action_host) {
-         action_name = g_strdup_printf("%s%s %s", prefix ? prefix : "", action->uuid, action_host);
diff --git a/SOURCES/bz1078078-pcmk-pe_include_stonith_operation_in_the_summary_results_and_handle_unfencing.patch b/SOURCES/bz1078078-pcmk-pe_include_stonith_operation_in_the_summary_results_and_handle_unfencing.patch
deleted file mode 100644
index a964e70..0000000
--- a/SOURCES/bz1078078-pcmk-pe_include_stonith_operation_in_the_summary_results_and_handle_unfencing.patch
+++ /dev/null
@@ -1,734 +0,0 @@
-commit 54c57b981935172a28eea3c1e070c408642846b1
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Apr 2 15:34:26 2014 +1100
-
-    Test: PE: Include stonith operation in the summary results and handle unfencing
-    
-    (cherry picked from commit 8d8de0a3ec77738e5d508b7e746c1d493c9617e1)
-    
-    Conflicts:
-    	pengine/test10/bug-5186-partial-migrate.summary
-    	pengine/test10/remote-fence-unclean.summary
-
-diff --git a/pengine/test10/594.summary b/pengine/test10/594.summary
-index 865b386..08de5cc 100644
---- a/pengine/test10/594.summary
-+++ b/pengine/test10/594.summary
-@@ -27,7 +27,7 @@ Executing cluster transition:
-  * Resource action: child_DoFencing:0 monitor on hadev1
-  * Resource action: child_DoFencing:2 monitor on hadev2
-  * Pseudo action:   DoFencing_stop_0
-- * Fencing hadev3
-+ * Fencing hadev3 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Resource action: DcIPaddr        start on hadev1
-diff --git a/pengine/test10/829.summary b/pengine/test10/829.summary
-index f08a30a..cf23cf0 100644
---- a/pengine/test10/829.summary
-+++ b/pengine/test10/829.summary
-@@ -36,7 +36,7 @@ Executing cluster transition:
-  * Resource action: child_DoFencing:2 monitor on c001n03
-  * Resource action: child_DoFencing:3 monitor on c001n03
-  * Resource action: child_DoFencing:3 monitor on c001n01
-- * Fencing c001n02
-+ * Fencing c001n02 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Pseudo action:   rsc_c001n02_stop_0
-diff --git a/pengine/test10/bug-lf-2508.summary b/pengine/test10/bug-lf-2508.summary
-index 4435ced..7f5aed1 100644
---- a/pengine/test10/bug-lf-2508.summary
-+++ b/pengine/test10/bug-lf-2508.summary
-@@ -39,7 +39,7 @@ Transition Summary:
- Executing cluster transition:
-  * Pseudo action:   Group01_start_0
-  * Resource action: prmStonith3-1:1 monitor=3600000 on srv01
-- * Fencing srv02
-+ * Fencing srv02 (reboot)
-  * Pseudo action:   stonith_complete
-  * Resource action: Dummy01         start on srv01
-  * Pseudo action:   Group02_stop_0
-diff --git a/pengine/test10/bug-lf-2551.summary b/pengine/test10/bug-lf-2551.summary
-index d299ee9..d362a23 100644
---- a/pengine/test10/bug-lf-2551.summary
-+++ b/pengine/test10/bug-lf-2551.summary
-@@ -102,7 +102,7 @@ Transition Summary:
- Executing cluster transition:
-  * Resource action: dummy1          monitor=300000 on hex-8
-  * Resource action: dummy1          monitor=300000 on hex-7
-- * Fencing hex-9
-+ * Fencing hex-9 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   load_stopped_hex-8
-  * Pseudo action:   load_stopped_hex-7
-diff --git a/pengine/test10/bug-lf-2606.summary b/pengine/test10/bug-lf-2606.summary
-index c03ed6a..baa0f3b 100644
---- a/pengine/test10/bug-lf-2606.summary
-+++ b/pengine/test10/bug-lf-2606.summary
-@@ -17,7 +17,7 @@ Transition Summary:
- 
- Executing cluster transition:
-  * Pseudo action:   ms3_demote_0
-- * Fencing node2
-+ * Fencing node2 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   rsc1_stop_0
-  * Pseudo action:   rsc2_stop_0
-diff --git a/pengine/test10/interleave-pseudo-stop.summary b/pengine/test10/interleave-pseudo-stop.summary
-index 7ac882d..ea86c4f 100644
---- a/pengine/test10/interleave-pseudo-stop.summary
-+++ b/pengine/test10/interleave-pseudo-stop.summary
-@@ -22,7 +22,7 @@ Executing cluster transition:
-  * Pseudo action:   evmscloneset_pre_notify_stop_0
-  * Pseudo action:   imagestorecloneset_pre_notify_stop_0
-  * Pseudo action:   configstorecloneset_pre_notify_stop_0
-- * Fencing node1
-+ * Fencing node1 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   stonithcloneset_stop_0
-  * Resource action: evmsclone:1     notify on node2
-diff --git a/pengine/test10/master-7.summary b/pengine/test10/master-7.summary
-index 5102290..81aeed7 100644
---- a/pengine/test10/master-7.summary
-+++ b/pengine/test10/master-7.summary
-@@ -55,7 +55,7 @@ Executing cluster transition:
-  * Resource action: ocf_msdummy:7   monitor on c001n03
-  * Resource action: ocf_msdummy:7   monitor on c001n02
-  * Pseudo action:   master_rsc_1_demote_0
-- * Fencing c001n01
-+ * Fencing c001n01 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Pseudo action:   DcIPaddr_stop_0
-diff --git a/pengine/test10/master-8.summary b/pengine/test10/master-8.summary
-index 8828bfe..e12f791 100644
---- a/pengine/test10/master-8.summary
-+++ b/pengine/test10/master-8.summary
-@@ -56,7 +56,7 @@ Executing cluster transition:
-  * Resource action: ocf_msdummy:7   monitor on c001n03
-  * Resource action: ocf_msdummy:7   monitor on c001n02
-  * Pseudo action:   master_rsc_1_demote_0
-- * Fencing c001n01
-+ * Fencing c001n01 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Pseudo action:   DcIPaddr_stop_0
-diff --git a/pengine/test10/migrate-fencing.summary b/pengine/test10/migrate-fencing.summary
-index 920e754..e8bcd45 100644
---- a/pengine/test10/migrate-fencing.summary
-+++ b/pengine/test10/migrate-fencing.summary
-@@ -36,7 +36,7 @@ Transition Summary:
- Executing cluster transition:
-  * Resource action: stateful-1:3    monitor=15000 on pcmk-3
-  * Resource action: stateful-1:2    monitor=15000 on pcmk-2
-- * Fencing pcmk-4
-+ * Fencing pcmk-4 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   Fencing_stop_0
-  * Pseudo action:   rsc_pcmk-4_stop_0
-diff --git a/pengine/test10/rec-node-11.summary b/pengine/test10/rec-node-11.summary
-index 5ba0c0d..d2ad78a 100644
---- a/pengine/test10/rec-node-11.summary
-+++ b/pengine/test10/rec-node-11.summary
-@@ -19,7 +19,7 @@ Executing cluster transition:
-  * Resource action: stonith-1       monitor on node2
-  * Resource action: rsc1            monitor on node2
-  * Resource action: rsc2            monitor on node2
-- * Fencing node1
-+ * Fencing node1 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Resource action: stonith-1       start on node2
-diff --git a/pengine/test10/rec-node-12.summary b/pengine/test10/rec-node-12.summary
-index eeccb53..4fd63b4 100644
---- a/pengine/test10/rec-node-12.summary
-+++ b/pengine/test10/rec-node-12.summary
-@@ -53,7 +53,7 @@ Executing cluster transition:
-  * Resource action: child_DoFencing:3 monitor on c001n03
-  * Resource action: child_DoFencing:3 monitor on c001n01
-  * Pseudo action:   DoFencing_start_0
-- * Fencing c001n02
-+ * Fencing c001n02 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Pseudo action:   all_stopped
-diff --git a/pengine/test10/rec-node-13.summary b/pengine/test10/rec-node-13.summary
-index 356b67d..82f210a 100644
---- a/pengine/test10/rec-node-13.summary
-+++ b/pengine/test10/rec-node-13.summary
-@@ -37,7 +37,7 @@ Transition Summary:
-  * Stop    ocf_msdummy:6	(c001n04)
- 
- Executing cluster transition:
-- * Fencing c001n04
-+ * Fencing c001n04 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   master_rsc_1_stop_0
-  * Pseudo action:   ocf_msdummy:6_stop_0
-diff --git a/pengine/test10/rec-node-14.summary b/pengine/test10/rec-node-14.summary
-index 231decd..d97d943 100644
---- a/pengine/test10/rec-node-14.summary
-+++ b/pengine/test10/rec-node-14.summary
-@@ -10,9 +10,9 @@ Node node3 (uuid3): UNCLEAN (offline)
- Transition Summary:
- 
- Executing cluster transition:
-- * Fencing node1
-- * Fencing node3
-- * Fencing node2
-+ * Fencing node1 (reboot)
-+ * Fencing node3 (reboot)
-+ * Fencing node2 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   all_stopped
- 
-diff --git a/pengine/test10/rec-node-15.summary b/pengine/test10/rec-node-15.summary
-index 570433c..85bfed5 100644
---- a/pengine/test10/rec-node-15.summary
-+++ b/pengine/test10/rec-node-15.summary
-@@ -36,7 +36,7 @@ Executing cluster transition:
-  * Resource action: stonith-1       monitor on sapcl01
-  * Pseudo action:   app02_stop_0
-  * Pseudo action:   oracle_start_0
-- * Fencing sapcl03
-+ * Fencing sapcl03 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Resource action: stonith-1       start on sapcl01
-diff --git a/pengine/test10/rec-node-2.summary b/pengine/test10/rec-node-2.summary
-index 645ef46..daa2879 100644
---- a/pengine/test10/rec-node-2.summary
-+++ b/pengine/test10/rec-node-2.summary
-@@ -32,7 +32,7 @@ Executing cluster transition:
-  * Pseudo action:   group2_start_0
-  * Resource action: rsc5            monitor on node2
-  * Resource action: rsc6            monitor on node2
-- * Fencing node1
-+ * Fencing node1 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Pseudo action:   all_stopped
-diff --git a/pengine/test10/rec-node-4.summary b/pengine/test10/rec-node-4.summary
-index 782c377..295da1d 100644
---- a/pengine/test10/rec-node-4.summary
-+++ b/pengine/test10/rec-node-4.summary
-@@ -16,7 +16,7 @@ Executing cluster transition:
-  * Resource action: stonith-1       monitor on node2
-  * Resource action: rsc1            monitor on node2
-  * Resource action: rsc2            monitor on node2
-- * Fencing node1
-+ * Fencing node1 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Resource action: stonith-1       start on node2
-diff --git a/pengine/test10/rec-node-6.summary b/pengine/test10/rec-node-6.summary
-index 2bd563b..300d61b 100644
---- a/pengine/test10/rec-node-6.summary
-+++ b/pengine/test10/rec-node-6.summary
-@@ -16,7 +16,7 @@ Executing cluster transition:
-  * Resource action: stonith-1       monitor on node2
-  * Resource action: rsc1            monitor on node2
-  * Resource action: rsc2            monitor on node2
-- * Fencing node1
-+ * Fencing node1 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Resource action: stonith-1       start on node2
-diff --git a/pengine/test10/rec-node-7.summary b/pengine/test10/rec-node-7.summary
-index 782c377..295da1d 100644
---- a/pengine/test10/rec-node-7.summary
-+++ b/pengine/test10/rec-node-7.summary
-@@ -16,7 +16,7 @@ Executing cluster transition:
-  * Resource action: stonith-1       monitor on node2
-  * Resource action: rsc1            monitor on node2
-  * Resource action: rsc2            monitor on node2
-- * Fencing node1
-+ * Fencing node1 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Resource action: stonith-1       start on node2
-diff --git a/pengine/test10/rec-rsc-5.summary b/pengine/test10/rec-rsc-5.summary
-index 9c9239b..549abe6 100644
---- a/pengine/test10/rec-rsc-5.summary
-+++ b/pengine/test10/rec-rsc-5.summary
-@@ -16,7 +16,7 @@ Executing cluster transition:
-  * Resource action: stonith-1       monitor on node1
-  * Resource action: rsc1            monitor on node1
-  * Resource action: rsc2            monitor on node1
-- * Fencing node2
-+ * Fencing node2 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Resource action: stonith-1       start on node1
-diff --git a/pengine/test10/stonith-0.summary b/pengine/test10/stonith-0.summary
-index 9330291..4ec1ff7 100644
---- a/pengine/test10/stonith-0.summary
-+++ b/pengine/test10/stonith-0.summary
-@@ -45,8 +45,8 @@ Transition Summary:
- 
- Executing cluster transition:
-  * Resource action: child_DoFencing:4 monitor=20000 on c001n08
-- * Fencing c001n05
-- * Fencing c001n03
-+ * Fencing c001n05 (reboot)
-+ * Fencing c001n03 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   group-1_stop_0
-  * Pseudo action:   ocf_192.168.100.183_stop_0
-diff --git a/pengine/test10/stonith-1.summary b/pengine/test10/stonith-1.summary
-index d3e81db..ed83ad7 100644
---- a/pengine/test10/stonith-1.summary
-+++ b/pengine/test10/stonith-1.summary
-@@ -44,7 +44,7 @@ Executing cluster transition:
-  * Resource action: lsb_dummy       monitor=5000 on sles-2
-  * Resource action: rsc_sles-2      monitor=5000 on sles-2
-  * Resource action: rsc_sles-4      monitor=5000 on sles-4
-- * Fencing sles-3
-+ * Fencing sles-3 (reboot)
-  * Pseudo action:   stonith_complete
-  * Resource action: r192.168.100.183 start on sles-1
-  * Pseudo action:   migrator_stop_0
-diff --git a/pengine/test10/stonith-2.summary b/pengine/test10/stonith-2.summary
-index f02dd74..169f44f 100644
---- a/pengine/test10/stonith-2.summary
-+++ b/pengine/test10/stonith-2.summary
-@@ -36,7 +36,7 @@ Transition Summary:
-  * Start   rsc_sles-5	(sles-6)
- 
- Executing cluster transition:
-- * Fencing sles-5
-+ * Fencing sles-5 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   all_stopped
-  * Resource action: rsc_sles-5      start on sles-6
-diff --git a/pengine/test10/stonith-3.summary b/pengine/test10/stonith-3.summary
-index b5b6d8a..095ce73 100644
---- a/pengine/test10/stonith-3.summary
-+++ b/pengine/test10/stonith-3.summary
-@@ -15,7 +15,7 @@ Executing cluster transition:
-  * Resource action: prmIpPostgreSQLDB monitor on rh5node2
-  * Resource action: prmStonith:0    monitor on rh5node2
-  * Pseudo action:   clnStonith_start_0
-- * Fencing rh5node1
-+ * Fencing rh5node1 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Pseudo action:   all_stopped
-diff --git a/pengine/test10/stonith-4.summary b/pengine/test10/stonith-4.summary
-index 1f87015..2e12deb 100644
---- a/pengine/test10/stonith-4.summary
-+++ b/pengine/test10/stonith-4.summary
-@@ -17,10 +17,10 @@ Transition Summary:
-  * Start   Fencing	(pcmk-1)
- 
- Executing cluster transition:
-- * Fencing pcmk-10
-- * Fencing pcmk-5
-- * Fencing pcmk-7
-- * Fencing pcmk-8
-+ * Fencing pcmk-10 (reboot)
-+ * Fencing pcmk-5 (reboot)
-+ * Fencing pcmk-7 (reboot)
-+ * Fencing pcmk-8 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   all_stopped
- Transition failed: terminated
-diff --git a/pengine/test10/stop-failure-no-quorum.summary b/pengine/test10/stop-failure-no-quorum.summary
-index 49a0f54..d57bdc6 100644
---- a/pengine/test10/stop-failure-no-quorum.summary
-+++ b/pengine/test10/stop-failure-no-quorum.summary
-@@ -22,7 +22,7 @@ Transition Summary:
-  * Start   Fencing	(pcmk-1 - blocked)
- 
- Executing cluster transition:
-- * Fencing pcmk-2
-+ * Fencing pcmk-2 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   clvm-clone_stop_0
-  * Pseudo action:   clvm_stop_0
-diff --git a/pengine/test10/stop-failure-with-fencing.summary b/pengine/test10/stop-failure-with-fencing.summary
-index 0473b80..de74dbc 100644
---- a/pengine/test10/stop-failure-with-fencing.summary
-+++ b/pengine/test10/stop-failure-with-fencing.summary
-@@ -22,7 +22,7 @@ Transition Summary:
- 
- Executing cluster transition:
-  * Resource action: Fencing         monitor on pcmk-1
-- * Fencing pcmk-2
-+ * Fencing pcmk-2 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Pseudo action:   clvm-clone_stop_0
-diff --git a/pengine/test10/systemhealth1.summary b/pengine/test10/systemhealth1.summary
-index 49c6579..bbdbcaf 100644
---- a/pengine/test10/systemhealth1.summary
-+++ b/pengine/test10/systemhealth1.summary
-@@ -10,8 +10,8 @@ Node hs21d (737318c6-0f92-4592-9754-45967d45aff7): UNCLEAN (offline)
- Transition Summary:
- 
- Executing cluster transition:
-- * Fencing hs21d
-- * Fencing hs21c
-+ * Fencing hs21d (reboot)
-+ * Fencing hs21c (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   all_stopped
- 
-diff --git a/pengine/test10/systemhealth2.summary b/pengine/test10/systemhealth2.summary
-index dfdfa02..0ca09d0 100644
---- a/pengine/test10/systemhealth2.summary
-+++ b/pengine/test10/systemhealth2.summary
-@@ -16,7 +16,7 @@ Executing cluster transition:
-  * Resource action: stonith-1       monitor on hs21c
-  * Resource action: apache_1        monitor on hs21c
-  * Resource action: nfs_1           monitor on hs21c
-- * Fencing hs21d
-+ * Fencing hs21d (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Pseudo action:   all_stopped
-diff --git a/pengine/test10/systemhealth3.summary b/pengine/test10/systemhealth3.summary
-index dfdfa02..0ca09d0 100644
---- a/pengine/test10/systemhealth3.summary
-+++ b/pengine/test10/systemhealth3.summary
-@@ -16,7 +16,7 @@ Executing cluster transition:
-  * Resource action: stonith-1       monitor on hs21c
-  * Resource action: apache_1        monitor on hs21c
-  * Resource action: nfs_1           monitor on hs21c
-- * Fencing hs21d
-+ * Fencing hs21d (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Pseudo action:   all_stopped
-diff --git a/pengine/test10/systemhealthm1.summary b/pengine/test10/systemhealthm1.summary
-index 49c6579..bbdbcaf 100644
---- a/pengine/test10/systemhealthm1.summary
-+++ b/pengine/test10/systemhealthm1.summary
-@@ -10,8 +10,8 @@ Node hs21d (737318c6-0f92-4592-9754-45967d45aff7): UNCLEAN (offline)
- Transition Summary:
- 
- Executing cluster transition:
-- * Fencing hs21d
-- * Fencing hs21c
-+ * Fencing hs21d (reboot)
-+ * Fencing hs21c (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   all_stopped
- 
-diff --git a/pengine/test10/systemhealthm2.summary b/pengine/test10/systemhealthm2.summary
-index dfdfa02..0ca09d0 100644
---- a/pengine/test10/systemhealthm2.summary
-+++ b/pengine/test10/systemhealthm2.summary
-@@ -16,7 +16,7 @@ Executing cluster transition:
-  * Resource action: stonith-1       monitor on hs21c
-  * Resource action: apache_1        monitor on hs21c
-  * Resource action: nfs_1           monitor on hs21c
-- * Fencing hs21d
-+ * Fencing hs21d (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Pseudo action:   all_stopped
-diff --git a/pengine/test10/systemhealthm3.summary b/pengine/test10/systemhealthm3.summary
-index 6964943..7fcab05 100644
---- a/pengine/test10/systemhealthm3.summary
-+++ b/pengine/test10/systemhealthm3.summary
-@@ -13,7 +13,7 @@ Executing cluster transition:
-  * Resource action: stonith-1       monitor on hs21c
-  * Resource action: apache_1        monitor on hs21c
-  * Resource action: nfs_1           monitor on hs21c
-- * Fencing hs21d
-+ * Fencing hs21d (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Pseudo action:   all_stopped
-diff --git a/pengine/test10/systemhealthn1.summary b/pengine/test10/systemhealthn1.summary
-index 49c6579..bbdbcaf 100644
---- a/pengine/test10/systemhealthn1.summary
-+++ b/pengine/test10/systemhealthn1.summary
-@@ -10,8 +10,8 @@ Node hs21d (737318c6-0f92-4592-9754-45967d45aff7): UNCLEAN (offline)
- Transition Summary:
- 
- Executing cluster transition:
-- * Fencing hs21d
-- * Fencing hs21c
-+ * Fencing hs21d (reboot)
-+ * Fencing hs21c (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   all_stopped
- 
-diff --git a/pengine/test10/systemhealthn2.summary b/pengine/test10/systemhealthn2.summary
-index dfdfa02..0ca09d0 100644
---- a/pengine/test10/systemhealthn2.summary
-+++ b/pengine/test10/systemhealthn2.summary
-@@ -16,7 +16,7 @@ Executing cluster transition:
-  * Resource action: stonith-1       monitor on hs21c
-  * Resource action: apache_1        monitor on hs21c
-  * Resource action: nfs_1           monitor on hs21c
-- * Fencing hs21d
-+ * Fencing hs21d (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Pseudo action:   all_stopped
-diff --git a/pengine/test10/systemhealthn3.summary b/pengine/test10/systemhealthn3.summary
-index dfdfa02..0ca09d0 100644
---- a/pengine/test10/systemhealthn3.summary
-+++ b/pengine/test10/systemhealthn3.summary
-@@ -16,7 +16,7 @@ Executing cluster transition:
-  * Resource action: stonith-1       monitor on hs21c
-  * Resource action: apache_1        monitor on hs21c
-  * Resource action: nfs_1           monitor on hs21c
-- * Fencing hs21d
-+ * Fencing hs21d (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Pseudo action:   all_stopped
-diff --git a/pengine/test10/systemhealtho1.summary b/pengine/test10/systemhealtho1.summary
-index 49c6579..bbdbcaf 100644
---- a/pengine/test10/systemhealtho1.summary
-+++ b/pengine/test10/systemhealtho1.summary
-@@ -10,8 +10,8 @@ Node hs21d (737318c6-0f92-4592-9754-45967d45aff7): UNCLEAN (offline)
- Transition Summary:
- 
- Executing cluster transition:
-- * Fencing hs21d
-- * Fencing hs21c
-+ * Fencing hs21d (reboot)
-+ * Fencing hs21c (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   all_stopped
- 
-diff --git a/pengine/test10/systemhealtho2.summary b/pengine/test10/systemhealtho2.summary
-index 6964943..7fcab05 100644
---- a/pengine/test10/systemhealtho2.summary
-+++ b/pengine/test10/systemhealtho2.summary
-@@ -13,7 +13,7 @@ Executing cluster transition:
-  * Resource action: stonith-1       monitor on hs21c
-  * Resource action: apache_1        monitor on hs21c
-  * Resource action: nfs_1           monitor on hs21c
-- * Fencing hs21d
-+ * Fencing hs21d (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Pseudo action:   all_stopped
-diff --git a/pengine/test10/systemhealtho3.summary b/pengine/test10/systemhealtho3.summary
-index 6964943..7fcab05 100644
---- a/pengine/test10/systemhealtho3.summary
-+++ b/pengine/test10/systemhealtho3.summary
-@@ -13,7 +13,7 @@ Executing cluster transition:
-  * Resource action: stonith-1       monitor on hs21c
-  * Resource action: apache_1        monitor on hs21c
-  * Resource action: nfs_1           monitor on hs21c
-- * Fencing hs21d
-+ * Fencing hs21d (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Pseudo action:   all_stopped
-diff --git a/pengine/test10/systemhealthp1.summary b/pengine/test10/systemhealthp1.summary
-index 49c6579..bbdbcaf 100644
---- a/pengine/test10/systemhealthp1.summary
-+++ b/pengine/test10/systemhealthp1.summary
-@@ -10,8 +10,8 @@ Node hs21d (737318c6-0f92-4592-9754-45967d45aff7): UNCLEAN (offline)
- Transition Summary:
- 
- Executing cluster transition:
-- * Fencing hs21d
-- * Fencing hs21c
-+ * Fencing hs21d (reboot)
-+ * Fencing hs21c (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   all_stopped
- 
-diff --git a/pengine/test10/systemhealthp2.summary b/pengine/test10/systemhealthp2.summary
-index f01150f..12a888c 100644
---- a/pengine/test10/systemhealthp2.summary
-+++ b/pengine/test10/systemhealthp2.summary
-@@ -15,7 +15,7 @@ Executing cluster transition:
-  * Resource action: stonith-1       monitor on hs21c
-  * Resource action: apache_1        monitor on hs21c
-  * Resource action: nfs_1           monitor on hs21c
-- * Fencing hs21d
-+ * Fencing hs21d (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Pseudo action:   all_stopped
-diff --git a/pengine/test10/systemhealthp3.summary b/pengine/test10/systemhealthp3.summary
-index 6964943..7fcab05 100644
---- a/pengine/test10/systemhealthp3.summary
-+++ b/pengine/test10/systemhealthp3.summary
-@@ -13,7 +13,7 @@ Executing cluster transition:
-  * Resource action: stonith-1       monitor on hs21c
-  * Resource action: apache_1        monitor on hs21c
-  * Resource action: nfs_1           monitor on hs21c
-- * Fencing hs21d
-+ * Fencing hs21d (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   probe_complete
-  * Pseudo action:   all_stopped
-diff --git a/pengine/test10/ticket-clone-21.summary b/pengine/test10/ticket-clone-21.summary
-index 7973159..5ae23ec 100644
---- a/pengine/test10/ticket-clone-21.summary
-+++ b/pengine/test10/ticket-clone-21.summary
-@@ -12,9 +12,9 @@ Transition Summary:
-  * Stop    rsc1:1	(node2)
- 
- Executing cluster transition:
-- * Fencing node1
-+ * Fencing node1 (reboot)
-  * Pseudo action:   rsc_stonith_stop_0
-- * Fencing node2
-+ * Fencing node2 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   clone1_stop_0
-  * Pseudo action:   rsc1:1_stop_0
-diff --git a/pengine/test10/ticket-clone-9.summary b/pengine/test10/ticket-clone-9.summary
-index 7973159..5ae23ec 100644
---- a/pengine/test10/ticket-clone-9.summary
-+++ b/pengine/test10/ticket-clone-9.summary
-@@ -12,9 +12,9 @@ Transition Summary:
-  * Stop    rsc1:1	(node2)
- 
- Executing cluster transition:
-- * Fencing node1
-+ * Fencing node1 (reboot)
-  * Pseudo action:   rsc_stonith_stop_0
-- * Fencing node2
-+ * Fencing node2 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   clone1_stop_0
-  * Pseudo action:   rsc1:1_stop_0
-diff --git a/pengine/test10/ticket-group-21.summary b/pengine/test10/ticket-group-21.summary
-index c0783e0..9027d2c 100644
---- a/pengine/test10/ticket-group-21.summary
-+++ b/pengine/test10/ticket-group-21.summary
-@@ -12,7 +12,7 @@ Transition Summary:
-  * Stop    rsc2	(node2)
- 
- Executing cluster transition:
-- * Fencing node2
-+ * Fencing node2 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   group1_stop_0
-  * Pseudo action:   rsc2_stop_0
-diff --git a/pengine/test10/ticket-group-9.summary b/pengine/test10/ticket-group-9.summary
-index c0783e0..9027d2c 100644
---- a/pengine/test10/ticket-group-9.summary
-+++ b/pengine/test10/ticket-group-9.summary
-@@ -12,7 +12,7 @@ Transition Summary:
-  * Stop    rsc2	(node2)
- 
- Executing cluster transition:
-- * Fencing node2
-+ * Fencing node2 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   group1_stop_0
-  * Pseudo action:   rsc2_stop_0
-diff --git a/pengine/test10/ticket-master-21.summary b/pengine/test10/ticket-master-21.summary
-index ca5bf84..64a9cbe 100644
---- a/pengine/test10/ticket-master-21.summary
-+++ b/pengine/test10/ticket-master-21.summary
-@@ -13,7 +13,7 @@ Transition Summary:
- 
- Executing cluster transition:
-  * Pseudo action:   ms1_demote_0
-- * Fencing node1
-+ * Fencing node1 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   rsc_stonith_stop_0
-  * Pseudo action:   rsc1:1_demote_0
-diff --git a/pengine/test10/ticket-master-9.summary b/pengine/test10/ticket-master-9.summary
-index ca5bf84..64a9cbe 100644
---- a/pengine/test10/ticket-master-9.summary
-+++ b/pengine/test10/ticket-master-9.summary
-@@ -13,7 +13,7 @@ Transition Summary:
- 
- Executing cluster transition:
-  * Pseudo action:   ms1_demote_0
-- * Fencing node1
-+ * Fencing node1 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   rsc_stonith_stop_0
-  * Pseudo action:   rsc1:1_demote_0
-diff --git a/pengine/test10/ticket-primitive-21.summary b/pengine/test10/ticket-primitive-21.summary
-index 3afd279..6c523fe 100644
---- a/pengine/test10/ticket-primitive-21.summary
-+++ b/pengine/test10/ticket-primitive-21.summary
-@@ -9,7 +9,7 @@ Transition Summary:
-  * Stop    rsc1	(node2)
- 
- Executing cluster transition:
-- * Fencing node2
-+ * Fencing node2 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   rsc1_stop_0
-  * Pseudo action:   all_stopped
-diff --git a/pengine/test10/ticket-primitive-9.summary b/pengine/test10/ticket-primitive-9.summary
-index 3afd279..6c523fe 100644
---- a/pengine/test10/ticket-primitive-9.summary
-+++ b/pengine/test10/ticket-primitive-9.summary
-@@ -9,7 +9,7 @@ Transition Summary:
-  * Stop    rsc1	(node2)
- 
- Executing cluster transition:
-- * Fencing node2
-+ * Fencing node2 (reboot)
-  * Pseudo action:   stonith_complete
-  * Pseudo action:   rsc1_stop_0
-  * Pseudo action:   all_stopped
-diff --git a/tools/crm_simulate.c b/tools/crm_simulate.c
-index 9d20cdd..e81d4ee 100644
---- a/tools/crm_simulate.c
-+++ b/tools/crm_simulate.c
-@@ -497,31 +497,36 @@ exec_crmd_action(crm_graph_t * graph, crm_action_t * action)
- static gboolean
- exec_stonith_action(crm_graph_t * graph, crm_action_t * action)
- {
--    int rc = 0;
--    char xpath[STATUS_PATH_MAX];
-+    const char *op = crm_meta_value(action->params, "stonith_action");
-     char *target = crm_element_value_copy(action->xml, XML_LRM_ATTR_TARGET);
--    xmlNode *cib_node = modify_node(global_cib, target, FALSE);
- 
--    crm_xml_add(cib_node, XML_ATTR_ORIGIN, __FUNCTION__);
--    CRM_ASSERT(cib_node != NULL);
-+    quiet_log(" * Fencing %s (%s)\n", target, op);
-+    if(safe_str_neq(op, "on")) {
-+        int rc = 0;
-+        char xpath[STATUS_PATH_MAX];
-+        xmlNode *cib_node = modify_node(global_cib, target, FALSE);
- 
--    quiet_log(" * Fencing %s\n", target);
--    rc = global_cib->cmds->replace(global_cib, XML_CIB_TAG_STATUS, cib_node,
-+        crm_xml_add(cib_node, XML_ATTR_ORIGIN, __FUNCTION__);
-+        CRM_ASSERT(cib_node != NULL);
-+
-+        rc = global_cib->cmds->replace(global_cib, XML_CIB_TAG_STATUS, cib_node,
-                                    cib_sync_call | cib_scope_local);
--    CRM_ASSERT(rc == pcmk_ok);
-+        CRM_ASSERT(rc == pcmk_ok);
- 
--    snprintf(xpath, STATUS_PATH_MAX, "//node_state[@uname='%s']/%s", target, XML_CIB_TAG_LRM);
--    rc = global_cib->cmds->delete(global_cib, xpath, NULL,
--                                  cib_xpath | cib_sync_call | cib_scope_local);
-+        snprintf(xpath, STATUS_PATH_MAX, "//node_state[@uname='%s']/%s", target, XML_CIB_TAG_LRM);
-+        rc = global_cib->cmds->delete(global_cib, xpath, NULL,
-+                                      cib_xpath | cib_sync_call | cib_scope_local);
- 
--    snprintf(xpath, STATUS_PATH_MAX, "//node_state[@uname='%s']/%s", target,
--             XML_TAG_TRANSIENT_NODEATTRS);
--    rc = global_cib->cmds->delete(global_cib, xpath, NULL,
--                                  cib_xpath | cib_sync_call | cib_scope_local);
-+        snprintf(xpath, STATUS_PATH_MAX, "//node_state[@uname='%s']/%s", target,
-+                 XML_TAG_TRANSIENT_NODEATTRS);
-+        rc = global_cib->cmds->delete(global_cib, xpath, NULL,
-+                                      cib_xpath | cib_sync_call | cib_scope_local);
-+
-+        free_xml(cib_node);
-+    }
- 
-     action->confirmed = TRUE;
-     update_graph(graph, action);
--    free_xml(cib_node);
-     free(target);
-     return TRUE;
- }
diff --git a/SOURCES/bz1078078-pcmk-pe_indicate_the_type_of_fencing_in_the_fencing_operation_key.patch b/SOURCES/bz1078078-pcmk-pe_indicate_the_type_of_fencing_in_the_fencing_operation_key.patch
deleted file mode 100644
index af405dc..0000000
--- a/SOURCES/bz1078078-pcmk-pe_indicate_the_type_of_fencing_in_the_fencing_operation_key.patch
+++ /dev/null
@@ -1,3230 +0,0 @@
-commit cce2536efbed5b3bed24e6ad13532dc4db55d4ae
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Tue Apr 1 15:13:21 2014 +1100
-
-    Refactor: PE: Indicate the type of fencing in the fencing operation key
-    
-    (cherry picked from commit 22dbe7cdda718563d02f65b0009b1984497a0947)
-    
-    Conflicts:
-    	pengine/test10/594.exp
-    	pengine/test10/829.exp
-    	pengine/test10/bug-5186-partial-migrate.exp
-    	pengine/test10/bug-lf-2508.exp
-    	pengine/test10/bug-lf-2551.exp
-    	pengine/test10/bug-lf-2606.exp
-    	pengine/test10/interleave-pseudo-stop.exp
-    	pengine/test10/master-7.exp
-    	pengine/test10/master-8.exp
-    	pengine/test10/migrate-fencing.exp
-    	pengine/test10/rec-node-11.exp
-    	pengine/test10/rec-node-12.exp
-    	pengine/test10/rec-node-13.exp
-    	pengine/test10/rec-node-14.exp
-    	pengine/test10/rec-node-15.exp
-    	pengine/test10/rec-node-2.exp
-    	pengine/test10/rec-node-4.exp
-    	pengine/test10/rec-node-6.exp
-    	pengine/test10/rec-node-7.exp
-    	pengine/test10/rec-rsc-5.exp
-    	pengine/test10/remote-fence-unclean.exp
-    	pengine/test10/stonith-0.exp
-    	pengine/test10/stonith-1.exp
-    	pengine/test10/stonith-2.exp
-    	pengine/test10/stonith-3.exp
-    	pengine/test10/stonith-4.exp
-    	pengine/test10/stop-failure-no-quorum.exp
-    	pengine/test10/stop-failure-with-fencing.exp
-    	pengine/test10/systemhealth1.exp
-    	pengine/test10/systemhealth2.exp
-    	pengine/test10/systemhealth3.exp
-    	pengine/test10/systemhealthm1.exp
-    	pengine/test10/systemhealthm2.exp
-    	pengine/test10/systemhealthm3.exp
-    	pengine/test10/systemhealthn1.exp
-    	pengine/test10/systemhealthn2.exp
-    	pengine/test10/systemhealthn3.exp
-    	pengine/test10/systemhealtho1.exp
-    	pengine/test10/systemhealtho2.exp
-    	pengine/test10/systemhealtho3.exp
-    	pengine/test10/systemhealthp1.exp
-    	pengine/test10/systemhealthp2.exp
-    	pengine/test10/systemhealthp3.exp
-    	pengine/test10/ticket-clone-21.exp
-    	pengine/test10/ticket-clone-9.exp
-    	pengine/test10/ticket-group-21.exp
-    	pengine/test10/ticket-group-9.exp
-    	pengine/test10/ticket-master-21.exp
-    	pengine/test10/ticket-master-9.exp
-    	pengine/test10/ticket-primitive-21.exp
-    	pengine/test10/ticket-primitive-9.exp
-
-diff --git a/pengine/allocate.c b/pengine/allocate.c
-index e535b84..a8e5412 100644
---- a/pengine/allocate.c
-+++ b/pengine/allocate.c
-@@ -1265,15 +1265,21 @@ any_managed_resources(pe_working_set_t * data_set)
- action_t *
- pe_fence_op(node_t * node, const char *op, pe_working_set_t * data_set)
- {
--    action_t *stonith_op =
--        custom_action(NULL, g_strdup_printf("%s-%s", CRM_OP_FENCE, node->details->uname),
--                      CRM_OP_FENCE, node, FALSE, TRUE, data_set);
-+    action_t *stonith_op = NULL;
-+
-+    if(op == NULL) {
-+        op = data_set->stonith_action;
-+    }
-+
-+    stonith_op = custom_action(
-+        NULL, g_strdup_printf("%s-%s-%s", CRM_OP_FENCE, node->details->uname, op),
-+        CRM_OP_FENCE, node, FALSE, TRUE, data_set);
- 
-     add_hash_param(stonith_op->meta, XML_LRM_ATTR_TARGET, node->details->uname);
- 
-     add_hash_param(stonith_op->meta, XML_LRM_ATTR_TARGET_UUID, node->details->id);
- 
--    add_hash_param(stonith_op->meta, "stonith_action", op ? op : data_set->stonith_action);
-+    add_hash_param(stonith_op->meta, "stonith_action", op);
- 
-     return stonith_op;
- }
-diff --git a/pengine/test10/594.exp b/pengine/test10/594.exp
-index 5cb6931..f1e77f8 100644
---- a/pengine/test10/594.exp
-+++ b/pengine/test10/594.exp
-@@ -183,7 +183,7 @@
-   </synapse>
-   <synapse id="15">
-     <action_set>
--      <crm_event id="37" operation="stonith" operation_key="stonith-hadev3" on_node="hadev3" on_node_uuid="879e65f8-4b38-4c56-9552-4752ad436669">
-+      <crm_event id="37" operation="stonith" operation_key="stonith-hadev3-reboot" on_node="hadev3" on_node_uuid="879e65f8-4b38-4c56-9552-4752ad436669">
-         <attributes CRM_meta_on_node="hadev3" CRM_meta_on_node_uuid="879e65f8-4b38-4c56-9552-4752ad436669" CRM_meta_probe_complete="true" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -215,7 +215,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="37" operation="stonith" operation_key="stonith-hadev3" on_node="hadev3" on_node_uuid="879e65f8-4b38-4c56-9552-4752ad436669"/>
-+        <crm_event id="37" operation="stonith" operation_key="stonith-hadev3-reboot" on_node="hadev3" on_node_uuid="879e65f8-4b38-4c56-9552-4752ad436669"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/829.exp b/pengine/test10/829.exp
-index 4562aed..749014f 100644
---- a/pengine/test10/829.exp
-+++ b/pengine/test10/829.exp
-@@ -78,7 +78,7 @@
-         <pseudo_event id="9" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-       <trigger>
--        <crm_event id="53" operation="stonith" operation_key="stonith-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <crm_event id="53" operation="stonith" operation_key="stonith-c001n02-reboot" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -159,7 +159,7 @@
-         <pseudo_event id="50" operation="stop" operation_key="DoFencing_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="53" operation="stonith" operation_key="stonith-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <crm_event id="53" operation="stonith" operation_key="stonith-c001n02-reboot" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -240,13 +240,13 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="53" operation="stonith" operation_key="stonith-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <crm_event id="53" operation="stonith" operation_key="stonith-c001n02-reboot" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="23">
-     <action_set>
--      <crm_event id="53" operation="stonith" operation_key="stonith-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <crm_event id="53" operation="stonith" operation_key="stonith-c001n02-reboot" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_on_node="c001n02" CRM_meta_on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f" CRM_meta_probe_complete="true" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -260,7 +260,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="53" operation="stonith" operation_key="stonith-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <crm_event id="53" operation="stonith" operation_key="stonith-c001n02-reboot" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/bug-5186-partial-migrate.exp b/pengine/test10/bug-5186-partial-migrate.exp
-new file mode 100644
-index 0000000..7e10e3a
---- /dev/null
-+++ b/pengine/test10/bug-5186-partial-migrate.exp
-@@ -0,0 +1,425 @@
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
-+  <synapse id="0">
-+    <action_set>
-+      <rsc_op id="17" operation="start" operation_key="prmDummy_start_0" on_node="bl460g1n6" on_node_uuid="3232261592">
-+        <primitive id="prmDummy" class="ocf" provider="pacemaker" type="Dummy"/>
-+        <attributes CRM_meta_record_pending="true" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="16" operation="stop" operation_key="prmDummy_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="74" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="1">
-+    <action_set>
-+      <pseudo_event id="16" operation="stop" operation_key="prmDummy_stop_0">
-+        <attributes CRM_meta_record_pending="true" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <crm_event id="75" operation="stonith" operation_key="stonith-bl460g1n7-reboot" on_node="bl460g1n7" on_node_uuid="3232261593"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="2">
-+    <action_set>
-+      <rsc_op id="20" operation="monitor" operation_key="prmVM2_monitor_10000" on_node="bl460g1n8" on_node_uuid="3232261594">
-+        <primitive id="prmVM2" class="ocf" provider="heartbeat" type="VirtualDomain"/>
-+        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_on_fail="restart" CRM_meta_record_pending="true" CRM_meta_timeout="30000" config="/migrate_test/config/vm2.xml"  hypervisor="qemu:///system" migration_transport="ssh"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="19" operation="start" operation_key="prmVM2_start_0" on_node="bl460g1n8" on_node_uuid="3232261594"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="3">
-+    <action_set>
-+      <rsc_op id="19" operation="start" operation_key="prmVM2_start_0" on_node="bl460g1n8" on_node_uuid="3232261594">
-+        <primitive id="prmVM2" class="ocf" provider="heartbeat" type="VirtualDomain"/>
-+        <attributes CRM_meta_name="start" CRM_meta_on_fail="restart" CRM_meta_record_pending="true" CRM_meta_timeout="120000" config="/migrate_test/config/vm2.xml"  hypervisor="qemu:///system" migration_transport="ssh"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="1" operation="stop" operation_key="prmVM2_stop_0" on_node="bl460g1n6" on_node_uuid="3232261592"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="18" operation="stop" operation_key="prmVM2_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="74" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="4">
-+    <action_set>
-+      <pseudo_event id="18" operation="stop" operation_key="prmVM2_stop_0">
-+        <attributes CRM_meta_name="stop" CRM_meta_on_fail="fence" CRM_meta_record_pending="true" CRM_meta_timeout="120000" config="/migrate_test/config/vm2.xml"  hypervisor="qemu:///system" migration_transport="ssh"/>
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <crm_event id="75" operation="stonith" operation_key="stonith-bl460g1n7-reboot" on_node="bl460g1n7" on_node_uuid="3232261593"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="5">
-+    <action_set>
-+      <rsc_op id="1" operation="stop" operation_key="prmVM2_stop_0" on_node="bl460g1n6" on_node_uuid="3232261592">
-+        <primitive id="prmVM2" class="ocf" provider="heartbeat" type="VirtualDomain"/>
-+        <attributes CRM_meta_name="stop" CRM_meta_on_fail="fence" CRM_meta_record_pending="true" CRM_meta_timeout="120000" config="/migrate_test/config/vm2.xml"  hypervisor="qemu:///system" migration_transport="ssh"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="6">
-+    <action_set>
-+      <pseudo_event id="46" operation="stopped" operation_key="grpStonith8_stopped_0">
-+        <attributes CRM_meta_record_pending="true" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="37" operation="stop" operation_key="prmStonith8-1_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="40" operation="stop" operation_key="prmStonith8-2_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="45" operation="stop" operation_key="grpStonith8_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="7">
-+    <action_set>
-+      <pseudo_event id="45" operation="stop" operation_key="grpStonith8_stop_0">
-+        <attributes CRM_meta_record_pending="true" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <crm_event id="75" operation="stonith" operation_key="stonith-bl460g1n7-reboot" on_node="bl460g1n7" on_node_uuid="3232261593"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="8">
-+    <action_set>
-+      <pseudo_event id="44" operation="running" operation_key="grpStonith8_running_0">
-+        <attributes CRM_meta_record_pending="true" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="38" operation="start" operation_key="prmStonith8-1_start_0" on_node="bl460g1n6" on_node_uuid="3232261592"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="41" operation="start" operation_key="prmStonith8-2_start_0" on_node="bl460g1n6" on_node_uuid="3232261592"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="43" operation="start" operation_key="grpStonith8_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="9">
-+    <action_set>
-+      <pseudo_event id="43" operation="start" operation_key="grpStonith8_start_0">
-+        <attributes CRM_meta_record_pending="true" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="46" operation="stopped" operation_key="grpStonith8_stopped_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="10">
-+    <action_set>
-+      <rsc_op id="39" operation="monitor" operation_key="prmStonith8-1_monitor_10000" on_node="bl460g1n6" on_node_uuid="3232261592">
-+        <primitive id="prmStonith8-1" class="stonith" type="external/stonith-helper"/>
-+        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_on_fail="restart" CRM_meta_record_pending="true" CRM_meta_timeout="60000"  dead_check_target="192.168.133.218 192.168.101.218 192.168.102.218 192.168.201.218 192.168.133.238" hostlist="bl460g1n8" pcmk_reboot_retries="1" pcmk_reboot_timeout="40s" run_standby_wait="no"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="38" operation="start" operation_key="prmStonith8-1_start_0" on_node="bl460g1n6" on_node_uuid="3232261592"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="11">
-+    <action_set>
-+      <rsc_op id="38" operation="start" operation_key="prmStonith8-1_start_0" on_node="bl460g1n6" on_node_uuid="3232261592">
-+        <primitive id="prmStonith8-1" class="stonith" type="external/stonith-helper"/>
-+        <attributes CRM_meta_name="start" CRM_meta_on_fail="restart" CRM_meta_record_pending="true" CRM_meta_timeout="60000"  dead_check_target="192.168.133.218 192.168.101.218 192.168.102.218 192.168.201.218 192.168.133.238" hostlist="bl460g1n8" pcmk_reboot_retries="1" pcmk_reboot_timeout="40s" run_standby_wait="no"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="37" operation="stop" operation_key="prmStonith8-1_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="43" operation="start" operation_key="grpStonith8_start_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="74" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="12">
-+    <action_set>
-+      <pseudo_event id="37" operation="stop" operation_key="prmStonith8-1_stop_0">
-+        <attributes CRM_meta_name="stop" CRM_meta_on_fail="ignore" CRM_meta_record_pending="true" CRM_meta_timeout="60000"  dead_check_target="192.168.133.218 192.168.101.218 192.168.102.218 192.168.201.218 192.168.133.238" hostlist="bl460g1n8" pcmk_reboot_retries="1" pcmk_reboot_timeout="40s" run_standby_wait="no"/>
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="40" operation="stop" operation_key="prmStonith8-2_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="45" operation="stop" operation_key="grpStonith8_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <crm_event id="75" operation="stonith" operation_key="stonith-bl460g1n7-reboot" on_node="bl460g1n7" on_node_uuid="3232261593"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="13">
-+    <action_set>
-+      <rsc_op id="42" operation="monitor" operation_key="prmStonith8-2_monitor_3600000" on_node="bl460g1n6" on_node_uuid="3232261592">
-+        <primitive id="prmStonith8-2" class="stonith" type="external/ipmi"/>
-+        <attributes CRM_meta_interval="3600000" CRM_meta_name="monitor" CRM_meta_on_fail="restart" CRM_meta_record_pending="true" CRM_meta_timeout="60000"  hostname="bl460g1n8" interface="lanplus" ipaddr="192.168.133.238" passwd="PASSW0RD" pcmk_reboot_retries="1" pcmk_reboot_timeout="60s" userid="USERID"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="41" operation="start" operation_key="prmStonith8-2_start_0" on_node="bl460g1n6" on_node_uuid="3232261592"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="14">
-+    <action_set>
-+      <rsc_op id="41" operation="start" operation_key="prmStonith8-2_start_0" on_node="bl460g1n6" on_node_uuid="3232261592">
-+        <primitive id="prmStonith8-2" class="stonith" type="external/ipmi"/>
-+        <attributes CRM_meta_name="start" CRM_meta_on_fail="restart" CRM_meta_record_pending="true" CRM_meta_timeout="60000"  hostname="bl460g1n8" interface="lanplus" ipaddr="192.168.133.238" passwd="PASSW0RD" pcmk_reboot_retries="1" pcmk_reboot_timeout="60s" userid="USERID"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="38" operation="start" operation_key="prmStonith8-1_start_0" on_node="bl460g1n6" on_node_uuid="3232261592"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="40" operation="stop" operation_key="prmStonith8-2_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="43" operation="start" operation_key="grpStonith8_start_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="74" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="15">
-+    <action_set>
-+      <pseudo_event id="40" operation="stop" operation_key="prmStonith8-2_stop_0">
-+        <attributes CRM_meta_name="stop" CRM_meta_on_fail="ignore" CRM_meta_record_pending="true" CRM_meta_timeout="60000"  hostname="bl460g1n8" interface="lanplus" ipaddr="192.168.133.238" passwd="PASSW0RD" pcmk_reboot_retries="1" pcmk_reboot_timeout="60s" userid="USERID"/>
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="45" operation="stop" operation_key="grpStonith8_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <crm_event id="75" operation="stonith" operation_key="stonith-bl460g1n7-reboot" on_node="bl460g1n7" on_node_uuid="3232261593"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="16">
-+    <action_set>
-+      <pseudo_event id="47" operation="stop" operation_key="prmDiskd1_stop_0" internal_operation_key="prmDiskd1:0_stop_0">
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_on_fail="ignore" CRM_meta_record_pending="true" CRM_meta_timeout="60000"  device="/dev/mapper/lun1" interval="10" name="diskcheck_status" options="-e"/>
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="54" operation="stop" operation_key="clnDiskd1_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <crm_event id="75" operation="stonith" operation_key="stonith-bl460g1n7-reboot" on_node="bl460g1n7" on_node_uuid="3232261593"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="17" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="55" operation="stopped" operation_key="clnDiskd1_stopped_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_record_pending="true" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="47" operation="stop" operation_key="prmDiskd1_stop_0" internal_operation_key="prmDiskd1:0_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="54" operation="stop" operation_key="clnDiskd1_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="18">
-+    <action_set>
-+      <pseudo_event id="54" operation="stop" operation_key="clnDiskd1_stop_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_record_pending="true" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <crm_event id="75" operation="stonith" operation_key="stonith-bl460g1n7-reboot" on_node="bl460g1n7" on_node_uuid="3232261593"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="19">
-+    <action_set>
-+      <pseudo_event id="56" operation="stop" operation_key="prmDiskd2_stop_0" internal_operation_key="prmDiskd2:0_stop_0">
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_on_fail="ignore" CRM_meta_record_pending="true" CRM_meta_timeout="60000"  interval="10" name="diskcheck_status_internal" write_dir="/tmp/tmp2"/>
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="63" operation="stop" operation_key="clnDiskd2_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <crm_event id="75" operation="stonith" operation_key="stonith-bl460g1n7-reboot" on_node="bl460g1n7" on_node_uuid="3232261593"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="20" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="64" operation="stopped" operation_key="clnDiskd2_stopped_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_record_pending="true" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="56" operation="stop" operation_key="prmDiskd2_stop_0" internal_operation_key="prmDiskd2:0_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="63" operation="stop" operation_key="clnDiskd2_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="21">
-+    <action_set>
-+      <pseudo_event id="63" operation="stop" operation_key="clnDiskd2_stop_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_record_pending="true" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <crm_event id="75" operation="stonith" operation_key="stonith-bl460g1n7-reboot" on_node="bl460g1n7" on_node_uuid="3232261593"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="22">
-+    <action_set>
-+      <pseudo_event id="65" operation="stop" operation_key="prmPing_stop_0" internal_operation_key="prmPing:0_stop_0">
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_on_fail="ignore" CRM_meta_record_pending="true" CRM_meta_timeout="60000" attempts="2"  host_list="192.168.201.254" multiplier="100" name="default_ping_set" timeout="2"/>
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="72" operation="stop" operation_key="clnPing_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <crm_event id="75" operation="stonith" operation_key="stonith-bl460g1n7-reboot" on_node="bl460g1n7" on_node_uuid="3232261593"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="23" priority="1000000">
-+    <action_set>
-+      <pseudo_event id="73" operation="stopped" operation_key="clnPing_stopped_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_record_pending="true" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="65" operation="stop" operation_key="prmPing_stop_0" internal_operation_key="prmPing:0_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="72" operation="stop" operation_key="clnPing_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="24">
-+    <action_set>
-+      <pseudo_event id="72" operation="stop" operation_key="clnPing_stop_0">
-+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_record_pending="true" CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <crm_event id="75" operation="stonith" operation_key="stonith-bl460g1n7-reboot" on_node="bl460g1n7" on_node_uuid="3232261593"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="25">
-+    <action_set>
-+      <crm_event id="75" operation="stonith" operation_key="stonith-bl460g1n7-reboot" on_node="bl460g1n7" on_node_uuid="3232261593">
-+        <attributes CRM_meta_default_ping_set="100" CRM_meta_diskcheck_status="normal" CRM_meta_diskcheck_status_internal="normal" CRM_meta_on_node="bl460g1n7" CRM_meta_on_node_uuid="3232261593" CRM_meta_probe_complete="true" CRM_meta_ringnumber_0="192.168.101.217 is UP" CRM_meta_ringnumber_1="192.168.102.217 is UP" CRM_meta_shutdown="0" CRM_meta_stonith_action="reboot" />
-+      </crm_event>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="26">
-+    <action_set>
-+      <pseudo_event id="74" operation="stonith_complete" operation_key="stonith_complete">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <crm_event id="75" operation="stonith" operation_key="stonith-bl460g1n7-reboot" on_node="bl460g1n7" on_node_uuid="3232261593"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="27">
-+    <action_set>
-+      <pseudo_event id="12" operation="all_stopped" operation_key="all_stopped">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="1" operation="stop" operation_key="prmVM2_stop_0" on_node="bl460g1n6" on_node_uuid="3232261592"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="16" operation="stop" operation_key="prmDummy_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="18" operation="stop" operation_key="prmVM2_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="37" operation="stop" operation_key="prmStonith8-1_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="40" operation="stop" operation_key="prmStonith8-2_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="47" operation="stop" operation_key="prmDiskd1_stop_0" internal_operation_key="prmDiskd1:0_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="56" operation="stop" operation_key="prmDiskd2_stop_0" internal_operation_key="prmDiskd2:0_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="65" operation="stop" operation_key="prmPing_stop_0" internal_operation_key="prmPing:0_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="74" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+</transition_graph>
-diff --git a/pengine/test10/bug-lf-2508.exp b/pengine/test10/bug-lf-2508.exp
-index 3e54b30..d56002e 100644
---- a/pengine/test10/bug-lf-2508.exp
-+++ b/pengine/test10/bug-lf-2508.exp
-@@ -74,7 +74,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="166" operation="stonith" operation_key="stonith-srv02" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-+        <crm_event id="166" operation="stonith" operation_key="stonith-srv02-reboot" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -148,7 +148,7 @@
-         <pseudo_event id="34" operation="stop" operation_key="Group02_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="166" operation="stonith" operation_key="stonith-srv02" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-+        <crm_event id="166" operation="stonith" operation_key="stonith-srv02-reboot" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -196,7 +196,7 @@
-         <pseudo_event id="54" operation="stop" operation_key="grpStonith1:1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="166" operation="stonith" operation_key="stonith-srv02" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-+        <crm_event id="166" operation="stonith" operation_key="stonith-srv02-reboot" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -211,7 +211,7 @@
-         <pseudo_event id="54" operation="stop" operation_key="grpStonith1:1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="166" operation="stonith" operation_key="stonith-srv02" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-+        <crm_event id="166" operation="stonith" operation_key="stonith-srv02-reboot" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -238,7 +238,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="166" operation="stonith" operation_key="stonith-srv02" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-+        <crm_event id="166" operation="stonith" operation_key="stonith-srv02-reboot" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -286,7 +286,7 @@
-         <pseudo_event id="108" operation="stop" operation_key="grpStonith3:0_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="166" operation="stonith" operation_key="stonith-srv02" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-+        <crm_event id="166" operation="stonith" operation_key="stonith-srv02-reboot" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -301,7 +301,7 @@
-         <pseudo_event id="108" operation="stop" operation_key="grpStonith3:0_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="166" operation="stonith" operation_key="stonith-srv02" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-+        <crm_event id="166" operation="stonith" operation_key="stonith-srv02-reboot" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -393,7 +393,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="166" operation="stonith" operation_key="stonith-srv02" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-+        <crm_event id="166" operation="stonith" operation_key="stonith-srv02-reboot" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -468,7 +468,7 @@
-         <pseudo_event id="147" operation="stop" operation_key="grpStonith4:1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="166" operation="stonith" operation_key="stonith-srv02" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-+        <crm_event id="166" operation="stonith" operation_key="stonith-srv02-reboot" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -483,7 +483,7 @@
-         <pseudo_event id="147" operation="stop" operation_key="grpStonith4:1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="166" operation="stonith" operation_key="stonith-srv02" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-+        <crm_event id="166" operation="stonith" operation_key="stonith-srv02-reboot" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -510,13 +510,13 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="166" operation="stonith" operation_key="stonith-srv02" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-+        <crm_event id="166" operation="stonith" operation_key="stonith-srv02-reboot" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="36">
-     <action_set>
--      <crm_event id="166" operation="stonith" operation_key="stonith-srv02" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182">
-+      <crm_event id="166" operation="stonith" operation_key="stonith-srv02-reboot" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182">
-         <attributes CRM_meta_on_node="srv02" CRM_meta_on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182" CRM_meta_probe_complete="true" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -530,7 +530,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="166" operation="stonith" operation_key="stonith-srv02" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-+        <crm_event id="166" operation="stonith" operation_key="stonith-srv02-reboot" on_node="srv02" on_node_uuid="71085d5e-1c63-49e0-8c8c-400d610b4182"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/bug-lf-2551.exp b/pengine/test10/bug-lf-2551.exp
-index 5c2fd65..7790199 100644
---- a/pengine/test10/bug-lf-2551.exp
-+++ b/pengine/test10/bug-lf-2551.exp
-@@ -23,7 +23,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -82,7 +82,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -142,7 +142,7 @@
-         <pseudo_event id="226" operation="stop" operation_key="base-group:3_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -160,7 +160,7 @@
-         <pseudo_event id="226" operation="stop" operation_key="base-group:3_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -178,7 +178,7 @@
-         <pseudo_event id="226" operation="stop" operation_key="base-group:3_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -196,7 +196,7 @@
-         <pseudo_event id="226" operation="stop" operation_key="base-group:3_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -214,7 +214,7 @@
-         <pseudo_event id="226" operation="stop" operation_key="base-group:3_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -229,7 +229,7 @@
-         <pseudo_event id="226" operation="stop" operation_key="base-group:3_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -304,7 +304,7 @@
-         <pseudo_event id="247" operation="stop" operation_key="vm-61_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -316,7 +316,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -328,7 +328,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -340,7 +340,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -352,7 +352,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -364,7 +364,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -376,7 +376,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -388,7 +388,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -400,7 +400,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -412,7 +412,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -424,7 +424,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -436,7 +436,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -448,7 +448,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -460,7 +460,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -472,7 +472,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -484,7 +484,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -496,13 +496,13 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="33">
-     <action_set>
--      <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9">
-+      <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9">
-         <attributes CRM_meta_on_node="hex-9" CRM_meta_on_node_uuid="hex-9" CRM_meta_probe_complete="true" CRM_meta_standby="off" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -516,7 +516,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9" on_node="hex-9" on_node_uuid="hex-9"/>
-+        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/bug-lf-2606.exp b/pengine/test10/bug-lf-2606.exp
-index ae490e6..270131a 100644
---- a/pengine/test10/bug-lf-2606.exp
-+++ b/pengine/test10/bug-lf-2606.exp
-@@ -7,7 +7,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="24" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="24" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -48,7 +48,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="24" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="24" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -66,7 +66,7 @@
-         <pseudo_event id="17" operation="stop" operation_key="ms3_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="24" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="24" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -81,7 +81,7 @@
-         <pseudo_event id="21" operation="demote" operation_key="ms3_demote_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="24" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="24" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -134,13 +134,13 @@
-         <pseudo_event id="22" operation="demoted" operation_key="ms3_demoted_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="24" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="24" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="10">
-     <action_set>
--      <crm_event id="24" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2">
-+      <crm_event id="24" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_on_node="node2" CRM_meta_on_node_uuid="node2" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -154,7 +154,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="24" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="24" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/interleave-pseudo-stop.exp b/pengine/test10/interleave-pseudo-stop.exp
-index ae5c9a6..a5e8880 100644
---- a/pengine/test10/interleave-pseudo-stop.exp
-+++ b/pengine/test10/interleave-pseudo-stop.exp
-@@ -10,7 +10,7 @@
-         <pseudo_event id="12" operation="stop" operation_key="stonithcloneset_stop_0"/>
-        </trigger>
-       <trigger>
--        <crm_event id="60" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-+        <crm_event id="60" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-       </trigger>
-      </inputs>
-    </synapse>
-@@ -37,7 +37,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="60" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-+        <crm_event id="60" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -93,7 +93,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="60" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-+        <crm_event id="60" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-       </trigger>
-      </inputs>
-    </synapse>
-@@ -114,7 +114,7 @@
-         <pseudo_event id="46" operation="stop" operation_key="configstoreclone:0_stop_0" internal_operation_key="configstoreclone:1_stop_0"/>
-        </trigger>
-        <trigger>
--        <crm_event id="60" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-+        <crm_event id="60" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-        </trigger>
-     </inputs>
-   </synapse>
-@@ -203,7 +203,7 @@
-         <pseudo_event id="58" operation="notified" operation_key="configstorecloneset_confirmed-post_notify_stopped_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="60" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-+        <crm_event id="60" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-        </trigger>
-      </inputs>
-    </synapse>
-@@ -259,7 +259,7 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <crm_event id="60" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-+        <crm_event id="60" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -274,7 +274,7 @@
-         <pseudo_event id="38" operation="stop" operation_key="imagestorecloneset_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="60" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-+        <crm_event id="60" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-       </trigger>
-      </inputs>
-    </synapse>
-@@ -357,7 +357,7 @@
-         <pseudo_event id="41" operation="notified" operation_key="imagestorecloneset_confirmed-pre_notify_stop_0"/>
-        </trigger>
-        <trigger>
--        <crm_event id="60" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-+        <crm_event id="60" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-        </trigger>
-      </inputs>
-    </synapse>
-@@ -413,7 +413,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="60" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-+        <crm_event id="60" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -428,7 +428,7 @@
-         <pseudo_event id="53" operation="stop" operation_key="configstorecloneset_stop_0"/>
-        </trigger>
-       <trigger>
--        <crm_event id="60" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-+        <crm_event id="60" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -511,13 +511,13 @@
-         <pseudo_event id="56" operation="notified" operation_key="configstorecloneset_confirmed-pre_notify_stop_0"/>
-        </trigger>
-       <trigger>
--        <crm_event id="60" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-+        <crm_event id="60" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-       </trigger>
-      </inputs>
-    </synapse>
-   <synapse id="36">
-      <action_set>
--      <crm_event id="60" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8">
-+      <crm_event id="60" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8">
-         <attributes CRM_meta_on_node="node1" CRM_meta_on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8" CRM_meta_probe_complete="true" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -531,7 +531,7 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <crm_event id="60" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-+        <crm_event id="60" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="f6d93040-a9ad-4745-a647-57ed32444ca8"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/master-7.exp b/pengine/test10/master-7.exp
-index b9b246c..4fba172 100644
---- a/pengine/test10/master-7.exp
-+++ b/pengine/test10/master-7.exp
-@@ -39,7 +39,7 @@
-         <pseudo_event id="18" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-       <trigger>
--        <crm_event id="98" operation="stonith" operation_key="stonith-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <crm_event id="98" operation="stonith" operation_key="stonith-c001n01-reboot" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -349,7 +349,7 @@
-         <pseudo_event id="18" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-       <trigger>
--        <crm_event id="98" operation="stonith" operation_key="stonith-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <crm_event id="98" operation="stonith" operation_key="stonith-c001n01-reboot" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -367,7 +367,7 @@
-         <pseudo_event id="72" operation="stop" operation_key="DoFencing_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="98" operation="stonith" operation_key="stonith-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <crm_event id="98" operation="stonith" operation_key="stonith-c001n01-reboot" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -430,7 +430,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="98" operation="stonith" operation_key="stonith-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <crm_event id="98" operation="stonith" operation_key="stonith-c001n01-reboot" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -451,7 +451,7 @@
-         <pseudo_event id="91" operation="stop" operation_key="master_rsc_1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="98" operation="stonith" operation_key="stonith-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <crm_event id="98" operation="stonith" operation_key="stonith-c001n01-reboot" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -466,7 +466,7 @@
-         <pseudo_event id="95" operation="demote" operation_key="master_rsc_1_demote_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="98" operation="stonith" operation_key="stonith-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <crm_event id="98" operation="stonith" operation_key="stonith-c001n01-reboot" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -484,7 +484,7 @@
-         <pseudo_event id="91" operation="stop" operation_key="master_rsc_1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="98" operation="stonith" operation_key="stonith-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <crm_event id="98" operation="stonith" operation_key="stonith-c001n01-reboot" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -621,13 +621,13 @@
-         <pseudo_event id="96" operation="demoted" operation_key="master_rsc_1_demoted_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="98" operation="stonith" operation_key="stonith-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <crm_event id="98" operation="stonith" operation_key="stonith-c001n01-reboot" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="45">
-     <action_set>
--      <crm_event id="98" operation="stonith" operation_key="stonith-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-+      <crm_event id="98" operation="stonith" operation_key="stonith-c001n01-reboot" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-         <attributes CRM_meta_on_node="c001n01" CRM_meta_on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3" CRM_meta_probe_complete="true" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -641,7 +641,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="98" operation="stonith" operation_key="stonith-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <crm_event id="98" operation="stonith" operation_key="stonith-c001n01-reboot" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/master-8.exp b/pengine/test10/master-8.exp
-index e6c73a0..c0cd853 100644
---- a/pengine/test10/master-8.exp
-+++ b/pengine/test10/master-8.exp
-@@ -39,7 +39,7 @@
-         <pseudo_event id="17" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-       <trigger>
--        <crm_event id="97" operation="stonith" operation_key="stonith-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <crm_event id="97" operation="stonith" operation_key="stonith-c001n01-reboot" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -349,7 +349,7 @@
-         <pseudo_event id="17" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-       <trigger>
--        <crm_event id="97" operation="stonith" operation_key="stonith-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <crm_event id="97" operation="stonith" operation_key="stonith-c001n01-reboot" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -367,7 +367,7 @@
-         <pseudo_event id="72" operation="stop" operation_key="DoFencing_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="97" operation="stonith" operation_key="stonith-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <crm_event id="97" operation="stonith" operation_key="stonith-c001n01-reboot" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -430,7 +430,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="97" operation="stonith" operation_key="stonith-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <crm_event id="97" operation="stonith" operation_key="stonith-c001n01-reboot" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -489,7 +489,7 @@
-         <pseudo_event id="90" operation="stop" operation_key="master_rsc_1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="97" operation="stonith" operation_key="stonith-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <crm_event id="97" operation="stonith" operation_key="stonith-c001n01-reboot" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -504,7 +504,7 @@
-         <pseudo_event id="94" operation="demote" operation_key="master_rsc_1_demote_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="97" operation="stonith" operation_key="stonith-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <crm_event id="97" operation="stonith" operation_key="stonith-c001n01-reboot" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -647,7 +647,7 @@
-         <pseudo_event id="95" operation="demoted" operation_key="master_rsc_1_demoted_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="97" operation="stonith" operation_key="stonith-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <crm_event id="97" operation="stonith" operation_key="stonith-c001n01-reboot" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -683,7 +683,7 @@
-   </synapse>
-   <synapse id="49">
-     <action_set>
--      <crm_event id="97" operation="stonith" operation_key="stonith-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-+      <crm_event id="97" operation="stonith" operation_key="stonith-c001n01-reboot" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3">
-         <attributes CRM_meta_on_node="c001n01" CRM_meta_on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3" CRM_meta_probe_complete="true" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -697,7 +697,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="97" operation="stonith" operation_key="stonith-c001n01" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-+        <crm_event id="97" operation="stonith" operation_key="stonith-c001n01-reboot" on_node="c001n01" on_node_uuid="de937e3d-0309-4b5d-b85c-f96edc1ed8e3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/migrate-fencing.exp b/pengine/test10/migrate-fencing.exp
-index 0fba419..02b70c8 100644
---- a/pengine/test10/migrate-fencing.exp
-+++ b/pengine/test10/migrate-fencing.exp
-@@ -10,7 +10,7 @@
-         <pseudo_event id="33" operation="stop" operation_key="Fencing_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-+        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4-reboot" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -37,7 +37,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-+        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4-reboot" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -73,7 +73,7 @@
-         <pseudo_event id="57" operation="stop" operation_key="lsb-dummy_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-+        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4-reboot" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -159,7 +159,7 @@
-         <pseudo_event id="46" operation="stop" operation_key="group-1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-+        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4-reboot" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -212,7 +212,7 @@
-         <pseudo_event id="46" operation="stop" operation_key="group-1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-+        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4-reboot" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -262,7 +262,7 @@
-         <pseudo_event id="46" operation="stop" operation_key="group-1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-+        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4-reboot" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -303,7 +303,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-+        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4-reboot" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -347,7 +347,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-+        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4-reboot" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -429,7 +429,7 @@
-         <pseudo_event id="72" operation="stop" operation_key="Connectivity_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-+        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4-reboot" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -456,7 +456,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-+        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4-reboot" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -474,7 +474,7 @@
-         <pseudo_event id="88" operation="stop" operation_key="master-1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-+        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4-reboot" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -489,7 +489,7 @@
-         <pseudo_event id="92" operation="demote" operation_key="master-1_demote_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-+        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4-reboot" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -620,13 +620,13 @@
-         <pseudo_event id="93" operation="demoted" operation_key="master-1_demoted_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-+        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4-reboot" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="42">
-     <action_set>
--      <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4" on_node="pcmk-4" on_node_uuid="pcmk-4">
-+      <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4-reboot" on_node="pcmk-4" on_node_uuid="pcmk-4">
-         <attributes CRM_meta_connected="1" CRM_meta_on_node="pcmk-4" CRM_meta_on_node_uuid="pcmk-4" CRM_meta_op_no_wait="true" CRM_meta_probe_complete="true" CRM_meta_standby="off" CRM_meta_stonith_action="reboot" CRM_meta_terminate="1" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -640,7 +640,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-+        <crm_event id="95" operation="stonith" operation_key="stonith-pcmk-4-reboot" on_node="pcmk-4" on_node_uuid="pcmk-4"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-11.exp b/pengine/test10/rec-node-11.exp
-index 09aaddf..173df21 100644
---- a/pengine/test10/rec-node-11.exp
-+++ b/pengine/test10/rec-node-11.exp
-@@ -50,7 +50,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="19" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="uuid1"/>
-+        <crm_event id="19" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -126,7 +126,7 @@
-         <pseudo_event id="14" operation="stop" operation_key="group1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="19" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="uuid1"/>
-+        <crm_event id="19" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -178,7 +178,7 @@
-         <pseudo_event id="14" operation="stop" operation_key="group1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="19" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="uuid1"/>
-+        <crm_event id="19" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -225,7 +225,7 @@
-   </synapse>
-   <synapse id="14">
-     <action_set>
--      <crm_event id="19" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="uuid1">
-+      <crm_event id="19" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_on_node="node1" CRM_meta_on_node_uuid="uuid1" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -239,7 +239,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="19" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="uuid1"/>
-+        <crm_event id="19" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-12.exp b/pengine/test10/rec-node-12.exp
-index 07c0027..9732907 100644
---- a/pengine/test10/rec-node-12.exp
-+++ b/pengine/test10/rec-node-12.exp
-@@ -514,7 +514,7 @@
-   </synapse>
-   <synapse id="45">
-     <action_set>
--      <crm_event id="54" operation="stonith" operation_key="stonith-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-+      <crm_event id="54" operation="stonith" operation_key="stonith-c001n02-reboot" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f">
-         <attributes CRM_meta_on_node="c001n02" CRM_meta_on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -528,7 +528,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="54" operation="stonith" operation_key="stonith-c001n02" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-+        <crm_event id="54" operation="stonith" operation_key="stonith-c001n02-reboot" on_node="c001n02" on_node_uuid="e9bdfde9-01b0-421f-acd8-8a65a53e775f"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-13.exp b/pengine/test10/rec-node-13.exp
-index 63abd08..ae23ea5 100644
---- a/pengine/test10/rec-node-13.exp
-+++ b/pengine/test10/rec-node-13.exp
-@@ -10,7 +10,7 @@
-         <pseudo_event id="77" operation="stop" operation_key="master_rsc_1_stop_0"/>
-        </trigger>
-        <trigger>
--        <crm_event id="84" operation="stonith" operation_key="stonith-c001n04" on_node="c001n04" on_node_uuid="9e080e6d-7a25-4dac-be89-f6f4f128623d"/>
-+        <crm_event id="84" operation="stonith" operation_key="stonith-c001n04-reboot" on_node="c001n04" on_node_uuid="9e080e6d-7a25-4dac-be89-f6f4f128623d"/>
-        </trigger>
-      </inputs>
-    </synapse>
-@@ -37,13 +37,13 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <crm_event id="84" operation="stonith" operation_key="stonith-c001n04" on_node="c001n04" on_node_uuid="9e080e6d-7a25-4dac-be89-f6f4f128623d"/>
-+        <crm_event id="84" operation="stonith" operation_key="stonith-c001n04-reboot" on_node="c001n04" on_node_uuid="9e080e6d-7a25-4dac-be89-f6f4f128623d"/>
-        </trigger>
-      </inputs>
-    </synapse>
-    <synapse id="3">
-      <action_set>
--      <crm_event id="84" operation="stonith" operation_key="stonith-c001n04" on_node="c001n04" on_node_uuid="9e080e6d-7a25-4dac-be89-f6f4f128623d">
-+      <crm_event id="84" operation="stonith" operation_key="stonith-c001n04-reboot" on_node="c001n04" on_node_uuid="9e080e6d-7a25-4dac-be89-f6f4f128623d">
-         <attributes CRM_meta_on_node="c001n04" CRM_meta_on_node_uuid="9e080e6d-7a25-4dac-be89-f6f4f128623d" CRM_meta_op_no_wait="true" CRM_meta_probe_complete="true" CRM_meta_shutdown="1234" CRM_meta_standby="off" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-      </action_set>
-@@ -57,7 +57,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="84" operation="stonith" operation_key="stonith-c001n04" on_node="c001n04" on_node_uuid="9e080e6d-7a25-4dac-be89-f6f4f128623d"/>
-+        <crm_event id="84" operation="stonith" operation_key="stonith-c001n04-reboot" on_node="c001n04" on_node_uuid="9e080e6d-7a25-4dac-be89-f6f4f128623d"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-14.exp b/pengine/test10/rec-node-14.exp
-index 2ca969a..e473479 100644
---- a/pengine/test10/rec-node-14.exp
-+++ b/pengine/test10/rec-node-14.exp
-@@ -1,31 +1,31 @@
-  <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-    <synapse id="0">
-      <action_set>
--      <crm_event id="5" operation="stonith" operation_key="stonith-node3" on_node="node3" on_node_uuid="uuid3">
-+      <crm_event id="5" operation="stonith" operation_key="stonith-node3-reboot" on_node="node3" on_node_uuid="uuid3">
-         <attributes CRM_meta_on_node="node3" CRM_meta_on_node_uuid="uuid3" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-      </action_set>
-      <inputs>
-        <trigger>
--        <crm_event id="3" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="uuid1"/>
-+        <crm_event id="3" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="uuid1"/>
-        </trigger>
-      </inputs>
-    </synapse>
-    <synapse id="1">
-      <action_set>
--      <crm_event id="4" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="uuid2">
-+      <crm_event id="4" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_on_node="node2" CRM_meta_on_node_uuid="uuid2" CRM_meta_op_no_wait="true" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="5" operation="stonith" operation_key="stonith-node3" on_node="node3" on_node_uuid="uuid3"/>
-+        <crm_event id="5" operation="stonith" operation_key="stonith-node3-reboot" on_node="node3" on_node_uuid="uuid3"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="2">
-     <action_set>
--      <crm_event id="3" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="uuid1">
-+      <crm_event id="3" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_on_node="node1" CRM_meta_on_node_uuid="uuid1" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-        </crm_event>
-      </action_set>
-@@ -39,7 +39,7 @@
-      </action_set>
-      <inputs>
-        <trigger>
--        <crm_event id="5" operation="stonith" operation_key="stonith-node3" on_node="node3" on_node_uuid="uuid3"/>
-+        <crm_event id="5" operation="stonith" operation_key="stonith-node3-reboot" on_node="node3" on_node_uuid="uuid3"/>
-        </trigger>
-      </inputs>
-    </synapse>
-diff --git a/pengine/test10/rec-node-15.exp b/pengine/test10/rec-node-15.exp
-index a48d8c5..3c79d65 100644
---- a/pengine/test10/rec-node-15.exp
-+++ b/pengine/test10/rec-node-15.exp
-@@ -445,7 +445,7 @@
-   </synapse>
-   <synapse id="28">
-     <action_set>
--      <crm_event id="52" operation="stonith" operation_key="stonith-sapcl03" on_node="sapcl03" on_node_uuid="0bfb78a2-fcd2-4f52-8a06-2d17437a6750">
-+      <crm_event id="52" operation="stonith" operation_key="stonith-sapcl03-reboot" on_node="sapcl03" on_node_uuid="0bfb78a2-fcd2-4f52-8a06-2d17437a6750">
-         <attributes CRM_meta_on_node="sapcl03" CRM_meta_on_node_uuid="0bfb78a2-fcd2-4f52-8a06-2d17437a6750" CRM_meta_op_no_wait="true" CRM_meta_standby="off" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -459,7 +459,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="52" operation="stonith" operation_key="stonith-sapcl03" on_node="sapcl03" on_node_uuid="0bfb78a2-fcd2-4f52-8a06-2d17437a6750"/>
-+        <crm_event id="52" operation="stonith" operation_key="stonith-sapcl03-reboot" on_node="sapcl03" on_node_uuid="0bfb78a2-fcd2-4f52-8a06-2d17437a6750"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-2.exp b/pengine/test10/rec-node-2.exp
-index 2785c57..901eded 100644
---- a/pengine/test10/rec-node-2.exp
-+++ b/pengine/test10/rec-node-2.exp
-@@ -246,7 +246,7 @@
-   </synapse>
-   <synapse id="18">
-     <action_set>
--      <crm_event id="27" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="uuid1">
-+      <crm_event id="27" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_on_node="node1" CRM_meta_on_node_uuid="uuid1" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -260,7 +260,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="27" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="uuid1"/>
-+        <crm_event id="27" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-4.exp b/pengine/test10/rec-node-4.exp
-index bdaaa38..1e98f4d 100644
---- a/pengine/test10/rec-node-4.exp
-+++ b/pengine/test10/rec-node-4.exp
-@@ -54,7 +54,7 @@
-         <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="uuid1"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -97,7 +97,7 @@
-         <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="uuid1"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -112,7 +112,7 @@
-   </synapse>
-   <synapse id="8">
-     <action_set>
--      <crm_event id="13" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="uuid1">
-+      <crm_event id="13" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_on_node="node1" CRM_meta_on_node_uuid="uuid1" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -126,7 +126,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="uuid1"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-6.exp b/pengine/test10/rec-node-6.exp
-index bdaaa38..1e98f4d 100644
---- a/pengine/test10/rec-node-6.exp
-+++ b/pengine/test10/rec-node-6.exp
-@@ -54,7 +54,7 @@
-         <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="uuid1"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -97,7 +97,7 @@
-         <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="uuid1"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -112,7 +112,7 @@
-   </synapse>
-   <synapse id="8">
-     <action_set>
--      <crm_event id="13" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="uuid1">
-+      <crm_event id="13" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_on_node="node1" CRM_meta_on_node_uuid="uuid1" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -126,7 +126,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="uuid1"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-node-7.exp b/pengine/test10/rec-node-7.exp
-index bdaaa38..1e98f4d 100644
---- a/pengine/test10/rec-node-7.exp
-+++ b/pengine/test10/rec-node-7.exp
-@@ -54,7 +54,7 @@
-         <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="uuid1"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -97,7 +97,7 @@
-         <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="uuid1"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -112,7 +112,7 @@
-   </synapse>
-   <synapse id="8">
-     <action_set>
--      <crm_event id="13" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="uuid1">
-+      <crm_event id="13" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="uuid1">
-         <attributes CRM_meta_on_node="node1" CRM_meta_on_node_uuid="uuid1" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -126,7 +126,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="uuid1"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="uuid1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/rec-rsc-5.exp b/pengine/test10/rec-rsc-5.exp
-index 897d5f6..69a85d1 100644
---- a/pengine/test10/rec-rsc-5.exp
-+++ b/pengine/test10/rec-rsc-5.exp
-@@ -54,7 +54,7 @@
-         <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="uuid2"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="uuid2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -97,7 +97,7 @@
-         <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
-       </trigger>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="uuid2"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="uuid2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -112,7 +112,7 @@
-   </synapse>
-   <synapse id="8">
-     <action_set>
--      <crm_event id="13" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="uuid2">
-+      <crm_event id="13" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="uuid2">
-         <attributes CRM_meta_on_node="node2" CRM_meta_on_node_uuid="uuid2" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -126,7 +126,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="uuid2"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="uuid2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/remote-fence-unclean.exp b/pengine/test10/remote-fence-unclean.exp
-new file mode 100644
-index 0000000..9b1e327
---- /dev/null
-+++ b/pengine/test10/remote-fence-unclean.exp
-@@ -0,0 +1,201 @@
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
-+  <synapse id="0">
-+    <action_set>
-+      <rsc_op id="15" operation="start" operation_key="remote1_start_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="5" operation="stop" operation_key="remote1_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="27" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="1">
-+    <action_set>
-+      <rsc_op id="5" operation="stop" operation_key="remote1_stop_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="2">
-+    <action_set>
-+      <rsc_op id="4" operation="monitor" operation_key="remote1_monitor_60000" on_node="18node1" on_node_uuid="1">
-+        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="15" operation="start" operation_key="remote1_start_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="3">
-+    <action_set>
-+      <rsc_op id="20" operation="monitor" operation_key="FAKE2_monitor_60000" on_node="18builder" on_node_uuid="5">
-+        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="19" operation="start" operation_key="FAKE2_start_0" on_node="18builder" on_node_uuid="5"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="4">
-+    <action_set>
-+      <rsc_op id="19" operation="start" operation_key="FAKE2_start_0" on_node="18builder" on_node_uuid="5">
-+        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="18" operation="stop" operation_key="FAKE2_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="27" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="5">
-+    <action_set>
-+      <pseudo_event id="18" operation="stop" operation_key="FAKE2_stop_0">
-+        <attributes CRM_meta_timeout="20000" />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <crm_event id="28" operation="stonith" operation_key="stonith-remote1-reboot" on_node="remote1" on_node_uuid="remote1" router_node="18node1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="6">
-+    <action_set>
-+      <rsc_op id="23" operation="monitor" operation_key="FAKE3_monitor_60000" on_node="18node1" on_node_uuid="1">
-+        <primitive id="FAKE3" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="22" operation="start" operation_key="FAKE3_start_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="7">
-+    <action_set>
-+      <rsc_op id="22" operation="start" operation_key="FAKE3_start_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="FAKE3" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="21" operation="stop" operation_key="FAKE3_stop_0" on_node="18builder" on_node_uuid="5"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="27" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="8">
-+    <action_set>
-+      <rsc_op id="21" operation="stop" operation_key="FAKE3_stop_0" on_node="18builder" on_node_uuid="5">
-+        <primitive id="FAKE3" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="9">
-+    <action_set>
-+      <rsc_op id="26" operation="monitor" operation_key="FAKE4_monitor_60000" on_node="18node2" on_node_uuid="2">
-+        <primitive id="FAKE4" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="25" operation="start" operation_key="FAKE4_start_0" on_node="18node2" on_node_uuid="2"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="10">
-+    <action_set>
-+      <rsc_op id="25" operation="start" operation_key="FAKE4_start_0" on_node="18node2" on_node_uuid="2">
-+        <primitive id="FAKE4" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="24" operation="stop" operation_key="FAKE4_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="27" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="11">
-+    <action_set>
-+      <rsc_op id="24" operation="stop" operation_key="FAKE4_stop_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="FAKE4" class="ocf" provider="heartbeat" type="Dummy"/>
-+        <attributes CRM_meta_timeout="20000" />
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="12">
-+    <action_set>
-+      <crm_event id="28" operation="stonith" operation_key="stonith-remote1-reboot" on_node="remote1" on_node_uuid="remote1" router_node="18node1">
-+        <attributes CRM_meta_on_node="remote1" CRM_meta_on_node_uuid="remote1" CRM_meta_probe_complete="true" CRM_meta_stonith_action="reboot" />
-+      </crm_event>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="13">
-+    <action_set>
-+      <pseudo_event id="27" operation="stonith_complete" operation_key="stonith_complete">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <crm_event id="28" operation="stonith" operation_key="stonith-remote1-reboot" on_node="remote1" on_node_uuid="remote1" router_node="18node1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="14">
-+    <action_set>
-+      <pseudo_event id="7" operation="all_stopped" operation_key="all_stopped">
-+        <attributes />
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="5" operation="stop" operation_key="remote1_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="18" operation="stop" operation_key="FAKE2_stop_0"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="21" operation="stop" operation_key="FAKE3_stop_0" on_node="18builder" on_node_uuid="5"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="24" operation="stop" operation_key="FAKE4_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="27" operation="stonith_complete" operation_key="stonith_complete"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+</transition_graph>
-diff --git a/pengine/test10/stonith-0.exp b/pengine/test10/stonith-0.exp
-index f4aed36..d664a12 100644
---- a/pengine/test10/stonith-0.exp
-+++ b/pengine/test10/stonith-0.exp
-@@ -34,10 +34,10 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="110" operation="stonith" operation_key="stonith-c001n03" on_node="c001n03" on_node_uuid="f5e1d2de-73da-432a-9d5c-37472253c2ee"/>
-+        <crm_event id="110" operation="stonith" operation_key="stonith-c001n03-reboot" on_node="c001n03" on_node_uuid="f5e1d2de-73da-432a-9d5c-37472253c2ee"/>
-       </trigger>
-       <trigger>
--        <crm_event id="111" operation="stonith" operation_key="stonith-c001n05" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e"/>
-+        <crm_event id="111" operation="stonith" operation_key="stonith-c001n05-reboot" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -123,7 +123,7 @@
-         <pseudo_event id="44" operation="stop" operation_key="group-1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="111" operation="stonith" operation_key="stonith-c001n05" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e"/>
-+        <crm_event id="111" operation="stonith" operation_key="stonith-c001n05-reboot" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -141,7 +141,7 @@
-         <pseudo_event id="44" operation="stop" operation_key="group-1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="110" operation="stonith" operation_key="stonith-c001n03" on_node="c001n03" on_node_uuid="f5e1d2de-73da-432a-9d5c-37472253c2ee"/>
-+        <crm_event id="110" operation="stonith" operation_key="stonith-c001n03-reboot" on_node="c001n03" on_node_uuid="f5e1d2de-73da-432a-9d5c-37472253c2ee"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -203,7 +203,7 @@
-         <pseudo_event id="44" operation="stop" operation_key="group-1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="110" operation="stonith" operation_key="stonith-c001n03" on_node="c001n03" on_node_uuid="f5e1d2de-73da-432a-9d5c-37472253c2ee"/>
-+        <crm_event id="110" operation="stonith" operation_key="stonith-c001n03-reboot" on_node="c001n03" on_node_uuid="f5e1d2de-73da-432a-9d5c-37472253c2ee"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -256,7 +256,7 @@
-         <pseudo_event id="44" operation="stop" operation_key="group-1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="111" operation="stonith" operation_key="stonith-c001n05" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e"/>
-+        <crm_event id="111" operation="stonith" operation_key="stonith-c001n05-reboot" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -271,7 +271,7 @@
-         <pseudo_event id="44" operation="stop" operation_key="group-1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="110" operation="stonith" operation_key="stonith-c001n03" on_node="c001n03" on_node_uuid="f5e1d2de-73da-432a-9d5c-37472253c2ee"/>
-+        <crm_event id="110" operation="stonith" operation_key="stonith-c001n03-reboot" on_node="c001n03" on_node_uuid="f5e1d2de-73da-432a-9d5c-37472253c2ee"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -312,7 +312,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="111" operation="stonith" operation_key="stonith-c001n05" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e"/>
-+        <crm_event id="111" operation="stonith" operation_key="stonith-c001n05-reboot" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -353,7 +353,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="110" operation="stonith" operation_key="stonith-c001n03" on_node="c001n03" on_node_uuid="f5e1d2de-73da-432a-9d5c-37472253c2ee"/>
-+        <crm_event id="110" operation="stonith" operation_key="stonith-c001n03-reboot" on_node="c001n03" on_node_uuid="f5e1d2de-73da-432a-9d5c-37472253c2ee"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -368,7 +368,7 @@
-   </synapse>
-   <synapse id="22">
-     <action_set>
--      <crm_event id="111" operation="stonith" operation_key="stonith-c001n05" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e">
-+      <crm_event id="111" operation="stonith" operation_key="stonith-c001n05-reboot" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e">
-         <attributes CRM_meta_on_node="c001n05" CRM_meta_on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e" CRM_meta_probe_complete="true" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -376,13 +376,13 @@
-   </synapse>
-   <synapse id="23">
-     <action_set>
--      <crm_event id="110" operation="stonith" operation_key="stonith-c001n03" on_node="c001n03" on_node_uuid="f5e1d2de-73da-432a-9d5c-37472253c2ee">
-+      <crm_event id="110" operation="stonith" operation_key="stonith-c001n03-reboot" on_node="c001n03" on_node_uuid="f5e1d2de-73da-432a-9d5c-37472253c2ee">
-         <attributes CRM_meta_on_node="c001n03" CRM_meta_on_node_uuid="f5e1d2de-73da-432a-9d5c-37472253c2ee" CRM_meta_op_no_wait="true" CRM_meta_probe_complete="true" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="111" operation="stonith" operation_key="stonith-c001n05" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e"/>
-+        <crm_event id="111" operation="stonith" operation_key="stonith-c001n05-reboot" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -394,7 +394,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="111" operation="stonith" operation_key="stonith-c001n05" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e"/>
-+        <crm_event id="111" operation="stonith" operation_key="stonith-c001n05-reboot" on_node="c001n05" on_node_uuid="52a5ea5e-86ee-442c-b251-0bc9825c517e"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/stonith-1.exp b/pengine/test10/stonith-1.exp
-index 12a2839..b9798e3 100644
---- a/pengine/test10/stonith-1.exp
-+++ b/pengine/test10/stonith-1.exp
-@@ -108,7 +108,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="72" operation="stonith" operation_key="stonith-sles-3" on_node="sles-3" on_node_uuid="2298606a-6a8c-499a-9d25-76242f7006ec"/>
-+        <crm_event id="72" operation="stonith" operation_key="stonith-sles-3-reboot" on_node="sles-3" on_node_uuid="2298606a-6a8c-499a-9d25-76242f7006ec"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -158,7 +158,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="72" operation="stonith" operation_key="stonith-sles-3" on_node="sles-3" on_node_uuid="2298606a-6a8c-499a-9d25-76242f7006ec"/>
-+        <crm_event id="72" operation="stonith" operation_key="stonith-sles-3-reboot" on_node="sles-3" on_node_uuid="2298606a-6a8c-499a-9d25-76242f7006ec"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -211,7 +211,7 @@
-         <pseudo_event id="47" operation="stop" operation_key="DoFencing_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="72" operation="stonith" operation_key="stonith-sles-3" on_node="sles-3" on_node_uuid="2298606a-6a8c-499a-9d25-76242f7006ec"/>
-+        <crm_event id="72" operation="stonith" operation_key="stonith-sles-3-reboot" on_node="sles-3" on_node_uuid="2298606a-6a8c-499a-9d25-76242f7006ec"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -238,7 +238,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="72" operation="stonith" operation_key="stonith-sles-3" on_node="sles-3" on_node_uuid="2298606a-6a8c-499a-9d25-76242f7006ec"/>
-+        <crm_event id="72" operation="stonith" operation_key="stonith-sles-3-reboot" on_node="sles-3" on_node_uuid="2298606a-6a8c-499a-9d25-76242f7006ec"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -370,7 +370,7 @@
-         <pseudo_event id="65" operation="stop" operation_key="master_rsc_1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="72" operation="stonith" operation_key="stonith-sles-3" on_node="sles-3" on_node_uuid="2298606a-6a8c-499a-9d25-76242f7006ec"/>
-+        <crm_event id="72" operation="stonith" operation_key="stonith-sles-3-reboot" on_node="sles-3" on_node_uuid="2298606a-6a8c-499a-9d25-76242f7006ec"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -475,7 +475,7 @@
-         <pseudo_event id="65" operation="stop" operation_key="master_rsc_1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="72" operation="stonith" operation_key="stonith-sles-3" on_node="sles-3" on_node_uuid="2298606a-6a8c-499a-9d25-76242f7006ec"/>
-+        <crm_event id="72" operation="stonith" operation_key="stonith-sles-3-reboot" on_node="sles-3" on_node_uuid="2298606a-6a8c-499a-9d25-76242f7006ec"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -505,7 +505,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="72" operation="stonith" operation_key="stonith-sles-3" on_node="sles-3" on_node_uuid="2298606a-6a8c-499a-9d25-76242f7006ec"/>
-+        <crm_event id="72" operation="stonith" operation_key="stonith-sles-3-reboot" on_node="sles-3" on_node_uuid="2298606a-6a8c-499a-9d25-76242f7006ec"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -553,7 +553,7 @@
-   </synapse>
-   <synapse id="39">
-     <action_set>
--      <crm_event id="72" operation="stonith" operation_key="stonith-sles-3" on_node="sles-3" on_node_uuid="2298606a-6a8c-499a-9d25-76242f7006ec">
-+      <crm_event id="72" operation="stonith" operation_key="stonith-sles-3-reboot" on_node="sles-3" on_node_uuid="2298606a-6a8c-499a-9d25-76242f7006ec">
-         <attributes CRM_meta_on_node="sles-3" CRM_meta_on_node_uuid="2298606a-6a8c-499a-9d25-76242f7006ec" CRM_meta_probe_complete="true" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -567,7 +567,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="72" operation="stonith" operation_key="stonith-sles-3" on_node="sles-3" on_node_uuid="2298606a-6a8c-499a-9d25-76242f7006ec"/>
-+        <crm_event id="72" operation="stonith" operation_key="stonith-sles-3-reboot" on_node="sles-3" on_node_uuid="2298606a-6a8c-499a-9d25-76242f7006ec"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/stonith-2.exp b/pengine/test10/stonith-2.exp
-index dfab333..84a7fb8 100644
---- a/pengine/test10/stonith-2.exp
-+++ b/pengine/test10/stonith-2.exp
-@@ -27,7 +27,7 @@
-   </synapse>
-   <synapse id="2">
-     <action_set>
--      <crm_event id="102" operation="stonith" operation_key="stonith-sles-5" on_node="sles-5" on_node_uuid="434915c6-7b40-4d30-95ff-dc0ff3dc005a">
-+      <crm_event id="102" operation="stonith" operation_key="stonith-sles-5-reboot" on_node="sles-5" on_node_uuid="434915c6-7b40-4d30-95ff-dc0ff3dc005a">
-         <attributes CRM_meta_on_node="sles-5" CRM_meta_on_node_uuid="434915c6-7b40-4d30-95ff-dc0ff3dc005a" CRM_meta_standby="off" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -41,7 +41,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="102" operation="stonith" operation_key="stonith-sles-5" on_node="sles-5" on_node_uuid="434915c6-7b40-4d30-95ff-dc0ff3dc005a"/>
-+        <crm_event id="102" operation="stonith" operation_key="stonith-sles-5-reboot" on_node="sles-5" on_node_uuid="434915c6-7b40-4d30-95ff-dc0ff3dc005a"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/stonith-3.exp b/pengine/test10/stonith-3.exp
-index bb15555..49e6e81 100644
---- a/pengine/test10/stonith-3.exp
-+++ b/pengine/test10/stonith-3.exp
-@@ -117,7 +117,7 @@
-   </synapse>
-   <synapse id="9">
-     <action_set>
--      <crm_event id="22" operation="stonith" operation_key="stonith-rh5node1" on_node="rh5node1" on_node_uuid="286f4fcb-519e-4a23-b39f-9ab0017d0442">
-+      <crm_event id="22" operation="stonith" operation_key="stonith-rh5node1-reboot" on_node="rh5node1" on_node_uuid="286f4fcb-519e-4a23-b39f-9ab0017d0442">
-         <attributes CRM_meta_on_node="rh5node1" CRM_meta_on_node_uuid="286f4fcb-519e-4a23-b39f-9ab0017d0442" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -131,7 +131,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="22" operation="stonith" operation_key="stonith-rh5node1" on_node="rh5node1" on_node_uuid="286f4fcb-519e-4a23-b39f-9ab0017d0442"/>
-+        <crm_event id="22" operation="stonith" operation_key="stonith-rh5node1-reboot" on_node="rh5node1" on_node_uuid="286f4fcb-519e-4a23-b39f-9ab0017d0442"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/stonith-4.exp b/pengine/test10/stonith-4.exp
-index 8e5ee2c..2cfffc0 100644
---- a/pengine/test10/stonith-4.exp
-+++ b/pengine/test10/stonith-4.exp
-@@ -17,43 +17,43 @@
-   </synapse>
-   <synapse id="1">
-     <action_set>
--      <crm_event id="15" operation="stonith" operation_key="stonith-pcmk-8" on_node="pcmk-8" on_node_uuid="108">
-+      <crm_event id="15" operation="stonith" operation_key="stonith-pcmk-8-reboot" on_node="pcmk-8" on_node_uuid="108">
-         <attributes CRM_meta_on_node="pcmk-8" CRM_meta_on_node_uuid="108" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="14" operation="stonith" operation_key="stonith-pcmk-7" on_node="pcmk-7" on_node_uuid="107"/>
-+        <crm_event id="14" operation="stonith" operation_key="stonith-pcmk-7-reboot" on_node="pcmk-7" on_node_uuid="107"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="2">
-     <action_set>
--      <crm_event id="14" operation="stonith" operation_key="stonith-pcmk-7" on_node="pcmk-7" on_node_uuid="107">
-+      <crm_event id="14" operation="stonith" operation_key="stonith-pcmk-7-reboot" on_node="pcmk-7" on_node_uuid="107">
-         <attributes CRM_meta_on_node="pcmk-7" CRM_meta_on_node_uuid="107" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-pcmk-5" on_node="pcmk-5" on_node_uuid="105"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-pcmk-5-reboot" on_node="pcmk-5" on_node_uuid="105"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="3">
-     <action_set>
--      <crm_event id="13" operation="stonith" operation_key="stonith-pcmk-5" on_node="pcmk-5" on_node_uuid="105">
-+      <crm_event id="13" operation="stonith" operation_key="stonith-pcmk-5-reboot" on_node="pcmk-5" on_node_uuid="105">
-         <attributes CRM_meta_on_node="pcmk-5" CRM_meta_on_node_uuid="105" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="12" operation="stonith" operation_key="stonith-pcmk-10" on_node="pcmk-10" on_node_uuid="110"/>
-+        <crm_event id="12" operation="stonith" operation_key="stonith-pcmk-10-reboot" on_node="pcmk-10" on_node_uuid="110"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="4">
-     <action_set>
--      <crm_event id="12" operation="stonith" operation_key="stonith-pcmk-10" on_node="pcmk-10" on_node_uuid="110">
-+      <crm_event id="12" operation="stonith" operation_key="stonith-pcmk-10-reboot" on_node="pcmk-10" on_node_uuid="110">
-         <attributes CRM_meta_on_node="pcmk-10" CRM_meta_on_node_uuid="110" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -67,7 +67,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="15" operation="stonith" operation_key="stonith-pcmk-8" on_node="pcmk-8" on_node_uuid="108"/>
-+        <crm_event id="15" operation="stonith" operation_key="stonith-pcmk-8-reboot" on_node="pcmk-8" on_node_uuid="108"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/stop-failure-no-quorum.exp b/pengine/test10/stop-failure-no-quorum.exp
-index b2260c7..895d43c 100644
---- a/pengine/test10/stop-failure-no-quorum.exp
-+++ b/pengine/test10/stop-failure-no-quorum.exp
-@@ -10,7 +10,7 @@
-         <pseudo_event id="16" operation="stop" operation_key="clvm-clone_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="22" operation="stonith" operation_key="stonith-pcmk-2" on_node="pcmk-2" on_node_uuid="102"/>
-+        <crm_event id="22" operation="stonith" operation_key="stonith-pcmk-2-reboot" on_node="pcmk-2" on_node_uuid="102"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -37,13 +37,13 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="22" operation="stonith" operation_key="stonith-pcmk-2" on_node="pcmk-2" on_node_uuid="102"/>
-+        <crm_event id="22" operation="stonith" operation_key="stonith-pcmk-2-reboot" on_node="pcmk-2" on_node_uuid="102"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="3">
-     <action_set>
--      <crm_event id="22" operation="stonith" operation_key="stonith-pcmk-2" on_node="pcmk-2" on_node_uuid="102">
-+      <crm_event id="22" operation="stonith" operation_key="stonith-pcmk-2-reboot" on_node="pcmk-2" on_node_uuid="102">
-         <attributes CRM_meta_fail_count_clvm="INFINITY" CRM_meta_last_failure_clvm="1371014555" CRM_meta_on_node="pcmk-2" CRM_meta_on_node_uuid="102" CRM_meta_probe_complete="true" CRM_meta_shutdown="1371014551" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -57,7 +57,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="22" operation="stonith" operation_key="stonith-pcmk-2" on_node="pcmk-2" on_node_uuid="102"/>
-+        <crm_event id="22" operation="stonith" operation_key="stonith-pcmk-2-reboot" on_node="pcmk-2" on_node_uuid="102"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/stop-failure-with-fencing.exp b/pengine/test10/stop-failure-with-fencing.exp
-index 1c22e38..335ac37 100644
---- a/pengine/test10/stop-failure-with-fencing.exp
-+++ b/pengine/test10/stop-failure-with-fencing.exp
-@@ -10,7 +10,7 @@
-         <pseudo_event id="16" operation="stop" operation_key="clvm-clone_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="22" operation="stonith" operation_key="stonith-pcmk-2" on_node="pcmk-2" on_node_uuid="102"/>
-+        <crm_event id="22" operation="stonith" operation_key="stonith-pcmk-2-reboot" on_node="pcmk-2" on_node_uuid="102"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -37,7 +37,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="22" operation="stonith" operation_key="stonith-pcmk-2" on_node="pcmk-2" on_node_uuid="102"/>
-+        <crm_event id="22" operation="stonith" operation_key="stonith-pcmk-2-reboot" on_node="pcmk-2" on_node_uuid="102"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -52,7 +52,7 @@
-   </synapse>
-   <synapse id="4">
-     <action_set>
--      <crm_event id="22" operation="stonith" operation_key="stonith-pcmk-2" on_node="pcmk-2" on_node_uuid="102">
-+      <crm_event id="22" operation="stonith" operation_key="stonith-pcmk-2-reboot" on_node="pcmk-2" on_node_uuid="102">
-         <attributes CRM_meta_fail_count_clvm="INFINITY" CRM_meta_last_failure_clvm="1371014555" CRM_meta_on_node="pcmk-2" CRM_meta_on_node_uuid="102" CRM_meta_probe_complete="true" CRM_meta_shutdown="1371014551" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -66,7 +66,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="22" operation="stonith" operation_key="stonith-pcmk-2" on_node="pcmk-2" on_node_uuid="102"/>
-+        <crm_event id="22" operation="stonith" operation_key="stonith-pcmk-2-reboot" on_node="pcmk-2" on_node_uuid="102"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealth1.exp b/pengine/test10/systemhealth1.exp
-index f8c698e..b090f6b 100644
---- a/pengine/test10/systemhealth1.exp
-+++ b/pengine/test10/systemhealth1.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0">
-     <action_set>
--      <crm_event id="4" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-+      <crm_event id="4" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-         <attributes CRM_meta_on_node="hs21d" CRM_meta_on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -9,13 +9,13 @@
-   </synapse>
-   <synapse id="1">
-     <action_set>
--      <crm_event id="3" operation="stonith" operation_key="stonith-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-+      <crm_event id="3" operation="stonith" operation_key="stonith-hs21c-reboot" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-         <attributes CRM_meta_on_node="hs21c" CRM_meta_on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549" CRM_meta_op_no_wait="true" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="4" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-+        <crm_event id="4" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -27,7 +27,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="4" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-+        <crm_event id="4" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealth2.exp b/pengine/test10/systemhealth2.exp
-index 9232b32..68b5078 100644
---- a/pengine/test10/systemhealth2.exp
-+++ b/pengine/test10/systemhealth2.exp
-@@ -102,7 +102,7 @@
-   </synapse>
-   <synapse id="8">
-     <action_set>
--      <crm_event id="13" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-+      <crm_event id="13" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-         <attributes CRM_meta_on_node="hs21d" CRM_meta_on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -116,7 +116,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealth3.exp b/pengine/test10/systemhealth3.exp
-index 9232b32..68b5078 100644
---- a/pengine/test10/systemhealth3.exp
-+++ b/pengine/test10/systemhealth3.exp
-@@ -102,7 +102,7 @@
-   </synapse>
-   <synapse id="8">
-     <action_set>
--      <crm_event id="13" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-+      <crm_event id="13" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-         <attributes CRM_meta_on_node="hs21d" CRM_meta_on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -116,7 +116,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealthm1.exp b/pengine/test10/systemhealthm1.exp
-index f8c698e..b090f6b 100644
---- a/pengine/test10/systemhealthm1.exp
-+++ b/pengine/test10/systemhealthm1.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0">
-     <action_set>
--      <crm_event id="4" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-+      <crm_event id="4" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-         <attributes CRM_meta_on_node="hs21d" CRM_meta_on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -9,13 +9,13 @@
-   </synapse>
-   <synapse id="1">
-     <action_set>
--      <crm_event id="3" operation="stonith" operation_key="stonith-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-+      <crm_event id="3" operation="stonith" operation_key="stonith-hs21c-reboot" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-         <attributes CRM_meta_on_node="hs21c" CRM_meta_on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549" CRM_meta_op_no_wait="true" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="4" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-+        <crm_event id="4" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -27,7 +27,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="4" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-+        <crm_event id="4" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealthm2.exp b/pengine/test10/systemhealthm2.exp
-index 9232b32..68b5078 100644
---- a/pengine/test10/systemhealthm2.exp
-+++ b/pengine/test10/systemhealthm2.exp
-@@ -102,7 +102,7 @@
-   </synapse>
-   <synapse id="8">
-     <action_set>
--      <crm_event id="13" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-+      <crm_event id="13" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-         <attributes CRM_meta_on_node="hs21d" CRM_meta_on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -116,7 +116,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealthm3.exp b/pengine/test10/systemhealthm3.exp
-index 15b37be..7246b5b 100644
---- a/pengine/test10/systemhealthm3.exp
-+++ b/pengine/test10/systemhealthm3.exp
-@@ -28,7 +28,7 @@
-   </synapse>
-   <synapse id="3">
-     <action_set>
--      <crm_event id="8" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-+      <crm_event id="8" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-         <attributes CRM_meta_on_node="hs21d" CRM_meta_on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -42,7 +42,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="8" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-+        <crm_event id="8" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealthn1.exp b/pengine/test10/systemhealthn1.exp
-index f8c698e..b090f6b 100644
---- a/pengine/test10/systemhealthn1.exp
-+++ b/pengine/test10/systemhealthn1.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0">
-     <action_set>
--      <crm_event id="4" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-+      <crm_event id="4" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-         <attributes CRM_meta_on_node="hs21d" CRM_meta_on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -9,13 +9,13 @@
-   </synapse>
-   <synapse id="1">
-     <action_set>
--      <crm_event id="3" operation="stonith" operation_key="stonith-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-+      <crm_event id="3" operation="stonith" operation_key="stonith-hs21c-reboot" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-         <attributes CRM_meta_on_node="hs21c" CRM_meta_on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549" CRM_meta_op_no_wait="true" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="4" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-+        <crm_event id="4" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -27,7 +27,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="4" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-+        <crm_event id="4" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealthn2.exp b/pengine/test10/systemhealthn2.exp
-index 9232b32..68b5078 100644
---- a/pengine/test10/systemhealthn2.exp
-+++ b/pengine/test10/systemhealthn2.exp
-@@ -102,7 +102,7 @@
-   </synapse>
-   <synapse id="8">
-     <action_set>
--      <crm_event id="13" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-+      <crm_event id="13" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-         <attributes CRM_meta_on_node="hs21d" CRM_meta_on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -116,7 +116,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealthn3.exp b/pengine/test10/systemhealthn3.exp
-index 9232b32..68b5078 100644
---- a/pengine/test10/systemhealthn3.exp
-+++ b/pengine/test10/systemhealthn3.exp
-@@ -102,7 +102,7 @@
-   </synapse>
-   <synapse id="8">
-     <action_set>
--      <crm_event id="13" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-+      <crm_event id="13" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-         <attributes CRM_meta_on_node="hs21d" CRM_meta_on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -116,7 +116,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealtho1.exp b/pengine/test10/systemhealtho1.exp
-index f8c698e..b090f6b 100644
---- a/pengine/test10/systemhealtho1.exp
-+++ b/pengine/test10/systemhealtho1.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0">
-     <action_set>
--      <crm_event id="4" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-+      <crm_event id="4" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-         <attributes CRM_meta_on_node="hs21d" CRM_meta_on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -9,13 +9,13 @@
-   </synapse>
-   <synapse id="1">
-     <action_set>
--      <crm_event id="3" operation="stonith" operation_key="stonith-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-+      <crm_event id="3" operation="stonith" operation_key="stonith-hs21c-reboot" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-         <attributes CRM_meta_on_node="hs21c" CRM_meta_on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549" CRM_meta_op_no_wait="true" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="4" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-+        <crm_event id="4" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -27,7 +27,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="4" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-+        <crm_event id="4" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealtho2.exp b/pengine/test10/systemhealtho2.exp
-index 15b37be..7246b5b 100644
---- a/pengine/test10/systemhealtho2.exp
-+++ b/pengine/test10/systemhealtho2.exp
-@@ -28,7 +28,7 @@
-   </synapse>
-   <synapse id="3">
-     <action_set>
--      <crm_event id="8" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-+      <crm_event id="8" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-         <attributes CRM_meta_on_node="hs21d" CRM_meta_on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -42,7 +42,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="8" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-+        <crm_event id="8" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealtho3.exp b/pengine/test10/systemhealtho3.exp
-index 15b37be..7246b5b 100644
---- a/pengine/test10/systemhealtho3.exp
-+++ b/pengine/test10/systemhealtho3.exp
-@@ -28,7 +28,7 @@
-   </synapse>
-   <synapse id="3">
-     <action_set>
--      <crm_event id="8" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-+      <crm_event id="8" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-         <attributes CRM_meta_on_node="hs21d" CRM_meta_on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -42,7 +42,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="8" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-+        <crm_event id="8" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealthp1.exp b/pengine/test10/systemhealthp1.exp
-index f8c698e..b090f6b 100644
---- a/pengine/test10/systemhealthp1.exp
-+++ b/pengine/test10/systemhealthp1.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0">
-     <action_set>
--      <crm_event id="4" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-+      <crm_event id="4" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-         <attributes CRM_meta_on_node="hs21d" CRM_meta_on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -9,13 +9,13 @@
-   </synapse>
-   <synapse id="1">
-     <action_set>
--      <crm_event id="3" operation="stonith" operation_key="stonith-hs21c" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-+      <crm_event id="3" operation="stonith" operation_key="stonith-hs21c-reboot" on_node="hs21c" on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549">
-         <attributes CRM_meta_on_node="hs21c" CRM_meta_on_node_uuid="c97a3ee5-02d8-4fad-a9fb-a79ae2b35549" CRM_meta_op_no_wait="true" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="4" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-+        <crm_event id="4" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -27,7 +27,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="4" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-+        <crm_event id="4" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealthp2.exp b/pengine/test10/systemhealthp2.exp
-index f333166..e3ba25d 100644
---- a/pengine/test10/systemhealthp2.exp
-+++ b/pengine/test10/systemhealthp2.exp
-@@ -86,7 +86,7 @@
-   </synapse>
-   <synapse id="7">
-     <action_set>
--      <crm_event id="12" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-+      <crm_event id="12" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-         <attributes CRM_meta_on_node="hs21d" CRM_meta_on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -100,7 +100,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="12" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-+        <crm_event id="12" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/systemhealthp3.exp b/pengine/test10/systemhealthp3.exp
-index 15b37be..7246b5b 100644
---- a/pengine/test10/systemhealthp3.exp
-+++ b/pengine/test10/systemhealthp3.exp
-@@ -28,7 +28,7 @@
-   </synapse>
-   <synapse id="3">
-     <action_set>
--      <crm_event id="8" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-+      <crm_event id="8" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7">
-         <attributes CRM_meta_on_node="hs21d" CRM_meta_on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -42,7 +42,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="8" operation="stonith" operation_key="stonith-hs21d" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-+        <crm_event id="8" operation="stonith" operation_key="stonith-hs21d-reboot" on_node="hs21d" on_node_uuid="737318c6-0f92-4592-9754-45967d45aff7"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-clone-21.exp b/pengine/test10/ticket-clone-21.exp
-index ee3a383..00f136d 100644
---- a/pengine/test10/ticket-clone-21.exp
-+++ b/pengine/test10/ticket-clone-21.exp
-@@ -7,7 +7,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="12" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1"/>
-+        <crm_event id="12" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -22,7 +22,7 @@
-         <pseudo_event id="9" operation="stop" operation_key="clone1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="12" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1"/>
-+        <crm_event id="12" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -37,7 +37,7 @@
-         <pseudo_event id="9" operation="stop" operation_key="clone1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -67,28 +67,28 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="12" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1"/>
-+        <crm_event id="12" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="5">
-     <action_set>
--      <crm_event id="13" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2">
-+      <crm_event id="13" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_on_node="node2" CRM_meta_on_node_uuid="node2" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="12" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1"/>
-+        <crm_event id="12" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="6">
-     <action_set>
--      <crm_event id="12" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1">
-+      <crm_event id="12" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_on_node="node1" CRM_meta_on_node_uuid="node1" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -102,7 +102,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-clone-9.exp b/pengine/test10/ticket-clone-9.exp
-index ee3a383..00f136d 100644
---- a/pengine/test10/ticket-clone-9.exp
-+++ b/pengine/test10/ticket-clone-9.exp
-@@ -7,7 +7,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="12" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1"/>
-+        <crm_event id="12" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -22,7 +22,7 @@
-         <pseudo_event id="9" operation="stop" operation_key="clone1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="12" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1"/>
-+        <crm_event id="12" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -37,7 +37,7 @@
-         <pseudo_event id="9" operation="stop" operation_key="clone1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -67,28 +67,28 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="12" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1"/>
-+        <crm_event id="12" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="5">
-     <action_set>
--      <crm_event id="13" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2">
-+      <crm_event id="13" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_on_node="node2" CRM_meta_on_node_uuid="node2" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="12" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1"/>
-+        <crm_event id="12" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="6">
-     <action_set>
--      <crm_event id="12" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1">
-+      <crm_event id="12" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_on_node="node1" CRM_meta_on_node_uuid="node1" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -102,7 +102,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="13" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="13" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-group-21.exp b/pengine/test10/ticket-group-21.exp
-index 53e30f0..d85b683 100644
---- a/pengine/test10/ticket-group-21.exp
-+++ b/pengine/test10/ticket-group-21.exp
-@@ -25,7 +25,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="15" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="15" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -43,7 +43,7 @@
-         <pseudo_event id="12" operation="stop" operation_key="group1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="15" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="15" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -58,13 +58,13 @@
-         <pseudo_event id="12" operation="stop" operation_key="group1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="15" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="15" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="4">
-     <action_set>
--      <crm_event id="15" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2">
-+      <crm_event id="15" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_on_node="node2" CRM_meta_on_node_uuid="node2" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -78,7 +78,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="15" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="15" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-group-9.exp b/pengine/test10/ticket-group-9.exp
-index 53e30f0..d85b683 100644
---- a/pengine/test10/ticket-group-9.exp
-+++ b/pengine/test10/ticket-group-9.exp
-@@ -25,7 +25,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="15" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="15" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -43,7 +43,7 @@
-         <pseudo_event id="12" operation="stop" operation_key="group1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="15" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="15" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -58,13 +58,13 @@
-         <pseudo_event id="12" operation="stop" operation_key="group1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="15" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="15" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="4">
-     <action_set>
--      <crm_event id="15" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2">
-+      <crm_event id="15" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_on_node="node2" CRM_meta_on_node_uuid="node2" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -78,7 +78,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="15" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="15" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-master-21.exp b/pengine/test10/ticket-master-21.exp
-index 47f4257..1ed731c 100644
---- a/pengine/test10/ticket-master-21.exp
-+++ b/pengine/test10/ticket-master-21.exp
-@@ -23,7 +23,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="21" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1"/>
-+        <crm_event id="21" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -41,7 +41,7 @@
-         <pseudo_event id="14" operation="stop" operation_key="ms1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="21" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1"/>
-+        <crm_event id="21" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -56,7 +56,7 @@
-         <pseudo_event id="18" operation="demote" operation_key="ms1_demote_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="21" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1"/>
-+        <crm_event id="21" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -109,13 +109,13 @@
-         <pseudo_event id="19" operation="demoted" operation_key="ms1_demoted_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="21" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1"/>
-+        <crm_event id="21" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="8">
-     <action_set>
--      <crm_event id="21" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1">
-+      <crm_event id="21" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_on_node="node1" CRM_meta_on_node_uuid="node1" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -129,7 +129,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="21" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1"/>
-+        <crm_event id="21" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-master-9.exp b/pengine/test10/ticket-master-9.exp
-index 47f4257..1ed731c 100644
---- a/pengine/test10/ticket-master-9.exp
-+++ b/pengine/test10/ticket-master-9.exp
-@@ -23,7 +23,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="21" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1"/>
-+        <crm_event id="21" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -41,7 +41,7 @@
-         <pseudo_event id="14" operation="stop" operation_key="ms1_stop_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="21" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1"/>
-+        <crm_event id="21" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -56,7 +56,7 @@
-         <pseudo_event id="18" operation="demote" operation_key="ms1_demote_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="21" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1"/>
-+        <crm_event id="21" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -109,13 +109,13 @@
-         <pseudo_event id="19" operation="demoted" operation_key="ms1_demoted_0"/>
-       </trigger>
-       <trigger>
--        <crm_event id="21" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1"/>
-+        <crm_event id="21" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="8">
-     <action_set>
--      <crm_event id="21" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1">
-+      <crm_event id="21" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1">
-         <attributes CRM_meta_on_node="node1" CRM_meta_on_node_uuid="node1" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -129,7 +129,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="21" operation="stonith" operation_key="stonith-node1" on_node="node1" on_node_uuid="node1"/>
-+        <crm_event id="21" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-primitive-21.exp b/pengine/test10/ticket-primitive-21.exp
-index 8e8b128..c88cf38 100644
---- a/pengine/test10/ticket-primitive-21.exp
-+++ b/pengine/test10/ticket-primitive-21.exp
-@@ -7,13 +7,13 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="9" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="9" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="1">
-     <action_set>
--      <crm_event id="9" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2">
-+      <crm_event id="9" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_on_node="node2" CRM_meta_on_node_uuid="node2" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -27,7 +27,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="9" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="9" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/ticket-primitive-9.exp b/pengine/test10/ticket-primitive-9.exp
-index 8e8b128..c88cf38 100644
---- a/pengine/test10/ticket-primitive-9.exp
-+++ b/pengine/test10/ticket-primitive-9.exp
-@@ -7,13 +7,13 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="9" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="9" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="1">
-     <action_set>
--      <crm_event id="9" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2">
-+      <crm_event id="9" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2">
-         <attributes CRM_meta_on_node="node2" CRM_meta_on_node_uuid="node2" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-@@ -27,7 +27,7 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="9" operation="stonith" operation_key="stonith-node2" on_node="node2" on_node_uuid="node2"/>
-+        <crm_event id="9" operation="stonith" operation_key="stonith-node2-reboot" on_node="node2" on_node_uuid="node2"/>
-       </trigger>
-     </inputs>
-   </synapse>
diff --git a/SOURCES/bz1078078-pcmk-pe_potential_memory_leak.patch b/SOURCES/bz1078078-pcmk-pe_potential_memory_leak.patch
deleted file mode 100644
index 3848308..0000000
--- a/SOURCES/bz1078078-pcmk-pe_potential_memory_leak.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-commit 566a6901e5badb712809473527f42678267460a8
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Tue Apr 1 16:00:40 2014 +1100
-
-    Fix: PE: Potential memory leak
-    
-    (cherry picked from commit b1474d8feb1d975f7a87b4008aabc6ff338d2349)
-
-diff --git a/lib/pengine/utils.c b/lib/pengine/utils.c
-index 1e827e0..410acfc 100644
---- a/lib/pengine/utils.c
-+++ b/lib/pengine/utils.c
-@@ -358,7 +358,7 @@ custom_action(resource_t * rsc, char *key, const char *task,
-     GListPtr possible_matches = NULL;
- 
-     CRM_CHECK(key != NULL, return NULL);
--    CRM_CHECK(task != NULL, return NULL);
-+    CRM_CHECK(task != NULL, free(key); return NULL);
- 
-     if (save_action && rsc != NULL) {
-         possible_matches = find_actions(rsc->actions, key, on_node);
diff --git a/SOURCES/bz1078078-pcmk-pe_repair_regression_tests.patch b/SOURCES/bz1078078-pcmk-pe_repair_regression_tests.patch
deleted file mode 100644
index fae99f7..0000000
--- a/SOURCES/bz1078078-pcmk-pe_repair_regression_tests.patch
+++ /dev/null
@@ -1,1309 +0,0 @@
-commit fe3e8bf6ece8eeb90c8c1c738b7961e6413762fc
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Fri Apr 11 08:16:33 2014 +1000
-
-    PE: Repair regression tests
-
-diff --git a/pengine/test10/unfence-definition.exp b/pengine/test10/unfence-definition.exp
-index f023a0b..392c286 100644
---- a/pengine/test10/unfence-definition.exp
-+++ b/pengine/test10/unfence-definition.exp
-@@ -1,14 +1,14 @@
--<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0">
-     <action_set>
-       <rsc_op id="16" operation="start" operation_key="fencing_start_0" on_node="virt-1" on_node_uuid="1">
-         <primitive id="fencing" class="stonith" type="fence_scsi"/>
--        <attributes CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-       <trigger>
--        <pseudo_event id="2" operation="all_stopped" operation_key="all_stopped"/>
-+        <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped"/>
-       </trigger>
-       <trigger>
-         <rsc_op id="6" operation="stop" operation_key="fencing_stop_0" on_node="virt-1" on_node_uuid="1"/>
-@@ -28,7 +28,7 @@
-     <action_set>
-       <rsc_op id="13" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3">
-         <primitive id="fencing" class="stonith" type="fence_scsi"/>
--        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -41,7 +41,7 @@
-     <action_set>
-       <rsc_op id="7" operation="delete" operation_key="fencing_delete_0" on_node="virt-1" on_node_uuid="1">
-         <primitive id="fencing" class="stonith" type="fence_scsi"/>
--        <attributes CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -54,7 +54,7 @@
-     <action_set>
-       <rsc_op id="6" operation="stop" operation_key="fencing_stop_0" on_node="virt-1" on_node_uuid="1">
-         <primitive id="fencing" class="stonith" type="fence_scsi"/>
--        <attributes CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -67,7 +67,7 @@
-     <action_set>
-       <rsc_op id="18" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:0_start_0" on_node="virt-1" on_node_uuid="1">
-         <primitive id="dlm" long-id="dlm:0" class="ocf" provider="pacemaker" type="controld"/>
--        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -89,7 +89,7 @@
-     <action_set>
-       <rsc_op id="17" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0" on_node="virt-1" on_node_uuid="1">
-         <primitive id="dlm" long-id="dlm:0" class="ocf" provider="pacemaker" type="controld"/>
--        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -108,7 +108,7 @@
-     <action_set>
-       <rsc_op id="21" operation="start" operation_key="dlm:2_start_0" on_node="virt-3" on_node_uuid="3">
-         <primitive id="dlm" long-id="dlm:2" class="ocf" provider="pacemaker" type="controld"/>
--        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -127,7 +127,7 @@
-     <action_set>
-       <rsc_op id="14" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3">
-         <primitive id="dlm" long-id="dlm:2" class="ocf" provider="pacemaker" type="controld"/>
--        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs/>
-@@ -135,7 +135,7 @@
-   <synapse id="8" priority="1000000">
-     <action_set>
-       <pseudo_event id="25" operation="stopped" operation_key="dlm-clone_stopped_0">
--        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-@@ -150,7 +150,7 @@
-   <synapse id="9">
-     <action_set>
-       <pseudo_event id="24" operation="stop" operation_key="dlm-clone_stop_0">
--        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-@@ -162,7 +162,7 @@
-   <synapse id="10" priority="1000000">
-     <action_set>
-       <pseudo_event id="23" operation="running" operation_key="dlm-clone_running_0">
--        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-@@ -180,12 +180,12 @@
-   <synapse id="11">
-     <action_set>
-       <pseudo_event id="22" operation="start" operation_key="dlm-clone_start_0">
--        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="1" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1"/>
-+        <crm_event id="2" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1"/>
-       </trigger>
-       <trigger>
-         <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3"/>
-@@ -199,7 +199,7 @@
-     <action_set>
-       <rsc_op id="27" operation="start" operation_key="clvmd_start_0" internal_operation_key="clvmd:0_start_0" on_node="virt-1" on_node_uuid="1">
-         <primitive id="clvmd" long-id="clvmd:0" class="ocf" provider="heartbeat" type="clvm"/>
--        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -224,7 +224,7 @@
-     <action_set>
-       <rsc_op id="26" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1">
-         <primitive id="clvmd" long-id="clvmd:0" class="ocf" provider="heartbeat" type="clvm"/>
--        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -240,7 +240,7 @@
-     <action_set>
-       <rsc_op id="28" operation="start" operation_key="clvmd:1_start_0" on_node="virt-2" on_node_uuid="2">
-         <primitive id="clvmd" long-id="clvmd:1" class="ocf" provider="heartbeat" type="clvm"/>
--        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -262,7 +262,7 @@
-     <action_set>
-       <rsc_op id="11" operation="monitor" operation_key="clvmd:1_monitor_0" on_node="virt-2" on_node_uuid="2">
-         <primitive id="clvmd" long-id="clvmd:1" class="ocf" provider="heartbeat" type="clvm"/>
--        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs/>
-@@ -271,7 +271,7 @@
-     <action_set>
-       <rsc_op id="29" operation="start" operation_key="clvmd:2_start_0" on_node="virt-3" on_node_uuid="3">
-         <primitive id="clvmd" long-id="clvmd:2" class="ocf" provider="heartbeat" type="clvm"/>
--        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -296,7 +296,7 @@
-     <action_set>
-       <rsc_op id="15" operation="monitor" operation_key="clvmd:2_monitor_0" on_node="virt-3" on_node_uuid="3">
-         <primitive id="clvmd" long-id="clvmd:2" class="ocf" provider="heartbeat" type="clvm"/>
--        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs/>
-@@ -304,7 +304,7 @@
-   <synapse id="18" priority="1000000">
-     <action_set>
-       <pseudo_event id="33" operation="stopped" operation_key="clvmd-clone_stopped_0">
--        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-@@ -319,7 +319,7 @@
-   <synapse id="19">
-     <action_set>
-       <pseudo_event id="32" operation="stop" operation_key="clvmd-clone_stop_0">
--        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs/>
-@@ -327,7 +327,7 @@
-   <synapse id="20" priority="1000000">
-     <action_set>
-       <pseudo_event id="31" operation="running" operation_key="clvmd-clone_running_0">
--        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-@@ -348,12 +348,12 @@
-   <synapse id="21">
-     <action_set>
-       <pseudo_event id="30" operation="start" operation_key="clvmd-clone_start_0">
--        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="1" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1"/>
-+        <crm_event id="2" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1"/>
-       </trigger>
-       <trigger>
-         <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3"/>
-@@ -369,7 +369,7 @@
-   <synapse id="22">
-     <action_set>
-       <crm_event id="35" operation="stonith" operation_key="stonith-virt-4-reboot" on_node="virt-4" on_node_uuid="4">
--        <attributes CRM_meta_on_node="virt-4" CRM_meta_on_node_uuid="4" CRM_meta_stonith_action="reboot" />
-+        <attributes CRM_meta_on_node="virt-4" CRM_meta_on_node_uuid="4" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-     <inputs/>
-@@ -377,7 +377,7 @@
-   <synapse id="23">
-     <action_set>
-       <pseudo_event id="34" operation="stonith_complete" operation_key="stonith_complete">
--        <attributes />
-+        <attributes crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-@@ -389,7 +389,7 @@
-   <synapse id="24" priority="1000000">
-     <action_set>
-       <rsc_op id="12" operation="probe_complete" operation_key="probe_complete-virt-3" on_node="virt-3" on_node_uuid="3">
--        <attributes CRM_meta_op_no_wait="true" />
-+        <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -404,7 +404,7 @@
-   <synapse id="25" priority="1000000">
-     <action_set>
-       <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-virt-2" on_node="virt-2" on_node_uuid="2">
--        <attributes CRM_meta_op_no_wait="true" />
-+        <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -416,7 +416,7 @@
-   <synapse id="26" priority="1000000">
-     <action_set>
-       <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-virt-1" on_node="virt-1" on_node_uuid="1">
--        <attributes CRM_meta_op_no_wait="true" />
-+        <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs/>
-@@ -424,7 +424,7 @@
-   <synapse id="27">
-     <action_set>
-       <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete">
--        <attributes />
-+        <attributes crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-@@ -442,7 +442,7 @@
-   <synapse id="28">
-     <action_set>
-       <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3">
--        <attributes CRM_meta_on_node="virt-3" CRM_meta_on_node_uuid="3" CRM_meta_stonith_action="on" />
-+        <attributes CRM_meta_on_node="virt-3" CRM_meta_on_node_uuid="3" CRM_meta_stonith_action="on" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-     <inputs>
-@@ -462,37 +462,37 @@
-   </synapse>
-   <synapse id="29">
-     <action_set>
--      <pseudo_event id="2" operation="all_stopped" operation_key="all_stopped">
--        <attributes />
--      </pseudo_event>
-+      <crm_event id="2" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1">
-+        <attributes CRM_meta_on_node="virt-1" CRM_meta_on_node_uuid="1" CRM_meta_stonith_action="on" crm_feature_set="3.0.7"/>
-+      </crm_event>
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="6" operation="stop" operation_key="fencing_stop_0" on_node="virt-1" on_node_uuid="1"/>
--      </trigger>
--      <trigger>
--        <rsc_op id="17" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
--      </trigger>
--      <trigger>
--        <rsc_op id="26" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+        <pseudo_event id="25" operation="stopped" operation_key="dlm-clone_stopped_0"/>
-       </trigger>
-       <trigger>
--        <pseudo_event id="34" operation="stonith_complete" operation_key="stonith_complete"/>
-+        <pseudo_event id="33" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="30">
-     <action_set>
--      <crm_event id="1" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1">
--        <attributes CRM_meta_on_node="virt-1" CRM_meta_on_node_uuid="1" CRM_meta_stonith_action="on" />
--      </crm_event>
-+      <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped">
-+        <attributes crm_feature_set="3.0.7"/>
-+      </pseudo_event>
-     </action_set>
-     <inputs>
-       <trigger>
--        <pseudo_event id="25" operation="stopped" operation_key="dlm-clone_stopped_0"/>
-+        <rsc_op id="6" operation="stop" operation_key="fencing_stop_0" on_node="virt-1" on_node_uuid="1"/>
-       </trigger>
-       <trigger>
--        <pseudo_event id="33" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
-+        <rsc_op id="17" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="26" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="34" operation="stonith_complete" operation_key="stonith_complete"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/unfence-definition.scores b/pengine/test10/unfence-definition.scores
-new file mode 100644
-index 0000000..a4b5fb1
---- /dev/null
-+++ b/pengine/test10/unfence-definition.scores
-@@ -0,0 +1,77 @@
-+Allocation scores:
-+clone_color: clvmd-clone allocation score on virt-1: 0
-+clone_color: clvmd-clone allocation score on virt-2: 0
-+clone_color: clvmd-clone allocation score on virt-3: 0
-+clone_color: clvmd-clone allocation score on virt-4: 0
-+clone_color: clvmd:0 allocation score on virt-1: 1
-+clone_color: clvmd:0 allocation score on virt-2: 0
-+clone_color: clvmd:0 allocation score on virt-3: 0
-+clone_color: clvmd:0 allocation score on virt-4: 0
-+clone_color: clvmd:1 allocation score on virt-1: 0
-+clone_color: clvmd:1 allocation score on virt-2: 0
-+clone_color: clvmd:1 allocation score on virt-3: 0
-+clone_color: clvmd:1 allocation score on virt-4: 0
-+clone_color: clvmd:2 allocation score on virt-1: 0
-+clone_color: clvmd:2 allocation score on virt-2: 0
-+clone_color: clvmd:2 allocation score on virt-3: 0
-+clone_color: clvmd:2 allocation score on virt-4: 0
-+clone_color: clvmd:3 allocation score on virt-1: 0
-+clone_color: clvmd:3 allocation score on virt-2: 0
-+clone_color: clvmd:3 allocation score on virt-3: 0
-+clone_color: clvmd:3 allocation score on virt-4: 0
-+clone_color: dlm-clone allocation score on virt-1: 0
-+clone_color: dlm-clone allocation score on virt-2: 0
-+clone_color: dlm-clone allocation score on virt-3: 0
-+clone_color: dlm-clone allocation score on virt-4: 0
-+clone_color: dlm:0 allocation score on virt-1: 1
-+clone_color: dlm:0 allocation score on virt-2: 0
-+clone_color: dlm:0 allocation score on virt-3: 0
-+clone_color: dlm:0 allocation score on virt-4: 0
-+clone_color: dlm:1 allocation score on virt-1: 0
-+clone_color: dlm:1 allocation score on virt-2: 1
-+clone_color: dlm:1 allocation score on virt-3: 0
-+clone_color: dlm:1 allocation score on virt-4: 0
-+clone_color: dlm:2 allocation score on virt-1: 0
-+clone_color: dlm:2 allocation score on virt-2: 0
-+clone_color: dlm:2 allocation score on virt-3: 0
-+clone_color: dlm:2 allocation score on virt-4: 0
-+clone_color: dlm:3 allocation score on virt-1: 0
-+clone_color: dlm:3 allocation score on virt-2: 0
-+clone_color: dlm:3 allocation score on virt-3: 0
-+clone_color: dlm:3 allocation score on virt-4: 0
-+native_color: clvmd:0 allocation score on virt-1: 1
-+native_color: clvmd:0 allocation score on virt-2: -INFINITY
-+native_color: clvmd:0 allocation score on virt-3: -INFINITY
-+native_color: clvmd:0 allocation score on virt-4: -INFINITY
-+native_color: clvmd:1 allocation score on virt-1: -INFINITY
-+native_color: clvmd:1 allocation score on virt-2: 0
-+native_color: clvmd:1 allocation score on virt-3: -INFINITY
-+native_color: clvmd:1 allocation score on virt-4: -INFINITY
-+native_color: clvmd:2 allocation score on virt-1: -INFINITY
-+native_color: clvmd:2 allocation score on virt-2: -INFINITY
-+native_color: clvmd:2 allocation score on virt-3: 0
-+native_color: clvmd:2 allocation score on virt-4: -INFINITY
-+native_color: clvmd:3 allocation score on virt-1: -INFINITY
-+native_color: clvmd:3 allocation score on virt-2: -INFINITY
-+native_color: clvmd:3 allocation score on virt-3: -INFINITY
-+native_color: clvmd:3 allocation score on virt-4: -INFINITY
-+native_color: dlm:0 allocation score on virt-1: 1
-+native_color: dlm:0 allocation score on virt-2: -INFINITY
-+native_color: dlm:0 allocation score on virt-3: 0
-+native_color: dlm:0 allocation score on virt-4: -INFINITY
-+native_color: dlm:1 allocation score on virt-1: 0
-+native_color: dlm:1 allocation score on virt-2: 1
-+native_color: dlm:1 allocation score on virt-3: 0
-+native_color: dlm:1 allocation score on virt-4: -INFINITY
-+native_color: dlm:2 allocation score on virt-1: -INFINITY
-+native_color: dlm:2 allocation score on virt-2: -INFINITY
-+native_color: dlm:2 allocation score on virt-3: 0
-+native_color: dlm:2 allocation score on virt-4: -INFINITY
-+native_color: dlm:3 allocation score on virt-1: -INFINITY
-+native_color: dlm:3 allocation score on virt-2: -INFINITY
-+native_color: dlm:3 allocation score on virt-3: -INFINITY
-+native_color: dlm:3 allocation score on virt-4: -INFINITY
-+native_color: fencing allocation score on virt-1: 0
-+native_color: fencing allocation score on virt-2: 0
-+native_color: fencing allocation score on virt-3: 0
-+native_color: fencing allocation score on virt-4: 0
-diff --git a/pengine/test10/unfence-definition.summary b/pengine/test10/unfence-definition.summary
-index 3e4b66b..3d65029 100644
---- a/pengine/test10/unfence-definition.summary
-+++ b/pengine/test10/unfence-definition.summary
-@@ -35,8 +35,8 @@ Executing cluster transition:
-  * Resource action: dlm             stop on virt-1
-  * Pseudo action:   dlm-clone_stopped_0
-  * Fencing virt-3 (on)
-- * Pseudo action:   all_stopped
-  * Fencing virt-1 (on)
-+ * Pseudo action:   all_stopped
-  * Resource action: fencing         monitor on virt-3
-  * Pseudo action:   dlm-clone_start_0
-  * Resource action: fencing         start on virt-1
-diff --git a/pengine/test10/unfence-definition.xml b/pengine/test10/unfence-definition.xml
-new file mode 100644
-index 0000000..5d77931
---- /dev/null
-+++ b/pengine/test10/unfence-definition.xml
-@@ -0,0 +1,73 @@
-+<cib epoch="17" num_updates="25" admin_epoch="0" validate-with="pacemaker-1.2" cib-last-written="Wed Mar 19 19:51:25 2014" update-origin="virt-009.cluster-qe.lab.eng.brq.redhat.com" update-client="crm_resource" crm_feature_set="3.0.7" have-quorum="1" dc-uuid="8">
-+  <configuration>
-+    <crm_config>
-+      <cluster_property_set id="cib-bootstrap-options">
-+        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.10-27.el7-368c726"/>
-+        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
-+        <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="freeze"/>
-+      </cluster_property_set>
-+    </crm_config>
-+    <nodes>
-+      <node id="1" uname="virt-1"/>
-+      <node id="2" uname="virt-2"/>
-+      <node id="3" uname="virt-3"/>
-+      <node id="4" uname="virt-4"/>
-+    </nodes>
-+    <resources>
-+      <primitive class="stonith" id="fencing" type="fence_scsi">
-+        <meta_attributes id="stonith-meta">
-+          <nvpair id="stonith-unfence" name="provides" value="unfencing"/>
-+        </meta_attributes>
-+      </primitive>
-+      <clone id="dlm-clone">
-+        <primitive class="ocf" id="dlm" provider="pacemaker" type="controld"/>
-+        <meta_attributes id="dlm-clone-meta">
-+          <nvpair id="dlm-interleave" name="interleave" value="true"/>
-+          <nvpair id="dlm-ordered" name="ordered" value="true"/>
-+        </meta_attributes>
-+      </clone>
-+      <clone id="clvmd-clone">
-+        <primitive class="ocf" id="clvmd" provider="heartbeat" type="clvm"/>
-+        <meta_attributes id="clvmd-clone-meta">
-+          <nvpair id="clvmd-interleave" name="interleave" value="true"/>
-+          <nvpair id="clvmd-ordered" name="ordered" value="true"/>
-+        </meta_attributes>
-+      </clone>
-+    </resources>
-+    <constraints>
-+      <rsc_order first="dlm-clone" first-action="start" id="order-dlm-clone-clvmd-clone-mandatory" then="clvmd-clone" then-action="start"/>
-+      <rsc_colocation id="colocation-clvmd-clone-dlm-clone-INFINITY" rsc="clvmd-clone" score="INFINITY" with-rsc="dlm-clone"/>
-+    </constraints>
-+  </configuration>
-+  <status>
-+    <node_state id="1" uname="virt-1" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member">
-+      <lrm id="1">
-+        <lrm_resources>
-+          <lrm_resource id="fencing" type="fence_virt" class="stonith">
-+            <lrm_rsc_op id="fencing_last_0" operation_key="fencing_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="23:8:0:d45f7bbd-8249-4af5-8120-a9199830d27a" transition-magic="0:0;23:8:0:d45f7bbd-8249-4af5-8120-a9199830d27a" call-id="26" rc-code="0" op-status="0" interval="0" last-run="1395255112" last-rc-change="1395255112" exec-time="1047" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+          <lrm_resource id="dlm" type="controld" class="ocf" provider="pacemaker">
-+            <lrm_rsc_op id="dlm_last_0" operation_key="dlm_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="22:7:0:d45f7bbd-8249-4af5-8120-a9199830d27a" transition-magic="0:0;22:7:0:d45f7bbd-8249-4af5-8120-a9199830d27a" call-id="24" rc-code="0" op-status="0" interval="0" last-run="1395255085" last-rc-change="1395255085" exec-time="1102" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+          <lrm_resource id="clvmd" type="clvm" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="clvmd_last_0" operation_key="clvmd_start_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="9:2:7:d45f7bbd-8249-4af5-8120-a9199830d27a" transition-magic="0:0;9:2:0:d45f7bbd-8249-4af5-8120-a9199830d27a" call-id="15" rc-code="0" op-status="0" interval="0" last-run="1395254324" last-rc-change="1395254324" exec-time="214" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+        </lrm_resources>
-+      </lrm>
-+    </node_state>
-+    <node_state id="2" uname="virt-2" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member">
-+      <lrm id="2">
-+        <lrm_resources>
-+          <lrm_resource id="fencing" type="fence_scsi" class="stonith">
-+            <lrm_rsc_op id="fencing_last_0" operation_key="fencing_status_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="23:8:7:d45f7bbd-8249-4af5-8120-a9199830d27a" transition-magic="0:0;23:8:0:d45f7bbd-8249-4af5-8120-a9199830d27a" call-id="26" rc-code="7" op-status="0" interval="0" last-run="1395255112" last-rc-change="1395255112" exec-time="1047" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+          <lrm_resource id="dlm" type="controld" class="ocf" provider="pacemaker">
-+            <lrm_rsc_op id="dlm_last_0" operation_key="dlm_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="22:7:0:d45f7bbd-8249-4af5-8120-a9199830d27a" transition-magic="0:0;22:7:0:d45f7bbd-8249-4af5-8120-a9199830d27a" call-id="24" rc-code="0" op-status="0" interval="0" last-run="1395255085" last-rc-change="1395255085" exec-time="1102" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+        </lrm_resources>
-+      </lrm>
-+    </node_state>
-+    <node_state id="3" uname="virt-3" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member"/>
-+  </status>
-+</cib>
-+
-diff --git a/pengine/test10/unfence-parameters.exp b/pengine/test10/unfence-parameters.exp
-index 8ff3016..31b0371 100644
---- a/pengine/test10/unfence-parameters.exp
-+++ b/pengine/test10/unfence-parameters.exp
-@@ -1,9 +1,9 @@
--<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0">
-     <action_set>
-       <rsc_op id="15" operation="stop" operation_key="fencing_stop_0" on_node="virt-1" on_node_uuid="1">
-         <primitive id="fencing" class="stonith" type="fence_scsi"/>
--        <attributes CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -16,7 +16,7 @@
-     <action_set>
-       <rsc_op id="12" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3">
-         <primitive id="fencing" class="stonith" type="fence_scsi"/>
--        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -29,12 +29,12 @@
-     <action_set>
-       <rsc_op id="6" operation="start" operation_key="fencing_start_0" on_node="virt-1" on_node_uuid="1">
-         <primitive id="fencing" class="stonith" type="fence_scsi"/>
--        <attributes CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-       <trigger>
--        <pseudo_event id="2" operation="all_stopped" operation_key="all_stopped"/>
-+        <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped"/>
-       </trigger>
-       <trigger>
-         <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
-@@ -51,7 +51,7 @@
-     <action_set>
-       <rsc_op id="17" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:0_start_0" on_node="virt-1" on_node_uuid="1">
-         <primitive id="dlm" long-id="dlm:0" class="ocf" provider="pacemaker" type="controld"/>
--        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -73,7 +73,7 @@
-     <action_set>
-       <rsc_op id="16" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0" on_node="virt-1" on_node_uuid="1">
-         <primitive id="dlm" long-id="dlm:0" class="ocf" provider="pacemaker" type="controld"/>
--        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -95,7 +95,7 @@
-     <action_set>
-       <rsc_op id="19" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:1_start_0" on_node="virt-2" on_node_uuid="2">
-         <primitive id="dlm" long-id="dlm:1" class="ocf" provider="pacemaker" type="controld"/>
--        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -120,7 +120,7 @@
-     <action_set>
-       <rsc_op id="18" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:1_stop_0" on_node="virt-2" on_node_uuid="2">
-         <primitive id="dlm" long-id="dlm:1" class="ocf" provider="pacemaker" type="controld"/>
--        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -136,7 +136,7 @@
-     <action_set>
-       <rsc_op id="20" operation="start" operation_key="dlm:2_start_0" on_node="virt-3" on_node_uuid="3">
-         <primitive id="dlm" long-id="dlm:2" class="ocf" provider="pacemaker" type="controld"/>
--        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -158,7 +158,7 @@
-     <action_set>
-       <rsc_op id="13" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3">
-         <primitive id="dlm" long-id="dlm:2" class="ocf" provider="pacemaker" type="controld"/>
--        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs/>
-@@ -166,7 +166,7 @@
-   <synapse id="9" priority="1000000">
-     <action_set>
-       <pseudo_event id="24" operation="stopped" operation_key="dlm-clone_stopped_0">
--        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-@@ -184,7 +184,7 @@
-   <synapse id="10">
-     <action_set>
-       <pseudo_event id="23" operation="stop" operation_key="dlm-clone_stop_0">
--        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-@@ -196,7 +196,7 @@
-   <synapse id="11" priority="1000000">
-     <action_set>
-       <pseudo_event id="22" operation="running" operation_key="dlm-clone_running_0">
--        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-@@ -217,12 +217,12 @@
-   <synapse id="12">
-     <action_set>
-       <pseudo_event id="21" operation="start" operation_key="dlm-clone_start_0">
--        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="1" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1"/>
-+        <crm_event id="2" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1"/>
-       </trigger>
-       <trigger>
-         <crm_event id="3" operation="stonith" operation_key="stonith-virt-2-on" on_node="virt-2" on_node_uuid="2"/>
-@@ -239,7 +239,7 @@
-     <action_set>
-       <rsc_op id="26" operation="start" operation_key="clvmd_start_0" internal_operation_key="clvmd:0_start_0" on_node="virt-1" on_node_uuid="1">
-         <primitive id="clvmd" long-id="clvmd:0" class="ocf" provider="heartbeat" type="clvm"/>
--        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -264,7 +264,7 @@
-     <action_set>
-       <rsc_op id="25" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1">
-         <primitive id="clvmd" long-id="clvmd:0" class="ocf" provider="heartbeat" type="clvm"/>
--        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -280,7 +280,7 @@
-     <action_set>
-       <rsc_op id="27" operation="start" operation_key="clvmd:1_start_0" on_node="virt-2" on_node_uuid="2">
-         <primitive id="clvmd" long-id="clvmd:1" class="ocf" provider="heartbeat" type="clvm"/>
--        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -305,7 +305,7 @@
-     <action_set>
-       <rsc_op id="10" operation="monitor" operation_key="clvmd:1_monitor_0" on_node="virt-2" on_node_uuid="2">
-         <primitive id="clvmd" long-id="clvmd:1" class="ocf" provider="heartbeat" type="clvm"/>
--        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs/>
-@@ -314,7 +314,7 @@
-     <action_set>
-       <rsc_op id="28" operation="start" operation_key="clvmd:2_start_0" on_node="virt-3" on_node_uuid="3">
-         <primitive id="clvmd" long-id="clvmd:2" class="ocf" provider="heartbeat" type="clvm"/>
--        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -339,7 +339,7 @@
-     <action_set>
-       <rsc_op id="14" operation="monitor" operation_key="clvmd:2_monitor_0" on_node="virt-3" on_node_uuid="3">
-         <primitive id="clvmd" long-id="clvmd:2" class="ocf" provider="heartbeat" type="clvm"/>
--        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs/>
-@@ -347,7 +347,7 @@
-   <synapse id="19" priority="1000000">
-     <action_set>
-       <pseudo_event id="32" operation="stopped" operation_key="clvmd-clone_stopped_0">
--        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-@@ -362,7 +362,7 @@
-   <synapse id="20">
-     <action_set>
-       <pseudo_event id="31" operation="stop" operation_key="clvmd-clone_stop_0">
--        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs/>
-@@ -370,7 +370,7 @@
-   <synapse id="21" priority="1000000">
-     <action_set>
-       <pseudo_event id="30" operation="running" operation_key="clvmd-clone_running_0">
--        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-@@ -391,12 +391,12 @@
-   <synapse id="22">
-     <action_set>
-       <pseudo_event id="29" operation="start" operation_key="clvmd-clone_start_0">
--        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-       <trigger>
--        <crm_event id="1" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1"/>
-+        <crm_event id="2" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1"/>
-       </trigger>
-       <trigger>
-         <crm_event id="3" operation="stonith" operation_key="stonith-virt-2-on" on_node="virt-2" on_node_uuid="2"/>
-@@ -415,7 +415,7 @@
-   <synapse id="23">
-     <action_set>
-       <crm_event id="34" operation="stonith" operation_key="stonith-virt-4-reboot" on_node="virt-4" on_node_uuid="4">
--        <attributes CRM_meta_on_node="virt-4" CRM_meta_on_node_uuid="4" CRM_meta_stonith_action="reboot" />
-+        <attributes CRM_meta_on_node="virt-4" CRM_meta_on_node_uuid="4" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-     <inputs/>
-@@ -423,7 +423,7 @@
-   <synapse id="24">
-     <action_set>
-       <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete">
--        <attributes />
-+        <attributes crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-@@ -435,7 +435,7 @@
-   <synapse id="25" priority="1000000">
-     <action_set>
-       <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-virt-3" on_node="virt-3" on_node_uuid="3">
--        <attributes CRM_meta_op_no_wait="true" />
-+        <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -450,7 +450,7 @@
-   <synapse id="26" priority="1000000">
-     <action_set>
-       <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-virt-2" on_node="virt-2" on_node_uuid="2">
--        <attributes CRM_meta_op_no_wait="true" />
-+        <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -462,7 +462,7 @@
-   <synapse id="27" priority="1000000">
-     <action_set>
-       <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-virt-1" on_node="virt-1" on_node_uuid="1">
--        <attributes CRM_meta_op_no_wait="true" />
-+        <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs/>
-@@ -470,7 +470,7 @@
-   <synapse id="28">
-     <action_set>
-       <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete">
--        <attributes />
-+        <attributes crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-@@ -488,7 +488,7 @@
-   <synapse id="29">
-     <action_set>
-       <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3">
--        <attributes CRM_meta_on_node="virt-3" CRM_meta_on_node_uuid="3" CRM_meta_stonith_action="on" />
-+        <attributes CRM_meta_on_node="virt-3" CRM_meta_on_node_uuid="3" CRM_meta_stonith_action="on" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-     <inputs>
-@@ -509,7 +509,7 @@
-   <synapse id="30">
-     <action_set>
-       <crm_event id="3" operation="stonith" operation_key="stonith-virt-2-on" on_node="virt-2" on_node_uuid="2">
--        <attributes CRM_meta_on_node="virt-2" CRM_meta_on_node_uuid="2" CRM_meta_stonith_action="on" />
-+        <attributes CRM_meta_on_node="virt-2" CRM_meta_on_node_uuid="2" CRM_meta_stonith_action="on" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-     <inputs>
-@@ -526,8 +526,23 @@
-   </synapse>
-   <synapse id="31">
-     <action_set>
--      <pseudo_event id="2" operation="all_stopped" operation_key="all_stopped">
--        <attributes />
-+      <crm_event id="2" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1">
-+        <attributes CRM_meta_on_node="virt-1" CRM_meta_on_node_uuid="1" CRM_meta_stonith_action="on" crm_feature_set="3.0.7"/>
-+      </crm_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="24" operation="stopped" operation_key="dlm-clone_stopped_0"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="32" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="32">
-+    <action_set>
-+      <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped">
-+        <attributes crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-@@ -548,19 +563,4 @@
-       </trigger>
-     </inputs>
-   </synapse>
--  <synapse id="32">
--    <action_set>
--      <crm_event id="1" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1">
--        <attributes CRM_meta_on_node="virt-1" CRM_meta_on_node_uuid="1" CRM_meta_stonith_action="on" />
--      </crm_event>
--    </action_set>
--    <inputs>
--      <trigger>
--        <pseudo_event id="24" operation="stopped" operation_key="dlm-clone_stopped_0"/>
--      </trigger>
--      <trigger>
--        <pseudo_event id="32" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
--      </trigger>
--    </inputs>
--  </synapse>
- </transition_graph>
-diff --git a/pengine/test10/unfence-parameters.scores b/pengine/test10/unfence-parameters.scores
-new file mode 100644
-index 0000000..a4b5fb1
---- /dev/null
-+++ b/pengine/test10/unfence-parameters.scores
-@@ -0,0 +1,77 @@
-+Allocation scores:
-+clone_color: clvmd-clone allocation score on virt-1: 0
-+clone_color: clvmd-clone allocation score on virt-2: 0
-+clone_color: clvmd-clone allocation score on virt-3: 0
-+clone_color: clvmd-clone allocation score on virt-4: 0
-+clone_color: clvmd:0 allocation score on virt-1: 1
-+clone_color: clvmd:0 allocation score on virt-2: 0
-+clone_color: clvmd:0 allocation score on virt-3: 0
-+clone_color: clvmd:0 allocation score on virt-4: 0
-+clone_color: clvmd:1 allocation score on virt-1: 0
-+clone_color: clvmd:1 allocation score on virt-2: 0
-+clone_color: clvmd:1 allocation score on virt-3: 0
-+clone_color: clvmd:1 allocation score on virt-4: 0
-+clone_color: clvmd:2 allocation score on virt-1: 0
-+clone_color: clvmd:2 allocation score on virt-2: 0
-+clone_color: clvmd:2 allocation score on virt-3: 0
-+clone_color: clvmd:2 allocation score on virt-4: 0
-+clone_color: clvmd:3 allocation score on virt-1: 0
-+clone_color: clvmd:3 allocation score on virt-2: 0
-+clone_color: clvmd:3 allocation score on virt-3: 0
-+clone_color: clvmd:3 allocation score on virt-4: 0
-+clone_color: dlm-clone allocation score on virt-1: 0
-+clone_color: dlm-clone allocation score on virt-2: 0
-+clone_color: dlm-clone allocation score on virt-3: 0
-+clone_color: dlm-clone allocation score on virt-4: 0
-+clone_color: dlm:0 allocation score on virt-1: 1
-+clone_color: dlm:0 allocation score on virt-2: 0
-+clone_color: dlm:0 allocation score on virt-3: 0
-+clone_color: dlm:0 allocation score on virt-4: 0
-+clone_color: dlm:1 allocation score on virt-1: 0
-+clone_color: dlm:1 allocation score on virt-2: 1
-+clone_color: dlm:1 allocation score on virt-3: 0
-+clone_color: dlm:1 allocation score on virt-4: 0
-+clone_color: dlm:2 allocation score on virt-1: 0
-+clone_color: dlm:2 allocation score on virt-2: 0
-+clone_color: dlm:2 allocation score on virt-3: 0
-+clone_color: dlm:2 allocation score on virt-4: 0
-+clone_color: dlm:3 allocation score on virt-1: 0
-+clone_color: dlm:3 allocation score on virt-2: 0
-+clone_color: dlm:3 allocation score on virt-3: 0
-+clone_color: dlm:3 allocation score on virt-4: 0
-+native_color: clvmd:0 allocation score on virt-1: 1
-+native_color: clvmd:0 allocation score on virt-2: -INFINITY
-+native_color: clvmd:0 allocation score on virt-3: -INFINITY
-+native_color: clvmd:0 allocation score on virt-4: -INFINITY
-+native_color: clvmd:1 allocation score on virt-1: -INFINITY
-+native_color: clvmd:1 allocation score on virt-2: 0
-+native_color: clvmd:1 allocation score on virt-3: -INFINITY
-+native_color: clvmd:1 allocation score on virt-4: -INFINITY
-+native_color: clvmd:2 allocation score on virt-1: -INFINITY
-+native_color: clvmd:2 allocation score on virt-2: -INFINITY
-+native_color: clvmd:2 allocation score on virt-3: 0
-+native_color: clvmd:2 allocation score on virt-4: -INFINITY
-+native_color: clvmd:3 allocation score on virt-1: -INFINITY
-+native_color: clvmd:3 allocation score on virt-2: -INFINITY
-+native_color: clvmd:3 allocation score on virt-3: -INFINITY
-+native_color: clvmd:3 allocation score on virt-4: -INFINITY
-+native_color: dlm:0 allocation score on virt-1: 1
-+native_color: dlm:0 allocation score on virt-2: -INFINITY
-+native_color: dlm:0 allocation score on virt-3: 0
-+native_color: dlm:0 allocation score on virt-4: -INFINITY
-+native_color: dlm:1 allocation score on virt-1: 0
-+native_color: dlm:1 allocation score on virt-2: 1
-+native_color: dlm:1 allocation score on virt-3: 0
-+native_color: dlm:1 allocation score on virt-4: -INFINITY
-+native_color: dlm:2 allocation score on virt-1: -INFINITY
-+native_color: dlm:2 allocation score on virt-2: -INFINITY
-+native_color: dlm:2 allocation score on virt-3: 0
-+native_color: dlm:2 allocation score on virt-4: -INFINITY
-+native_color: dlm:3 allocation score on virt-1: -INFINITY
-+native_color: dlm:3 allocation score on virt-2: -INFINITY
-+native_color: dlm:3 allocation score on virt-3: -INFINITY
-+native_color: dlm:3 allocation score on virt-4: -INFINITY
-+native_color: fencing allocation score on virt-1: 0
-+native_color: fencing allocation score on virt-2: 0
-+native_color: fencing allocation score on virt-3: 0
-+native_color: fencing allocation score on virt-4: 0
-diff --git a/pengine/test10/unfence-parameters.summary b/pengine/test10/unfence-parameters.summary
-index 5276cba..2bd499c 100644
---- a/pengine/test10/unfence-parameters.summary
-+++ b/pengine/test10/unfence-parameters.summary
-@@ -37,8 +37,8 @@ Executing cluster transition:
-  * Pseudo action:   dlm-clone_stopped_0
-  * Fencing virt-3 (on)
-  * Fencing virt-2 (on)
-- * Pseudo action:   all_stopped
-  * Fencing virt-1 (on)
-+ * Pseudo action:   all_stopped
-  * Resource action: fencing         monitor on virt-3
-  * Resource action: fencing         start on virt-1
-  * Pseudo action:   dlm-clone_start_0
-diff --git a/pengine/test10/unfence-parameters.xml b/pengine/test10/unfence-parameters.xml
-new file mode 100644
-index 0000000..f660100
---- /dev/null
-+++ b/pengine/test10/unfence-parameters.xml
-@@ -0,0 +1,73 @@
-+<cib epoch="17" num_updates="25" admin_epoch="0" validate-with="pacemaker-1.2" cib-last-written="Wed Mar 19 19:51:25 2014" update-origin="virt-009.cluster-qe.lab.eng.brq.redhat.com" update-client="crm_resource" crm_feature_set="3.0.7" have-quorum="1" dc-uuid="8">
-+  <configuration>
-+    <crm_config>
-+      <cluster_property_set id="cib-bootstrap-options">
-+        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.10-27.el7-368c726"/>
-+        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
-+        <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="freeze"/>
-+      </cluster_property_set>
-+    </crm_config>
-+    <nodes>
-+      <node id="1" uname="virt-1"/>
-+      <node id="2" uname="virt-2"/>
-+      <node id="3" uname="virt-3"/>
-+      <node id="4" uname="virt-4"/>
-+    </nodes>
-+    <resources>
-+      <primitive class="stonith" id="fencing" type="fence_scsi">
-+        <meta_attributes id="stonith-meta">
-+          <nvpair id="stonith-unfence" name="provides" value="unfencing"/>
-+        </meta_attributes>
-+      </primitive>
-+      <clone id="dlm-clone">
-+        <primitive class="ocf" id="dlm" provider="pacemaker" type="controld"/>
-+        <meta_attributes id="dlm-clone-meta">
-+          <nvpair id="dlm-interleave" name="interleave" value="true"/>
-+          <nvpair id="dlm-ordered" name="ordered" value="true"/>
-+        </meta_attributes>
-+      </clone>
-+      <clone id="clvmd-clone">
-+        <primitive class="ocf" id="clvmd" provider="heartbeat" type="clvm"/>
-+        <meta_attributes id="clvmd-clone-meta">
-+          <nvpair id="clvmd-interleave" name="interleave" value="true"/>
-+          <nvpair id="clvmd-ordered" name="ordered" value="true"/>
-+        </meta_attributes>
-+      </clone>
-+    </resources>
-+    <constraints>
-+      <rsc_order first="dlm-clone" first-action="start" id="order-dlm-clone-clvmd-clone-mandatory" then="clvmd-clone" then-action="start"/>
-+      <rsc_colocation id="colocation-clvmd-clone-dlm-clone-INFINITY" rsc="clvmd-clone" score="INFINITY" with-rsc="dlm-clone"/>
-+    </constraints>
-+  </configuration>
-+  <status>
-+    <node_state id="1" uname="virt-1" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member">
-+      <lrm id="1">
-+        <lrm_resources>
-+          <lrm_resource id="fencing" type="fence_scsi" class="stonith">
-+            <lrm_rsc_op id="fencing_last_0" operation_key="fencing_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="23:8:0:d45f7bbd-8249-4af5-8120-a9199830d27a" transition-magic="0:0;23:8:0:d45f7bbd-8249-4af5-8120-a9199830d27a" call-id="26" rc-code="0" op-status="0" interval="0" last-run="1395255112" last-rc-change="1395255112" exec-time="1047" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf9"/>
-+          </lrm_resource>
-+          <lrm_resource id="dlm" type="controld" class="ocf" provider="pacemaker">
-+            <lrm_rsc_op id="dlm_last_0" operation_key="dlm_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="22:7:0:d45f7bbd-8249-4af5-8120-a9199830d27a" transition-magic="0:0;22:7:0:d45f7bbd-8249-4af5-8120-a9199830d27a" call-id="24" rc-code="0" op-status="0" interval="0" last-run="1395255085" last-rc-change="1395255085" exec-time="1102" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+          <lrm_resource id="clvmd" type="clvm" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="clvmd_last_0" operation_key="clvmd_start_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="9:2:7:d45f7bbd-8249-4af5-8120-a9199830d27a" transition-magic="0:0;9:2:0:d45f7bbd-8249-4af5-8120-a9199830d27a" call-id="15" rc-code="0" op-status="0" interval="0" last-run="1395254324" last-rc-change="1395254324" exec-time="214" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+        </lrm_resources>
-+      </lrm>
-+    </node_state>
-+    <node_state id="2" uname="virt-2" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member">
-+      <lrm id="2">
-+        <lrm_resources>
-+          <lrm_resource id="fencing" type="fence_scsi" class="stonith">
-+            <lrm_rsc_op id="fencing_last_0" operation_key="fencing_status_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="23:8:7:d45f7bbd-8249-4af5-8120-a9199830d27a" transition-magic="0:0;23:8:0:d45f7bbd-8249-4af5-8120-a9199830d27a" call-id="26" rc-code="7" op-status="0" interval="0" last-run="1395255112" last-rc-change="1395255112" exec-time="1047" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf9"/>
-+          </lrm_resource>
-+          <lrm_resource id="dlm" type="controld" class="ocf" provider="pacemaker">
-+            <lrm_rsc_op id="dlm_last_0" operation_key="dlm_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="22:7:0:d45f7bbd-8249-4af5-8120-a9199830d27a" transition-magic="0:0;22:7:0:d45f7bbd-8249-4af5-8120-a9199830d27a" call-id="24" rc-code="0" op-status="0" interval="0" last-run="1395255085" last-rc-change="1395255085" exec-time="1102" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+        </lrm_resources>
-+      </lrm>
-+    </node_state>
-+    <node_state id="3" uname="virt-3" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member"/>
-+  </status>
-+</cib>
-+
-diff --git a/pengine/test10/unfence-startup.exp b/pengine/test10/unfence-startup.exp
-index a0661e7..6319b13 100644
---- a/pengine/test10/unfence-startup.exp
-+++ b/pengine/test10/unfence-startup.exp
-@@ -1,9 +1,9 @@
--<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0" priority="1000000">
-     <action_set>
-       <rsc_op id="11" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3">
-         <primitive id="fencing" class="stonith" type="fence_scsi"/>
--        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -16,7 +16,7 @@
-     <action_set>
-       <rsc_op id="20" operation="start" operation_key="dlm:2_start_0" on_node="virt-3" on_node_uuid="3">
-         <primitive id="dlm" long-id="dlm:2" class="ocf" provider="pacemaker" type="controld"/>
--        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -35,7 +35,7 @@
-     <action_set>
-       <rsc_op id="12" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3">
-         <primitive id="dlm" long-id="dlm:2" class="ocf" provider="pacemaker" type="controld"/>
--        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs/>
-@@ -43,7 +43,7 @@
-   <synapse id="3" priority="1000000">
-     <action_set>
-       <pseudo_event id="22" operation="running" operation_key="dlm-clone_running_0">
--        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-@@ -58,7 +58,7 @@
-   <synapse id="4">
-     <action_set>
-       <pseudo_event id="21" operation="start" operation_key="dlm-clone_start_0">
--        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-@@ -71,7 +71,7 @@
-     <action_set>
-       <rsc_op id="27" operation="start" operation_key="clvmd:1_start_0" on_node="virt-2" on_node_uuid="2">
-         <primitive id="clvmd" long-id="clvmd:1" class="ocf" provider="heartbeat" type="clvm"/>
--        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -90,7 +90,7 @@
-     <action_set>
-       <rsc_op id="9" operation="monitor" operation_key="clvmd:1_monitor_0" on_node="virt-2" on_node_uuid="2">
-         <primitive id="clvmd" long-id="clvmd:1" class="ocf" provider="heartbeat" type="clvm"/>
--        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs/>
-@@ -99,7 +99,7 @@
-     <action_set>
-       <rsc_op id="28" operation="start" operation_key="clvmd:2_start_0" on_node="virt-3" on_node_uuid="3">
-         <primitive id="clvmd" long-id="clvmd:2" class="ocf" provider="heartbeat" type="clvm"/>
--        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -124,7 +124,7 @@
-     <action_set>
-       <rsc_op id="13" operation="monitor" operation_key="clvmd:2_monitor_0" on_node="virt-3" on_node_uuid="3">
-         <primitive id="clvmd" long-id="clvmd:2" class="ocf" provider="heartbeat" type="clvm"/>
--        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs/>
-@@ -132,7 +132,7 @@
-   <synapse id="9" priority="1000000">
-     <action_set>
-       <pseudo_event id="30" operation="running" operation_key="clvmd-clone_running_0">
--        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-@@ -150,7 +150,7 @@
-   <synapse id="10">
-     <action_set>
-       <pseudo_event id="29" operation="start" operation_key="clvmd-clone_start_0">
--        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
-+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-@@ -165,7 +165,7 @@
-   <synapse id="11">
-     <action_set>
-       <crm_event id="34" operation="stonith" operation_key="stonith-virt-4-reboot" on_node="virt-4" on_node_uuid="4">
--        <attributes CRM_meta_on_node="virt-4" CRM_meta_on_node_uuid="4" CRM_meta_stonith_action="reboot" />
-+        <attributes CRM_meta_on_node="virt-4" CRM_meta_on_node_uuid="4" CRM_meta_stonith_action="reboot" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-     <inputs/>
-@@ -173,7 +173,7 @@
-   <synapse id="12">
-     <action_set>
-       <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete">
--        <attributes />
-+        <attributes crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-@@ -185,7 +185,7 @@
-   <synapse id="13" priority="1000000">
-     <action_set>
-       <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-virt-3" on_node="virt-3" on_node_uuid="3">
--        <attributes CRM_meta_op_no_wait="true" />
-+        <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -200,7 +200,7 @@
-   <synapse id="14" priority="1000000">
-     <action_set>
-       <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-virt-2" on_node="virt-2" on_node_uuid="2">
--        <attributes CRM_meta_op_no_wait="true" />
-+        <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -212,7 +212,7 @@
-   <synapse id="15" priority="1000000">
-     <action_set>
-       <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-virt-1" on_node="virt-1" on_node_uuid="1">
--        <attributes CRM_meta_op_no_wait="true" />
-+        <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs/>
-@@ -220,7 +220,7 @@
-   <synapse id="16">
-     <action_set>
-       <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete">
--        <attributes />
-+        <attributes crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-@@ -238,7 +238,7 @@
-   <synapse id="17">
-     <action_set>
-       <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3">
--        <attributes CRM_meta_on_node="virt-3" CRM_meta_on_node_uuid="3" CRM_meta_stonith_action="on" />
-+        <attributes CRM_meta_on_node="virt-3" CRM_meta_on_node_uuid="3" CRM_meta_stonith_action="on" crm_feature_set="3.0.7"/>
-       </crm_event>
-     </action_set>
-     <inputs>
-@@ -253,7 +253,7 @@
-   <synapse id="18">
-     <action_set>
-       <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped">
--        <attributes />
-+        <attributes crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-     <inputs>
-diff --git a/pengine/test10/unfence-startup.scores b/pengine/test10/unfence-startup.scores
-new file mode 100644
-index 0000000..a4b5fb1
---- /dev/null
-+++ b/pengine/test10/unfence-startup.scores
-@@ -0,0 +1,77 @@
-+Allocation scores:
-+clone_color: clvmd-clone allocation score on virt-1: 0
-+clone_color: clvmd-clone allocation score on virt-2: 0
-+clone_color: clvmd-clone allocation score on virt-3: 0
-+clone_color: clvmd-clone allocation score on virt-4: 0
-+clone_color: clvmd:0 allocation score on virt-1: 1
-+clone_color: clvmd:0 allocation score on virt-2: 0
-+clone_color: clvmd:0 allocation score on virt-3: 0
-+clone_color: clvmd:0 allocation score on virt-4: 0
-+clone_color: clvmd:1 allocation score on virt-1: 0
-+clone_color: clvmd:1 allocation score on virt-2: 0
-+clone_color: clvmd:1 allocation score on virt-3: 0
-+clone_color: clvmd:1 allocation score on virt-4: 0
-+clone_color: clvmd:2 allocation score on virt-1: 0
-+clone_color: clvmd:2 allocation score on virt-2: 0
-+clone_color: clvmd:2 allocation score on virt-3: 0
-+clone_color: clvmd:2 allocation score on virt-4: 0
-+clone_color: clvmd:3 allocation score on virt-1: 0
-+clone_color: clvmd:3 allocation score on virt-2: 0
-+clone_color: clvmd:3 allocation score on virt-3: 0
-+clone_color: clvmd:3 allocation score on virt-4: 0
-+clone_color: dlm-clone allocation score on virt-1: 0
-+clone_color: dlm-clone allocation score on virt-2: 0
-+clone_color: dlm-clone allocation score on virt-3: 0
-+clone_color: dlm-clone allocation score on virt-4: 0
-+clone_color: dlm:0 allocation score on virt-1: 1
-+clone_color: dlm:0 allocation score on virt-2: 0
-+clone_color: dlm:0 allocation score on virt-3: 0
-+clone_color: dlm:0 allocation score on virt-4: 0
-+clone_color: dlm:1 allocation score on virt-1: 0
-+clone_color: dlm:1 allocation score on virt-2: 1
-+clone_color: dlm:1 allocation score on virt-3: 0
-+clone_color: dlm:1 allocation score on virt-4: 0
-+clone_color: dlm:2 allocation score on virt-1: 0
-+clone_color: dlm:2 allocation score on virt-2: 0
-+clone_color: dlm:2 allocation score on virt-3: 0
-+clone_color: dlm:2 allocation score on virt-4: 0
-+clone_color: dlm:3 allocation score on virt-1: 0
-+clone_color: dlm:3 allocation score on virt-2: 0
-+clone_color: dlm:3 allocation score on virt-3: 0
-+clone_color: dlm:3 allocation score on virt-4: 0
-+native_color: clvmd:0 allocation score on virt-1: 1
-+native_color: clvmd:0 allocation score on virt-2: -INFINITY
-+native_color: clvmd:0 allocation score on virt-3: -INFINITY
-+native_color: clvmd:0 allocation score on virt-4: -INFINITY
-+native_color: clvmd:1 allocation score on virt-1: -INFINITY
-+native_color: clvmd:1 allocation score on virt-2: 0
-+native_color: clvmd:1 allocation score on virt-3: -INFINITY
-+native_color: clvmd:1 allocation score on virt-4: -INFINITY
-+native_color: clvmd:2 allocation score on virt-1: -INFINITY
-+native_color: clvmd:2 allocation score on virt-2: -INFINITY
-+native_color: clvmd:2 allocation score on virt-3: 0
-+native_color: clvmd:2 allocation score on virt-4: -INFINITY
-+native_color: clvmd:3 allocation score on virt-1: -INFINITY
-+native_color: clvmd:3 allocation score on virt-2: -INFINITY
-+native_color: clvmd:3 allocation score on virt-3: -INFINITY
-+native_color: clvmd:3 allocation score on virt-4: -INFINITY
-+native_color: dlm:0 allocation score on virt-1: 1
-+native_color: dlm:0 allocation score on virt-2: -INFINITY
-+native_color: dlm:0 allocation score on virt-3: 0
-+native_color: dlm:0 allocation score on virt-4: -INFINITY
-+native_color: dlm:1 allocation score on virt-1: 0
-+native_color: dlm:1 allocation score on virt-2: 1
-+native_color: dlm:1 allocation score on virt-3: 0
-+native_color: dlm:1 allocation score on virt-4: -INFINITY
-+native_color: dlm:2 allocation score on virt-1: -INFINITY
-+native_color: dlm:2 allocation score on virt-2: -INFINITY
-+native_color: dlm:2 allocation score on virt-3: 0
-+native_color: dlm:2 allocation score on virt-4: -INFINITY
-+native_color: dlm:3 allocation score on virt-1: -INFINITY
-+native_color: dlm:3 allocation score on virt-2: -INFINITY
-+native_color: dlm:3 allocation score on virt-3: -INFINITY
-+native_color: dlm:3 allocation score on virt-4: -INFINITY
-+native_color: fencing allocation score on virt-1: 0
-+native_color: fencing allocation score on virt-2: 0
-+native_color: fencing allocation score on virt-3: 0
-+native_color: fencing allocation score on virt-4: 0
diff --git a/SOURCES/bz1078078-pcmk-pe_store_non_resource_actions_in_a_hashtable_where_we_can_easily_and_cheaply_find_them_again.patch b/SOURCES/bz1078078-pcmk-pe_store_non_resource_actions_in_a_hashtable_where_we_can_easily_and_cheaply_find_them_again.patch
deleted file mode 100644
index c9c10a6..0000000
--- a/SOURCES/bz1078078-pcmk-pe_store_non_resource_actions_in_a_hashtable_where_we_can_easily_and_cheaply_find_them_again.patch
+++ /dev/null
@@ -1,118 +0,0 @@
-commit 3544fb711731cb6ebcd48c2af808e4ec25e5eaed
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Apr 2 15:44:31 2014 +1100
-
-    Refactor: PE: Store non-resource actions in a hashtable where we can easily (and cheaply) find them again
-    
-    (cherry picked from commit a65979cbbec616f978154e95b49e8f7bcd064a14)
-
-diff --git a/include/crm/pengine/status.h b/include/crm/pengine/status.h
-index c81566a..b74bf83 100644
---- a/include/crm/pengine/status.h
-+++ b/include/crm/pengine/status.h
-@@ -93,6 +93,7 @@ typedef struct pe_working_set_s {
-     GHashTable *config_hash;
-     GHashTable *domains;
-     GHashTable *tickets;
-+    GHashTable *singletons; /* Actions for which there can be only one - ie. fence nodeX */
- 
-     GListPtr nodes;
-     GListPtr resources;
-diff --git a/lib/pengine/status.c b/lib/pengine/status.c
-index bb9dfcb..8695dae 100644
---- a/lib/pengine/status.c
-+++ b/lib/pengine/status.c
-@@ -191,6 +191,10 @@ cleanup_calculations(pe_working_set_t * data_set)
-         g_hash_table_destroy(data_set->config_hash);
-     }
- 
-+    if (data_set->singletons != NULL) {
-+        g_hash_table_destroy(data_set->singletons);
-+    }
-+
-     if (data_set->tickets) {
-         g_hash_table_destroy(data_set->tickets);
-     }
-diff --git a/lib/pengine/utils.c b/lib/pengine/utils.c
-index 410acfc..2520eeb 100644
---- a/lib/pengine/utils.c
-+++ b/lib/pengine/utils.c
-@@ -362,6 +362,17 @@ custom_action(resource_t * rsc, char *key, const char *task,
- 
-     if (save_action && rsc != NULL) {
-         possible_matches = find_actions(rsc->actions, key, on_node);
-+    } else if(save_action) {
-+#if 0
-+        action = g_hash_table_lookup(data_set->singletons, key);
-+#else
-+        /* More expensive but takes 'node' into account */
-+        possible_matches = find_actions(data_set->actions, key, on_node);
-+#endif
-+    }
-+
-+    if(data_set->singletons == NULL) {
-+        data_set->singletons = g_hash_table_new_full(crm_str_hash, g_str_equal, NULL, NULL);
-     }
- 
-     if (possible_matches != NULL) {
-@@ -424,6 +435,9 @@ custom_action(resource_t * rsc, char *key, const char *task,
- 
-         if (save_action) {
-             data_set->actions = g_list_prepend(data_set->actions, action);
-+            if(rsc == NULL) {
-+                g_hash_table_insert(data_set->singletons, action->uuid, action);
-+            }
-         }
- 
-         if (rsc != NULL) {
-@@ -1588,6 +1602,9 @@ order_actions(action_t * lh_action, action_t * rh_action, enum pe_ordering order
- 
-     crm_trace("Ordering Action %s before %s", lh_action->uuid, rh_action->uuid);
- 
-+    /* Ensure we never create a dependancy on ourselves... its happened */
-+    CRM_ASSERT(lh_action != rh_action);
-+
-     /* Filter dups, otherwise update_action_states() has too much work to do */
-     gIter = lh_action->actions_after;
-     for (; gIter != NULL; gIter = gIter->next) {
-@@ -1624,20 +1641,12 @@ action_t *
- get_pseudo_op(const char *name, pe_working_set_t * data_set)
- {
-     action_t *op = NULL;
--    const char *op_s = name;
--    GListPtr possible_matches = NULL;
- 
--    possible_matches = find_actions(data_set->actions, name, NULL);
--    if (possible_matches != NULL) {
--        if (g_list_length(possible_matches) > 1) {
--            pe_warn("Action %s exists %d times", name, g_list_length(possible_matches));
--        }
--
--        op = g_list_nth_data(possible_matches, 0);
--        g_list_free(possible_matches);
--
--    } else {
--        op = custom_action(NULL, strdup(op_s), op_s, NULL, TRUE, TRUE, data_set);
-+    if(data_set->singletons) {
-+        op = g_hash_table_lookup(data_set->singletons, name);
-+    }
-+    if (op == NULL) {
-+        op = custom_action(NULL, strdup(name), name, NULL, TRUE, TRUE, data_set);
-         set_bit(op->flags, pe_action_pseudo);
-         set_bit(op->flags, pe_action_runnable);
-     }
-diff --git a/pengine/allocate.c b/pengine/allocate.c
-index a07fdad..b9ce069 100644
---- a/pengine/allocate.c
-+++ b/pengine/allocate.c
-@@ -1274,6 +1274,10 @@ pe_fence_op(node_t * node, const char *op, pe_working_set_t * data_set)
- 
-     key = g_strdup_printf("%s-%s-%s", CRM_OP_FENCE, node->details->uname, op);
- 
-+    if(data_set->singletons) {
-+        stonith_op = g_hash_table_lookup(data_set->singletons, key);
-+    }
-+
-     if(stonith_op == NULL) {
-         stonith_op = custom_action(NULL, key, CRM_OP_FENCE, node, FALSE, TRUE, data_set);
- 
diff --git a/SOURCES/bz1078078-pcmk-unfencing_is_based_on_device_probes_there_is_no_need_to_unfence_when_normal_resources_are_found_active.patch b/SOURCES/bz1078078-pcmk-unfencing_is_based_on_device_probes_there_is_no_need_to_unfence_when_normal_resources_are_found_active.patch
deleted file mode 100644
index c3e1164..0000000
--- a/SOURCES/bz1078078-pcmk-unfencing_is_based_on_device_probes_there_is_no_need_to_unfence_when_normal_resources_are_found_active.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-commit a5bc09d20ea41afe42bbda037d5e8ecb74f2bb15
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Fri Apr 11 07:39:59 2014 +1000
-
-    Fix: PE: Unfencing is based on device probes, there is no need to unfence when normal resources are found active
-    
-    (cherry picked from commit 7aad7cb9a5a1778dbc13ed56f976086e0393a7e3)
-
-diff --git a/lib/pengine/unpack.c b/lib/pengine/unpack.c
-index eb10bd8..363e2bc 100644
---- a/lib/pengine/unpack.c
-+++ b/lib/pengine/unpack.c
-@@ -2329,17 +2329,8 @@ unpack_rsc_op(resource_t * rsc, node_t * node, xmlNode * xml_op,
-             if (is_probe && target_rc == 7) {
-                 task_status_i = PCMK_LRM_OP_DONE;
-                 set_bit(rsc->flags, pe_rsc_unexpectedly_running);
--
--                if(is_set(rsc->flags, pe_rsc_needs_unfencing)) {
--                    /* _Require_ unfencing after probing resources that need unfencing and was found active */
--                    crm_warn("Operation %s found resource %s active on %s: triggering unfencing",
--                             task, rsc->id, node->details->uname);
--                    trigger_unfencing(NULL, node, "Unexpected state", NULL, data_set);
--
--                } else {
--                    pe_rsc_info(rsc, "Operation %s found resource %s active on %s",
--                                task, rsc->id, node->details->uname);
--                }
-+                pe_rsc_info(rsc, "Operation %s found resource %s active on %s",
-+                            task, rsc->id, node->details->uname);
- 
-                 /* legacy code for pre-0.6.5 operations */
-             } else if (target_rc < 0 && interval > 0 && rsc->role == RSC_ROLE_MASTER) {
diff --git a/SOURCES/bz1078078-pcmk-warn_about_fencing_when_fencing_is_disabled.patch b/SOURCES/bz1078078-pcmk-warn_about_fencing_when_fencing_is_disabled.patch
deleted file mode 100644
index 22440d2..0000000
--- a/SOURCES/bz1078078-pcmk-warn_about_fencing_when_fencing_is_disabled.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-commit 583197a0748aaef3dca09fe45cdac30f75304947
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Thu Apr 10 19:55:26 2014 +1000
-
-    Correctly warn about fencing when fencing is disabled
-
-diff --git a/lib/pengine/complex.c b/lib/pengine/complex.c
-index a3133e7..225b269 100644
---- a/lib/pengine/complex.c
-+++ b/lib/pengine/complex.c
-@@ -574,7 +574,7 @@ common_unpack(xmlNode * xml_obj, resource_t ** rsc,
- 
-     } else if (safe_str_eq(value, "fencing")) {
-         set_bit((*rsc)->flags, pe_rsc_needs_fencing);
--        if (is_set(data_set->flags, pe_flag_stonith_enabled)) {
-+        if (is_not_set(data_set->flags, pe_flag_stonith_enabled)) {
-             crm_config_warn("%s requires fencing but fencing is disabled", (*rsc)->id);
-         }
- 
diff --git a/SOURCES/bz1078504-pcmk-pengine_fixes_invalid_transition_caused_by_clones_with_more_than_10_instances.patch b/SOURCES/bz1078504-pcmk-pengine_fixes_invalid_transition_caused_by_clones_with_more_than_10_instances.patch
deleted file mode 100644
index 3a22f2d..0000000
--- a/SOURCES/bz1078504-pcmk-pengine_fixes_invalid_transition_caused_by_clones_with_more_than_10_instances.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-commit ce507c2a598086b16bfbc1d937c656de4e73ffa6
-Author: David Vossel <dvossel@redhat.com>
-Date:   Wed Mar 19 21:43:43 2014 -0400
-
-    Fix: pengine: fixes invalid transition caused by clones with more than 10 instances
-    
-    (cherry picked from commit 9e0b496b269ce0e792370e9c2b22446dfaf3e64a)
-
-diff --git a/pengine/clone.c b/pengine/clone.c
-index 9113e9d..52a84df 100644
---- a/pengine/clone.c
-+++ b/pengine/clone.c
-@@ -28,6 +28,18 @@
- gint sort_clone_instance(gconstpointer a, gconstpointer b, gpointer data_set);
- static void append_parent_colocation(resource_t * rsc, resource_t * child, gboolean all);
- 
-+static gint
-+sort_rsc_id(gconstpointer a, gconstpointer b)
-+{
-+    const resource_t *resource1 = (const resource_t *)a;
-+    const resource_t *resource2 = (const resource_t *)b;
-+
-+    CRM_ASSERT(resource1 != NULL);
-+    CRM_ASSERT(resource2 != NULL);
-+
-+    return strcmp(resource1->id, resource2->id);
-+}
-+
- static node_t *
- parent_node_instance(const resource_t * rsc, node_t * node)
- {
-@@ -749,7 +761,7 @@ child_ordering_constraints(resource_t * rsc, pe_working_set_t * data_set)
-     action_t *start = NULL;
-     action_t *last_stop = NULL;
-     action_t *last_start = NULL;
--    GListPtr gIter = rsc->children;
-+    GListPtr gIter = NULL;
-     gboolean active_only = TRUE;        /* change to false to get the old behavior */
-     clone_variant_data_t *clone_data = NULL;
- 
-@@ -758,8 +770,10 @@ child_ordering_constraints(resource_t * rsc, pe_working_set_t * data_set)
-     if (clone_data->ordered == FALSE) {
-         return;
-     }
-+    /* we have to maintain a consistent sorted child list when building order constraints */
-+    rsc->children = g_list_sort(rsc->children, sort_rsc_id);
- 
--    for (; gIter != NULL; gIter = gIter->next) {
-+    for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) {
-         resource_t *child = (resource_t *) gIter->data;
- 
-         key = stop_key(child);
-@@ -857,7 +871,7 @@ void
- clone_internal_constraints(resource_t * rsc, pe_working_set_t * data_set)
- {
-     resource_t *last_rsc = NULL;
--    GListPtr gIter = rsc->children;
-+    GListPtr gIter;
-     clone_variant_data_t *clone_data = NULL;
- 
-     get_clone_variant_data(clone_data, rsc);
-@@ -872,7 +886,11 @@ clone_internal_constraints(resource_t * rsc, pe_working_set_t * data_set)
-         new_rsc_order(rsc, RSC_STARTED, rsc, RSC_PROMOTE, pe_order_runnable_left, data_set);
-     }
- 
--    for (; gIter != NULL; gIter = gIter->next) {
-+    if (clone_data->ordered) {
-+        /* we have to maintain a consistent sorted child list when building order constraints */
-+        rsc->children = g_list_sort(rsc->children, sort_rsc_id);
-+    }
-+    for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) {
-         resource_t *child_rsc = (resource_t *) gIter->data;
- 
-         child_rsc->cmds->internal_constraints(child_rsc, data_set);
-@@ -1400,18 +1418,6 @@ clone_expand(resource_t * rsc, pe_working_set_t * data_set)
-     clone_data->promote_notify = NULL;
- }
- 
--static gint
--sort_rsc_id(gconstpointer a, gconstpointer b)
--{
--    const resource_t *resource1 = (const resource_t *)a;
--    const resource_t *resource2 = (const resource_t *)b;
--
--    CRM_ASSERT(resource1 != NULL);
--    CRM_ASSERT(resource2 != NULL);
--
--    return strcmp(resource1->id, resource2->id);
--}
--
- node_t *
- rsc_known_on(resource_t * rsc, GListPtr * list)
- {
diff --git a/SOURCES/bz1115024-pcmk-handle_systemd_reporting_done_before_a_resource_is_actually_stopped.patch b/SOURCES/bz1115024-pcmk-handle_systemd_reporting_done_before_a_resource_is_actually_stopped.patch
deleted file mode 100644
index cfeaf2b..0000000
--- a/SOURCES/bz1115024-pcmk-handle_systemd_reporting_done_before_a_resource_is_actually_stopped.patch
+++ /dev/null
@@ -1,156 +0,0 @@
-commit 0ea59c13caf51db459bfc6448ce8b7661778405d
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Fri Jun 27 13:26:57 2014 +1000
-
-    Fix: lrmd: Handle systemd reporting 'done' before a resource is actually stopped
-    
-    (cherry picked from commit 3bd6c30adbb46891ee962cd2c1f2e191da88b808)
-
-diff --git a/lib/services/systemd.c b/lib/services/systemd.c
-index a28ae14..f9d6d29 100644
---- a/lib/services/systemd.c
-+++ b/lib/services/systemd.c
-@@ -422,6 +422,8 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
- 
-         if (g_strcmp0(state, "active") == 0) {
-             op->rc = PCMK_OCF_OK;
-+        } else if (g_strcmp0(state, "activating") == 0) {
-+            op->rc = PCMK_OCF_PENDING;
-         } else {
-             op->rc = PCMK_OCF_NOT_RUNNING;
-         }
-diff --git a/lrmd/lrmd.c b/lrmd/lrmd.c
-index 517e98f..5443fa4 100644
---- a/lrmd/lrmd.c
-+++ b/lrmd/lrmd.c
-@@ -58,6 +58,7 @@ typedef struct lrmd_cmd_s {
-     char *origin;
-     char *rsc_id;
-     char *action;
-+    char *real_action;
-     char *output;
-     char *userdata_str;
- 
-@@ -359,7 +360,11 @@ send_cmd_complete_notify(lrmd_cmd_t * cmd)
- 
-     crm_xml_add(notify, F_LRMD_OPERATION, LRMD_OP_RSC_EXEC);
-     crm_xml_add(notify, F_LRMD_RSC_ID, cmd->rsc_id);
--    crm_xml_add(notify, F_LRMD_RSC_ACTION, cmd->action);
-+    if(cmd->real_action) {
-+        crm_xml_add(notify, F_LRMD_RSC_ACTION, cmd->real_action);
-+    } else {
-+        crm_xml_add(notify, F_LRMD_RSC_ACTION, cmd->action);
-+    }
-     crm_xml_add(notify, F_LRMD_RSC_USERDATA_STR, cmd->userdata_str);
-     crm_xml_add(notify, F_LRMD_RSC_OUTPUT, cmd->output);
- 
-@@ -584,6 +589,8 @@ action_complete(svc_action_t * action)
-     lrmd_rsc_t *rsc;
-     lrmd_cmd_t *cmd = action->cb_data;
- 
-+    bool goagain = false;
-+
-     if (!cmd) {
-         crm_err("LRMD action (%s) completed does not match any known operations.", action->id);
-         return;
-@@ -604,6 +611,30 @@ action_complete(svc_action_t * action)
-     } else if (action->stdout_data) {
-         cmd->output = strdup(action->stdout_data);
-     }
-+
-+    if (rsc && safe_str_eq(rsc->class, "systemd")) {
-+        if(safe_str_eq(cmd->action, "start")) {
-+            /* systemd I curse thee!
-+             *
-+             * systemd returns from start actions after the start _begins_
-+             * not after it completes.
-+             *
-+             * So we have to jump through a few hoops so that we don't
-+             * report 'complete' to the rest of pacemaker until, you know,
-+             * its actually done.
-+             */
-+            goagain = true;
-+            cmd->real_action = cmd->action;
-+            cmd->action = strdup("monitor");
-+
-+        } else if(cmd->real_action) {
-+            /* Ok, so this is the follow up monitor action to check if start actually completed */
-+            if(cmd->lrmd_op_status == PCMK_LRM_OP_DONE && cmd->exec_rc == PCMK_OCF_PENDING) {
-+                goagain = true;
-+            }
-+        }
-+    }
-+
- #if SUPPORT_NAGIOS
-     if (rsc && safe_str_eq(rsc->class, "nagios")) {
-         if (safe_str_eq(cmd->action, "monitor") &&
-@@ -612,41 +643,46 @@ action_complete(svc_action_t * action)
-             cmd->exec_rc = PCMK_OCF_NOT_RUNNING;
- 
-         } else if (safe_str_eq(cmd->action, "start") && cmd->exec_rc != PCMK_OCF_OK) {
--            int time_sum = 0;
--            int timeout_left = 0;
--            int delay = cmd->timeout_orig / 10;
-+            goagain = true;
-+        }
-+    }
-+#endif
-+
-+    if(goagain) {
-+        int time_sum = 0;
-+        int timeout_left = 0;
-+        int delay = cmd->timeout_orig / 10;
- 
- #  ifdef HAVE_SYS_TIMEB_H
--            struct timeb now = { 0, };
-+        struct timeb now = { 0, };
- 
--            ftime(&now);
--            time_sum = time_diff_ms(&now, &cmd->t_first_run);
--            timeout_left = cmd->timeout_orig - time_sum;
--            if (delay < timeout_left) {
--                cmd->start_delay = delay;
--                cmd->timeout = timeout_left;
-+        ftime(&now);
-+        time_sum = time_diff_ms(&now, &cmd->t_first_run);
-+        timeout_left = cmd->timeout_orig - time_sum;
-+        if (delay < timeout_left) {
-+            cmd->start_delay = delay;
-+            cmd->timeout = timeout_left;
- 
-+            if(cmd->exec_rc != PCMK_OCF_OK) {
-                 crm_notice
-                     ("%s %s failed (rc=%d): re-scheduling (time_sum=%dms, start_delay=%dms, timeout=%dms)",
-                      cmd->rsc_id, cmd->action, cmd->exec_rc, time_sum, cmd->start_delay,
-                      cmd->timeout);
-+            }
- 
--                cmd->lrmd_op_status = 0;
--                cmd->last_pid = 0;
--                memset(&cmd->t_run, 0, sizeof(cmd->t_run));
--                memset(&cmd->t_queue, 0, sizeof(cmd->t_queue));
--                free(cmd->output);
--                cmd->output = NULL;
-+            cmd->lrmd_op_status = 0;
-+            cmd->last_pid = 0;
-+            memset(&cmd->t_run, 0, sizeof(cmd->t_run));
-+            memset(&cmd->t_queue, 0, sizeof(cmd->t_queue));
-+            free(cmd->output);
-+            cmd->output = NULL;
- 
--                rsc->active = NULL;
--                schedule_lrmd_cmd(rsc, cmd);
--                return;
--            }
--#  endif
-+            rsc->active = NULL;
-+            schedule_lrmd_cmd(rsc, cmd);
-+            return;
-         }
-+#  endif
-     }
--#endif
--
-     cmd_finalize(cmd, rsc);
- }
- 
diff --git a/SOURCES/bz1117341-remote-imply-stop-on-fence.patch b/SOURCES/bz1117341-remote-imply-stop-on-fence.patch
new file mode 100644
index 0000000..9b3676a
--- /dev/null
+++ b/SOURCES/bz1117341-remote-imply-stop-on-fence.patch
@@ -0,0 +1,1399 @@
+diff --git a/pengine/native.c b/pengine/native.c
+index 62639d0..3f1807e 100644
+--- a/pengine/native.c
++++ b/pengine/native.c
+@@ -2913,6 +2913,39 @@ native_start_constraints(resource_t * rsc, action_t * stonith_op, gboolean is_st
+     }
+ }
+ 
++static GListPtr
++find_fence_target_node_actions(GListPtr search_list, const char *key, node_t *fence_target, pe_working_set_t *data_set)
++{
++    GListPtr gIter = NULL;
++    GListPtr result_list = find_actions(search_list, key, fence_target);
++
++    /* find stop actions for this rsc on any container nodes running on
++     * the fencing target node */
++    for (gIter = fence_target->details->running_rsc; gIter != NULL; gIter = gIter->next) { 
++        GListPtr iter = NULL;
++        GListPtr tmp_list = NULL;
++        resource_t *tmp_rsc = (resource_t *) gIter->data;
++        node_t *container_node = NULL;
++
++        /* found a container node that lives on the host node
++         * that is getting fenced. Find stop for our rsc that live on
++         * the container node as well. These stop operations are also
++         * implied by fencing of the host cluster node. */
++        if (tmp_rsc->is_remote_node && tmp_rsc->container != NULL) {
++            container_node = pe_find_node(data_set->nodes, tmp_rsc->id);
++        }
++        if (container_node) {
++            tmp_list = find_actions(search_list, key, container_node);
++        }
++        for (iter = tmp_list; iter != NULL; iter = iter->next) { 
++            result_list = g_list_prepend(result_list, (action_t *) iter->data);
++        }
++        g_list_free(tmp_list);
++    }
++
++    return result_list;
++}
++
+ static void
+ native_stop_constraints(resource_t * rsc, action_t * stonith_op, gboolean is_stonith,
+                         pe_working_set_t * data_set)
+@@ -2923,7 +2956,7 @@ native_stop_constraints(resource_t * rsc, action_t * stonith_op, gboolean is_sto
+     resource_t *top = uber_parent(rsc);
+ 
+     key = stop_key(rsc);
+-    action_list = find_actions(rsc->actions, key, stonith_op->node);
++    action_list = find_fence_target_node_actions(rsc->actions, key, stonith_op->node, data_set);
+     free(key);
+ 
+     /* add the stonith OP as a stop pre-req and the mark the stop
+@@ -3032,7 +3065,7 @@ native_stop_constraints(resource_t * rsc, action_t * stonith_op, gboolean is_sto
+     g_list_free(action_list);
+ 
+     key = demote_key(rsc);
+-    action_list = find_actions(rsc->actions, key, stonith_op->node);
++    action_list = find_fence_target_node_actions(rsc->actions, key, stonith_op->node, data_set);
+     free(key);
+ 
+     for (gIter = action_list; gIter != NULL; gIter = gIter->next) {
+diff --git a/pengine/regression.sh b/pengine/regression.sh
+index c2bc7fb..9172acb 100755
+--- a/pengine/regression.sh
++++ b/pengine/regression.sh
+@@ -768,6 +768,7 @@ do_test whitebox-orphaned    "Properly shutdown orphaned whitebox container"
+ do_test whitebox-orphan-ms   "Properly tear down orphan ms resources on remote-nodes"
+ do_test whitebox-unexpectedly-running "Recover container nodes the cluster did not start."
+ do_test whitebox-migrate1 "Migrate both container and connection resource"
++do_test whitebox-imply-stop-on-fence "imply stop action on container node rsc when host node is fenced"
+ 
+ echo ""
+ do_test remote-startup-probes  "Baremetal remote-node startup probes"
+diff --git a/pengine/test10/whitebox-imply-stop-on-fence.dot b/pengine/test10/whitebox-imply-stop-on-fence.dot
+new file mode 100644
+index 0000000..66700b8
+--- /dev/null
++++ b/pengine/test10/whitebox-imply-stop-on-fence.dot
+@@ -0,0 +1,93 @@
++ digraph "g" {
++"R-lxc-01_kiff-01_monitor_10000 kiff-02" [ style=bold color="green" fontcolor="black"]
++"R-lxc-01_kiff-01_start_0 kiff-02" -> "R-lxc-01_kiff-01_monitor_10000 kiff-02" [ style = bold]
++"R-lxc-01_kiff-01_start_0 kiff-02" -> "lxc-01_kiff-01_start_0 kiff-02" [ style = bold]
++"R-lxc-01_kiff-01_start_0 kiff-02" [ style=bold color="green" fontcolor="black"]
++"R-lxc-01_kiff-01_stop_0 kiff-01" -> "R-lxc-01_kiff-01_start_0 kiff-02" [ style = bold]
++"R-lxc-01_kiff-01_stop_0 kiff-01" -> "all_stopped" [ style = bold]
++"R-lxc-01_kiff-01_stop_0 kiff-01" -> "shared0-clone_stop_0" [ style = bold]
++"R-lxc-01_kiff-01_stop_0 kiff-01" [ style=bold color="green" fontcolor="orange"]
++"R-lxc-02_kiff-01_monitor_10000 kiff-02" [ style=bold color="green" fontcolor="black"]
++"R-lxc-02_kiff-01_start_0 kiff-02" -> "R-lxc-02_kiff-01_monitor_10000 kiff-02" [ style = bold]
++"R-lxc-02_kiff-01_start_0 kiff-02" -> "lxc-02_kiff-01_start_0 kiff-02" [ style = bold]
++"R-lxc-02_kiff-01_start_0 kiff-02" [ style=bold color="green" fontcolor="black"]
++"R-lxc-02_kiff-01_stop_0 kiff-01" -> "R-lxc-02_kiff-01_start_0 kiff-02" [ style = bold]
++"R-lxc-02_kiff-01_stop_0 kiff-01" -> "all_stopped" [ style = bold]
++"R-lxc-02_kiff-01_stop_0 kiff-01" -> "shared0-clone_stop_0" [ style = bold]
++"R-lxc-02_kiff-01_stop_0 kiff-01" [ style=bold color="green" fontcolor="orange"]
++"all_stopped" [ style=bold color="green" fontcolor="orange"]
++"clvmd-clone_stop_0" -> "clvmd-clone_stopped_0" [ style = bold]
++"clvmd-clone_stop_0" -> "clvmd_stop_0 kiff-01" [ style = bold]
++"clvmd-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
++"clvmd-clone_stopped_0" -> "dlm-clone_stop_0" [ style = bold]
++"clvmd-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
++"clvmd_stop_0 kiff-01" -> "all_stopped" [ style = bold]
++"clvmd_stop_0 kiff-01" -> "clvmd-clone_stopped_0" [ style = bold]
++"clvmd_stop_0 kiff-01" -> "dlm_stop_0 kiff-01" [ style = bold]
++"clvmd_stop_0 kiff-01" [ style=bold color="green" fontcolor="orange"]
++"dlm-clone_stop_0" -> "dlm-clone_stopped_0" [ style = bold]
++"dlm-clone_stop_0" -> "dlm_stop_0 kiff-01" [ style = bold]
++"dlm-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
++"dlm-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
++"dlm_stop_0 kiff-01" -> "all_stopped" [ style = bold]
++"dlm_stop_0 kiff-01" -> "dlm-clone_stopped_0" [ style = bold]
++"dlm_stop_0 kiff-01" [ style=bold color="green" fontcolor="orange"]
++"fence-kiff-02_monitor_60000 kiff-02" [ style=bold color="green" fontcolor="black"]
++"fence-kiff-02_start_0 kiff-02" -> "fence-kiff-02_monitor_60000 kiff-02" [ style = bold]
++"fence-kiff-02_start_0 kiff-02" [ style=bold color="green" fontcolor="black"]
++"fence-kiff-02_stop_0 kiff-01" -> "all_stopped" [ style = bold]
++"fence-kiff-02_stop_0 kiff-01" -> "fence-kiff-02_start_0 kiff-02" [ style = bold]
++"fence-kiff-02_stop_0 kiff-01" [ style=bold color="green" fontcolor="orange"]
++"lxc-01_kiff-01_monitor_30000 kiff-02" [ style=bold color="green" fontcolor="black"]
++"lxc-01_kiff-01_start_0 kiff-02" -> "lxc-01_kiff-01_monitor_30000 kiff-02" [ style = bold]
++"lxc-01_kiff-01_start_0 kiff-02" -> "vm-fs_monitor_20000 lxc-01_kiff-01" [ style = bold]
++"lxc-01_kiff-01_start_0 kiff-02" -> "vm-fs_start_0 lxc-01_kiff-01" [ style = bold]
++"lxc-01_kiff-01_start_0 kiff-02" [ style=bold color="green" fontcolor="black"]
++"lxc-01_kiff-01_stop_0 kiff-01" -> "R-lxc-01_kiff-01_stop_0 kiff-01" [ style = bold]
++"lxc-01_kiff-01_stop_0 kiff-01" -> "all_stopped" [ style = bold]
++"lxc-01_kiff-01_stop_0 kiff-01" -> "lxc-01_kiff-01_start_0 kiff-02" [ style = bold]
++"lxc-01_kiff-01_stop_0 kiff-01" [ style=bold color="green" fontcolor="orange"]
++"lxc-02_kiff-01_monitor_30000 kiff-02" [ style=bold color="green" fontcolor="black"]
++"lxc-02_kiff-01_start_0 kiff-02" -> "lxc-02_kiff-01_monitor_30000 kiff-02" [ style = bold]
++"lxc-02_kiff-01_start_0 kiff-02" [ style=bold color="green" fontcolor="black"]
++"lxc-02_kiff-01_stop_0 kiff-01" -> "R-lxc-02_kiff-01_stop_0 kiff-01" [ style = bold]
++"lxc-02_kiff-01_stop_0 kiff-01" -> "all_stopped" [ style = bold]
++"lxc-02_kiff-01_stop_0 kiff-01" -> "lxc-02_kiff-01_start_0 kiff-02" [ style = bold]
++"lxc-02_kiff-01_stop_0 kiff-01" [ style=bold color="green" fontcolor="orange"]
++"shared0-clone_stop_0" -> "shared0-clone_stopped_0" [ style = bold]
++"shared0-clone_stop_0" -> "shared0_stop_0 kiff-01" [ style = bold]
++"shared0-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
++"shared0-clone_stopped_0" -> "clvmd-clone_stop_0" [ style = bold]
++"shared0-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
++"shared0_stop_0 kiff-01" -> "all_stopped" [ style = bold]
++"shared0_stop_0 kiff-01" -> "clvmd_stop_0 kiff-01" [ style = bold]
++"shared0_stop_0 kiff-01" -> "shared0-clone_stopped_0" [ style = bold]
++"shared0_stop_0 kiff-01" [ style=bold color="green" fontcolor="orange"]
++"stonith 'reboot' kiff-01" -> "R-lxc-01_kiff-01_stop_0 kiff-01" [ style = bold]
++"stonith 'reboot' kiff-01" -> "R-lxc-02_kiff-01_stop_0 kiff-01" [ style = bold]
++"stonith 'reboot' kiff-01" -> "clvmd-clone_stop_0" [ style = bold]
++"stonith 'reboot' kiff-01" -> "clvmd_stop_0 kiff-01" [ style = bold]
++"stonith 'reboot' kiff-01" -> "dlm-clone_stop_0" [ style = bold]
++"stonith 'reboot' kiff-01" -> "dlm_stop_0 kiff-01" [ style = bold]
++"stonith 'reboot' kiff-01" -> "fence-kiff-02_stop_0 kiff-01" [ style = bold]
++"stonith 'reboot' kiff-01" -> "lxc-01_kiff-01_stop_0 kiff-01" [ style = bold]
++"stonith 'reboot' kiff-01" -> "lxc-02_kiff-01_stop_0 kiff-01" [ style = bold]
++"stonith 'reboot' kiff-01" -> "shared0-clone_stop_0" [ style = bold]
++"stonith 'reboot' kiff-01" -> "shared0_stop_0 kiff-01" [ style = bold]
++"stonith 'reboot' kiff-01" -> "stonith_complete" [ style = bold]
++"stonith 'reboot' kiff-01" -> "vm-fs_stop_0 lxc-01_kiff-01" [ style = bold]
++"stonith 'reboot' kiff-01" [ style=bold color="green" fontcolor="black"]
++"stonith_complete" -> "R-lxc-01_kiff-01_start_0 kiff-02" [ style = bold]
++"stonith_complete" -> "R-lxc-02_kiff-01_start_0 kiff-02" [ style = bold]
++"stonith_complete" -> "all_stopped" [ style = bold]
++"stonith_complete" -> "lxc-01_kiff-01_start_0 kiff-02" [ style = bold]
++"stonith_complete" -> "lxc-02_kiff-01_start_0 kiff-02" [ style = bold]
++"stonith_complete" -> "vm-fs_start_0 lxc-01_kiff-01" [ style = bold]
++"stonith_complete" [ style=bold color="green" fontcolor="orange"]
++"vm-fs_monitor_20000 lxc-01_kiff-01" [ style=bold color="green" fontcolor="black"]
++"vm-fs_start_0 lxc-01_kiff-01" -> "vm-fs_monitor_20000 lxc-01_kiff-01" [ style = bold]
++"vm-fs_start_0 lxc-01_kiff-01" [ style=bold color="green" fontcolor="black"]
++"vm-fs_stop_0 lxc-01_kiff-01" -> "all_stopped" [ style = bold]
++"vm-fs_stop_0 lxc-01_kiff-01" -> "vm-fs_start_0 lxc-01_kiff-01" [ style = bold]
++"vm-fs_stop_0 lxc-01_kiff-01" [ style=bold color="green" fontcolor="orange"]
++}
+diff --git a/pengine/test10/whitebox-imply-stop-on-fence.exp b/pengine/test10/whitebox-imply-stop-on-fence.exp
+new file mode 100644
+index 0000000..d13c25f
+--- /dev/null
++++ b/pengine/test10/whitebox-imply-stop-on-fence.exp
+@@ -0,0 +1,466 @@
++<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
++  <synapse id="0">
++    <action_set>
++      <rsc_op id="18" operation="monitor" operation_key="fence-kiff-02_monitor_60000" on_node="kiff-02" on_node_uuid="2">
++        <primitive id="fence-kiff-02" class="stonith" type="fence_ipmilan"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" action="reboot"  ipaddr="kiff-02-ilo" login="admin" passwd="admin" pcmk_host_check="static-list" pcmk_host_list="kiff-02"/>
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="17" operation="start" operation_key="fence-kiff-02_start_0" on_node="kiff-02" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="1">
++    <action_set>
++      <rsc_op id="17" operation="start" operation_key="fence-kiff-02_start_0" on_node="kiff-02" on_node_uuid="2">
++        <primitive id="fence-kiff-02" class="stonith" type="fence_ipmilan"/>
++        <attributes CRM_meta_timeout="20000" action="reboot"  ipaddr="kiff-02-ilo" login="admin" passwd="admin" pcmk_host_check="static-list" pcmk_host_list="kiff-02"/>
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="16" operation="stop" operation_key="fence-kiff-02_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="2">
++    <action_set>
++      <pseudo_event id="16" operation="stop" operation_key="fence-kiff-02_stop_0">
++        <attributes CRM_meta_timeout="20000" action="reboot"  ipaddr="kiff-02-ilo" login="admin" passwd="admin" pcmk_host_check="static-list" pcmk_host_list="kiff-02"/>
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <crm_event id="63" operation="stonith" operation_key="stonith-kiff-01-reboot" on_node="kiff-01" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="3">
++    <action_set>
++      <pseudo_event id="19" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0">
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="100000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="24" operation="stop" operation_key="dlm-clone_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="26" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0"/>
++      </trigger>
++      <trigger>
++        <crm_event id="63" operation="stonith" operation_key="stonith-kiff-01-reboot" on_node="kiff-01" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="4" priority="1000000">
++    <action_set>
++      <pseudo_event id="25" operation="stopped" operation_key="dlm-clone_stopped_0">
++        <attributes CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="19" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="24" operation="stop" operation_key="dlm-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="5">
++    <action_set>
++      <pseudo_event id="24" operation="stop" operation_key="dlm-clone_stop_0">
++        <attributes CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="32" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
++      </trigger>
++      <trigger>
++        <crm_event id="63" operation="stonith" operation_key="stonith-kiff-01-reboot" on_node="kiff-01" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="6">
++    <action_set>
++      <pseudo_event id="26" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0">
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="90000"  with_cmirrord="1"/>
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="31" operation="stop" operation_key="clvmd-clone_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="33" operation="stop" operation_key="shared0_stop_0" internal_operation_key="shared0:0_stop_0"/>
++      </trigger>
++      <trigger>
++        <crm_event id="63" operation="stonith" operation_key="stonith-kiff-01-reboot" on_node="kiff-01" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="7" priority="1000000">
++    <action_set>
++      <pseudo_event id="32" operation="stopped" operation_key="clvmd-clone_stopped_0">
++        <attributes CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="26" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="31" operation="stop" operation_key="clvmd-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="8">
++    <action_set>
++      <pseudo_event id="31" operation="stop" operation_key="clvmd-clone_stop_0">
++        <attributes CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="39" operation="stopped" operation_key="shared0-clone_stopped_0"/>
++      </trigger>
++      <trigger>
++        <crm_event id="63" operation="stonith" operation_key="stonith-kiff-01-reboot" on_node="kiff-01" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="9">
++    <action_set>
++      <pseudo_event id="33" operation="stop" operation_key="shared0_stop_0" internal_operation_key="shared0:0_stop_0">
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="60000"  device="/dev/shared/shared0" directory="/mnt/shared0" fstype="gfs2" options="errors=panic"/>
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="38" operation="stop" operation_key="shared0-clone_stop_0"/>
++      </trigger>
++      <trigger>
++        <crm_event id="63" operation="stonith" operation_key="stonith-kiff-01-reboot" on_node="kiff-01" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="10" priority="1000000">
++    <action_set>
++      <pseudo_event id="39" operation="stopped" operation_key="shared0-clone_stopped_0">
++        <attributes CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="33" operation="stop" operation_key="shared0_stop_0" internal_operation_key="shared0:0_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="38" operation="stop" operation_key="shared0-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="11">
++    <action_set>
++      <pseudo_event id="38" operation="stop" operation_key="shared0-clone_stop_0">
++        <attributes CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="40" operation="stop" operation_key="R-lxc-01_kiff-01_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="43" operation="stop" operation_key="R-lxc-02_kiff-01_stop_0"/>
++      </trigger>
++      <trigger>
++        <crm_event id="63" operation="stonith" operation_key="stonith-kiff-01-reboot" on_node="kiff-01" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="12">
++    <action_set>
++      <rsc_op id="42" operation="monitor" operation_key="R-lxc-01_kiff-01_monitor_10000" on_node="kiff-02" on_node_uuid="2">
++        <primitive id="R-lxc-01_kiff-01" class="ocf" provider="heartbeat" type="VirtualDomain"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_remote_node="lxc-01_kiff-01" CRM_meta_timeout="30000" config="/mnt/shared0/test-virtual-domain/lxc/lxc-01_kiff-01.xml"  force_stop="true" hypervisor="lxc:///"/>
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="41" operation="start" operation_key="R-lxc-01_kiff-01_start_0" on_node="kiff-02" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="13">
++    <action_set>
++      <rsc_op id="41" operation="start" operation_key="R-lxc-01_kiff-01_start_0" on_node="kiff-02" on_node_uuid="2">
++        <primitive id="R-lxc-01_kiff-01" class="ocf" provider="heartbeat" type="VirtualDomain"/>
++        <attributes CRM_meta_name="start" CRM_meta_remote_node="lxc-01_kiff-01" CRM_meta_timeout="90000" config="/mnt/shared0/test-virtual-domain/lxc/lxc-01_kiff-01.xml"  force_stop="true" hypervisor="lxc:///"/>
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="40" operation="stop" operation_key="R-lxc-01_kiff-01_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="62" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="14">
++    <action_set>
++      <pseudo_event id="40" operation="stop" operation_key="R-lxc-01_kiff-01_stop_0">
++        <attributes CRM_meta_name="stop" CRM_meta_remote_node="lxc-01_kiff-01" CRM_meta_timeout="90000" config="/mnt/shared0/test-virtual-domain/lxc/lxc-01_kiff-01.xml"  force_stop="true" hypervisor="lxc:///"/>
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="52" operation="stop" operation_key="lxc-01_kiff-01_stop_0"/>
++      </trigger>
++      <trigger>
++        <crm_event id="63" operation="stonith" operation_key="stonith-kiff-01-reboot" on_node="kiff-01" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="15">
++    <action_set>
++      <rsc_op id="45" operation="monitor" operation_key="R-lxc-02_kiff-01_monitor_10000" on_node="kiff-02" on_node_uuid="2">
++        <primitive id="R-lxc-02_kiff-01" class="ocf" provider="heartbeat" type="VirtualDomain"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_remote_node="lxc-02_kiff-01" CRM_meta_timeout="30000" config="/mnt/shared0/test-virtual-domain/lxc/lxc-02_kiff-01.xml"  force_stop="true" hypervisor="lxc:///"/>
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="44" operation="start" operation_key="R-lxc-02_kiff-01_start_0" on_node="kiff-02" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="16">
++    <action_set>
++      <rsc_op id="44" operation="start" operation_key="R-lxc-02_kiff-01_start_0" on_node="kiff-02" on_node_uuid="2">
++        <primitive id="R-lxc-02_kiff-01" class="ocf" provider="heartbeat" type="VirtualDomain"/>
++        <attributes CRM_meta_name="start" CRM_meta_remote_node="lxc-02_kiff-01" CRM_meta_timeout="90000" config="/mnt/shared0/test-virtual-domain/lxc/lxc-02_kiff-01.xml"  force_stop="true" hypervisor="lxc:///"/>
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="43" operation="stop" operation_key="R-lxc-02_kiff-01_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="62" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="17">
++    <action_set>
++      <pseudo_event id="43" operation="stop" operation_key="R-lxc-02_kiff-01_stop_0">
++        <attributes CRM_meta_name="stop" CRM_meta_remote_node="lxc-02_kiff-01" CRM_meta_timeout="90000" config="/mnt/shared0/test-virtual-domain/lxc/lxc-02_kiff-01.xml"  force_stop="true" hypervisor="lxc:///"/>
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="55" operation="stop" operation_key="lxc-02_kiff-01_stop_0"/>
++      </trigger>
++      <trigger>
++        <crm_event id="63" operation="stonith" operation_key="stonith-kiff-01-reboot" on_node="kiff-01" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="18">
++    <action_set>
++      <rsc_op id="51" operation="start" operation_key="vm-fs_start_0" on_node="lxc-01_kiff-01" on_node_uuid="lxc-01_kiff-01" router_node="kiff-02">
++        <primitive id="vm-fs" class="ocf" provider="heartbeat" type="Filesystem"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="60000"  device="/root" directory="/mnt/vm-fs" fstype="none" options="bind"/>
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="50" operation="stop" operation_key="vm-fs_stop_0"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="53" operation="start" operation_key="lxc-01_kiff-01_start_0" on_node="kiff-02" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="62" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="19">
++    <action_set>
++      <pseudo_event id="50" operation="stop" operation_key="vm-fs_stop_0">
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="60000"  device="/root" directory="/mnt/vm-fs" fstype="none" options="bind"/>
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <crm_event id="63" operation="stonith" operation_key="stonith-kiff-01-reboot" on_node="kiff-01" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="20">
++    <action_set>
++      <rsc_op id="9" operation="monitor" operation_key="vm-fs_monitor_20000" on_node="lxc-01_kiff-01" on_node_uuid="lxc-01_kiff-01" router_node="kiff-02">
++        <primitive id="vm-fs" class="ocf" provider="heartbeat" type="Filesystem"/>
++        <attributes CRM_meta_interval="20000" CRM_meta_name="monitor" CRM_meta_timeout="40000"  device="/root" directory="/mnt/vm-fs" fstype="none" options="bind"/>
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="51" operation="start" operation_key="vm-fs_start_0" on_node="lxc-01_kiff-01" on_node_uuid="lxc-01_kiff-01" router_node="kiff-02"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="53" operation="start" operation_key="lxc-01_kiff-01_start_0" on_node="kiff-02" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="21">
++    <action_set>
++      <rsc_op id="54" operation="monitor" operation_key="lxc-01_kiff-01_monitor_30000" on_node="kiff-02" on_node_uuid="2">
++        <primitive id="lxc-01_kiff-01" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_container="R-lxc-01_kiff-01" CRM_meta_interval="30000" CRM_meta_name="monitor" CRM_meta_timeout="30000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="53" operation="start" operation_key="lxc-01_kiff-01_start_0" on_node="kiff-02" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="22">
++    <action_set>
++      <rsc_op id="53" operation="start" operation_key="lxc-01_kiff-01_start_0" on_node="kiff-02" on_node_uuid="2">
++        <primitive id="lxc-01_kiff-01" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_container="R-lxc-01_kiff-01" CRM_meta_name="start" CRM_meta_timeout="60000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="41" operation="start" operation_key="R-lxc-01_kiff-01_start_0" on_node="kiff-02" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="52" operation="stop" operation_key="lxc-01_kiff-01_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="62" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="23">
++    <action_set>
++      <pseudo_event id="52" operation="stop" operation_key="lxc-01_kiff-01_stop_0">
++        <attributes CRM_meta_container="R-lxc-01_kiff-01" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <crm_event id="63" operation="stonith" operation_key="stonith-kiff-01-reboot" on_node="kiff-01" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="24">
++    <action_set>
++      <rsc_op id="57" operation="monitor" operation_key="lxc-02_kiff-01_monitor_30000" on_node="kiff-02" on_node_uuid="2">
++        <primitive id="lxc-02_kiff-01" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_container="R-lxc-02_kiff-01" CRM_meta_interval="30000" CRM_meta_name="monitor" CRM_meta_timeout="30000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="56" operation="start" operation_key="lxc-02_kiff-01_start_0" on_node="kiff-02" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="25">
++    <action_set>
++      <rsc_op id="56" operation="start" operation_key="lxc-02_kiff-01_start_0" on_node="kiff-02" on_node_uuid="2">
++        <primitive id="lxc-02_kiff-01" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_container="R-lxc-02_kiff-01" CRM_meta_name="start" CRM_meta_timeout="60000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="44" operation="start" operation_key="R-lxc-02_kiff-01_start_0" on_node="kiff-02" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="55" operation="stop" operation_key="lxc-02_kiff-01_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="62" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="26">
++    <action_set>
++      <pseudo_event id="55" operation="stop" operation_key="lxc-02_kiff-01_stop_0">
++        <attributes CRM_meta_container="R-lxc-02_kiff-01" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <crm_event id="63" operation="stonith" operation_key="stonith-kiff-01-reboot" on_node="kiff-01" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="27">
++    <action_set>
++      <crm_event id="63" operation="stonith" operation_key="stonith-kiff-01-reboot" on_node="kiff-01" on_node_uuid="1">
++        <attributes CRM_meta_on_node="kiff-01" CRM_meta_on_node_uuid="1" CRM_meta_probe_complete="true" CRM_meta_shutdown="0" CRM_meta_stonith_action="reboot" />
++      </crm_event>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="28">
++    <action_set>
++      <pseudo_event id="62" operation="stonith_complete" operation_key="stonith_complete">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <crm_event id="63" operation="stonith" operation_key="stonith-kiff-01-reboot" on_node="kiff-01" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="29">
++    <action_set>
++      <pseudo_event id="10" operation="all_stopped" operation_key="all_stopped">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="16" operation="stop" operation_key="fence-kiff-02_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="19" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="26" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="33" operation="stop" operation_key="shared0_stop_0" internal_operation_key="shared0:0_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="40" operation="stop" operation_key="R-lxc-01_kiff-01_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="43" operation="stop" operation_key="R-lxc-02_kiff-01_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="50" operation="stop" operation_key="vm-fs_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="52" operation="stop" operation_key="lxc-01_kiff-01_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="55" operation="stop" operation_key="lxc-02_kiff-01_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="62" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++</transition_graph>
+diff --git a/pengine/test10/whitebox-imply-stop-on-fence.scores b/pengine/test10/whitebox-imply-stop-on-fence.scores
+new file mode 100644
+index 0000000..e50f077
+--- /dev/null
++++ b/pengine/test10/whitebox-imply-stop-on-fence.scores
+@@ -0,0 +1,301 @@
++Allocation scores:
++clone_color: clvmd-clone allocation score on kiff-01: 0
++clone_color: clvmd-clone allocation score on kiff-02: 0
++clone_color: clvmd-clone allocation score on lxc-01_kiff-01: 0
++clone_color: clvmd-clone allocation score on lxc-01_kiff-02: 0
++clone_color: clvmd-clone allocation score on lxc-02_kiff-01: 0
++clone_color: clvmd-clone allocation score on lxc-02_kiff-02: 0
++clone_color: clvmd:0 allocation score on kiff-01: 1
++clone_color: clvmd:0 allocation score on kiff-02: 0
++clone_color: clvmd:0 allocation score on lxc-01_kiff-01: 0
++clone_color: clvmd:0 allocation score on lxc-01_kiff-02: 0
++clone_color: clvmd:0 allocation score on lxc-02_kiff-01: 0
++clone_color: clvmd:0 allocation score on lxc-02_kiff-02: 0
++clone_color: clvmd:1 allocation score on kiff-01: 0
++clone_color: clvmd:1 allocation score on kiff-02: 1
++clone_color: clvmd:1 allocation score on lxc-01_kiff-01: 0
++clone_color: clvmd:1 allocation score on lxc-01_kiff-02: 0
++clone_color: clvmd:1 allocation score on lxc-02_kiff-01: 0
++clone_color: clvmd:1 allocation score on lxc-02_kiff-02: 0
++clone_color: clvmd:2 allocation score on kiff-01: 0
++clone_color: clvmd:2 allocation score on kiff-02: 0
++clone_color: clvmd:2 allocation score on lxc-01_kiff-01: 0
++clone_color: clvmd:2 allocation score on lxc-01_kiff-02: 0
++clone_color: clvmd:2 allocation score on lxc-02_kiff-01: 0
++clone_color: clvmd:2 allocation score on lxc-02_kiff-02: 0
++clone_color: clvmd:3 allocation score on kiff-01: 0
++clone_color: clvmd:3 allocation score on kiff-02: 0
++clone_color: clvmd:3 allocation score on lxc-01_kiff-01: 0
++clone_color: clvmd:3 allocation score on lxc-01_kiff-02: 0
++clone_color: clvmd:3 allocation score on lxc-02_kiff-01: 0
++clone_color: clvmd:3 allocation score on lxc-02_kiff-02: 0
++clone_color: clvmd:4 allocation score on kiff-01: 0
++clone_color: clvmd:4 allocation score on kiff-02: 0
++clone_color: clvmd:4 allocation score on lxc-01_kiff-01: 0
++clone_color: clvmd:4 allocation score on lxc-01_kiff-02: 0
++clone_color: clvmd:4 allocation score on lxc-02_kiff-01: 0
++clone_color: clvmd:4 allocation score on lxc-02_kiff-02: 0
++clone_color: clvmd:5 allocation score on kiff-01: 0
++clone_color: clvmd:5 allocation score on kiff-02: 0
++clone_color: clvmd:5 allocation score on lxc-01_kiff-01: 0
++clone_color: clvmd:5 allocation score on lxc-01_kiff-02: 0
++clone_color: clvmd:5 allocation score on lxc-02_kiff-01: 0
++clone_color: clvmd:5 allocation score on lxc-02_kiff-02: 0
++clone_color: dlm-clone allocation score on kiff-01: 0
++clone_color: dlm-clone allocation score on kiff-02: 0
++clone_color: dlm-clone allocation score on lxc-01_kiff-01: -INFINITY
++clone_color: dlm-clone allocation score on lxc-01_kiff-02: -INFINITY
++clone_color: dlm-clone allocation score on lxc-02_kiff-01: -INFINITY
++clone_color: dlm-clone allocation score on lxc-02_kiff-02: -INFINITY
++clone_color: dlm:0 allocation score on kiff-01: 1
++clone_color: dlm:0 allocation score on kiff-02: 0
++clone_color: dlm:0 allocation score on lxc-01_kiff-01: -INFINITY
++clone_color: dlm:0 allocation score on lxc-01_kiff-02: -INFINITY
++clone_color: dlm:0 allocation score on lxc-02_kiff-01: -INFINITY
++clone_color: dlm:0 allocation score on lxc-02_kiff-02: -INFINITY
++clone_color: dlm:1 allocation score on kiff-01: 0
++clone_color: dlm:1 allocation score on kiff-02: 1
++clone_color: dlm:1 allocation score on lxc-01_kiff-01: -INFINITY
++clone_color: dlm:1 allocation score on lxc-01_kiff-02: -INFINITY
++clone_color: dlm:1 allocation score on lxc-02_kiff-01: -INFINITY
++clone_color: dlm:1 allocation score on lxc-02_kiff-02: -INFINITY
++clone_color: dlm:2 allocation score on kiff-01: 0
++clone_color: dlm:2 allocation score on kiff-02: 0
++clone_color: dlm:2 allocation score on lxc-01_kiff-01: -INFINITY
++clone_color: dlm:2 allocation score on lxc-01_kiff-02: -INFINITY
++clone_color: dlm:2 allocation score on lxc-02_kiff-01: -INFINITY
++clone_color: dlm:2 allocation score on lxc-02_kiff-02: -INFINITY
++clone_color: dlm:3 allocation score on kiff-01: 0
++clone_color: dlm:3 allocation score on kiff-02: 0
++clone_color: dlm:3 allocation score on lxc-01_kiff-01: -INFINITY
++clone_color: dlm:3 allocation score on lxc-01_kiff-02: -INFINITY
++clone_color: dlm:3 allocation score on lxc-02_kiff-01: -INFINITY
++clone_color: dlm:3 allocation score on lxc-02_kiff-02: -INFINITY
++clone_color: dlm:4 allocation score on kiff-01: 0
++clone_color: dlm:4 allocation score on kiff-02: 0
++clone_color: dlm:4 allocation score on lxc-01_kiff-01: -INFINITY
++clone_color: dlm:4 allocation score on lxc-01_kiff-02: -INFINITY
++clone_color: dlm:4 allocation score on lxc-02_kiff-01: -INFINITY
++clone_color: dlm:4 allocation score on lxc-02_kiff-02: -INFINITY
++clone_color: dlm:5 allocation score on kiff-01: 0
++clone_color: dlm:5 allocation score on kiff-02: 0
++clone_color: dlm:5 allocation score on lxc-01_kiff-01: -INFINITY
++clone_color: dlm:5 allocation score on lxc-01_kiff-02: -INFINITY
++clone_color: dlm:5 allocation score on lxc-02_kiff-01: -INFINITY
++clone_color: dlm:5 allocation score on lxc-02_kiff-02: -INFINITY
++clone_color: shared0-clone allocation score on kiff-01: 0
++clone_color: shared0-clone allocation score on kiff-02: 0
++clone_color: shared0-clone allocation score on lxc-01_kiff-01: 0
++clone_color: shared0-clone allocation score on lxc-01_kiff-02: 0
++clone_color: shared0-clone allocation score on lxc-02_kiff-01: 0
++clone_color: shared0-clone allocation score on lxc-02_kiff-02: 0
++clone_color: shared0:0 allocation score on kiff-01: 1
++clone_color: shared0:0 allocation score on kiff-02: 0
++clone_color: shared0:0 allocation score on lxc-01_kiff-01: 0
++clone_color: shared0:0 allocation score on lxc-01_kiff-02: 0
++clone_color: shared0:0 allocation score on lxc-02_kiff-01: 0
++clone_color: shared0:0 allocation score on lxc-02_kiff-02: 0
++clone_color: shared0:1 allocation score on kiff-01: 0
++clone_color: shared0:1 allocation score on kiff-02: 1
++clone_color: shared0:1 allocation score on lxc-01_kiff-01: 0
++clone_color: shared0:1 allocation score on lxc-01_kiff-02: 0
++clone_color: shared0:1 allocation score on lxc-02_kiff-01: 0
++clone_color: shared0:1 allocation score on lxc-02_kiff-02: 0
++clone_color: shared0:2 allocation score on kiff-01: 0
++clone_color: shared0:2 allocation score on kiff-02: 0
++clone_color: shared0:2 allocation score on lxc-01_kiff-01: 0
++clone_color: shared0:2 allocation score on lxc-01_kiff-02: 0
++clone_color: shared0:2 allocation score on lxc-02_kiff-01: 0
++clone_color: shared0:2 allocation score on lxc-02_kiff-02: 0
++clone_color: shared0:3 allocation score on kiff-01: 0
++clone_color: shared0:3 allocation score on kiff-02: 0
++clone_color: shared0:3 allocation score on lxc-01_kiff-01: 0
++clone_color: shared0:3 allocation score on lxc-01_kiff-02: 0
++clone_color: shared0:3 allocation score on lxc-02_kiff-01: 0
++clone_color: shared0:3 allocation score on lxc-02_kiff-02: 0
++clone_color: shared0:4 allocation score on kiff-01: 0
++clone_color: shared0:4 allocation score on kiff-02: 0
++clone_color: shared0:4 allocation score on lxc-01_kiff-01: 0
++clone_color: shared0:4 allocation score on lxc-01_kiff-02: 0
++clone_color: shared0:4 allocation score on lxc-02_kiff-01: 0
++clone_color: shared0:4 allocation score on lxc-02_kiff-02: 0
++clone_color: shared0:5 allocation score on kiff-01: 0
++clone_color: shared0:5 allocation score on kiff-02: 0
++clone_color: shared0:5 allocation score on lxc-01_kiff-01: 0
++clone_color: shared0:5 allocation score on lxc-01_kiff-02: 0
++clone_color: shared0:5 allocation score on lxc-02_kiff-01: 0
++clone_color: shared0:5 allocation score on lxc-02_kiff-02: 0
++native_color: R-lxc-01_kiff-01 allocation score on kiff-01: -INFINITY
++native_color: R-lxc-01_kiff-01 allocation score on kiff-02: 0
++native_color: R-lxc-01_kiff-01 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: R-lxc-01_kiff-01 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: R-lxc-01_kiff-01 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: R-lxc-01_kiff-01 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: R-lxc-01_kiff-02 allocation score on kiff-01: -INFINITY
++native_color: R-lxc-01_kiff-02 allocation score on kiff-02: 100
++native_color: R-lxc-01_kiff-02 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: R-lxc-01_kiff-02 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: R-lxc-01_kiff-02 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: R-lxc-01_kiff-02 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: R-lxc-02_kiff-01 allocation score on kiff-01: -INFINITY
++native_color: R-lxc-02_kiff-01 allocation score on kiff-02: 0
++native_color: R-lxc-02_kiff-01 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: R-lxc-02_kiff-01 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: R-lxc-02_kiff-01 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: R-lxc-02_kiff-01 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: R-lxc-02_kiff-02 allocation score on kiff-01: -INFINITY
++native_color: R-lxc-02_kiff-02 allocation score on kiff-02: 100
++native_color: R-lxc-02_kiff-02 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: R-lxc-02_kiff-02 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: R-lxc-02_kiff-02 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: R-lxc-02_kiff-02 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: clvmd:0 allocation score on kiff-01: -INFINITY
++native_color: clvmd:0 allocation score on kiff-02: -INFINITY
++native_color: clvmd:0 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: clvmd:0 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: clvmd:0 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: clvmd:0 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: clvmd:1 allocation score on kiff-01: -INFINITY
++native_color: clvmd:1 allocation score on kiff-02: 1
++native_color: clvmd:1 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: clvmd:1 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: clvmd:1 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: clvmd:1 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: clvmd:2 allocation score on kiff-01: -INFINITY
++native_color: clvmd:2 allocation score on kiff-02: -INFINITY
++native_color: clvmd:2 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: clvmd:2 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: clvmd:2 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: clvmd:2 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: clvmd:3 allocation score on kiff-01: -INFINITY
++native_color: clvmd:3 allocation score on kiff-02: -INFINITY
++native_color: clvmd:3 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: clvmd:3 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: clvmd:3 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: clvmd:3 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: clvmd:4 allocation score on kiff-01: -INFINITY
++native_color: clvmd:4 allocation score on kiff-02: -INFINITY
++native_color: clvmd:4 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: clvmd:4 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: clvmd:4 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: clvmd:4 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: clvmd:5 allocation score on kiff-01: -INFINITY
++native_color: clvmd:5 allocation score on kiff-02: -INFINITY
++native_color: clvmd:5 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: clvmd:5 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: clvmd:5 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: clvmd:5 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: dlm:0 allocation score on kiff-01: -INFINITY
++native_color: dlm:0 allocation score on kiff-02: -INFINITY
++native_color: dlm:0 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: dlm:0 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: dlm:0 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: dlm:0 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: dlm:1 allocation score on kiff-01: -INFINITY
++native_color: dlm:1 allocation score on kiff-02: 1
++native_color: dlm:1 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: dlm:1 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: dlm:1 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: dlm:1 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: dlm:2 allocation score on kiff-01: -INFINITY
++native_color: dlm:2 allocation score on kiff-02: -INFINITY
++native_color: dlm:2 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: dlm:2 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: dlm:2 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: dlm:2 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: dlm:3 allocation score on kiff-01: -INFINITY
++native_color: dlm:3 allocation score on kiff-02: -INFINITY
++native_color: dlm:3 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: dlm:3 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: dlm:3 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: dlm:3 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: dlm:4 allocation score on kiff-01: -INFINITY
++native_color: dlm:4 allocation score on kiff-02: -INFINITY
++native_color: dlm:4 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: dlm:4 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: dlm:4 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: dlm:4 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: dlm:5 allocation score on kiff-01: -INFINITY
++native_color: dlm:5 allocation score on kiff-02: -INFINITY
++native_color: dlm:5 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: dlm:5 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: dlm:5 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: dlm:5 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: fence-kiff-01 allocation score on kiff-01: 0
++native_color: fence-kiff-01 allocation score on kiff-02: 0
++native_color: fence-kiff-01 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: fence-kiff-01 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: fence-kiff-01 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: fence-kiff-01 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: fence-kiff-02 allocation score on kiff-01: 0
++native_color: fence-kiff-02 allocation score on kiff-02: 0
++native_color: fence-kiff-02 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: fence-kiff-02 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: fence-kiff-02 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: fence-kiff-02 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: lxc-01_kiff-01 allocation score on kiff-01: -INFINITY
++native_color: lxc-01_kiff-01 allocation score on kiff-02: 0
++native_color: lxc-01_kiff-01 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: lxc-01_kiff-01 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: lxc-01_kiff-01 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: lxc-01_kiff-01 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: lxc-01_kiff-02 allocation score on kiff-01: -INFINITY
++native_color: lxc-01_kiff-02 allocation score on kiff-02: 0
++native_color: lxc-01_kiff-02 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: lxc-01_kiff-02 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: lxc-01_kiff-02 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: lxc-01_kiff-02 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: lxc-02_kiff-01 allocation score on kiff-01: -INFINITY
++native_color: lxc-02_kiff-01 allocation score on kiff-02: 0
++native_color: lxc-02_kiff-01 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: lxc-02_kiff-01 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: lxc-02_kiff-01 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: lxc-02_kiff-01 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: lxc-02_kiff-02 allocation score on kiff-01: -INFINITY
++native_color: lxc-02_kiff-02 allocation score on kiff-02: 0
++native_color: lxc-02_kiff-02 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: lxc-02_kiff-02 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: lxc-02_kiff-02 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: lxc-02_kiff-02 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: shared0:0 allocation score on kiff-01: -INFINITY
++native_color: shared0:0 allocation score on kiff-02: -INFINITY
++native_color: shared0:0 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: shared0:0 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: shared0:0 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: shared0:0 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: shared0:1 allocation score on kiff-01: -INFINITY
++native_color: shared0:1 allocation score on kiff-02: 1
++native_color: shared0:1 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: shared0:1 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: shared0:1 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: shared0:1 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: shared0:2 allocation score on kiff-01: -INFINITY
++native_color: shared0:2 allocation score on kiff-02: -INFINITY
++native_color: shared0:2 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: shared0:2 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: shared0:2 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: shared0:2 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: shared0:3 allocation score on kiff-01: -INFINITY
++native_color: shared0:3 allocation score on kiff-02: -INFINITY
++native_color: shared0:3 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: shared0:3 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: shared0:3 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: shared0:3 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: shared0:4 allocation score on kiff-01: -INFINITY
++native_color: shared0:4 allocation score on kiff-02: -INFINITY
++native_color: shared0:4 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: shared0:4 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: shared0:4 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: shared0:4 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: shared0:5 allocation score on kiff-01: -INFINITY
++native_color: shared0:5 allocation score on kiff-02: -INFINITY
++native_color: shared0:5 allocation score on lxc-01_kiff-01: -INFINITY
++native_color: shared0:5 allocation score on lxc-01_kiff-02: -INFINITY
++native_color: shared0:5 allocation score on lxc-02_kiff-01: -INFINITY
++native_color: shared0:5 allocation score on lxc-02_kiff-02: -INFINITY
++native_color: vm-fs allocation score on kiff-01: 0
++native_color: vm-fs allocation score on kiff-02: 0
++native_color: vm-fs allocation score on lxc-01_kiff-01: 0
++native_color: vm-fs allocation score on lxc-01_kiff-02: 0
++native_color: vm-fs allocation score on lxc-02_kiff-01: 0
++native_color: vm-fs allocation score on lxc-02_kiff-02: 0
+diff --git a/pengine/test10/whitebox-imply-stop-on-fence.summary b/pengine/test10/whitebox-imply-stop-on-fence.summary
+new file mode 100644
+index 0000000..79e77de
+--- /dev/null
++++ b/pengine/test10/whitebox-imply-stop-on-fence.summary
+@@ -0,0 +1,88 @@
++
++Current cluster status:
++Node kiff-01 (1): UNCLEAN (offline)
++Online: [ kiff-02 ]
++Containers: [ lxc-01_kiff-01:R-lxc-01_kiff-01 lxc-01_kiff-02:R-lxc-01_kiff-02 lxc-02_kiff-01:R-lxc-02_kiff-01 lxc-02_kiff-02:R-lxc-02_kiff-02 ]
++
++ fence-kiff-01	(stonith:fence_ipmilan):	Started kiff-02 
++ fence-kiff-02	(stonith:fence_ipmilan):	Started kiff-01 
++ Clone Set: dlm-clone [dlm]
++     Started: [ kiff-01 kiff-02 ]
++     Stopped: [ lxc-01_kiff-01 lxc-01_kiff-02 lxc-02_kiff-01 lxc-02_kiff-02 ]
++ Clone Set: clvmd-clone [clvmd]
++     Started: [ kiff-01 kiff-02 ]
++     Stopped: [ lxc-01_kiff-01 lxc-01_kiff-02 lxc-02_kiff-01 lxc-02_kiff-02 ]
++ Clone Set: shared0-clone [shared0]
++     Started: [ kiff-01 kiff-02 ]
++     Stopped: [ lxc-01_kiff-01 lxc-01_kiff-02 lxc-02_kiff-01 lxc-02_kiff-02 ]
++ R-lxc-01_kiff-01	(ocf::heartbeat:VirtualDomain):	Started kiff-01 
++ R-lxc-02_kiff-01	(ocf::heartbeat:VirtualDomain):	Started kiff-01 
++ R-lxc-01_kiff-02	(ocf::heartbeat:VirtualDomain):	Started kiff-02 
++ R-lxc-02_kiff-02	(ocf::heartbeat:VirtualDomain):	Started kiff-02 
++ vm-fs	(ocf::heartbeat:Filesystem):	Started lxc-01_kiff-01 
++
++Transition Summary:
++ * Move    fence-kiff-02	(Started kiff-01 -> kiff-02)
++ * Stop    dlm:0	(kiff-01)
++ * Stop    clvmd:0	(kiff-01)
++ * Stop    shared0:0	(kiff-01)
++ * Move    R-lxc-01_kiff-01	(Started kiff-01 -> kiff-02)
++ * Move    R-lxc-02_kiff-01	(Started kiff-01 -> kiff-02)
++ * Restart vm-fs	(Started lxc-01_kiff-01)
++ * Move    lxc-01_kiff-01	(Started kiff-01 -> kiff-02)
++ * Move    lxc-02_kiff-01	(Started kiff-01 -> kiff-02)
++
++Executing cluster transition:
++ * Fencing kiff-01 (reboot)
++ * Pseudo action:   stonith_complete
++ * Pseudo action:   fence-kiff-02_stop_0
++ * Pseudo action:   vm-fs_stop_0
++ * Pseudo action:   lxc-01_kiff-01_stop_0
++ * Pseudo action:   lxc-02_kiff-01_stop_0
++ * Resource action: fence-kiff-02   start on kiff-02
++ * Pseudo action:   R-lxc-01_kiff-01_stop_0
++ * Pseudo action:   R-lxc-02_kiff-01_stop_0
++ * Resource action: fence-kiff-02   monitor=60000 on kiff-02
++ * Pseudo action:   shared0-clone_stop_0
++ * Resource action: R-lxc-01_kiff-01 start on kiff-02
++ * Resource action: R-lxc-02_kiff-01 start on kiff-02
++ * Resource action: lxc-01_kiff-01  start on kiff-02
++ * Resource action: lxc-02_kiff-01  start on kiff-02
++ * Pseudo action:   shared0_stop_0
++ * Pseudo action:   shared0-clone_stopped_0
++ * Resource action: R-lxc-01_kiff-01 monitor=10000 on kiff-02
++ * Resource action: R-lxc-02_kiff-01 monitor=10000 on kiff-02
++ * Resource action: vm-fs           start on lxc-01_kiff-01
++ * Resource action: vm-fs           monitor=20000 on lxc-01_kiff-01
++ * Resource action: lxc-01_kiff-01  monitor=30000 on kiff-02
++ * Resource action: lxc-02_kiff-01  monitor=30000 on kiff-02
++ * Pseudo action:   clvmd-clone_stop_0
++ * Pseudo action:   clvmd_stop_0
++ * Pseudo action:   clvmd-clone_stopped_0
++ * Pseudo action:   dlm-clone_stop_0
++ * Pseudo action:   dlm_stop_0
++ * Pseudo action:   dlm-clone_stopped_0
++ * Pseudo action:   all_stopped
++
++Revised cluster status:
++Online: [ kiff-02 ]
++OFFLINE: [ kiff-01 ]
++Containers: [ lxc-01_kiff-01:R-lxc-01_kiff-01 lxc-01_kiff-02:R-lxc-01_kiff-02 lxc-02_kiff-01:R-lxc-02_kiff-01 lxc-02_kiff-02:R-lxc-02_kiff-02 ]
++
++ fence-kiff-01	(stonith:fence_ipmilan):	Started kiff-02 
++ fence-kiff-02	(stonith:fence_ipmilan):	Started kiff-02 
++ Clone Set: dlm-clone [dlm]
++     Started: [ kiff-02 ]
++     Stopped: [ kiff-01 lxc-01_kiff-01 lxc-01_kiff-02 lxc-02_kiff-01 lxc-02_kiff-02 ]
++ Clone Set: clvmd-clone [clvmd]
++     Started: [ kiff-02 ]
++     Stopped: [ kiff-01 lxc-01_kiff-01 lxc-01_kiff-02 lxc-02_kiff-01 lxc-02_kiff-02 ]
++ Clone Set: shared0-clone [shared0]
++     Started: [ kiff-02 ]
++     Stopped: [ kiff-01 lxc-01_kiff-01 lxc-01_kiff-02 lxc-02_kiff-01 lxc-02_kiff-02 ]
++ R-lxc-01_kiff-01	(ocf::heartbeat:VirtualDomain):	Started kiff-02 
++ R-lxc-02_kiff-01	(ocf::heartbeat:VirtualDomain):	Started kiff-02 
++ R-lxc-01_kiff-02	(ocf::heartbeat:VirtualDomain):	Started kiff-02 
++ R-lxc-02_kiff-02	(ocf::heartbeat:VirtualDomain):	Started kiff-02 
++ vm-fs	(ocf::heartbeat:Filesystem):	Started lxc-01_kiff-01 
++
+diff --git a/pengine/test10/whitebox-imply-stop-on-fence.xml b/pengine/test10/whitebox-imply-stop-on-fence.xml
+new file mode 100644
+index 0000000..609b281
+--- /dev/null
++++ b/pengine/test10/whitebox-imply-stop-on-fence.xml
+@@ -0,0 +1,347 @@
++<cib admin_epoch="0" cib-last-written="Fri Dec 19 18:49:12 2014" crm_feature_set="3.0.9" dc-uuid="2" epoch="51" have-quorum="1" num_updates="78" validate-with="pacemaker-2.2">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
++        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-a14efad"/>
++        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
++        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="STSRHTS29816"/>
++        <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="freeze"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes>
++      <node id="1" uname="kiff-01"/>
++      <node id="2" uname="kiff-02"/>
++    </nodes>
++    <resources>
++      <primitive class="stonith" id="fence-kiff-01" type="fence_ipmilan">
++        <instance_attributes id="fence-kiff-01-instance_attributes">
++          <nvpair id="fence-kiff-01-instance_attributes-action" name="action" value="reboot"/>
++          <nvpair id="fence-kiff-01-instance_attributes-ipaddr" name="ipaddr" value="kiff-01-ilo"/>
++          <nvpair id="fence-kiff-01-instance_attributes-login" name="login" value="admin"/>
++          <nvpair id="fence-kiff-01-instance_attributes-passwd" name="passwd" value="admin"/>
++          <nvpair id="fence-kiff-01-instance_attributes-pcmk_host_check" name="pcmk_host_check" value="static-list"/>
++          <nvpair id="fence-kiff-01-instance_attributes-pcmk_host_list" name="pcmk_host_list" value="kiff-01"/>
++        </instance_attributes>
++        <operations>
++          <op id="fence-kiff-01-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <primitive class="stonith" id="fence-kiff-02" type="fence_ipmilan">
++        <instance_attributes id="fence-kiff-02-instance_attributes">
++          <nvpair id="fence-kiff-02-instance_attributes-action" name="action" value="reboot"/>
++          <nvpair id="fence-kiff-02-instance_attributes-ipaddr" name="ipaddr" value="kiff-02-ilo"/>
++          <nvpair id="fence-kiff-02-instance_attributes-login" name="login" value="admin"/>
++          <nvpair id="fence-kiff-02-instance_attributes-passwd" name="passwd" value="admin"/>
++          <nvpair id="fence-kiff-02-instance_attributes-pcmk_host_check" name="pcmk_host_check" value="static-list"/>
++          <nvpair id="fence-kiff-02-instance_attributes-pcmk_host_list" name="pcmk_host_list" value="kiff-02"/>
++        </instance_attributes>
++        <operations>
++          <op id="fence-kiff-02-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <clone id="dlm-clone">
++        <primitive class="ocf" id="dlm" provider="pacemaker" type="controld">
++          <instance_attributes id="dlm-instance_attributes"/>
++          <operations>
++            <op id="dlm-start-timeout-90" interval="0s" name="start" timeout="90"/>
++            <op id="dlm-stop-timeout-100" interval="0s" name="stop" timeout="100"/>
++            <op id="dlm-monitor-interval-30s" interval="30s" name="monitor" on-fail="fence"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="dlm-clone-meta">
++          <nvpair id="dlm-interleave" name="interleave" value="true"/>
++          <nvpair id="dlm-ordered" name="ordered" value="true"/>
++        </meta_attributes>
++      </clone>
++      <clone id="clvmd-clone">
++        <primitive class="ocf" id="clvmd" provider="heartbeat" type="clvm">
++          <instance_attributes id="clvmd-instance_attributes">
++            <nvpair id="clvmd-instance_attributes-with_cmirrord" name="with_cmirrord" value="1"/>
++          </instance_attributes>
++          <operations>
++            <op id="clvmd-start-timeout-90" interval="0s" name="start" timeout="90"/>
++            <op id="clvmd-stop-timeout-90" interval="0s" name="stop" timeout="90"/>
++            <op id="clvmd-monitor-interval-30s" interval="30s" name="monitor" on-fail="fence"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="clvmd-clone-meta">
++          <nvpair id="clvmd-interleave" name="interleave" value="true"/>
++          <nvpair id="clvmd-ordered" name="ordered" value="true"/>
++        </meta_attributes>
++      </clone>
++      <clone id="shared0-clone">
++        <primitive class="ocf" id="shared0" provider="heartbeat" type="Filesystem">
++          <instance_attributes id="shared0-instance_attributes">
++            <nvpair id="shared0-instance_attributes-device" name="device" value="/dev/shared/shared0"/>
++            <nvpair id="shared0-instance_attributes-directory" name="directory" value="/mnt/shared0"/>
++            <nvpair id="shared0-instance_attributes-fstype" name="fstype" value="gfs2"/>
++            <nvpair id="shared0-instance_attributes-options" name="options" value="errors=panic"/>
++          </instance_attributes>
++          <operations>
++            <op id="shared0-start-timeout-60" interval="0s" name="start" timeout="60"/>
++            <op id="shared0-stop-timeout-60" interval="0s" name="stop" timeout="60"/>
++            <op id="shared0-monitor-interval-10s" interval="10s" name="monitor" on-fail="fence"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="shared0-clone-meta">
++          <nvpair id="shared0-interleave" name="interleave" value="true"/>
++        </meta_attributes>
++      </clone>
++      <primitive class="ocf" id="R-lxc-01_kiff-01" provider="heartbeat" type="VirtualDomain">
++        <instance_attributes id="R-lxc-01_kiff-01-instance_attributes">
++          <nvpair id="R-lxc-01_kiff-01-instance_attributes-hypervisor" name="hypervisor" value="lxc:///"/>
++          <nvpair id="R-lxc-01_kiff-01-instance_attributes-config" name="config" value="/mnt/shared0/test-virtual-domain/lxc/lxc-01_kiff-01.xml"/>
++          <nvpair id="R-lxc-01_kiff-01-instance_attributes-force_stop" name="force_stop" value="true"/>
++        </instance_attributes>
++        <operations>
++          <op id="R-lxc-01_kiff-01-start-timeout-90" interval="0s" name="start" timeout="90"/>
++          <op id="R-lxc-01_kiff-01-stop-timeout-90" interval="0s" name="stop" timeout="90"/>
++          <op id="R-lxc-01_kiff-01-monitor-interval-10" interval="10" name="monitor" timeout="30"/>
++        </operations>
++        <meta_attributes id="R-lxc-01_kiff-01-meta_attributes">
++          <nvpair id="R-lxc-01_kiff-01-meta_attributes-remote-node" name="remote-node" value="lxc-01_kiff-01"/>
++        </meta_attributes>
++        <utilization id="R-lxc-01_kiff-01-utilization">
++          <nvpair id="R-lxc-01_kiff-01-utilization-cpu" name="cpu" value="1"/>
++          <nvpair id="R-lxc-01_kiff-01-utilization-hv_memory" name="hv_memory" value="100"/>
++        </utilization>
++      </primitive>
++      <primitive class="ocf" id="R-lxc-02_kiff-01" provider="heartbeat" type="VirtualDomain">
++        <instance_attributes id="R-lxc-02_kiff-01-instance_attributes">
++          <nvpair id="R-lxc-02_kiff-01-instance_attributes-hypervisor" name="hypervisor" value="lxc:///"/>
++          <nvpair id="R-lxc-02_kiff-01-instance_attributes-config" name="config" value="/mnt/shared0/test-virtual-domain/lxc/lxc-02_kiff-01.xml"/>
++          <nvpair id="R-lxc-02_kiff-01-instance_attributes-force_stop" name="force_stop" value="true"/>
++        </instance_attributes>
++        <operations>
++          <op id="R-lxc-02_kiff-01-start-timeout-90" interval="0s" name="start" timeout="90"/>
++          <op id="R-lxc-02_kiff-01-stop-timeout-90" interval="0s" name="stop" timeout="90"/>
++          <op id="R-lxc-02_kiff-01-monitor-interval-10" interval="10" name="monitor" timeout="30"/>
++        </operations>
++        <meta_attributes id="R-lxc-02_kiff-01-meta_attributes">
++          <nvpair id="R-lxc-02_kiff-01-meta_attributes-remote-node" name="remote-node" value="lxc-02_kiff-01"/>
++        </meta_attributes>
++        <utilization id="R-lxc-02_kiff-01-utilization">
++          <nvpair id="R-lxc-02_kiff-01-utilization-cpu" name="cpu" value="1"/>
++          <nvpair id="R-lxc-02_kiff-01-utilization-hv_memory" name="hv_memory" value="100"/>
++        </utilization>
++      </primitive>
++      <primitive class="ocf" id="R-lxc-01_kiff-02" provider="heartbeat" type="VirtualDomain">
++        <instance_attributes id="R-lxc-01_kiff-02-instance_attributes">
++          <nvpair id="R-lxc-01_kiff-02-instance_attributes-hypervisor" name="hypervisor" value="lxc:///"/>
++          <nvpair id="R-lxc-01_kiff-02-instance_attributes-config" name="config" value="/mnt/shared0/test-virtual-domain/lxc/lxc-01_kiff-02.xml"/>
++          <nvpair id="R-lxc-01_kiff-02-instance_attributes-force_stop" name="force_stop" value="true"/>
++        </instance_attributes>
++        <operations>
++          <op id="R-lxc-01_kiff-02-start-timeout-90" interval="0s" name="start" timeout="90"/>
++          <op id="R-lxc-01_kiff-02-stop-timeout-90" interval="0s" name="stop" timeout="90"/>
++          <op id="R-lxc-01_kiff-02-monitor-interval-10" interval="10" name="monitor" timeout="30"/>
++        </operations>
++        <meta_attributes id="R-lxc-01_kiff-02-meta_attributes">
++          <nvpair id="R-lxc-01_kiff-02-meta_attributes-remote-node" name="remote-node" value="lxc-01_kiff-02"/>
++        </meta_attributes>
++        <utilization id="R-lxc-01_kiff-02-utilization">
++          <nvpair id="R-lxc-01_kiff-02-utilization-cpu" name="cpu" value="1"/>
++          <nvpair id="R-lxc-01_kiff-02-utilization-hv_memory" name="hv_memory" value="100"/>
++        </utilization>
++      </primitive>
++      <primitive class="ocf" id="R-lxc-02_kiff-02" provider="heartbeat" type="VirtualDomain">
++        <instance_attributes id="R-lxc-02_kiff-02-instance_attributes">
++          <nvpair id="R-lxc-02_kiff-02-instance_attributes-hypervisor" name="hypervisor" value="lxc:///"/>
++          <nvpair id="R-lxc-02_kiff-02-instance_attributes-config" name="config" value="/mnt/shared0/test-virtual-domain/lxc/lxc-02_kiff-02.xml"/>
++          <nvpair id="R-lxc-02_kiff-02-instance_attributes-force_stop" name="force_stop" value="true"/>
++        </instance_attributes>
++        <operations>
++          <op id="R-lxc-02_kiff-02-start-timeout-90" interval="0s" name="start" timeout="90"/>
++          <op id="R-lxc-02_kiff-02-stop-timeout-90" interval="0s" name="stop" timeout="90"/>
++          <op id="R-lxc-02_kiff-02-monitor-interval-10" interval="10" name="monitor" timeout="30"/>
++        </operations>
++        <meta_attributes id="R-lxc-02_kiff-02-meta_attributes">
++          <nvpair id="R-lxc-02_kiff-02-meta_attributes-remote-node" name="remote-node" value="lxc-02_kiff-02"/>
++        </meta_attributes>
++        <utilization id="R-lxc-02_kiff-02-utilization">
++          <nvpair id="R-lxc-02_kiff-02-utilization-cpu" name="cpu" value="1"/>
++          <nvpair id="R-lxc-02_kiff-02-utilization-hv_memory" name="hv_memory" value="100"/>
++        </utilization>
++      </primitive>
++      <primitive class="ocf" id="vm-fs" provider="heartbeat" type="Filesystem">
++        <instance_attributes id="vm-fs-instance_attributes">
++          <nvpair id="vm-fs-instance_attributes-device" name="device" value="/root"/>
++          <nvpair id="vm-fs-instance_attributes-directory" name="directory" value="/mnt/vm-fs"/>
++          <nvpair id="vm-fs-instance_attributes-fstype" name="fstype" value="none"/>
++          <nvpair id="vm-fs-instance_attributes-options" name="options" value="bind"/>
++        </instance_attributes>
++        <operations>
++          <op id="vm-fs-start-timeout-60" interval="0s" name="start" timeout="60"/>
++          <op id="vm-fs-stop-timeout-60" interval="0s" name="stop" timeout="60"/>
++          <op id="vm-fs-monitor-interval-20" interval="20" name="monitor" timeout="40"/>
++        </operations>
++      </primitive>
++    </resources>
++    <constraints>
++      <rsc_order first="dlm-clone" first-action="start" id="order-dlm-clone-clvmd-clone-mandatory" then="clvmd-clone" then-action="start"/>
++      <rsc_colocation id="colocation-clvmd-clone-dlm-clone-INFINITY" rsc="clvmd-clone" score="INFINITY" with-rsc="dlm-clone"/>
++      <rsc_order first="clvmd-clone" first-action="start" id="order-clvmd-clone-shared0-clone-mandatory" then="shared0-clone" then-action="start"/>
++      <rsc_colocation id="colocation-shared0-clone-clvmd-clone-INFINITY" rsc="shared0-clone" score="INFINITY" with-rsc="clvmd-clone"/>
++      <rsc_location id="location-dlm-clone-lxc-01_kiff-01--INFINITY" node="lxc-01_kiff-01" rsc="dlm-clone" score="-INFINITY"/>
++      <rsc_order first="shared0-clone" first-action="start" id="order-shared0-clone-R-lxc-01_kiff-01-mandatory" then="R-lxc-01_kiff-01" then-action="start"/>
++      <rsc_location id="location-R-lxc-01_kiff-01-kiff-01-100" node="kiff-01" rsc="R-lxc-01_kiff-01" score="100"/>
++      <rsc_location id="location-dlm-clone-lxc-02_kiff-01--INFINITY" node="lxc-02_kiff-01" rsc="dlm-clone" score="-INFINITY"/>
++      <rsc_order first="shared0-clone" first-action="start" id="order-shared0-clone-R-lxc-02_kiff-01-mandatory" then="R-lxc-02_kiff-01" then-action="start"/>
++      <rsc_location id="location-R-lxc-02_kiff-01-kiff-01-100" node="kiff-01" rsc="R-lxc-02_kiff-01" score="100"/>
++      <rsc_location id="location-dlm-clone-lxc-01_kiff-02--INFINITY" node="lxc-01_kiff-02" rsc="dlm-clone" score="-INFINITY"/>
++      <rsc_order first="shared0-clone" first-action="start" id="order-shared0-clone-R-lxc-01_kiff-02-mandatory" then="R-lxc-01_kiff-02" then-action="start"/>
++      <rsc_location id="location-R-lxc-01_kiff-02-kiff-02-100" node="kiff-02" rsc="R-lxc-01_kiff-02" score="100"/>
++      <rsc_location id="location-dlm-clone-lxc-02_kiff-02--INFINITY" node="lxc-02_kiff-02" rsc="dlm-clone" score="-INFINITY"/>
++      <rsc_order first="shared0-clone" first-action="start" id="order-shared0-clone-R-lxc-02_kiff-02-mandatory" then="R-lxc-02_kiff-02" then-action="start"/>
++      <rsc_location id="location-R-lxc-02_kiff-02-kiff-02-100" node="kiff-02" rsc="R-lxc-02_kiff-02" score="100"/>
++      <rsc_location id="location-vm-fs-lxc-01_reno-01-100" node="lxc-01_reno-01" rsc="vm-fs" score="100"/>
++    </constraints>
++  </configuration>
++  <status>
++    <node_state crm-debug-origin="post_cache_update" crmd="offline" expected="member" id="1" in_ccm="false" join="member" uname="kiff-01">
++      <transient_attributes id="1">
++        <instance_attributes id="status-1">
++          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="1">
++        <lrm_resources>
++          <lrm_resource id="fence-kiff-01" type="fence_ipmilan" class="stonith">
++            <lrm_rsc_op id="fence-kiff-01_last_0" operation_key="fence-kiff-01_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="19:2:7:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:7;19:2:7:ed834806-99be-45de-9c12-c980ee8706a6" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1419011896" last-rc-change="1419011896" exec-time="2" queue-time="0" op-digest="4daeb50c5b907ee60049bf819d52bf47" on_node="kiff-01"/>
++          </lrm_resource>
++          <lrm_resource id="fence-kiff-02" type="fence_ipmilan" class="stonith">
++            <lrm_rsc_op id="fence-kiff-02_last_0" operation_key="fence-kiff-02_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="33:2:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;33:2:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="46" rc-code="0" op-status="0" interval="0" last-run="1419011897" last-rc-change="1419011897" exec-time="105" queue-time="0" op-digest="721cfc00d183a798aab10fb147ff0518" on_node="kiff-01"/>
++            <lrm_rsc_op id="fence-kiff-02_monitor_60000" operation_key="fence-kiff-02_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="34:2:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;34:2:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="47" rc-code="0" op-status="0" interval="60000" last-rc-change="1419011897" exec-time="95" queue-time="0" op-digest="3edb9bb87d2e2ef5d171c831a712b481" on_node="kiff-01"/>
++          </lrm_resource>
++          <lrm_resource id="R-lxc-01_kiff-01" type="VirtualDomain" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="R-lxc-01_kiff-01_last_0" operation_key="R-lxc-01_kiff-01_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="44:3:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;44:3:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="53" rc-code="0" op-status="0" interval="0" last-run="1419011901" last-rc-change="1419011901" exec-time="907" queue-time="0" op-digest="1120ab98948626507460f24405da6147" on_node="kiff-01"/>
++            <lrm_rsc_op id="R-lxc-01_kiff-01_monitor_10000" operation_key="R-lxc-01_kiff-01_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="48:4:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;48:4:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="55" rc-code="0" op-status="0" interval="10000" last-rc-change="1419011902" exec-time="211" queue-time="0" op-digest="45b6ccfbfd5dd7fe94f80ec3d8d6d78d" on_node="kiff-01"/>
++          </lrm_resource>
++          <lrm_resource id="R-lxc-02_kiff-01" type="VirtualDomain" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="R-lxc-02_kiff-01_last_0" operation_key="R-lxc-02_kiff-01_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="46:3:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;46:3:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="54" rc-code="0" op-status="0" interval="0" last-run="1419011901" last-rc-change="1419011901" exec-time="895" queue-time="0" op-digest="6d28982e9d5ab858dea79f0a4bc07ba6" on_node="kiff-01"/>
++            <lrm_rsc_op id="R-lxc-02_kiff-01_monitor_10000" operation_key="R-lxc-02_kiff-01_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="51:4:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;51:4:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="56" rc-code="0" op-status="0" interval="10000" last-rc-change="1419011902" exec-time="208" queue-time="0" op-digest="5aa25dd0c846987518afaba029b0a0a8" on_node="kiff-01"/>
++          </lrm_resource>
++          <lrm_resource id="R-lxc-01_kiff-02" type="VirtualDomain" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="R-lxc-01_kiff-02_last_0" operation_key="R-lxc-01_kiff-02_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="26:2:7:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:7;26:2:7:ed834806-99be-45de-9c12-c980ee8706a6" call-id="36" rc-code="7" op-status="0" interval="0" last-run="1419011897" last-rc-change="1419011897" exec-time="66" queue-time="0" op-digest="6ac2457c88e8834990f95e871a51d1fc" on_node="kiff-01"/>
++          </lrm_resource>
++          <lrm_resource id="R-lxc-02_kiff-02" type="VirtualDomain" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="R-lxc-02_kiff-02_last_0" operation_key="R-lxc-02_kiff-02_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="27:2:7:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:7;27:2:7:ed834806-99be-45de-9c12-c980ee8706a6" call-id="40" rc-code="7" op-status="0" interval="0" last-run="1419011897" last-rc-change="1419011897" exec-time="65" queue-time="0" op-digest="749edaca3e37d0e4526f44849ed63d4b" on_node="kiff-01"/>
++          </lrm_resource>
++          <lrm_resource id="dlm" type="controld" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="dlm_last_0" operation_key="dlm_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="37:2:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;37:2:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="45" rc-code="0" op-status="0" interval="0" last-run="1419011897" last-rc-change="1419011897" exec-time="1150" queue-time="71" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="kiff-01"/>
++            <lrm_rsc_op id="dlm_monitor_30000" operation_key="dlm_monitor_30000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="21:3:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;21:3:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="48" rc-code="0" op-status="0" interval="30000" last-rc-change="1419011898" exec-time="42" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="kiff-01"/>
++          </lrm_resource>
++          <lrm_resource id="vm-fs" type="Filesystem" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vm-fs_last_0" operation_key="vm-fs_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="28:2:7:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:7;28:2:7:ed834806-99be-45de-9c12-c980ee8706a6" call-id="44" rc-code="7" op-status="0" interval="0" last-run="1419011897" last-rc-change="1419011897" exec-time="81" queue-time="0" op-digest="4e01fcdd304402f9cf3416cee0dc30d2" on_node="kiff-01"/>
++          </lrm_resource>
++          <lrm_resource id="shared0" type="Filesystem" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="shared0_last_0" operation_key="shared0_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="38:3:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;38:3:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="51" rc-code="0" op-status="0" interval="0" last-run="1419011900" last-rc-change="1419011900" exec-time="917" queue-time="0" op-digest="1684b65207e6da00ef41166b1d2e7147" on_node="kiff-01"/>
++            <lrm_rsc_op id="shared0_monitor_10000" operation_key="shared0_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="39:3:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;39:3:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="52" rc-code="0" op-status="0" interval="10000" last-rc-change="1419011901" exec-time="63" queue-time="0" op-digest="a976d846b49206dece2f5eecf97fc980" on_node="kiff-01"/>
++          </lrm_resource>
++          <lrm_resource id="clvmd" type="clvm" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="clvmd_last_0" operation_key="clvmd_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="30:3:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;30:3:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="49" rc-code="0" op-status="0" interval="0" last-run="1419011898" last-rc-change="1419011898" exec-time="1787" queue-time="0" op-digest="8c0920550ecae28ee15ea3371898e446" on_node="kiff-01"/>
++            <lrm_rsc_op id="clvmd_monitor_30000" operation_key="clvmd_monitor_30000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="31:3:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;31:3:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="50" rc-code="0" op-status="0" interval="30000" last-rc-change="1419011900" exec-time="40" queue-time="0" op-digest="93512119a9313fd62f16acd7cc587734" on_node="kiff-01"/>
++          </lrm_resource>
++          <lrm_resource id="lxc-01_kiff-01" type="remote" class="ocf" provider="pacemaker" container="R-lxc-01_kiff-01">
++            <lrm_rsc_op id="lxc-01_kiff-01_last_0" operation_key="lxc-01_kiff-01_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="58:4:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;58:4:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="1" rc-code="0" op-status="0" interval="0" last-run="1419011902" last-rc-change="1419011902" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="kiff-01"/>
++            <lrm_rsc_op id="lxc-01_kiff-01_monitor_30000" operation_key="lxc-01_kiff-01_monitor_30000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="59:4:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;59:4:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="3" rc-code="0" op-status="0" interval="30000" last-rc-change="1419011907" exec-time="0" queue-time="0" op-digest="02a5bcf940fc8d3239701acb11438d6a" on_node="kiff-01"/>
++          </lrm_resource>
++          <lrm_resource id="lxc-02_kiff-01" type="remote" class="ocf" provider="pacemaker" container="R-lxc-02_kiff-01">
++            <lrm_rsc_op id="lxc-02_kiff-01_last_0" operation_key="lxc-02_kiff-01_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="60:4:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;60:4:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="2" rc-code="0" op-status="0" interval="0" last-run="1419011902" last-rc-change="1419011902" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="kiff-01"/>
++            <lrm_rsc_op id="lxc-02_kiff-01_monitor_30000" operation_key="lxc-02_kiff-01_monitor_30000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="61:4:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;61:4:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="4" rc-code="0" op-status="0" interval="30000" last-rc-change="1419011907" exec-time="0" queue-time="0" op-digest="02a5bcf940fc8d3239701acb11438d6a" on_node="kiff-01"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state crm-debug-origin="post_cache_update" crmd="online" expected="member" id="2" in_ccm="true" join="member" uname="kiff-02">
++      <transient_attributes id="2">
++        <instance_attributes id="status-2">
++          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="2">
++        <lrm_resources>
++          <lrm_resource id="fence-kiff-01" type="fence_ipmilan" class="stonith">
++            <lrm_rsc_op id="fence-kiff-01_last_0" operation_key="fence-kiff-01_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="15:18:0:1c60b862-2217-42e1-857f-645cedc2afd9" transition-magic="0:0;15:18:0:1c60b862-2217-42e1-857f-645cedc2afd9" call-id="67" rc-code="0" op-status="0" interval="0" last-run="1419011236" last-rc-change="1419011236" exec-time="102" queue-time="0" op-digest="4daeb50c5b907ee60049bf819d52bf47" on_node="kiff-02"/>
++            <lrm_rsc_op id="fence-kiff-01_monitor_60000" operation_key="fence-kiff-01_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="16:18:0:1c60b862-2217-42e1-857f-645cedc2afd9" transition-magic="0:0;16:18:0:1c60b862-2217-42e1-857f-645cedc2afd9" call-id="68" rc-code="0" op-status="0" interval="60000" last-rc-change="1419011236" exec-time="93" queue-time="0" op-digest="5a67a2af25e4748196ea722d1770543a" on_node="kiff-02"/>
++          </lrm_resource>
++          <lrm_resource id="fence-kiff-02" type="fence_ipmilan" class="stonith">
++            <lrm_rsc_op id="fence-kiff-02_last_0" operation_key="fence-kiff-02_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="32:2:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;32:2:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="88" rc-code="0" op-status="0" interval="0" last-run="1419011896" last-rc-change="1419011896" exec-time="0" queue-time="0" op-digest="721cfc00d183a798aab10fb147ff0518" on_node="kiff-02"/>
++            <lrm_rsc_op id="fence-kiff-02_monitor_60000" operation_key="fence-kiff-02_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="16:0:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;16:0:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="82" rc-code="0" op-status="0" interval="60000" last-rc-change="1419011480" exec-time="93" queue-time="0" op-digest="3edb9bb87d2e2ef5d171c831a712b481" on_node="kiff-02"/>
++          </lrm_resource>
++          <lrm_resource id="clvmd" type="clvm" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="clvmd_last_0" operation_key="clvmd_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="25:5:0:1c60b862-2217-42e1-857f-645cedc2afd9" transition-magic="0:0;25:5:0:1c60b862-2217-42e1-857f-645cedc2afd9" call-id="24" rc-code="0" op-status="0" interval="0" last-run="1419011029" last-rc-change="1419011029" exec-time="1557" queue-time="0" op-digest="8c0920550ecae28ee15ea3371898e446" on_node="kiff-02"/>
++            <lrm_rsc_op id="clvmd_monitor_30000" operation_key="clvmd_monitor_30000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="26:5:0:1c60b862-2217-42e1-857f-645cedc2afd9" transition-magic="0:0;26:5:0:1c60b862-2217-42e1-857f-645cedc2afd9" call-id="25" rc-code="0" op-status="0" interval="30000" last-rc-change="1419011030" exec-time="39" queue-time="0" op-digest="93512119a9313fd62f16acd7cc587734" on_node="kiff-02"/>
++          </lrm_resource>
++          <lrm_resource id="shared0" type="Filesystem" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="shared0_last_0" operation_key="shared0_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="35:6:0:1c60b862-2217-42e1-857f-645cedc2afd9" transition-magic="0:0;35:6:0:1c60b862-2217-42e1-857f-645cedc2afd9" call-id="31" rc-code="0" op-status="0" interval="0" last-run="1419011061" last-rc-change="1419011061" exec-time="1397" queue-time="0" op-digest="1684b65207e6da00ef41166b1d2e7147" on_node="kiff-02"/>
++            <lrm_rsc_op id="shared0_monitor_10000" operation_key="shared0_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="36:6:0:1c60b862-2217-42e1-857f-645cedc2afd9" transition-magic="0:0;36:6:0:1c60b862-2217-42e1-857f-645cedc2afd9" call-id="32" rc-code="0" op-status="0" interval="10000" last-rc-change="1419011062" exec-time="62" queue-time="0" op-digest="a976d846b49206dece2f5eecf97fc980" on_node="kiff-02"/>
++          </lrm_resource>
++          <lrm_resource id="lxc-01_kiff-01" type="remote" class="ocf" provider="pacemaker" container="R-lxc-01_kiff-01">
++            <lrm_rsc_op id="lxc-01_kiff-01_last_0" operation_key="lxc-01_kiff-01_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="71:2:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;71:2:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="15" rc-code="0" op-status="0" interval="0" last-run="1419011897" last-rc-change="1419011897" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="kiff-02"/>
++            <lrm_rsc_op id="lxc-01_kiff-01_monitor_30000" operation_key="lxc-01_kiff-01_monitor_30000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="49:1:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;49:1:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="13" rc-code="0" op-status="0" interval="30000" last-rc-change="1419011486" exec-time="0" queue-time="0" op-digest="02a5bcf940fc8d3239701acb11438d6a" on_node="kiff-02"/>
++          </lrm_resource>
++          <lrm_resource id="dlm" type="controld" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="dlm_last_0" operation_key="dlm_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="17:5:0:1c60b862-2217-42e1-857f-645cedc2afd9" transition-magic="0:0;17:5:0:1c60b862-2217-42e1-857f-645cedc2afd9" call-id="22" rc-code="0" op-status="0" interval="0" last-run="1419011026" last-rc-change="1419011026" exec-time="1100" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="kiff-02"/>
++            <lrm_rsc_op id="dlm_monitor_30000" operation_key="dlm_monitor_30000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="18:5:0:1c60b862-2217-42e1-857f-645cedc2afd9" transition-magic="0:0;18:5:0:1c60b862-2217-42e1-857f-645cedc2afd9" call-id="23" rc-code="0" op-status="0" interval="30000" last-rc-change="1419011027" exec-time="39" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="kiff-02"/>
++          </lrm_resource>
++          <lrm_resource id="R-lxc-01_kiff-01" type="VirtualDomain" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="R-lxc-01_kiff-01_last_0" operation_key="R-lxc-01_kiff-01_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="59:2:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;59:2:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="90" rc-code="0" op-status="0" interval="0" last-run="1419011897" last-rc-change="1419011897" exec-time="401" queue-time="0" op-digest="1120ab98948626507460f24405da6147" on_node="kiff-02"/>
++            <lrm_rsc_op id="R-lxc-01_kiff-01_monitor_10000" operation_key="R-lxc-01_kiff-01_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="38:1:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;38:1:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="83" rc-code="0" op-status="0" interval="10000" last-rc-change="1419011481" exec-time="208" queue-time="0" op-digest="45b6ccfbfd5dd7fe94f80ec3d8d6d78d" on_node="kiff-02"/>
++          </lrm_resource>
++          <lrm_resource id="R-lxc-01_kiff-02" type="VirtualDomain" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="R-lxc-01_kiff-02_last_0" operation_key="R-lxc-01_kiff-02_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="50:20:0:1c60b862-2217-42e1-857f-645cedc2afd9" transition-magic="0:0;50:20:0:1c60b862-2217-42e1-857f-645cedc2afd9" call-id="69" rc-code="0" op-status="0" interval="0" last-run="1419011248" last-rc-change="1419011248" exec-time="533" queue-time="0" op-digest="6ac2457c88e8834990f95e871a51d1fc" on_node="kiff-02"/>
++            <lrm_rsc_op id="R-lxc-01_kiff-02_monitor_10000" operation_key="R-lxc-01_kiff-02_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="51:20:0:1c60b862-2217-42e1-857f-645cedc2afd9" transition-magic="0:0;51:20:0:1c60b862-2217-42e1-857f-645cedc2afd9" call-id="70" rc-code="0" op-status="0" interval="10000" last-rc-change="1419011249" exec-time="200" queue-time="0" op-digest="7d8f2504ce062c9a895982856e699610" on_node="kiff-02"/>
++          </lrm_resource>
++          <lrm_resource id="lxc-01_kiff-02" type="remote" class="ocf" provider="pacemaker" container="R-lxc-01_kiff-02">
++            <lrm_rsc_op id="lxc-01_kiff-02_last_0" operation_key="lxc-01_kiff-02_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="56:20:0:1c60b862-2217-42e1-857f-645cedc2afd9" transition-magic="0:0;56:20:0:1c60b862-2217-42e1-857f-645cedc2afd9" call-id="7" rc-code="0" op-status="0" interval="0" last-run="1419011249" last-rc-change="1419011249" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="kiff-02"/>
++            <lrm_rsc_op id="lxc-01_kiff-02_monitor_30000" operation_key="lxc-01_kiff-02_monitor_30000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="57:20:0:1c60b862-2217-42e1-857f-645cedc2afd9" transition-magic="0:0;57:20:0:1c60b862-2217-42e1-857f-645cedc2afd9" call-id="8" rc-code="0" op-status="0" interval="30000" last-rc-change="1419011254" exec-time="0" queue-time="0" op-digest="02a5bcf940fc8d3239701acb11438d6a" on_node="kiff-02"/>
++          </lrm_resource>
++          <lrm_resource id="vm-fs" type="Filesystem" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vm-fs_last_0" operation_key="vm-fs_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="23:22:7:1c60b862-2217-42e1-857f-645cedc2afd9" transition-magic="0:7;23:22:7:1c60b862-2217-42e1-857f-645cedc2afd9" call-id="78" rc-code="7" op-status="0" interval="0" last-run="1419011347" last-rc-change="1419011347" exec-time="58" queue-time="0" op-digest="4e01fcdd304402f9cf3416cee0dc30d2" on_node="kiff-02"/>
++          </lrm_resource>
++          <lrm_resource id="lxc-02_kiff-01" type="remote" class="ocf" provider="pacemaker" container="R-lxc-02_kiff-01">
++            <lrm_rsc_op id="lxc-02_kiff-01_last_0" operation_key="lxc-02_kiff-01_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="74:2:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;74:2:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="16" rc-code="0" op-status="0" interval="0" last-run="1419011897" last-rc-change="1419011897" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="kiff-02"/>
++            <lrm_rsc_op id="lxc-02_kiff-01_monitor_30000" operation_key="lxc-02_kiff-01_monitor_30000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="51:1:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;51:1:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="14" rc-code="0" op-status="0" interval="30000" last-rc-change="1419011486" exec-time="0" queue-time="0" op-digest="02a5bcf940fc8d3239701acb11438d6a" on_node="kiff-02"/>
++          </lrm_resource>
++          <lrm_resource id="lxc-02_kiff-02" type="remote" class="ocf" provider="pacemaker" container="R-lxc-02_kiff-02">
++            <lrm_rsc_op id="lxc-02_kiff-02_last_0" operation_key="lxc-02_kiff-02_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="63:21:0:1c60b862-2217-42e1-857f-645cedc2afd9" transition-magic="0:0;63:21:0:1c60b862-2217-42e1-857f-645cedc2afd9" call-id="9" rc-code="0" op-status="0" interval="0" last-run="1419011256" last-rc-change="1419011256" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="kiff-02"/>
++            <lrm_rsc_op id="lxc-02_kiff-02_monitor_30000" operation_key="lxc-02_kiff-02_monitor_30000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="64:21:0:1c60b862-2217-42e1-857f-645cedc2afd9" transition-magic="0:0;64:21:0:1c60b862-2217-42e1-857f-645cedc2afd9" call-id="10" rc-code="0" op-status="0" interval="30000" last-rc-change="1419011261" exec-time="0" queue-time="0" op-digest="02a5bcf940fc8d3239701acb11438d6a" on_node="kiff-02"/>
++          </lrm_resource>
++          <lrm_resource id="R-lxc-02_kiff-01" type="VirtualDomain" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="R-lxc-02_kiff-01_last_0" operation_key="R-lxc-02_kiff-01_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="62:2:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;62:2:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="92" rc-code="0" op-status="0" interval="0" last-run="1419011897" last-rc-change="1419011897" exec-time="376" queue-time="0" op-digest="6d28982e9d5ab858dea79f0a4bc07ba6" on_node="kiff-02"/>
++            <lrm_rsc_op id="R-lxc-02_kiff-01_monitor_10000" operation_key="R-lxc-02_kiff-01_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="41:1:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;41:1:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="84" rc-code="0" op-status="0" interval="10000" last-rc-change="1419011481" exec-time="205" queue-time="0" op-digest="5aa25dd0c846987518afaba029b0a0a8" on_node="kiff-02"/>
++          </lrm_resource>
++          <lrm_resource id="R-lxc-02_kiff-02" type="VirtualDomain" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="R-lxc-02_kiff-02_last_0" operation_key="R-lxc-02_kiff-02_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="55:21:0:1c60b862-2217-42e1-857f-645cedc2afd9" transition-magic="0:0;55:21:0:1c60b862-2217-42e1-857f-645cedc2afd9" call-id="73" rc-code="0" op-status="0" interval="0" last-run="1419011255" last-rc-change="1419011255" exec-time="558" queue-time="0" op-digest="749edaca3e37d0e4526f44849ed63d4b" on_node="kiff-02"/>
++            <lrm_rsc_op id="R-lxc-02_kiff-02_monitor_10000" operation_key="R-lxc-02_kiff-02_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="56:21:0:1c60b862-2217-42e1-857f-645cedc2afd9" transition-magic="0:0;56:21:0:1c60b862-2217-42e1-857f-645cedc2afd9" call-id="74" rc-code="0" op-status="0" interval="10000" last-rc-change="1419011256" exec-time="200" queue-time="0" op-digest="160233456c9f63f111238ddb49d9cc0d" on_node="kiff-02"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state remote_node="true" id="lxc-01_kiff-01" uname="lxc-01_kiff-01" crm-debug-origin="post_cache_update">
++      <lrm id="lxc-01_kiff-01">
++        <lrm_resources>
++          <lrm_resource id="vm-fs" type="Filesystem" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vm-fs_last_0" operation_key="vm-fs_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="56:4:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;56:4:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="5" rc-code="0" op-status="0" interval="0" last-run="1419011907" last-rc-change="1419011907" exec-time="82" queue-time="0" op-digest="4e01fcdd304402f9cf3416cee0dc30d2" on_node="kiff-01"/>
++            <lrm_rsc_op id="vm-fs_monitor_20000" operation_key="vm-fs_monitor_20000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="57:4:0:ed834806-99be-45de-9c12-c980ee8706a6" transition-magic="0:0;57:4:0:ed834806-99be-45de-9c12-c980ee8706a6" call-id="7" rc-code="0" op-status="0" interval="20000" last-rc-change="1419011907" exec-time="57" queue-time="0" op-digest="47b8f50d415ca40cdf0d0044c4b63685" on_node="kiff-01"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state remote_node="true" id="lxc-02_kiff-01" uname="lxc-02_kiff-01" crm-debug-origin="post_cache_update"/>
++    <node_state remote_node="true" id="lxc-01_kiff-02" uname="lxc-01_kiff-02" crm-debug-origin="post_cache_update">
++      <transient_attributes id="lxc-01_kiff-02">
++        <instance_attributes id="status-lxc-01_kiff-02"/>
++      </transient_attributes>
++    </node_state>
++    <node_state remote_node="true" id="lxc-02_kiff-02" uname="lxc-02_kiff-02" crm-debug-origin="post_cache_update">
++      <transient_attributes id="lxc-02_kiff-02">
++        <instance_attributes id="status-lxc-02_kiff-02"/>
++      </transient_attributes>
++    </node_state>
++  </status>
++</cib>
diff --git a/SOURCES/bz1139701-pcmk-unref_reply_to_prevent_systemd_action_timeouts.patch b/SOURCES/bz1139701-pcmk-unref_reply_to_prevent_systemd_action_timeouts.patch
deleted file mode 100644
index bf1fc88..0000000
--- a/SOURCES/bz1139701-pcmk-unref_reply_to_prevent_systemd_action_timeouts.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-commit c6c626c0f4f322b520d2600f8338b6b683ee365a
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Tue Sep 23 09:17:34 2014 +1000
-
-    Fix: Bug rhbz#1139701 - Unref reply to prevent systemd action timeouts
-
-diff --git a/lib/services/dbus.c b/lib/services/dbus.c
-index b424c0b..fce258f 100644
---- a/lib/services/dbus.c
-+++ b/lib/services/dbus.c
-@@ -286,6 +286,7 @@ pcmk_dbus_get_property(
- 
- 
-     crm_trace("Property %s[%s] is '%s'", obj, name, output);
-+    dbus_message_unref(reply);
-     return output;
- }
- 
diff --git a/SOURCES/bz1162727-pcmk-membership-cleanup.patch b/SOURCES/bz1162727-pcmk-membership-cleanup.patch
new file mode 100644
index 0000000..910b2d7
--- /dev/null
+++ b/SOURCES/bz1162727-pcmk-membership-cleanup.patch
@@ -0,0 +1,897 @@
+diff --git a/attrd/commands.c b/attrd/commands.c
+index 12771ee..c5badc5 100644
+--- a/attrd/commands.c
++++ b/attrd/commands.c
+@@ -377,7 +377,17 @@ attrd_peer_message(crm_node_t *peer, xmlNode *xml)
+         attrd_peer_sync(peer, xml);
+ 
+     } else if(safe_str_eq(op, "peer-remove")) {
+-        attrd_peer_remove(0, host, TRUE, peer->uname);
++        int host_id = 0;
++        char *endptr = NULL;
++
++        host_id = strtol(host, &endptr, 10);
++        if (errno != 0 || endptr == host || *endptr != '\0') {
++            host_id = 0;
++        } else {
++            host = NULL;
++        }
++        attrd_peer_remove(host_id, host, TRUE, peer->uname);
++
+ 
+     } else if(safe_str_eq(op, "sync-response")
+               && safe_str_neq(peer->uname, attrd_cluster->uname)) {
+diff --git a/attrd/legacy.c b/attrd/legacy.c
+index d4733ec..d7ed53e 100644
+--- a/attrd/legacy.c
++++ b/attrd/legacy.c
+@@ -768,6 +768,9 @@ attrd_local_callback(xmlNode * msg)
+         crm_notice("Sending full refresh (origin=%s)", from);
+         g_hash_table_foreach(attr_hash, update_for_hash_entry, NULL);
+         return;
++    } else if(safe_str_eq(op, "peer-remove")) {
++        /* The legacy code didn't understand this command - swallow silently */
++        return;
+     }
+ 
+     if (host != NULL && safe_str_neq(host, attrd_uname)) {
+diff --git a/cib/main.c b/cib/main.c
+index 00fca9b..69a957c 100644
+--- a/cib/main.c
++++ b/cib/main.c
+@@ -439,6 +439,11 @@ cib_peer_update_callback(enum crm_status_type type, crm_node_t * node, const voi
+         crm_info("No more peers");
+         terminate_cib(__FUNCTION__, FALSE);
+     }
++
++    if(type == crm_status_nstate && node->id && safe_str_eq(node->state, CRM_NODE_LOST)) {
++        /* Avoid conflicts, keep the membership list to active members */
++        reap_crm_member(node->id, NULL);
++    }
+ }
+ 
+ #if SUPPORT_HEARTBEAT
+diff --git a/crmd/messages.c b/crmd/messages.c
+index d38f2a3..eea4f7b 100644
+--- a/crmd/messages.c
++++ b/crmd/messages.c
+@@ -39,6 +39,7 @@
+ GListPtr fsa_message_queue = NULL;
+ extern void crm_shutdown(int nsig);
+ 
++extern crm_ipc_t *attrd_ipc;
+ void handle_response(xmlNode * stored_msg);
+ enum crmd_fsa_input handle_request(xmlNode * stored_msg, enum crmd_fsa_cause cause);
+ enum crmd_fsa_input handle_shutdown_request(xmlNode * stored_msg);
+diff --git a/doc/Clusters_from_Scratch/en-US/Ap-Configuration.txt b/doc/Clusters_from_Scratch/en-US/Ap-Configuration.txt
+index 0cbfeec..5852e7e 100644
+--- a/doc/Clusters_from_Scratch/en-US/Ap-Configuration.txt
++++ b/doc/Clusters_from_Scratch/en-US/Ap-Configuration.txt
+@@ -19,7 +19,7 @@ ifdef::pcs[]
+      Started: [ pcmk-1 pcmk-2 ]
+  Clone Set: WebSite-clone [WebSite]
+      Started: [ pcmk-1 pcmk-2 ]
+-# pcs resource defaults
++# pcs resource rsc defaults
+ resource-stickiness: 100
+ # pcs resource op defaults
+ timeout: 240s
+@@ -303,7 +303,7 @@ ifdef::pcs[]
+ * resource-stickiness - Specify the aversion to moving resources to other machines
+ [source,C]
+ ----
+-# pcs resource defaults
++# pcs resource rsc defaults
+ resource-stickiness: 100
+ ----
+ endif::[]
+diff --git a/doc/Clusters_from_Scratch/en-US/Ch-Active-Active.txt b/doc/Clusters_from_Scratch/en-US/Ch-Active-Active.txt
+index 5943c19..714a0d3 100644
+--- a/doc/Clusters_from_Scratch/en-US/Ch-Active-Active.txt
++++ b/doc/Clusters_from_Scratch/en-US/Ch-Active-Active.txt
+@@ -222,7 +222,7 @@ ifdef::pcs[]
+  WebFS	(ocf::heartbeat:Filesystem) Stopped 
+  Clone Set: dlm-clone [dlm]
+      Stopped: [ dlm:0 dlm:1 ]
+-# pcs cluster cib-push dlm_cfg
++# pcs cluster push cib dlm_cfg
+ CIB updated
+ # pcs status
+ 
+@@ -695,7 +695,7 @@ shell and watching the cluster's response
+ ifdef::pcs[]
+ [source,C]
+ -----
+-# pcs cluster cib-push active_cfg
++# pcs cluster push cib active_cfg
+ # pcs resource enable WebFS
+ -----
+ 
+diff --git a/doc/Clusters_from_Scratch/en-US/Ch-Active-Passive.txt b/doc/Clusters_from_Scratch/en-US/Ch-Active-Passive.txt
+index c91647b..7da8fca 100644
+--- a/doc/Clusters_from_Scratch/en-US/Ch-Active-Passive.txt
++++ b/doc/Clusters_from_Scratch/en-US/Ch-Active-Passive.txt
+@@ -656,8 +656,8 @@ resource, but it is often sufficient to change the default.
+ ifdef::pcs[]
+ [source,C]
+ ----
+-# pcs resource defaults resource-stickiness=100
+-# pcs resource defaults
++# pcs resource rsc defaults resource-stickiness=100
++# pcs resource rsc defaults
+ resource-stickiness: 100
+ ----
+ endif::[]
+diff --git a/doc/Clusters_from_Scratch/en-US/Ch-Apache.txt b/doc/Clusters_from_Scratch/en-US/Ch-Apache.txt
+index 71777db..236bb77 100644
+--- a/doc/Clusters_from_Scratch/en-US/Ch-Apache.txt
++++ b/doc/Clusters_from_Scratch/en-US/Ch-Apache.txt
+@@ -125,7 +125,7 @@ it fails, the resource agent used by Pacemaker assumes the server-status
+ URL is available. Look for the following in '/etc/httpd/conf/httpd.conf'
+ and make sure it is not disabled or commented out:
+ 
+-[source,Apache Configuration]
++[source,C]
+ -----
+ <Location /server-status>
+    SetHandler server-status
+@@ -601,7 +601,7 @@ WebSite will be forced to move to pcmk-1.
+ [source,C]
+ -----
+ # pcs constraint location WebSite prefers pcmk-1=INFINITY
+-# pcs constraint --full
++# pcs constraint all
+ Location Constraints:
+   Resource: WebSite
+     Enabled on: pcmk-1 (score:INFINITY) (id:location-WebSite-pcmk-1-INFINITY)
+@@ -708,7 +708,7 @@ Ordering Constraints:
+   start ClusterIP then start WebSite (Mandatory) (id:order-ClusterIP-WebSite-mandatory)
+ Colocation Constraints:
+   WebSite with ClusterIP (INFINITY) (id:colocation-WebSite-ClusterIP-INFINITY)
+-# pcs constraint remove location-WebSite-pcmk-1-INFINITY
++# pcs constraint rm location-WebSite-pcmk-1-INFINITY
+ # pcs constraint
+ Location Constraints:
+ Ordering Constraints:
+diff --git a/doc/Clusters_from_Scratch/en-US/Ch-Installation.txt b/doc/Clusters_from_Scratch/en-US/Ch-Installation.txt
+index cf47602..aa0b4b9 100644
+--- a/doc/Clusters_from_Scratch/en-US/Ch-Installation.txt
++++ b/doc/Clusters_from_Scratch/en-US/Ch-Installation.txt
+@@ -210,11 +210,23 @@ outside world.
+ ----
+ # setenforce 0
+ # sed -i.bak "s/SELINUX=enforcing/SELINUX=permissive/g" /etc/selinux/config
++# systemctl disable firewalld.service
++# systemctl stop firewalld.service
++----
++
++or (on older Fedora)
++
++[source,C]
++----
++# setenforce 0
++# sed -i.bak "s/SELINUX=enforcing/SELINUX=permissive/g" /etc/selinux/config
+ # systemctl disable iptables.service
+ # rm '/etc/systemd/system/basic.target.wants/iptables.service'
+ # systemctl stop iptables.service
+ ----
+ 
++
++
+ === Short Node Names ===
+ 
+ During installation, we filled in the machine's fully qualified domain
+@@ -538,7 +550,7 @@ Password:
+ pcmk-1: Authorized
+ pcmk-2: Authorized
+ 
+-# pcs cluster setup --name mycluster pcmk-1 pcmk-2
++# pcs cluster setup mycluster pcmk-1 pcmk-2
+ pcmk-1: Succeeded
+ pcmk-2: Succeeded
+ ----
+diff --git a/doc/Clusters_from_Scratch/en-US/Ch-Shared-Storage.txt b/doc/Clusters_from_Scratch/en-US/Ch-Shared-Storage.txt
+index cc2cec6..f6b50d9 100644
+--- a/doc/Clusters_from_Scratch/en-US/Ch-Shared-Storage.txt
++++ b/doc/Clusters_from_Scratch/en-US/Ch-Shared-Storage.txt
+@@ -334,7 +334,7 @@ cib.
+ 
+ [source,C]
+ ----
+-# pcs cluster cib-push drbd_cfg 
++# pcs cluster push cib drbd_cfg 
+ CIB updated
+ 
+ # pcs status
+@@ -594,7 +594,7 @@ cluster put it into effect.
+ ifdef::pcs[]
+ [source,C]
+ ----
+-# pcs cluster cib-push fs_cfg
++# pcs cluster push cib fs_cfg
+ CIB updated
+ # pcs status
+  Last updated: Fri Aug 10 12:47:01 2012
+diff --git a/doc/Clusters_from_Scratch/en-US/Ch-Stonith.txt b/doc/Clusters_from_Scratch/en-US/Ch-Stonith.txt
+index 9518fc2..123bd4b 100644
+--- a/doc/Clusters_from_Scratch/en-US/Ch-Stonith.txt
++++ b/doc/Clusters_from_Scratch/en-US/Ch-Stonith.txt
+@@ -81,7 +81,7 @@ ifdef::crmsh[]
+ endif::[]
+ 
+ ifdef::pcs[]
+-. Commit the new configuration. +pcs cluster cib-push stonith_cfg+
++. Commit the new configuration. +pcs cluster push cib stonith_cfg+
+ endif::[]
+ 
+ . Once the stonith resource is running, you can test it by executing:
+@@ -261,7 +261,7 @@ Now push the configuration into the cluster.
+ ifdef::pcs[]
+ [source,C]
+ ----
+-# pcs cluster cib-push stonith_cfg
++# pcs cluster push cib stonith_cfg
+ ----
+ endif::[]
+ 
+diff --git a/doc/Clusters_from_Scratch/en-US/Ch-Verification.txt b/doc/Clusters_from_Scratch/en-US/Ch-Verification.txt
+index 530e37b..c62cae4 100644
+--- a/doc/Clusters_from_Scratch/en-US/Ch-Verification.txt
++++ b/doc/Clusters_from_Scratch/en-US/Ch-Verification.txt
+@@ -217,6 +217,13 @@ Next, check for any ERRORs during startup - there shouldn't be any.
+ # grep -i error /var/log/messages
+ ----
+ 
++or (on Fedora 20)
++
++[source,C]
++----
++# journalctl | grep -i error
++----
++
+ Repeat these checks on the other node. The results should be the same.
+ 
+ endif::[]
+diff --git a/doc/Clusters_from_Scratch/zh-CN/Ch-Active-Passive.po b/doc/Clusters_from_Scratch/zh-CN/Ch-Active-Passive.po
+index f9cc723..daefc41 100644
+--- a/doc/Clusters_from_Scratch/zh-CN/Ch-Active-Passive.po
++++ b/doc/Clusters_from_Scratch/zh-CN/Ch-Active-Passive.po
+@@ -379,7 +379,7 @@ msgstr "当有半数以上的节点在线时,这个集群就认为自己拥有
+ #. Tag: literallayout
+ #, no-c-format
+ msgid "total_nodes &lt; 2 * active_nodes"
+-msgstr "总节点数 < 2 * 活跃节点数"
++msgstr ""
+ 
+ #. Tag: para
+ #, no-c-format
+diff --git a/doc/Pacemaker_Explained/en-US/Ch-Constraints.txt b/doc/Pacemaker_Explained/en-US/Ch-Constraints.txt
+index 8498ce0..b4eaf49 100644
+--- a/doc/Pacemaker_Explained/en-US/Ch-Constraints.txt
++++ b/doc/Pacemaker_Explained/en-US/Ch-Constraints.txt
+@@ -36,28 +36,33 @@ nothing able to run anywhere and selectively enable allowed nodes.
+ === Options ===
+ 
+ .Options for Simple Location Constraints
+-[width="95%",cols="2m,5<",options="header",align="center"]
++[width="95%",cols="2m,1,5<",options="header",align="center"]
+ |=========================================================
+ 
+ |Field
++|Default
+ |Description
+ 
+ |id
++|
+ |A unique name for the constraint
+ indexterm:[id,Location Constraints]
+ indexterm:[Constraints,Location,id]
+ 
+ |rsc
++|
+ |A resource name
+ indexterm:[rsc,Location Constraints]
+ indexterm:[Constraints,Location,rsc]
+ 
+ |node
++|
+ |A node's name
+ indexterm:[node,Location Constraints]
+ indexterm:[Constraints,Location,node]
+ 
+ |score
++|
+ |Positive values indicate the resource should run on this
+  node. Negative values indicate the resource should not run on this
+  node.
+@@ -67,6 +72,30 @@ indexterm:[Constraints,Location,node]
+ indexterm:[score,Location Constraints]
+ indexterm:[Constraints,Location,score]
+ 
++|resource-discovery
++|+always+
++|Indicates whether or not Pacemaker should perform resource discovery
++on this node for the specified resource. Limiting resource discovery to
++a subset of nodes the resource is physically capable of running on
++can significantly boost performance when a large set of nodes are preset.
++When pacemaker_remote is in use to expand the node count into the 100s of
++nodes range, this option should be considered.
++
++* 'always' - Always perform resource discovery for the specified resource on this node.
++
++* 'never' - Never perform resource discovery for the specified resource on this node.
++  This option should generally be used with a -INFINITY score. Although that is not strictly
++  required.
++
++* 'exclusive' - Only perform resource discovery for the specified resource on this node. Multiple
++  location constraints using 'exclusive' discovery for the same resource across different nodes
++  creates a subset of nodes resource-discovery is exclusive to. If a resource is marked
++  for 'exclusive' discovery on one or more nodes, that resource is only allowed to be placed
++  within that subset of nodes.
++
++indexterm:[Resource Discovery,Location Constraints]
++indexterm:[Constraints,Location,Resource Discovery]
++
+ |=========================================================
+ 
+ === Asymmetrical "Opt-In" Clusters ===
+diff --git a/fencing/commands.c b/fencing/commands.c
+index 577ea95..c193a9d 100644
+--- a/fencing/commands.c
++++ b/fencing/commands.c
+@@ -2109,6 +2109,14 @@ handle_request(crm_client_t * client, uint32_t id, uint32_t flags, xmlNode * req
+         free_async_command(cmd);
+         free_xml(reply);
+ 
++    } else if(safe_str_eq(op, CRM_OP_RM_NODE_CACHE)) {
++        int id = 0;
++        const char *name = NULL;
++
++        crm_element_value_int(request, XML_ATTR_ID, &id);
++        name = crm_element_value(request, XML_ATTR_UNAME);
++        reap_crm_member(id, name);
++
+     } else {
+         crm_err("Unknown %s from %s", op, client ? client->name : remote_peer);
+         crm_log_xml_warn(request, "UnknownOp");
+diff --git a/fencing/main.c b/fencing/main.c
+index 2694452..70b5bde 100644
+--- a/fencing/main.c
++++ b/fencing/main.c
+@@ -97,6 +97,7 @@ st_ipc_dispatch(qb_ipcs_connection_t * qbc, void *data, size_t size)
+     int call_options = 0;
+     xmlNode *request = NULL;
+     crm_client_t *c = crm_client_get(qbc);
++    const char *op = NULL;
+ 
+     if (c == NULL) {
+         crm_info("Invalid client: %p", qbc);
+@@ -109,6 +110,20 @@ st_ipc_dispatch(qb_ipcs_connection_t * qbc, void *data, size_t size)
+         return 0;
+     }
+ 
++
++    op = crm_element_value(request, F_CRM_TASK);
++    if(safe_str_eq(op, CRM_OP_RM_NODE_CACHE)) {
++        crm_xml_add(request, F_TYPE, T_STONITH_NG);
++        crm_xml_add(request, F_STONITH_OPERATION, op);
++        crm_xml_add(request, F_STONITH_CLIENTID, c->id);
++        crm_xml_add(request, F_STONITH_CLIENTNAME, crm_client_name(c));
++        crm_xml_add(request, F_STONITH_CLIENTNODE, stonith_our_uname);
++
++        send_cluster_message(NULL, crm_msg_stonith_ng, request, FALSE);
++        free_xml(request);
++        return 0;
++    }
++
+     if (c->name == NULL) {
+         const char *value = crm_element_value(request, F_STONITH_CLIENTNAME);
+ 
+@@ -1099,6 +1114,7 @@ stonith_cleanup(void)
+ static struct crm_option long_options[] = {
+     {"stand-alone",         0, 0, 's'},
+     {"stand-alone-w-cpg",   0, 0, 'c'},
++    {"logfile",             1, 0, 'l'},
+     {"verbose",     0, 0, 'V'},
+     {"version",     0, 0, '$'},
+     {"help",        0, 0, '?'},
+@@ -1200,6 +1216,9 @@ main(int argc, char **argv)
+             case 'V':
+                 crm_bump_log_level(argc, argv);
+                 break;
++            case 'l':
++                crm_add_logfile(optarg);
++                break;
+             case 's':
+                 stand_alone = TRUE;
+                 break;
+diff --git a/fencing/regression.py.in b/fencing/regression.py.in
+index c4cb2d8..fe6d418 100644
+--- a/fencing/regression.py.in
++++ b/fencing/regression.py.in
+@@ -82,24 +82,34 @@ class Test:
+ 		test.wait()
+ 
+ 		if self.verbose:
++			self.stonith_options = self.stonith_options + " -V"
+ 			print "Starting stonithd with %s" % self.stonith_options
+ 
++		if os.path.exists("/tmp/stonith-regression.log"):
++			os.remove('/tmp/stonith-regression.log')
++
+ 		self.stonith_process = subprocess.Popen(
+-			shlex.split("@CRM_DAEMON_DIR@/stonithd %s -V" % self.stonith_options),
+-			stdout=subprocess.PIPE,
+-			stderr=subprocess.PIPE)
++			shlex.split("@CRM_DAEMON_DIR@/stonithd %s -l /tmp/stonith-regression.log" % self.stonith_options))
+ 
+ 		time.sleep(1)
+ 
+ 	def clean_environment(self):
+ 		if self.stonith_process:
+ 			self.stonith_process.terminate()
++			self.stonith_process.wait()
+ 
+-		self.stonith_output = self.stonith_process.communicate()[1]
++		self.stonith_output = ""
+ 		self.stonith_process = None
+ 
++		f = open('/tmp/stonith-regression.log', 'r')
++		for line in f.readlines():
++			self.stonith_output = self.stonith_output + line
++
+ 		if self.verbose:
++			print "Daemon Output Start"
+ 			print self.stonith_output
++			print "Daemon Output End"
++		os.remove('/tmp/stonith-regression.log')
+ 
+ 	def add_stonith_log_pattern(self, pattern):
+ 		self.stonith_patterns.append(pattern)
+@@ -953,7 +963,7 @@ if __name__ == "__main__":
+ 			self.stop_corosync()
+ 
+ 			if self.verbose and os.path.exists('/var/log/corosync.log'):
+-				print "Daemon output"
++				print "Corosync output"
+ 				f = open('/var/log/corosync.log', 'r')
+ 				for line in f.readlines():
+ 					print line.strip()
+diff --git a/lib/cib/cib_remote.c b/lib/cib/cib_remote.c
+index d9dde9b..9b98892 100644
+--- a/lib/cib/cib_remote.c
++++ b/lib/cib/cib_remote.c
+@@ -226,6 +226,8 @@ cib_tls_signon(cib_t * cib, crm_remote_t * connection, gboolean event_channel)
+         return -ENOTCONN;
+     }
+ 
++    connection->tcp_socket = sock;
++
+     if (private->encrypted) {
+         /* initialize GnuTls lib */
+ #ifdef HAVE_GNUTLS_GNUTLS_H
+@@ -250,8 +252,6 @@ cib_tls_signon(cib_t * cib, crm_remote_t * connection, gboolean event_channel)
+ #else
+         return -EPROTONOSUPPORT;
+ #endif
+-    } else {
+-        connection->tcp_socket = sock;
+     }
+ 
+     /* login to server */
+diff --git a/lib/cluster/membership.c b/lib/cluster/membership.c
+index 24700e5..70a0321 100644
+--- a/lib/cluster/membership.c
++++ b/lib/cluster/membership.c
+@@ -389,9 +389,15 @@ crm_find_peer(unsigned int id, const char *uname)
+         }
+ 
+     } else if(uname && by_id->uname) {
+-        crm_dump_peer_hash(LOG_INFO, __FUNCTION__);
+-        crm_warn("Node '%s' and '%s' share the same cluster nodeid: %u %s", by_id->uname, by_name->uname, id, uname);
+-        crm_abort(__FILE__, __FUNCTION__, __LINE__, "member weirdness", TRUE, TRUE);
++        if(safe_str_eq(uname, by_id->uname)) {
++            crm_notice("Node '%s' has changed its ID from %u to %u", by_id->uname, by_name->id, by_id->id);
++            g_hash_table_foreach_remove(crm_peer_cache, crm_hash_find_by_data, by_name);
++
++        } else {
++            crm_warn("Node '%s' and '%s' share the same cluster nodeid: %u %s", by_id->uname, by_name->uname, id, uname);
++            crm_dump_peer_hash(LOG_INFO, __FUNCTION__);
++            crm_abort(__FILE__, __FUNCTION__, __LINE__, "member weirdness", TRUE, TRUE);
++        }
+ 
+     } else if(id && by_name->id) {
+         crm_warn("Node %u and %u share the same name: '%s'", by_id->id, by_name->id, uname);
+diff --git a/lib/common/remote.c b/lib/common/remote.c
+index e2492b9..f11ebcd 100644
+--- a/lib/common/remote.c
++++ b/lib/common/remote.c
+@@ -308,13 +308,16 @@ crm_remote_sendv(crm_remote_t * remote, struct iovec * iov, int iovs)
+     int rc = -ESOCKTNOSUPPORT;
+ 
+     for(; lpc < iovs; lpc++) {
+-        if (remote->tcp_socket) {
+-            rc = crm_send_plaintext(remote->tcp_socket, iov[lpc].iov_base, iov[lpc].iov_len);
+-#ifdef HAVE_GNUTLS_GNUTLS_H
+ 
+-        } else if (remote->tls_session) {
++#ifdef HAVE_GNUTLS_GNUTLS_H
++        if (remote->tls_session) {
+             rc = crm_send_tls(remote->tls_session, iov[lpc].iov_base, iov[lpc].iov_len);
++        } else if (remote->tcp_socket) {
++#else
++        if (remote->tcp_socket) {
+ #endif
++            rc = crm_send_plaintext(remote->tcp_socket, iov[lpc].iov_base, iov[lpc].iov_len);
++
+         } else {
+             crm_err("Unsupported connection type");
+         }
+@@ -448,14 +451,16 @@ crm_remote_ready(crm_remote_t * remote, int timeout /* ms */ )
+     int rc = 0;
+     time_t start;
+ 
+-    if (remote->tcp_socket) {
+-        sock = remote->tcp_socket;
+ #ifdef HAVE_GNUTLS_GNUTLS_H
+-    } else if (remote->tls_session) {
++    if (remote->tls_session) {
+         void *sock_ptr = gnutls_transport_get_ptr(*remote->tls_session);
+ 
+         sock = GPOINTER_TO_INT(sock_ptr);
++    } else if (remote->tcp_socket) {
++#else
++    if (remote->tcp_socket) {
+ #endif
++        sock = remote->tcp_socket;
+     } else {
+         crm_err("Unsupported connection type");
+     }
+@@ -519,17 +524,8 @@ crm_remote_recv_once(crm_remote_t * remote)
+         CRM_ASSERT(remote->buffer != NULL);
+     }
+ 
+-    if (remote->tcp_socket) {
+-        errno = 0;
+-        rc = read(remote->tcp_socket,
+-                  remote->buffer + remote->buffer_offset,
+-                  remote->buffer_size - remote->buffer_offset);
+-        if(rc < 0) {
+-            rc = -errno;
+-        }
+-
+ #ifdef HAVE_GNUTLS_GNUTLS_H
+-    } else if (remote->tls_session) {
++    if (remote->tls_session) {
+         rc = gnutls_record_recv(*(remote->tls_session),
+                                 remote->buffer + remote->buffer_offset,
+                                 remote->buffer_size - remote->buffer_offset);
+@@ -541,7 +537,18 @@ crm_remote_recv_once(crm_remote_t * remote)
+             crm_debug("TLS receive failed: %s (%d)", gnutls_strerror(rc), rc);
+             rc = -pcmk_err_generic;
+         }
++    } else if (remote->tcp_socket) {
++#else
++    if (remote->tcp_socket) {
+ #endif
++        errno = 0;
++        rc = read(remote->tcp_socket,
++                  remote->buffer + remote->buffer_offset,
++                  remote->buffer_size - remote->buffer_offset);
++        if(rc < 0) {
++            rc = -errno;
++        }
++
+     } else {
+         crm_err("Unsupported connection type");
+         return -ESOCKTNOSUPPORT;
+diff --git a/lib/common/xml.c b/lib/common/xml.c
+index 58d0a00..e63a582 100644
+--- a/lib/common/xml.c
++++ b/lib/common/xml.c
+@@ -1281,7 +1281,10 @@ __xml_build_changes(xmlNode * xml, xmlNode *patchset)
+         for (pIter = crm_first_attr(xml); pIter != NULL; pIter = pIter->next) {
+             const char *value = crm_element_value(xml, (const char *)pIter->name);
+ 
+-            crm_xml_add(result, (const char *)pIter->name, value);
++            p = pIter->_private;
++            if (is_not_set(p->flags, xpf_deleted)) {
++                crm_xml_add(result, (const char *)pIter->name, value);
++            }
+         }
+     }
+ 
+@@ -5715,7 +5718,7 @@ update_validation(xmlNode ** xml_blob, int *best, int max, gboolean transform, g
+                 }
+ 
+             } else {
+-                crm_notice("Upgrading %s-style configuration to %s with %s",
++                crm_debug("Upgrading %s-style configuration to %s with %s",
+                            known_schemas[lpc].name, known_schemas[next].name,
+                            known_schemas[lpc].transform ? known_schemas[lpc].transform : "no-op");
+ 
+@@ -5746,7 +5749,7 @@ update_validation(xmlNode ** xml_blob, int *best, int max, gboolean transform, g
+     }
+ 
+     if (*best > match) {
+-        crm_notice("%s the configuration from %s to %s",
++        crm_info("%s the configuration from %s to %s",
+                    transform?"Transformed":"Upgraded",
+                    value ? value : "<none>", known_schemas[*best].name);
+         crm_xml_add(xml, XML_ATTR_VALIDATION, known_schemas[*best].name);
+diff --git a/lib/services/services.c b/lib/services/services.c
+index 582fbe1..c7b6c89 100644
+--- a/lib/services/services.c
++++ b/lib/services/services.c
+@@ -305,6 +305,7 @@ services_action_create_generic(const char *exec, const char *args[])
+ void
+ services_action_cleanup(svc_action_t * op)
+ {
++#if SUPPORT_DBUS
+     if(op->opaque->timerid != 0) {
+         crm_trace("Removing timer for call %s to %s", op->action, op->rsc);
+         g_source_remove(op->opaque->timerid);
+@@ -330,6 +331,7 @@ services_action_cleanup(svc_action_t * op)
+         mainloop_del_fd(op->opaque->stdout_gsource);
+         op->opaque->stdout_gsource = NULL;
+     }
++#endif
+ }
+ 
+ void
+diff --git a/lrmd/regression.py.in b/lrmd/regression.py.in
+index 649c984..50e975e 100755
+--- a/lrmd/regression.py.in
++++ b/lrmd/regression.py.in
+@@ -435,14 +435,13 @@ if __name__ == "__main__":
+ 				os.system("cp %s/extra/resources/%s @OCF_RA_DIR@/pacemaker/%s" % (build_dir, ra, ra))
+ 				os.system("chmod a+x @OCF_RA_DIR@/pacemaker/%s" % (ra))
+ 
+-                else:
+-                    # Assume it's installed
+-                    print "Using @datadir@/@PACKAGE@/tests/cts/LSBDummy"
+-                    os.system("cp @datadir@/@PACKAGE@/tests/cts/LSBDummy /etc/init.d/LSBDummy")
+-
+-                os.system("chmod a+x /etc/init.d/LSBDummy")
+-                os.system("ls -al /etc/init.d/LSBDummy")
++		else:
++			# Assume it's installed
++			print "Using @datadir@/@PACKAGE@/tests/cts/LSBDummy"
++			os.system("cp @datadir@/@PACKAGE@/tests/cts/LSBDummy /etc/init.d/LSBDummy")
+ 
++		os.system("chmod a+x /etc/init.d/LSBDummy")
++		os.system("ls -al /etc/init.d/LSBDummy")
+ 		os.system("mkdir -p @CRM_CORE_DIR@/root")
+ 
+ 		if os.path.exists("/bin/systemctl"):
+diff --git a/pengine/constraints.c b/pengine/constraints.c
+index 88e382b..a2ce9c4 100644
+--- a/pengine/constraints.c
++++ b/pengine/constraints.c
+@@ -52,6 +52,8 @@ enum pe_order_kind {
+ enum pe_ordering get_flags(const char *id, enum pe_order_kind kind,
+                            const char *action_first, const char *action_then, gboolean invert);
+ enum pe_ordering get_asymmetrical_flags(enum pe_order_kind kind);
++static rsc_to_node_t *generate_location_rule(resource_t * rsc, xmlNode * rule_xml,
++                                             const char *discovery, pe_working_set_t * data_set);
+ 
+ gboolean
+ unpack_constraints(xmlNode * xml_constraints, pe_working_set_t * data_set)
+@@ -687,7 +689,7 @@ unpack_rsc_location(xmlNode * xml_obj, resource_t * rsc_lh, const char * role,
+             if (crm_str_eq((const char *)rule_xml->name, XML_TAG_RULE, TRUE)) {
+                 empty = FALSE;
+                 crm_trace("Unpacking %s/%s", id, ID(rule_xml));
+-                generate_location_rule(rsc_lh, rule_xml, data_set);
++                generate_location_rule(rsc_lh, rule_xml, discovery, data_set);
+             }
+         }
+ 
+@@ -917,8 +919,8 @@ get_node_score(const char *rule, const char *score, gboolean raw, node_t * node)
+     return score_f;
+ }
+ 
+-rsc_to_node_t *
+-generate_location_rule(resource_t * rsc, xmlNode * rule_xml, pe_working_set_t * data_set)
++static rsc_to_node_t *
++generate_location_rule(resource_t * rsc, xmlNode * rule_xml, const char *discovery, pe_working_set_t * data_set)
+ {
+     const char *rule_id = NULL;
+     const char *score = NULL;
+@@ -960,7 +962,7 @@ generate_location_rule(resource_t * rsc, xmlNode * rule_xml, pe_working_set_t *
+         do_and = FALSE;
+     }
+ 
+-    location_rule = rsc2node_new(rule_id, rsc, 0, NULL, NULL, data_set);
++    location_rule = rsc2node_new(rule_id, rsc, 0, discovery, NULL, data_set);
+ 
+     if (location_rule == NULL) {
+         return NULL;
+diff --git a/pengine/test10/resource-discovery.xml b/pengine/test10/resource-discovery.xml
+index 8b517df..1692cdb 100644
+--- a/pengine/test10/resource-discovery.xml
++++ b/pengine/test10/resource-discovery.xml
+@@ -97,7 +97,13 @@
+       <rsc_location id="location-FAKE1-remote1" node="remote1" resource-discovery="never" rsc="FAKE1" score="-INFINITY"/>
+       <rsc_location id="location-FAKE1-18node1" node="18node1" resource-discovery="never" rsc="FAKE1" score="-INFINITY"/>
+       <rsc_location id="location-FAKE1-18node2" node="18node2" resource-discovery="never" rsc="FAKE1" score="-INFINITY"/>
+-      <rsc_location id="location-FAKE1-18node3" node="18node3" resource-discovery="never" rsc="FAKE1" score="-INFINITY"/>
++
++      <rsc_location id="location-FAKE1-18node3" resource-discovery="never" rsc="FAKE1" >
++        <rule score="-INFINITY" id="vlan003-on-cluster-nodes-rule">
++            <expression attribute="#uname" operation="eq" value="18node3" id="vlan003-on-cluster-nodes-rule-expression"/>
++        </rule>
++      </rsc_location>
++
+       <rsc_location id="location-FAKE2-18node1" node="18node1" resource-discovery="exclusive" rsc="FAKE2" score="10"/>
+       <rsc_location id="location-FAKE2-18node2" node="18node2" resource-discovery="exclusive" rsc="FAKE2" score="100"/>
+       <rsc_location id="location-FAKE3-18node3--INFINITY" node="18node3" resource-discovery="exclusive" rsc="FAKE3" score="INFINITY"/>
+diff --git a/pengine/utils.h b/pengine/utils.h
+index 5142e68..270d32a 100644
+--- a/pengine/utils.h
++++ b/pengine/utils.h
+@@ -39,9 +39,6 @@ extern gboolean rsc_ticket_new(const char *id, resource_t * rsc_lh, ticket_t * t
+                                const char *state_lh, const char *loss_policy,
+                                pe_working_set_t * data_set);
+ 
+-extern rsc_to_node_t *generate_location_rule(resource_t * rsc, xmlNode * location_rule,
+-                                             pe_working_set_t * data_set);
+-
+ extern gint sort_node_weight(gconstpointer a, gconstpointer b, gpointer data_set);
+ 
+ extern gboolean can_run_resources(const node_t * node);
+diff --git a/tools/crm_node.c b/tools/crm_node.c
+index 98847f3..5932f98 100644
+--- a/tools/crm_node.c
++++ b/tools/crm_node.c
+@@ -34,6 +34,7 @@
+ #include <crm/common/mainloop.h>
+ #include <crm/msg_xml.h>
+ #include <crm/cib.h>
++#include <crm/attrd.h>
+ 
+ int command = 0;
+ int ccm_fd = 0;
+@@ -92,7 +93,7 @@ cib_remove_node(uint32_t id, const char *name)
+     crm_trace("Removing %s from the CIB", name);
+ 
+     /* TODO: Use 'id' instead */
+-    if(name == NULL) {
++    if(name == NULL && id == 0) {
+         return -ENOTUNIQ;
+     }
+ 
+@@ -101,17 +102,24 @@ cib_remove_node(uint32_t id, const char *name)
+ 
+     crm_xml_add(node, XML_ATTR_UNAME, name);
+     crm_xml_add(node_state, XML_ATTR_UNAME, name);
++    if(id) {
++        char buffer[64];
++        if(snprintf(buffer, 63, "%u", id) > 0) {
++            crm_xml_add(node, XML_ATTR_ID, buffer);
++            crm_xml_add(node_state, XML_ATTR_ID, buffer);
++        }
++    }
+ 
+     cib = cib_new();
+     cib->cmds->signon(cib, crm_system_name, cib_command);
+ 
+     rc = cib->cmds->delete(cib, XML_CIB_TAG_NODES, node, cib_sync_call);
+     if (rc != pcmk_ok) {
+-        printf("Could not remove %s from " XML_CIB_TAG_NODES ": %s", name, pcmk_strerror(rc));
++        printf("Could not remove %s/%u from " XML_CIB_TAG_NODES ": %s", name, id, pcmk_strerror(rc));
+     }
+     rc = cib->cmds->delete(cib, XML_CIB_TAG_STATUS, node_state, cib_sync_call);
+     if (rc != pcmk_ok) {
+-        printf("Could not remove %s from " XML_CIB_TAG_STATUS ": %s", name, pcmk_strerror(rc));
++        printf("Could not remove %s/%u from " XML_CIB_TAG_STATUS ": %s", name, id, pcmk_strerror(rc));
+     }
+ 
+     cib->cmds->signoff(cib);
+@@ -156,6 +164,7 @@ int tools_remove_node_cache(const char *node, const char *target)
+         }
+     }
+ 
++
+     errno = 0;
+     n = strtol(node, &endptr, 10);
+     if (errno != 0 || endptr == node || *endptr != '\0') {
+@@ -166,21 +175,39 @@ int tools_remove_node_cache(const char *node, const char *target)
+         name = get_node_name(n);
+     }
+ 
+-    crm_trace("Removing %s aka. %s from the membership cache", name, node);
++    crm_trace("Removing %s aka. %s (%u) from the membership cache", name, node, n);
+ 
+-    cmd = create_request(CRM_OP_RM_NODE_CACHE,
+-                         NULL, NULL, target, "crm_node", admin_uuid);
++    if(safe_str_eq(target, T_ATTRD)) {
++        cmd = create_xml_node(NULL, __FUNCTION__);
+ 
+-    if (n) {
+-        char buffer[64];
++        crm_xml_add(cmd, F_TYPE, T_ATTRD);
++        crm_xml_add(cmd, F_ORIG, crm_system_name);
+ 
+-        if(snprintf(buffer, 63, "%u", n) > 0) {
+-            crm_xml_add(cmd, XML_ATTR_ID, buffer);
++        crm_xml_add(cmd, F_ATTRD_TASK, "peer-remove");
++        crm_xml_add(cmd, F_ATTRD_HOST, name);
++
++        if (n) {
++            char buffer[64];
++            if(snprintf(buffer, 63, "%u", n) > 0) {
++                crm_xml_add(cmd, F_ATTRD_HOST_ID, buffer);
++            }
++        }
++
++    } else {
++        cmd = create_request(CRM_OP_RM_NODE_CACHE,
++                             NULL, NULL, target, crm_system_name, admin_uuid);
++        if (n) {
++            char buffer[64];
++            if(snprintf(buffer, 63, "%u", n) > 0) {
++                crm_xml_add(cmd, XML_ATTR_ID, buffer);
++            }
+         }
++        crm_xml_add(cmd, XML_ATTR_UNAME, name);
+     }
+-    crm_xml_add(cmd, XML_ATTR_UNAME, name);
+ 
+     rc = crm_ipc_send(conn, cmd, 0, 0, NULL);
++    crm_debug("%s peer cache cleanup for %s (%u): %d", target, name, n, rc);
++
+     if (rc > 0) {
+         rc = cib_remove_node(n, name);
+     }
+@@ -189,8 +216,8 @@ int tools_remove_node_cache(const char *node, const char *target)
+         crm_ipc_close(conn);
+         crm_ipc_destroy(conn);
+     }
+-    free_xml(cmd);
+     free(admin_uuid);
++    free_xml(cmd);
+     free(name);
+     return rc > 0 ? 0 : rc;
+ }
+@@ -649,6 +676,12 @@ try_corosync(int command, enum cluster_type_e stack)
+ 
+     mainloop_io_t *ipc = NULL;
+     GMainLoop *amainloop = NULL;
++    const char *daemons[] = {
++            CRM_SYSTEM_CRMD,
++            "stonith-ng",
++            T_ATTRD,
++            CRM_SYSTEM_MCP,
++        };
+ 
+     struct ipc_client_callbacks node_callbacks = {
+         .dispatch = node_mcp_dispatch,
+@@ -657,13 +690,11 @@ try_corosync(int command, enum cluster_type_e stack)
+ 
+     switch (command) {
+         case 'R':
+-            if (tools_remove_node_cache(target_uname, CRM_SYSTEM_CRMD)) {
+-                crm_err("Failed to connect to "CRM_SYSTEM_CRMD" to remove node '%s'", target_uname);
+-                crm_exit(pcmk_err_generic);
+-            }
+-            if (tools_remove_node_cache(target_uname, CRM_SYSTEM_MCP)) {
+-                crm_err("Failed to connect to "CRM_SYSTEM_MCP" to remove node '%s'", target_uname);
+-                crm_exit(pcmk_err_generic);
++            for(rc = 0; rc < DIMOF(daemons); rc++) {
++                if (tools_remove_node_cache(target_uname, daemons[rc])) {
++                    crm_err("Failed to connect to %s to remove node '%s'", daemons[rc], target_uname);
++                    crm_exit(pcmk_err_generic);
++                }
+             }
+             crm_exit(pcmk_ok);
+             break;
+@@ -834,8 +865,8 @@ main(int argc, char **argv)
+                 force_flag = TRUE;
+                 break;
+             case 'R':
+-                dangerous_cmd = TRUE;
+                 command = flag;
++                dangerous_cmd = TRUE;
+                 target_uname = optarg;
+                 break;
+             case 'N':
diff --git a/SOURCES/bz1165423-pcmk-coverity.patch b/SOURCES/bz1165423-pcmk-coverity.patch
new file mode 100644
index 0000000..7207679
--- /dev/null
+++ b/SOURCES/bz1165423-pcmk-coverity.patch
@@ -0,0 +1,25 @@
+diff --git a/lib/common/xml.c b/lib/common/xml.c
+index 0effd47..f7779f5 100644
+--- a/lib/common/xml.c
++++ b/lib/common/xml.c
+@@ -2759,7 +2759,7 @@ create_xml_node(xmlNode * parent, const char *name)
+     xmlNode *node = NULL;
+ 
+     if (name == NULL || name[0] == 0) {
+-        CRM_CHECK(name != NULL || name[0] == 0, return NULL);
++        CRM_CHECK(name != NULL && name[0] == 0, return NULL);
+         return NULL;
+     }
+ 
+diff --git a/tools/crm_resource.c b/tools/crm_resource.c
+index 236d43c..968683a 100644
+--- a/tools/crm_resource.c
++++ b/tools/crm_resource.c
+@@ -1430,7 +1430,6 @@ update_dataset(cib_t *cib, pe_working_set_t * data_set, bool simulate)
+             goto cleanup;
+         }
+ 
+-        free(pid);
+         rc = write_xml_file(cib_xml_copy, shadow_file, FALSE);
+ 
+         if (rc < 0) {
diff --git a/SOURCES/bz1165423-pcmk-long-systemd-stop.patch b/SOURCES/bz1165423-pcmk-long-systemd-stop.patch
new file mode 100644
index 0000000..0a22ae9
--- /dev/null
+++ b/SOURCES/bz1165423-pcmk-long-systemd-stop.patch
@@ -0,0 +1,709 @@
+diff --git a/GNUmakefile b/GNUmakefile
+index f28dea8..7a4c929 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -325,7 +325,7 @@ clang:
+ 	test -e $(CLANG_analyzer)
+ 	scan-build $(CLANG_checkers:%=-enable-checker %) make
+ 
+-# V3	= scandir unsetenv alphasort
++# V3	= scandir unsetenv alphasort xalloc
+ # V2	= setenv strerror strchrnul strndup
+ # http://www.gnu.org/software/gnulib/manual/html_node/Initial-import.html#Initial-import
+ GNU_MODS	= crypto/md5
+diff --git a/crmd/lrm.c b/crmd/lrm.c
+index b68f657..8315f6f 100644
+--- a/crmd/lrm.c
++++ b/crmd/lrm.c
+@@ -630,7 +630,7 @@ append_restart_list(lrmd_rsc_info_t * rsc, lrmd_event_data_t * op, xmlNode * upd
+             crm_xml_add(restart, param, value);
+         }
+         len += strlen(param) + 2;
+-        list = realloc(list, len + 1);
++        list = realloc_safe(list, len + 1);
+         sprintf(list + start, " %s ", param);
+     }
+ 
+diff --git a/cts/CIB.py b/cts/CIB.py
+index d26efdb..7922d8b 100644
+--- a/cts/CIB.py
++++ b/cts/CIB.py
+@@ -298,7 +298,28 @@ class CIB11(ConfigBase):
+         # Group Resource
+         g = Group(self.Factory, "group-1")
+         g.add_child(self.NewIP())
+-        g.add_child(self.NewIP())
++
++        if self.CM.Env["have_systemd"]:
++            dummy_service_file = """
++[Unit]
++Description=Dummy resource that takes a while to start
++
++[Service]
++Type=notify
++ExecStart=/usr/bin/python -c 'import time; import systemd.daemon;time.sleep(10); systemd.daemon.notify("READY=1"); time.sleep(3600)'
++ExecStop=sleep 10
++ExecStop=/bin/kill -KILL $MAINPID
++"""
++
++            os.system("cat <<-END >/tmp/DummySD.service\n%s\nEND" % (dummy_service_file))
++
++            self.CM.install_helper("DummySD.service", destdir="/usr/lib/systemd/system/", sourcedir="/tmp")
++            sysd = Resource(self.Factory, "petulant", "DummySD",  "service")
++            sysd.add_op("monitor", "P10S")
++            g.add_child(sysd)
++        else:
++            g.add_child(self.NewIP())
++
+         g.add_child(self.NewIP())
+ 
+         # Group with the master
+diff --git a/cts/environment.py b/cts/environment.py
+index d741452..2b2a343 100644
+--- a/cts/environment.py
++++ b/cts/environment.py
+@@ -283,9 +283,9 @@ class Environment:
+                 break;
+         self["cts-master"] = master
+ 
+-        if self.has_key("have_systemd"):
+-            self["have_systemd"] = not rsh(discover, "systemctl list-units")
+-
++        if not self.has_key("have_systemd"):
++            self["have_systemd"] = not self.rsh(self.target, "systemctl list-units")
++        
+         self.detect_syslog()
+         self.detect_at_boot()
+         self.detect_ip_offset()
+diff --git a/fencing/standalone_config.c b/fencing/standalone_config.c
+index 01c22b6..4319c4a 100644
+--- a/fencing/standalone_config.c
++++ b/fencing/standalone_config.c
+@@ -170,7 +170,7 @@ standalone_cfg_add_node(const char *node, const char *device, const char *ports)
+ 
+     if (tmp) {
+         offset = strlen(tmp);
+-        tmp = realloc(tmp, len + offset + 1);
++        tmp = realloc_safe(tmp, len + offset + 1);
+     } else {
+         tmp = malloc(len);
+     }
+diff --git a/include/crm_internal.h b/include/crm_internal.h
+index 3eb88de..169d6d3 100644
+--- a/include/crm_internal.h
++++ b/include/crm_internal.h
+@@ -341,4 +341,16 @@ void cib_ipc_servers_destroy(qb_ipcs_service_t *ipcs_ro,
+         qb_ipcs_service_t *ipcs_rw,
+         qb_ipcs_service_t *ipcs_shm);
+ 
++static inline void *realloc_safe(void *ptr, size_t size)
++{
++    void *ret = realloc(ptr, size);
++
++    if(ret == NULL) {
++        abort();
++    }
++
++    return ret;
++}
++
++
+ #endif                          /* CRM_INTERNAL__H */
+diff --git a/lib/ais/plugin.c b/lib/ais/plugin.c
+index 3d4f369..ab534fa 100644
+--- a/lib/ais/plugin.c
++++ b/lib/ais/plugin.c
+@@ -1214,7 +1214,7 @@ pcmk_generate_membership_data(void)
+ 
+     g_hash_table_foreach(membership_list, member_loop_fn, &data);
+     size = strlen(data.string);
+-    data.string = realloc(data.string, size + 9);       /* 9 = </nodes> + nul */
++    data.string = realloc_safe(data.string, size + 9);       /* 9 = </nodes> + nul */
+     sprintf(data.string + size, "</nodes>");
+     return data.string;
+ }
+diff --git a/lib/ais/utils.c b/lib/ais/utils.c
+index e56fb6d..94a2505 100644
+--- a/lib/ais/utils.c
++++ b/lib/ais/utils.c
+@@ -409,7 +409,7 @@ append_member(char *data, crm_node_t * node)
+     if (node->version) {
+         size += (9 + strlen(node->version));
+     }
+-    data = realloc(data, size);
++    data = realloc_safe(data, size);
+ 
+     offset += snprintf(data + offset, size - offset, "<node id=\"%u\" ", node->id);
+     if (node->uname) {
+diff --git a/lib/cluster/cpg.c b/lib/cluster/cpg.c
+index 6c86e83..cda6326 100644
+--- a/lib/cluster/cpg.c
++++ b/lib/cluster/cpg.c
+@@ -584,7 +584,7 @@ send_cluster_text(int class, const char *data,
+     msg->header.size = sizeof(AIS_Message) + msg->size;
+ 
+     if (msg->size < CRM_BZ2_THRESHOLD) {
+-        msg = realloc(msg, msg->header.size);
++        msg = realloc_safe(msg, msg->header.size);
+         memcpy(msg->data, data, msg->size);
+ 
+     } else {
+@@ -595,14 +595,14 @@ send_cluster_text(int class, const char *data,
+         if (crm_compress_string(uncompressed, msg->size, 0, &compressed, &new_size)) {
+ 
+             msg->header.size = sizeof(AIS_Message) + new_size;
+-            msg = realloc(msg, msg->header.size);
++            msg = realloc_safe(msg, msg->header.size);
+             memcpy(msg->data, compressed, new_size);
+ 
+             msg->is_compressed = TRUE;
+             msg->compressed_size = new_size;
+ 
+         } else {
+-            msg = realloc(msg, msg->header.size);
++            msg = realloc_safe(msg, msg->header.size);
+             memcpy(msg->data, data, msg->size);
+         }
+ 
+diff --git a/lib/cluster/heartbeat.c b/lib/cluster/heartbeat.c
+index a801c8e..6f6a388 100644
+--- a/lib/cluster/heartbeat.c
++++ b/lib/cluster/heartbeat.c
+@@ -106,7 +106,7 @@ convert_ha_field(xmlNode * parent, void *msg_v, int lpc)
+ 
+             crm_trace("Trying to decompress %d bytes", (int)orig_len);
+   retry:
+-            uncompressed = realloc(uncompressed, size);
++            uncompressed = realloc_safe(uncompressed, size);
+             memset(uncompressed, 0, size);
+             used = size - 1;    /* always leave room for a trailing '\0'
+                                  * BZ2_bzBuffToBuffDecompress wont say anything if
+diff --git a/lib/common/logging.c b/lib/common/logging.c
+index d64b77a..f211d80 100644
+--- a/lib/common/logging.c
++++ b/lib/common/logging.c
+@@ -956,7 +956,7 @@ crm_log_args(int argc, char **argv)
+         }
+ 
+         len = 2 + strlen(argv[lpc]);    /* +1 space, +1 EOS */
+-        arg_string = realloc(arg_string, len + existing_len);
++        arg_string = realloc_safe(arg_string, len + existing_len);
+         existing_len += sprintf(arg_string + existing_len, "%s ", argv[lpc]);
+     }
+ 
+diff --git a/lib/common/remote.c b/lib/common/remote.c
+index f11ebcd..2a5b449 100644
+--- a/lib/common/remote.c
++++ b/lib/common/remote.c
+@@ -520,7 +520,7 @@ crm_remote_recv_once(crm_remote_t * remote)
+            remote->buffer_size = 2 * read_len;
+         crm_trace("Expanding buffer to %u bytes", remote->buffer_size);
+ 
+-        remote->buffer = realloc(remote->buffer, remote->buffer_size + 1);
++        remote->buffer = realloc_safe(remote->buffer, remote->buffer_size + 1);
+         CRM_ASSERT(remote->buffer != NULL);
+     }
+ 
+diff --git a/lib/common/utils.c b/lib/common/utils.c
+index eacd8e9..d70778d 100644
+--- a/lib/common/utils.c
++++ b/lib/common/utils.c
+@@ -1712,7 +1712,7 @@ crm_create_long_opts(struct crm_option *long_options)
+      * This dummy entry allows us to differentiate between the two in crm_get_option()
+      * and exit with the correct error code
+      */
+-    long_opts = realloc(long_opts, (index + 1) * sizeof(struct option));
++    long_opts = realloc_safe(long_opts, (index + 1) * sizeof(struct option));
+     long_opts[index].name = "__dummmy__";
+     long_opts[index].has_arg = 0;
+     long_opts[index].flag = 0;
+@@ -1724,7 +1724,7 @@ crm_create_long_opts(struct crm_option *long_options)
+             continue;
+         }
+ 
+-        long_opts = realloc(long_opts, (index + 1) * sizeof(struct option));
++        long_opts = realloc_safe(long_opts, (index + 1) * sizeof(struct option));
+         /*fprintf(stderr, "Creating %d %s = %c\n", index,
+          * long_options[lpc].name, long_options[lpc].val);      */
+         long_opts[index].name = long_options[lpc].name;
+@@ -1735,7 +1735,7 @@ crm_create_long_opts(struct crm_option *long_options)
+     }
+ 
+     /* Now create the list terminator */
+-    long_opts = realloc(long_opts, (index + 1) * sizeof(struct option));
++    long_opts = realloc_safe(long_opts, (index + 1) * sizeof(struct option));
+     long_opts[index].name = NULL;
+     long_opts[index].has_arg = 0;
+     long_opts[index].flag = 0;
+@@ -1759,7 +1759,7 @@ crm_set_options(const char *short_options, const char *app_usage, struct crm_opt
+ 
+         for (lpc = 0; long_options[lpc].name != NULL; lpc++) {
+             if (long_options[lpc].val && long_options[lpc].val != '-' && long_options[lpc].val < UCHAR_MAX) {
+-                local_short_options = realloc(local_short_options, opt_string_len + 4);
++                local_short_options = realloc_safe(local_short_options, opt_string_len + 4);
+                 local_short_options[opt_string_len++] = long_options[lpc].val;
+                 /* getopt(3) says: Two colons mean an option takes an optional arg; */
+                 if (long_options[lpc].has_arg == optional_argument) {
+@@ -2517,7 +2517,7 @@ add_list_element(char *list, const char *value)
+     }
+     len = last + 2;             /* +1 space, +1 EOS */
+     len += strlen(value);
+-    list = realloc(list, len);
++    list = realloc_safe(list, len);
+     sprintf(list + last, " %s", value);
+     return list;
+ }
+diff --git a/lib/common/xml.c b/lib/common/xml.c
+index e63a582..0effd47 100644
+--- a/lib/common/xml.c
++++ b/lib/common/xml.c
+@@ -206,7 +206,7 @@ static inline bool TRACKING_CHANGES(xmlNode *xml)
+         } else if(rc >= ((max) - (offset))) {                           \
+             char *tmp = NULL;                                           \
+             (max) = QB_MAX(CHUNK_SIZE, (max) * 2);                      \
+-            tmp = realloc((buffer), (max) + 1);                         \
++            tmp = realloc_safe((buffer), (max) + 1);                         \
+             CRM_ASSERT(tmp);                                            \
+             (buffer) = tmp;                                             \
+         } else {                                                        \
+@@ -223,7 +223,7 @@ insert_prefix(int options, char **buffer, int *offset, int *max, int depth)
+ 
+         if ((*buffer) == NULL || spaces >= ((*max) - (*offset))) {
+             (*max) = QB_MAX(CHUNK_SIZE, (*max) * 2);
+-            (*buffer) = realloc((*buffer), (*max) + 1);
++            (*buffer) = realloc_safe((*buffer), (*max) + 1);
+         }
+         memset((*buffer) + (*offset), ' ', spaces);
+         (*offset) += spaces;
+@@ -305,7 +305,7 @@ static void __xml_schema_add(
+     int last = xml_schema_max;
+ 
+     xml_schema_max++;
+-    known_schemas = realloc(known_schemas, xml_schema_max*sizeof(struct schema_s));
++    known_schemas = realloc_safe(known_schemas, xml_schema_max*sizeof(struct schema_s));
+     CRM_ASSERT(known_schemas != NULL);
+     memset(known_schemas+last, 0, sizeof(struct schema_s));
+     known_schemas[last].type = type;
+@@ -2759,6 +2759,7 @@ create_xml_node(xmlNode * parent, const char *name)
+     xmlNode *node = NULL;
+ 
+     if (name == NULL || name[0] == 0) {
++        CRM_CHECK(name != NULL || name[0] == 0, return NULL);
+         return NULL;
+     }
+ 
+@@ -2905,7 +2906,7 @@ crm_xml_err(void *ctx, const char *msg, ...)
+         buf = NULL;
+ 
+     } else {
+-        buffer = realloc(buffer, 1 + buffer_len + len);
++        buffer = realloc_safe(buffer, 1 + buffer_len + len);
+         memcpy(buffer + buffer_len, buf, len);
+         buffer_len += len;
+         buffer[buffer_len] = 0;
+@@ -2997,7 +2998,7 @@ stdin2xml(void)
+             break;
+         }
+ 
+-        xml_buffer = realloc(xml_buffer, next);
++        xml_buffer = realloc_safe(xml_buffer, next);
+         read_chars = fread(xml_buffer + data_length, 1, XML_BUFFER_SIZE, stdin);
+         data_length += read_chars;
+     } while (read_chars > 0);
+@@ -3043,7 +3044,7 @@ decompress_file(const char *filename)
+ 
+     rc = BZ_OK;
+     while (rc == BZ_OK) {
+-        buffer = realloc(buffer, XML_BUFFER_SIZE + length + 1);
++        buffer = realloc_safe(buffer, XML_BUFFER_SIZE + length + 1);
+         read_len = BZ2_bzRead(&rc, bz_file, buffer + length, XML_BUFFER_SIZE);
+ 
+         crm_trace("Read %ld bytes from file: %d", (long)read_len, rc);
+@@ -3301,7 +3302,7 @@ crm_xml_escape_shuffle(char *text, int start, int *length, const char *replace)
+     int offset = strlen(replace) - 1;   /* We have space for 1 char already */
+ 
+     *length += offset;
+-    text = realloc(text, *length);
++    text = realloc_safe(text, *length);
+ 
+     for (lpc = (*length) - 1; lpc > (start + offset); lpc--) {
+         text[lpc] = text[lpc - offset];
+@@ -5369,7 +5370,7 @@ crm_xml_init(void)
+     if(init) {
+         init = FALSE;
+         /* The default allocator XML_BUFFER_ALLOC_EXACT does far too many
+-         * realloc()s and it can take upwards of 18 seconds (yes, seconds)
++         * realloc_safe()s and it can take upwards of 18 seconds (yes, seconds)
+          * to dump a 28kb tree which XML_BUFFER_ALLOC_DOUBLEIT can do in
+          * less than 1 second.
+          */
+@@ -5987,7 +5988,7 @@ get_xpath_object_relative(const char *xpath, xmlNode * xml_obj, int error_level)
+     len += strlen(xpath);
+ 
+     xpath_full = strdup(xpath_prefix);
+-    xpath_full = realloc(xpath_full, len + 1);
++    xpath_full = realloc_safe(xpath_full, len + 1);
+     strncat(xpath_full, xpath, len);
+ 
+     result = get_xpath_object(xpath_full, xml_obj, error_level);
+diff --git a/lib/fencing/st_client.c b/lib/fencing/st_client.c
+index 06b9492..e51d673 100644
+--- a/lib/fencing/st_client.c
++++ b/lib/fencing/st_client.c
+@@ -308,7 +308,7 @@ append_arg(gpointer key, gpointer value, gpointer user_data)
+         last = strlen(*args);
+     }
+ 
+-    *args = realloc(*args, last + len);
++    *args = realloc_safe(*args, last + len);
+     crm_trace("Appending: %s=%s", (char *)key, (char *)value);
+     sprintf((*args) + last, "%s=%s\n", (char *)key, (char *)value);
+ }
+@@ -627,7 +627,7 @@ read_output(int fd)
+                               * 'more' is always less than our buffer size
+                               */
+             crm_trace("Got %d more bytes: %.200s...", more, buffer);
+-            output = realloc(output, len + more + 1);
++            output = realloc_safe(output, len + more + 1);
+             snprintf(output + len, more + 1, "%s", buffer);
+             len += more;
+         }
+diff --git a/lib/services/services_linux.c b/lib/services/services_linux.c
+index 8d6f450..de29706 100644
+--- a/lib/services/services_linux.c
++++ b/lib/services/services_linux.c
+@@ -94,7 +94,7 @@ svc_read_output(int fd, svc_action_t * op, bool is_stderr)
+         if (rc > 0) {
+             crm_trace("Got %d characters starting with %.20s", rc, buf);
+             buf[rc] = 0;
+-            data = realloc(data, len + rc + 1);
++            data = realloc_safe(data, len + rc + 1);
+             len += sprintf(data + len, "%s", buf);
+ 
+         } else if (errno != EINTR) {
+diff --git a/lib/services/systemd.c b/lib/services/systemd.c
+index a8bf1b4..c0a1721 100644
+--- a/lib/services/systemd.c
++++ b/lib/services/systemd.c
+@@ -462,10 +462,11 @@ systemd_async_dispatch(DBusPendingCall *pending, void *user_data)
+     if(op) {
+         crm_trace("Got result: %p for %p for %s, %s", reply, pending, op->rsc, op->action);
+         op->opaque->pending = NULL;
++        systemd_exec_result(reply, op);
++
+     } else {
+         crm_trace("Got result: %p for %p", reply, pending);
+     }
+-    systemd_exec_result(reply, op);
+ 
+     if(pending) {
+         dbus_pending_call_unref(pending);
+@@ -491,6 +492,8 @@ systemd_unit_check(const char *name, const char *state, void *userdata)
+         op->rc = PCMK_OCF_OK;
+     } else if (g_strcmp0(state, "activating") == 0) {
+         op->rc = PCMK_OCF_PENDING;
++    } else if (g_strcmp0(state, "deactivating") == 0) {
++        op->rc = PCMK_OCF_PENDING;
+     } else {
+         op->rc = PCMK_OCF_NOT_RUNNING;
+     }
+diff --git a/lrmd/lrmd.c b/lrmd/lrmd.c
+index d3ede18..0f5f529 100644
+--- a/lrmd/lrmd.c
++++ b/lrmd/lrmd.c
+@@ -790,10 +790,30 @@ action_complete(svc_action_t * action)
+             cmd->real_action = cmd->action;
+             cmd->action = strdup("monitor");
+ 
++        } else if(cmd->exec_rc == PCMK_OCF_OK && safe_str_eq(cmd->action, "stop")) {
++            goagain = true;
++            cmd->real_action = cmd->action;
++            cmd->action = strdup("monitor");
++
+         } else if(cmd->real_action) {
+             /* Ok, so this is the follow up monitor action to check if start actually completed */
+             if(cmd->lrmd_op_status == PCMK_LRM_OP_DONE && cmd->exec_rc == PCMK_OCF_PENDING) {
+                 goagain = true;
++
++            } else {
++                int time_sum = 0;
++                int timeout_left = 0;
++                struct timeb now = { 0, };
++
++                ftime(&now);
++                time_sum = time_diff_ms(&now, &cmd->t_first_run);
++                timeout_left = cmd->timeout_orig - time_sum;
++                crm_debug("%s %s is now complete (elapsed=%dms, remaining=%dms): %s (%d)",
++                          cmd->rsc_id, cmd->real_action, time_sum, timeout_left, services_ocf_exitcode_str(cmd->exec_rc), cmd->exec_rc);
++
++                if(cmd->lrmd_op_status == PCMK_LRM_OP_DONE && cmd->exec_rc == PCMK_OCF_NOT_RUNNING && safe_str_eq(cmd->real_action, "stop")) {
++                    cmd->exec_rc = PCMK_OCF_OK;
++                }
+             }
+         }
+     }
+@@ -827,13 +847,22 @@ action_complete(svc_action_t * action)
+             delay = timeout_left/2;
+         }
+ 
++        delay = QB_MIN(2000, delay);
+         if (delay < timeout_left) {
+             cmd->start_delay = delay;
+             cmd->timeout = timeout_left;
+ 
+-            if(cmd->exec_rc != PCMK_OCF_OK) {
+-                crm_info("%s %s failed (rc=%d): re-scheduling (elapsed=%dms, remaining=%dms, start_delay=%dms)",
+-                         cmd->rsc_id, cmd->action, cmd->exec_rc, time_sum, timeout_left, delay);
++            if(cmd->exec_rc == PCMK_OCF_OK) {
++                crm_debug("%s %s may still be in progress: re-scheduling (elapsed=%dms, remaining=%dms, start_delay=%dms)",
++                          cmd->rsc_id, cmd->real_action, time_sum, timeout_left, delay);
++
++            } else if(cmd->exec_rc == PCMK_OCF_PENDING) {
++                crm_info("%s %s is still in progress: re-scheduling (elapsed=%dms, remaining=%dms, start_delay=%dms)",
++                         cmd->rsc_id, cmd->action, time_sum, timeout_left, delay);
++
++            } else {
++                crm_notice("%s %s failed '%s' (%d): re-scheduling (elapsed=%dms, remaining=%dms, start_delay=%dms)",
++                           cmd->rsc_id, cmd->action, services_ocf_exitcode_str(cmd->exec_rc), cmd->exec_rc, time_sum, timeout_left, delay);
+             }
+ 
+             cmd_reset(cmd);
+diff --git a/pengine/allocate.c b/pengine/allocate.c
+index 45e2212..748ca54 100644
+--- a/pengine/allocate.c
++++ b/pengine/allocate.c
+@@ -1913,7 +1913,7 @@ expand_list(GListPtr list, char **rsc_list, char **node_list)
+             }
+ 
+             crm_trace("Adding %s (%dc) at offset %d", rsc_id, len - 2, existing_len);
+-            *rsc_list = realloc(*rsc_list, len + existing_len);
++            *rsc_list = realloc_safe(*rsc_list, len + existing_len);
+             sprintf(*rsc_list + existing_len, "%s ", rsc_id);
+         }
+ 
+@@ -1930,7 +1930,7 @@ expand_list(GListPtr list, char **rsc_list, char **node_list)
+             }
+ 
+             crm_trace("Adding %s (%dc) at offset %d", uname, len - 2, existing_len);
+-            *node_list = realloc(*node_list, len + existing_len);
++            *node_list = realloc_safe(*node_list, len + existing_len);
+             sprintf(*node_list + existing_len, "%s ", uname);
+         }
+     }
+diff --git a/replace/scandir.c b/replace/scandir.c
+index 7a8efea..0011630 100644
+--- a/replace/scandir.c
++++ b/replace/scandir.c
+@@ -202,7 +202,7 @@ scandir(const char *directory_name,
+             if (counter + 1 == allocated) {
+                 allocated <<= 1;
+                 array = (struct dirent **)
+-                    realloc((char *)array, allocated * sizeof(struct dirent *));
++                    realloc_safe((char *)array, allocated * sizeof(struct dirent *));
+                 if (array == NULL) {
+                     closedir(directory);
+                     free(array);
+diff --git a/tools/crm_resource.c b/tools/crm_resource.c
+index 6e510e1..236d43c 100644
+--- a/tools/crm_resource.c
++++ b/tools/crm_resource.c
+@@ -1399,16 +1399,20 @@ static void display_list(GList *items, const char *tag)
+ static int
+ update_dataset(cib_t *cib, pe_working_set_t * data_set, bool simulate)
+ {
++    char *pid = NULL;
++    char *shadow_file = NULL;
++    cib_t *shadow_cib = NULL;
+     xmlNode *cib_xml_copy = NULL;
+     int rc = cib->cmds->query(cib, NULL, &cib_xml_copy, cib_scope_local | cib_sync_call);
+ 
+     if(rc != pcmk_ok) {
+         fprintf(stdout, "Could not obtain the current CIB: %s (%d)\n", pcmk_strerror(rc), rc);
+-        return crm_exit(rc);
++        goto cleanup;
+ 
+     } else if (cli_config_update(&cib_xml_copy, NULL, FALSE) == FALSE) {
+         fprintf(stderr, "Could not upgrade the current CIB\n");
+-        return -ENOKEY;
++        rc = -ENOKEY;
++        goto cleanup;
+     }
+ 
+     set_working_set_defaults(data_set);
+@@ -1416,70 +1420,103 @@ update_dataset(cib_t *cib, pe_working_set_t * data_set, bool simulate)
+     data_set->now = crm_time_new(NULL);
+ 
+     if(simulate) {
+-        char *pid = crm_itoa(getpid());
+-        cib_t *shadow_cib = cib_shadow_new(pid);
+-        char *shadow_file = get_shadow_file(pid);
++        pid = crm_itoa(getpid());
++        shadow_cib = cib_shadow_new(pid);
++        shadow_file = get_shadow_file(pid);
+ 
+         if (shadow_cib == NULL) {
+             fprintf(stderr, "Could not create shadow cib: '%s'\n", pid);
+-            crm_exit(-ENXIO);
++            rc = -ENXIO;
++            goto cleanup;
+         }
+ 
++        free(pid);
+         rc = write_xml_file(cib_xml_copy, shadow_file, FALSE);
+ 
+         if (rc < 0) {
+             fprintf(stderr, "Could not populate shadow cib: %s (%d)\n", pcmk_strerror(rc), rc);
+-            free_xml(cib_xml_copy);
+-            return rc;
++            goto cleanup;
+         }
+ 
+         rc = shadow_cib->cmds->signon(shadow_cib, crm_system_name, cib_command);
+         if(rc != pcmk_ok) {
+             fprintf(stderr, "Could not connect to shadow cib: %s (%d)\n", pcmk_strerror(rc), rc);
+-            free_xml(cib_xml_copy);
+-            return rc;
++            goto cleanup;
+         }
+ 
+         do_calculations(data_set, cib_xml_copy, NULL);
+         run_simulation(data_set, shadow_cib, NULL, TRUE);
+         rc = update_dataset(shadow_cib, data_set, FALSE);
+ 
+-        cib_delete(shadow_cib);
+-        /* unlink(shadow_file); */
+-        free(shadow_file);
+-
+     } else {
+         cluster_status(data_set);
+     }
+ 
++  cleanup:
++    cib_delete(shadow_cib);
++    free_xml(cib_xml_copy);
++    free(pid);
++
++    if(shadow_file) {
++        unlink(shadow_file);
++        free(shadow_file);
++    }
++
+     return rc;
+ }
+ 
+ static int
+-max_delay_in(pe_working_set_t * data_set, GList *resources) 
++max_delay_for_resource(pe_working_set_t * data_set, resource_t *rsc) 
+ {
++    int delay = 0;
+     int max_delay = 0;
+-    GList *item = NULL;
+ 
+-    for (item = resources; item != NULL; item = item->next) {
+-        resource_t *rsc = pe_find_resource(data_set->resources, (const char *)item->data);
++    if(rsc && rsc->children) {
++        GList *iter = NULL;
+ 
+-        if(rsc) {
+-            char *key = g_strdup_printf("%s_%s_0", rsc->id, RSC_STOP);
+-            action_t *stop = custom_action(rsc, key, RSC_STOP, NULL, TRUE, FALSE, data_set);
+-            const char *value = g_hash_table_lookup(stop->meta, XML_ATTR_TIMEOUT);
+-            int delay = crm_int_helper(value, NULL);
++        for(iter = rsc->children; iter; iter = iter->next) {
++            resource_t *child = (resource_t *)iter->data;
+ 
++            delay = max_delay_for_resource(data_set, child);
+             if(delay > max_delay) {
+-                crm_trace("Calculated new delay of %s ms due to %s", value, rsc->id);
++                double seconds = delay / 1000;
++                crm_trace("Calculated new delay of %.1fs due to %s", seconds, child->id);
+                 max_delay = delay;
+             }
+-
+-            pe_free_action(stop);
+         }
++
++    } else if(rsc) {
++        char *key = g_strdup_printf("%s_%s_0", rsc->id, RSC_STOP);
++        action_t *stop = custom_action(rsc, key, RSC_STOP, NULL, TRUE, FALSE, data_set);
++        const char *value = g_hash_table_lookup(stop->meta, XML_ATTR_TIMEOUT);
++
++        max_delay = crm_int_helper(value, NULL);
++        pe_free_action(stop);
+     }
+ 
+ 
++    return max_delay;
++}
++
++static int
++max_delay_in(pe_working_set_t * data_set, GList *resources) 
++{
++    int max_delay = 0;
++    GList *item = NULL;
++
++    for (item = resources; item != NULL; item = item->next) {
++        int delay = 0;
++        resource_t *rsc = pe_find_resource(data_set->resources, (const char *)item->data);
++
++        delay = max_delay_for_resource(data_set, rsc);
++
++        if(delay > max_delay) {
++            double seconds = delay / 1000;
++            crm_trace("Calculated new delay of %.1fs due to %s", seconds, rsc->id);
++            max_delay = delay;
++        }
++    }
++
+     return 5 + (max_delay / 1000);
+ }
+ 
+@@ -1507,7 +1544,7 @@ resource_restart(resource_t * rsc, const char *host, int timeout_ms, cib_t * cib
+         return -ENXIO;
+     }
+ 
+-
++    attr_set_type = XML_TAG_META_SETS;
+     rsc_id = strdup(rsc->id);
+     if(rsc->variant > pe_group) {
+         is_clone = TRUE;
+@@ -1536,6 +1573,7 @@ resource_restart(resource_t * rsc, const char *host, int timeout_ms, cib_t * cib
+     rc = update_dataset(cib, &data_set, FALSE);
+     if(rc != pcmk_ok) {
+         fprintf(stdout, "Could not get new resource list: %s (%d)\n", pcmk_strerror(rc), rc);
++        free(rsc_id);
+         return rc;
+     }
+ 
+@@ -1553,6 +1591,7 @@ resource_restart(resource_t * rsc, const char *host, int timeout_ms, cib_t * cib
+     }
+     if(rc != pcmk_ok) {
+         fprintf(stderr, "Could not set target-role for %s: %s (%d)\n", rsc_id, pcmk_strerror(rc), rc);
++        free(rsc_id);
+         return crm_exit(rc);
+     }
+ 
+@@ -1615,6 +1654,7 @@ resource_restart(resource_t * rsc, const char *host, int timeout_ms, cib_t * cib
+ 
+     if(rc != pcmk_ok) {
+         fprintf(stderr, "Could not unset target-role for %s: %s (%d)\n", rsc_id, pcmk_strerror(rc), rc);
++        free(rsc_id);
+         return crm_exit(rc);
+     }
+ 
+@@ -1659,6 +1699,7 @@ resource_restart(resource_t * rsc, const char *host, int timeout_ms, cib_t * cib
+ 
+     } while(g_list_length(list_delta) > 0);
+ 
++    free(rsc_id);
+     return pcmk_ok;
+ 
+   failure:
+@@ -1668,6 +1709,7 @@ resource_restart(resource_t * rsc, const char *host, int timeout_ms, cib_t * cib
+     } else {
+         delete_resource_attr(rsc_id, NULL, NULL, XML_RSC_ATTR_TARGET_ROLE, cib, &data_set);
+     }
++    free(rsc_id);
+     return rc;
+ }
+ 
diff --git a/SOURCES/bz1176210-handle-orphaned-remote-nodes.patch b/SOURCES/bz1176210-handle-orphaned-remote-nodes.patch
new file mode 100644
index 0000000..9331bab
--- /dev/null
+++ b/SOURCES/bz1176210-handle-orphaned-remote-nodes.patch
@@ -0,0 +1,816 @@
+diff --git a/lib/pengine/unpack.c b/lib/pengine/unpack.c
+index bdd6450..39756b1 100644
+--- a/lib/pengine/unpack.c
++++ b/lib/pengine/unpack.c
+@@ -1828,7 +1828,7 @@ process_rsc_state(resource_t * rsc, node_t * node,
+ 
+             should_fence = TRUE;
+         } else if (is_set(data_set->flags, pe_flag_stonith_enabled)) {
+-            if (is_baremetal_remote_node(node) && is_not_set(node->details->remote_rsc->flags, pe_rsc_failed)) {
++            if (is_baremetal_remote_node(node) && node->details->remote_rsc && is_not_set(node->details->remote_rsc->flags, pe_rsc_failed)) {
+                 /* setting unseen = true means that fencing of the remote node will
+                  * only occur if the connection resource is not going to start somewhere.
+                  * This allows connection resources on a failed cluster-node to move to
+diff --git a/pengine/allocate.c b/pengine/allocate.c
+index 3241273..7dd70f1 100644
+--- a/pengine/allocate.c
++++ b/pengine/allocate.c
+@@ -1636,6 +1636,7 @@ apply_remote_node_ordering(pe_working_set_t *data_set)
+ 
+         if (action->node == NULL ||
+             is_remote_node(action->node) == FALSE ||
++            action->node->details->remote_rsc == NULL ||
+             action->rsc == NULL ||
+             is_set(action->flags, pe_action_pseudo)) {
+             continue;
+diff --git a/pengine/regression.sh b/pengine/regression.sh
+index 9172acb..93d4de1 100755
+--- a/pengine/regression.sh
++++ b/pengine/regression.sh
+@@ -778,6 +778,7 @@ do_test remote-fence-unclean2  "Fence baremetal remote-node after cluster node f
+ do_test remote-move            "Move remote-node connection resource"
+ do_test remote-disable         "Disable a baremetal remote-node"
+ do_test remote-orphaned        "Properly shutdown orphaned connection resource"
++do_test remote-orphaned2       "verify we can handle orphaned remote connections with active resources on the remote"
+ do_test remote-recover         "Recover connection resource after cluster-node fails."
+ do_test remote-stale-node-entry "Make sure we properly handle leftover remote-node entries in the node section"
+ do_test remote-partial-migrate  "Make sure partial migrations are handled before ops on the remote node."
+diff --git a/pengine/test10/remote-orphaned2.dot b/pengine/test10/remote-orphaned2.dot
+new file mode 100644
+index 0000000..d8f1c9f
+--- /dev/null
++++ b/pengine/test10/remote-orphaned2.dot
+@@ -0,0 +1,2 @@
++ digraph "g" {
++}
+diff --git a/pengine/test10/remote-orphaned2.exp b/pengine/test10/remote-orphaned2.exp
+new file mode 100644
+index 0000000..56e315f
+--- /dev/null
++++ b/pengine/test10/remote-orphaned2.exp
+@@ -0,0 +1 @@
++<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0"/>
+diff --git a/pengine/test10/remote-orphaned2.scores b/pengine/test10/remote-orphaned2.scores
+new file mode 100644
+index 0000000..98853b1
+--- /dev/null
++++ b/pengine/test10/remote-orphaned2.scores
+@@ -0,0 +1 @@
++Allocation scores:
+diff --git a/pengine/test10/remote-orphaned2.summary b/pengine/test10/remote-orphaned2.summary
+new file mode 100644
+index 0000000..f4e5e17
+--- /dev/null
++++ b/pengine/test10/remote-orphaned2.summary
+@@ -0,0 +1,27 @@
++
++Current cluster status:
++RemoteNode mrg-02: UNCLEAN (offline)
++RemoteNode mrg-03: UNCLEAN (offline)
++RemoteNode mrg-04: UNCLEAN (offline)
++Online: [ host-026 host-027 host-028 ]
++
++ neutron-openvswitch-agent-compute	(ocf::heartbeat:Dummy):	 ORPHANED Started [ mrg-03 mrg-02 mrg-04 ]
++ libvirtd-compute	(systemd:libvirtd):	 ORPHANED Started [ mrg-03 mrg-02 mrg-04 ]
++ ceilometer-compute	(systemd:openstack-ceilometer-compute):	 ORPHANED Started [ mrg-03 mrg-02 mrg-04 ]
++ nova-compute	(systemd:openstack-nova-compute):	 ORPHANED Started [ mrg-03 mrg-02 mrg-04 ]
++
++Transition Summary:
++
++Executing cluster transition:
++
++Revised cluster status:
++RemoteNode mrg-02: UNCLEAN (offline)
++RemoteNode mrg-03: UNCLEAN (offline)
++RemoteNode mrg-04: UNCLEAN (offline)
++Online: [ host-026 host-027 host-028 ]
++
++ neutron-openvswitch-agent-compute	(ocf::heartbeat:Dummy):	 ORPHANED Started [ mrg-03 mrg-02 mrg-04 ]
++ libvirtd-compute	(systemd:libvirtd):	 ORPHANED Started [ mrg-03 mrg-02 mrg-04 ]
++ ceilometer-compute	(systemd:openstack-ceilometer-compute):	 ORPHANED Started [ mrg-03 mrg-02 mrg-04 ]
++ nova-compute	(systemd:openstack-nova-compute):	 ORPHANED Started [ mrg-03 mrg-02 mrg-04 ]
++
+diff --git a/pengine/test10/remote-orphaned2.xml b/pengine/test10/remote-orphaned2.xml
+new file mode 100644
+index 0000000..0bf6d33
+--- /dev/null
++++ b/pengine/test10/remote-orphaned2.xml
+@@ -0,0 +1,718 @@
++<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.2" epoch="483" num_updates="615" admin_epoch="0" cib-last-written="Thu Jan 15 04:46:11 2015" have-quorum="1" dc-uuid="1">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
++        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-a14efad"/>
++        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
++        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="STSRHTS26837"/>
++        <nvpair id="cib-bootstrap-options-last-lrm-refresh" name="last-lrm-refresh" value="1419001724"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes>
++      <node id="1" uname="host-026">
++        <instance_attributes id="nodes-1">
++          <nvpair id="nodes-1-osprole" name="osprole" value="controller"/>
++        </instance_attributes>
++      </node>
++      <node id="2" uname="host-027">
++        <instance_attributes id="nodes-2">
++          <nvpair id="nodes-2-osprole" name="osprole" value="controller"/>
++        </instance_attributes>
++      </node>
++      <node id="3" uname="host-028">
++        <instance_attributes id="nodes-3">
++          <nvpair id="nodes-3-osprole" name="osprole" value="controller"/>
++        </instance_attributes>
++      </node>
++      <node id="mrg-02" type="remote" uname="mrg-02">
++        <instance_attributes id="nodes-mrg-02">
++          <nvpair id="nodes-mrg-02-osprole" name="osprole" value="compute"/>
++        </instance_attributes>
++      </node>
++      <node id="mrg-03" type="remote" uname="mrg-03">
++        <instance_attributes id="nodes-mrg-03">
++          <nvpair id="nodes-mrg-03-osprole" name="osprole" value="compute"/>
++        </instance_attributes>
++      </node>
++      <node id="mrg-04" type="remote" uname="mrg-04">
++        <instance_attributes id="nodes-mrg-04">
++          <nvpair id="nodes-mrg-04-osprole" name="osprole" value="compute"/>
++        </instance_attributes>
++      </node>
++    </nodes>
++    <resources/>
++    <constraints/>
++  </configuration>
++  <status>
++    <node_state id="2" uname="host-027" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member">
++      <lrm id="2">
++        <lrm_resources/>
++      </lrm>
++      <transient_attributes id="2">
++        <instance_attributes id="status-2">
++          <nvpair id="status-2-fail-count-qpidd" name="fail-count-qpidd" value="INFINITY"/>
++          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-2-fail-count-node1-fence" name="fail-count-node1-fence" value="INFINITY"/>
++          <nvpair id="status-2-fail-count-lb-haproxy" name="fail-count-lb-haproxy" value="INFINITY"/>
++          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
++          <nvpair id="status-2-last-failure-lb-haproxy" name="last-failure-lb-haproxy" value="1421318629"/>
++          <nvpair id="status-2-fail-count-node2-fence" name="fail-count-node2-fence" value="INFINITY"/>
++          <nvpair id="status-2-last-failure-node1-fence" name="last-failure-node1-fence" value="1421318696"/>
++          <nvpair id="status-2-fail-count-node3-fence" name="fail-count-node3-fence" value="INFINITY"/>
++          <nvpair id="status-2-fail-count-galera" name="fail-count-galera" value="INFINITY"/>
++          <nvpair id="status-2-last-failure-node3-fence" name="last-failure-node3-fence" value="1421318719"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state id="3" uname="host-028" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member">
++      <transient_attributes id="3">
++        <instance_attributes id="status-3">
++          <nvpair id="status-3-last-failure-node3-fence" name="last-failure-node3-fence" value="1421318650"/>
++          <nvpair id="status-3-last-failure-rabbitmq-server" name="last-failure-rabbitmq-server" value="1421318676"/>
++          <nvpair id="status-3-last-failure-node1-fence" name="last-failure-node1-fence" value="1421318742"/>
++          <nvpair id="status-3-fail-count-node3-fence" name="fail-count-node3-fence" value="INFINITY"/>
++          <nvpair id="status-3-fail-count-galera" name="fail-count-galera" value="INFINITY"/>
++          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-3-fail-count-node1-fence" name="fail-count-node1-fence" value="INFINITY"/>
++          <nvpair id="status-3-fail-count-rabbitmq-server" name="fail-count-rabbitmq-server" value="INFINITY"/>
++          <nvpair id="status-3-fail-count-lb-haproxy" name="fail-count-lb-haproxy" value="INFINITY"/>
++          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
++          <nvpair id="status-3-last-failure-lb-haproxy" name="last-failure-lb-haproxy" value="1421318698"/>
++          <nvpair id="status-3-fail-count-node2-fence" name="fail-count-node2-fence" value="INFINITY"/>
++          <nvpair id="status-3-last-failure-galera" name="last-failure-galera" value="1421318698"/>
++          <nvpair id="status-3-last-failure-node2-fence" name="last-failure-node2-fence" value="1421318764"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="3">
++        <lrm_resources/>
++      </lrm>
++    </node_state>
++    <node_state id="1" uname="host-026" crmd="online" crm-debug-origin="do_state_transition" in_ccm="true" join="member" expected="member">
++      <transient_attributes id="1">
++        <instance_attributes id="status-1">
++          <nvpair id="status-1-last-failure-node3-fence" name="last-failure-node3-fence" value="1421318673"/>
++          <nvpair id="status-1-last-failure-node1-fence" name="last-failure-node1-fence" value="1421318650"/>
++          <nvpair id="status-1-fail-count-node3-fence" name="fail-count-node3-fence" value="INFINITY"/>
++          <nvpair id="status-1-fail-count-galera" name="fail-count-galera" value="INFINITY"/>
++          <nvpair id="status-1-last-failure-memcached" name="last-failure-memcached" value="1421318744"/>
++          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-1-fail-count-node1-fence" name="fail-count-node1-fence" value="INFINITY"/>
++          <nvpair id="status-1-fail-count-lb-haproxy" name="fail-count-lb-haproxy" value="INFINITY"/>
++          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
++          <nvpair id="status-1-last-failure-lb-haproxy" name="last-failure-lb-haproxy" value="1421318629"/>
++          <nvpair id="status-1-fail-count-node2-fence" name="fail-count-node2-fence" value="INFINITY"/>
++          <nvpair id="status-1-fail-count-memcached" name="fail-count-memcached" value="INFINITY"/>
++          <nvpair id="status-1-last-failure-galera" name="last-failure-galera" value="1421318721"/>
++          <nvpair id="status-1-last-failure-node2-fence" name="last-failure-node2-fence" value="1421318696"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="1">
++        <lrm_resources/>
++      </lrm>
++    </node_state>
++    <node_state remote_node="true" id="mrg-03" uname="mrg-03" crm-debug-origin="do_update_resource">
++      <lrm id="mrg-03">
++        <lrm_resources>
++          <lrm_resource id="lb-haproxy" type="haproxy" class="systemd">
++            <lrm_rsc_op id="lb-haproxy_last_0" operation_key="lb-haproxy_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="154:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;154:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="6" rc-code="7" op-status="0" interval="0" last-run="1419001059" last-rc-change="1419001059" exec-time="3" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-db" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-db_last_0" operation_key="vip-db_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="155:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;155:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="10" rc-code="7" op-status="0" interval="0" last-run="1419001059" last-rc-change="1419001059" exec-time="95" queue-time="0" op-digest="bd83dcd57107f6c3acbb6e2d40e1d756" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-rabbitmq" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-rabbitmq_last_0" operation_key="vip-rabbitmq_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="156:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;156:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="14" rc-code="7" op-status="0" interval="0" last-run="1419001060" last-rc-change="1419001060" exec-time="36" queue-time="0" op-digest="7ba719a59a5c688a8b7fd956bf87a1fa" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-qpid" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-qpid_last_0" operation_key="vip-qpid_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="157:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;157:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="18" rc-code="7" op-status="0" interval="0" last-run="1419001060" last-rc-change="1419001060" exec-time="36" queue-time="0" op-digest="d62959354aa6b47c3f36285361c2d082" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-keystone" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-keystone_last_0" operation_key="vip-keystone_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="158:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;158:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="22" rc-code="7" op-status="0" interval="0" last-run="1419001060" last-rc-change="1419001060" exec-time="36" queue-time="0" op-digest="d69192df0e0d0c91b76e20111eba774e" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-glance" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-glance_last_0" operation_key="vip-glance_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="159:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;159:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="26" rc-code="7" op-status="0" interval="0" last-run="1419001061" last-rc-change="1419001061" exec-time="36" queue-time="0" op-digest="2da6630244d6f2d1f8f44c36b67518a3" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-cinder" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-cinder_last_0" operation_key="vip-cinder_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="160:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;160:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="30" rc-code="7" op-status="0" interval="0" last-run="1419001061" last-rc-change="1419001061" exec-time="36" queue-time="0" op-digest="23848d72333024af7f572044e074b601" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-swift" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-swift_last_0" operation_key="vip-swift_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="161:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;161:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="34" rc-code="7" op-status="0" interval="0" last-run="1419001061" last-rc-change="1419001061" exec-time="36" queue-time="0" op-digest="9ff141249defb61f70df05c7bd9977b3" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-neutron" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-neutron_last_0" operation_key="vip-neutron_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="162:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;162:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="38" rc-code="7" op-status="0" interval="0" last-run="1419001062" last-rc-change="1419001062" exec-time="36" queue-time="0" op-digest="4b17de0bf3cdba285ef2deb5055bb247" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-nova" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-nova_last_0" operation_key="vip-nova_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="163:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;163:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="42" rc-code="7" op-status="0" interval="0" last-run="1419001062" last-rc-change="1419001062" exec-time="36" queue-time="0" op-digest="16dfd9890935251651bd9eae18d4cabb" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-horizon" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-horizon_last_0" operation_key="vip-horizon_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="164:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;164:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="46" rc-code="7" op-status="0" interval="0" last-run="1419001062" last-rc-change="1419001062" exec-time="36" queue-time="0" op-digest="5f7ba67ff81462367b72255342234aff" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-heat" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-heat_last_0" operation_key="vip-heat_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="165:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;165:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="50" rc-code="7" op-status="0" interval="0" last-run="1419001062" last-rc-change="1419001062" exec-time="36" queue-time="0" op-digest="a7e14d3428848000cee2f17c6f6e0d4b" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-ceilometer" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-ceilometer_last_0" operation_key="vip-ceilometer_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="166:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;166:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="54" rc-code="7" op-status="0" interval="0" last-run="1419001063" last-rc-change="1419001063" exec-time="36" queue-time="0" op-digest="e0621f478d714995b7c7207aa3b66f14" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="rabbitmq-server" type="rabbitmq-server" class="systemd">
++            <lrm_rsc_op id="rabbitmq-server_last_0" operation_key="rabbitmq-server_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="168:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;168:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="64" rc-code="7" op-status="0" interval="0" last-run="1419001064" last-rc-change="1419001064" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="qpidd" type="qpidd" class="systemd">
++            <lrm_rsc_op id="qpidd_last_0" operation_key="qpidd_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="169:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;169:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="69" rc-code="7" op-status="0" interval="0" last-run="1419001064" last-rc-change="1419001064" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="memcached" type="memcached" class="systemd">
++            <lrm_rsc_op id="memcached_last_0" operation_key="memcached_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="170:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;170:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="74" rc-code="7" op-status="0" interval="0" last-run="1419001064" last-rc-change="1419001064" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="mongodb" type="mongod" class="systemd">
++            <lrm_rsc_op id="mongodb_last_0" operation_key="mongodb_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="171:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;171:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="79" rc-code="7" op-status="0" interval="0" last-run="1419001065" last-rc-change="1419001065" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="keystone" type="openstack-keystone" class="systemd">
++            <lrm_rsc_op id="keystone_last_0" operation_key="keystone_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="172:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;172:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="84" rc-code="7" op-status="0" interval="0" last-run="1419001065" last-rc-change="1419001065" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="glance-fs" type="Filesystem" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="glance-fs_last_0" operation_key="glance-fs_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="173:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;173:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="89" rc-code="7" op-status="0" interval="0" last-run="1419001066" last-rc-change="1419001066" exec-time="80" queue-time="0" op-digest="4ff0fcceab38a3d5886d54ffe7acfc44" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="glance-registry" type="openstack-glance-registry" class="systemd">
++            <lrm_rsc_op id="glance-registry_last_0" operation_key="glance-registry_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="174:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;174:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="94" rc-code="7" op-status="0" interval="0" last-run="1419001066" last-rc-change="1419001066" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="glance-api" type="openstack-glance-api" class="systemd">
++            <lrm_rsc_op id="glance-api_last_0" operation_key="glance-api_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="175:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;175:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="99" rc-code="7" op-status="0" interval="0" last-run="1419001066" last-rc-change="1419001066" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="cinder-api" type="openstack-cinder-api" class="systemd">
++            <lrm_rsc_op id="cinder-api_last_0" operation_key="cinder-api_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="176:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;176:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="104" rc-code="7" op-status="0" interval="0" last-run="1419001067" last-rc-change="1419001067" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="cinder-scheduler" type="openstack-cinder-scheduler" class="systemd">
++            <lrm_rsc_op id="cinder-scheduler_last_0" operation_key="cinder-scheduler_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="177:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;177:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="109" rc-code="7" op-status="0" interval="0" last-run="1419001067" last-rc-change="1419001067" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="cinder-volume" type="openstack-cinder-volume" class="systemd">
++            <lrm_rsc_op id="cinder-volume_last_0" operation_key="cinder-volume_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="178:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;178:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="114" rc-code="7" op-status="0" interval="0" last-run="1419001068" last-rc-change="1419001068" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="swift-fs" type="Filesystem" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="swift-fs_last_0" operation_key="swift-fs_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="179:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;179:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="119" rc-code="7" op-status="0" interval="0" last-run="1419001068" last-rc-change="1419001068" exec-time="36" queue-time="0" op-digest="56a72ba33ffa927a833adeb9c5bba0d8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="swift-account" type="openstack-swift-account" class="systemd">
++            <lrm_rsc_op id="swift-account_last_0" operation_key="swift-account_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="180:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;180:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="124" rc-code="7" op-status="0" interval="0" last-run="1419001068" last-rc-change="1419001068" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="swift-container" type="openstack-swift-container" class="systemd">
++            <lrm_rsc_op id="swift-container_last_0" operation_key="swift-container_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="181:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;181:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="129" rc-code="7" op-status="0" interval="0" last-run="1419001069" last-rc-change="1419001069" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="swift-object" type="openstack-swift-object" class="systemd">
++            <lrm_rsc_op id="swift-object_last_0" operation_key="swift-object_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="182:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;182:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="134" rc-code="7" op-status="0" interval="0" last-run="1419001069" last-rc-change="1419001069" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="swift-proxy" type="openstack-swift-proxy" class="systemd">
++            <lrm_rsc_op id="swift-proxy_last_0" operation_key="swift-proxy_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="183:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;183:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="139" rc-code="7" op-status="0" interval="0" last-run="1419001070" last-rc-change="1419001070" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="swift-object-expirer" type="openstack-swift-object-expirer" class="systemd">
++            <lrm_rsc_op id="swift-object-expirer_last_0" operation_key="swift-object-expirer_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="184:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;184:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="143" rc-code="7" op-status="0" interval="0" last-run="1419001070" last-rc-change="1419001070" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-server" type="neutron-server" class="systemd">
++            <lrm_rsc_op id="neutron-server_last_0" operation_key="neutron-server_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="185:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;185:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="148" rc-code="7" op-status="0" interval="0" last-run="1419001070" last-rc-change="1419001070" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-scale:0" type="NeutronScale" class="ocf" provider="neutron">
++            <lrm_rsc_op id="neutron-scale:0_last_0" operation_key="neutron-scale:0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="186:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;186:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="152" rc-code="7" op-status="0" interval="0" last-run="1419001071" last-rc-change="1419001071" exec-time="25" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1" op-force-restart=" hostbasename " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-scale:1" type="NeutronScale" class="ocf" provider="neutron">
++            <lrm_rsc_op id="neutron-scale:1_last_0" operation_key="neutron-scale:1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="187:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;187:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="156" rc-code="7" op-status="0" interval="0" last-run="1419001071" last-rc-change="1419001071" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1" op-force-restart=" hostbasename " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-scale:2" type="NeutronScale" class="ocf" provider="neutron">
++            <lrm_rsc_op id="neutron-scale:2_last_0" operation_key="neutron-scale:2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="188:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;188:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="160" rc-code="7" op-status="0" interval="0" last-run="1419001071" last-rc-change="1419001071" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1" op-force-restart=" hostbasename " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-ovs-cleanup" type="OVSCleanup" class="ocf" provider="neutron">
++            <lrm_rsc_op id="neutron-ovs-cleanup_last_0" operation_key="neutron-ovs-cleanup_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="189:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;189:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="165" rc-code="7" op-status="0" interval="0" last-run="1419001072" last-rc-change="1419001072" exec-time="34" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-netns-cleanup" type="NetnsCleanup" class="ocf" provider="neutron">
++            <lrm_rsc_op id="neutron-netns-cleanup_last_0" operation_key="neutron-netns-cleanup_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="190:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;190:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="170" rc-code="7" op-status="0" interval="0" last-run="1419001072" last-rc-change="1419001072" exec-time="32" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-openvswitch-agent" type="neutron-openvswitch-agent" class="systemd">
++            <lrm_rsc_op id="neutron-openvswitch-agent_last_0" operation_key="neutron-openvswitch-agent_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="191:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;191:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="175" rc-code="7" op-status="0" interval="0" last-run="1419001073" last-rc-change="1419001073" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-dhcp-agent" type="neutron-dhcp-agent" class="systemd">
++            <lrm_rsc_op id="neutron-dhcp-agent_last_0" operation_key="neutron-dhcp-agent_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="192:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;192:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="180" rc-code="7" op-status="0" interval="0" last-run="1419001073" last-rc-change="1419001073" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-l3-agent" type="neutron-l3-agent" class="systemd">
++            <lrm_rsc_op id="neutron-l3-agent_last_0" operation_key="neutron-l3-agent_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="193:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;193:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="185" rc-code="7" op-status="0" interval="0" last-run="1419001073" last-rc-change="1419001073" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-metadata-agent" type="neutron-metadata-agent" class="systemd">
++            <lrm_rsc_op id="neutron-metadata-agent_last_0" operation_key="neutron-metadata-agent_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="194:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;194:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="190" rc-code="7" op-status="0" interval="0" last-run="1419001074" last-rc-change="1419001074" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="nova-consoleauth" type="openstack-nova-consoleauth" class="systemd">
++            <lrm_rsc_op id="nova-consoleauth_last_0" operation_key="nova-consoleauth_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="195:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;195:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="195" rc-code="7" op-status="0" interval="0" last-run="1419001074" last-rc-change="1419001074" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="nova-novncproxy" type="openstack-nova-novncproxy" class="systemd">
++            <lrm_rsc_op id="nova-novncproxy_last_0" operation_key="nova-novncproxy_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="196:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;196:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="200" rc-code="7" op-status="0" interval="0" last-run="1419001075" last-rc-change="1419001075" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="nova-api" type="openstack-nova-api" class="systemd">
++            <lrm_rsc_op id="nova-api_last_0" operation_key="nova-api_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="197:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;197:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="205" rc-code="7" op-status="0" interval="0" last-run="1419001075" last-rc-change="1419001075" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="nova-scheduler" type="openstack-nova-scheduler" class="systemd">
++            <lrm_rsc_op id="nova-scheduler_last_0" operation_key="nova-scheduler_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="198:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;198:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="210" rc-code="7" op-status="0" interval="0" last-run="1419001075" last-rc-change="1419001075" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="nova-conductor" type="openstack-nova-conductor" class="systemd">
++            <lrm_rsc_op id="nova-conductor_last_0" operation_key="nova-conductor_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="199:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;199:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="215" rc-code="7" op-status="0" interval="0" last-run="1419001076" last-rc-change="1419001076" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-central" type="openstack-ceilometer-central" class="systemd">
++            <lrm_rsc_op id="ceilometer-central_last_0" operation_key="ceilometer-central_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="200:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;200:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="219" rc-code="7" op-status="0" interval="0" last-run="1419001076" last-rc-change="1419001076" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-collector" type="openstack-ceilometer-collector" class="systemd">
++            <lrm_rsc_op id="ceilometer-collector_last_0" operation_key="ceilometer-collector_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="201:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;201:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="224" rc-code="7" op-status="0" interval="0" last-run="1419001076" last-rc-change="1419001076" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-api" type="openstack-ceilometer-api" class="systemd">
++            <lrm_rsc_op id="ceilometer-api_last_0" operation_key="ceilometer-api_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="202:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;202:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="229" rc-code="7" op-status="0" interval="0" last-run="1419001077" last-rc-change="1419001077" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-alarm-evaluator" type="openstack-ceilometer-alarm-evaluator" class="systemd">
++            <lrm_rsc_op id="ceilometer-alarm-evaluator_last_0" operation_key="ceilometer-alarm-evaluator_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="204:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;204:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="239" rc-code="7" op-status="0" interval="0" last-run="1419001078" last-rc-change="1419001078" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-alarm-notifier" type="openstack-ceilometer-alarm-notifier" class="systemd">
++            <lrm_rsc_op id="ceilometer-alarm-notifier_last_0" operation_key="ceilometer-alarm-notifier_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="205:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;205:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="244" rc-code="7" op-status="0" interval="0" last-run="1419001078" last-rc-change="1419001078" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-notification" type="openstack-ceilometer-notification" class="systemd">
++            <lrm_rsc_op id="ceilometer-notification_last_0" operation_key="ceilometer-notification_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="206:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;206:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="249" rc-code="7" op-status="0" interval="0" last-run="1419001078" last-rc-change="1419001078" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="heat-api" type="openstack-heat-api" class="systemd">
++            <lrm_rsc_op id="heat-api_last_0" operation_key="heat-api_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="207:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;207:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="254" rc-code="7" op-status="0" interval="0" last-run="1419001079" last-rc-change="1419001079" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="heat-api-cfn" type="openstack-heat-api-cfn" class="systemd">
++            <lrm_rsc_op id="heat-api-cfn_last_0" operation_key="heat-api-cfn_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="208:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;208:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="259" rc-code="7" op-status="0" interval="0" last-run="1419001079" last-rc-change="1419001079" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="heat-api-cloudwatch" type="openstack-heat-api-cloudwatch" class="systemd">
++            <lrm_rsc_op id="heat-api-cloudwatch_last_0" operation_key="heat-api-cloudwatch_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="209:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;209:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="264" rc-code="7" op-status="0" interval="0" last-run="1419001080" last-rc-change="1419001080" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="heat-engine" type="openstack-heat-engine" class="systemd">
++            <lrm_rsc_op id="heat-engine_last_0" operation_key="heat-engine_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="210:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;210:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="268" rc-code="7" op-status="0" interval="0" last-run="1419001080" last-rc-change="1419001080" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="horizon" type="apache" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="horizon_last_0" operation_key="horizon_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="211:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;211:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="273" rc-code="7" op-status="0" interval="0" last-run="1419001080" last-rc-change="1419001080" exec-time="34" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-openvswitch-agent-compute" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="neutron-openvswitch-agent-compute_last_0" operation_key="neutron-openvswitch-agent-compute_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="695:30:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;695:30:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="295" rc-code="0" op-status="0" interval="0" last-run="1419001087" last-rc-change="1419001087" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="neutron-openvswitch-agent-compute_monitor_10000" operation_key="neutron-openvswitch-agent-compute_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="620:31:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;620:31:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="296" rc-code="0" op-status="0" interval="10000" last-rc-change="1419001090" exec-time="41" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="libvirtd-compute" type="libvirtd" class="systemd">
++            <lrm_rsc_op id="libvirtd-compute_last_0" operation_key="libvirtd-compute_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="629:31:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;629:31:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="297" rc-code="0" op-status="0" interval="0" last-run="1419001092" last-rc-change="1419001092" exec-time="1" queue-time="2001" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++            <lrm_rsc_op id="libvirtd-compute_monitor_60000" operation_key="libvirtd-compute_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="630:31:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;630:31:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="298" rc-code="0" op-status="0" interval="60000" last-rc-change="1419001092" exec-time="1" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-compute" type="openstack-ceilometer-compute" class="systemd">
++            <lrm_rsc_op id="ceilometer-compute_last_0" operation_key="ceilometer-compute_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="637:31:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;637:31:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="299" rc-code="0" op-status="0" interval="0" last-run="1419001094" last-rc-change="1419001094" exec-time="2" queue-time="2001" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++            <lrm_rsc_op id="ceilometer-compute_monitor_60000" operation_key="ceilometer-compute_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="638:31:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;638:31:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="300" rc-code="0" op-status="0" interval="60000" last-rc-change="1419001094" exec-time="2" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="nova-compute" type="openstack-nova-compute" class="systemd">
++            <lrm_rsc_op id="nova-compute_last_0" operation_key="nova-compute_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="666:55:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;666:55:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="429" rc-code="0" op-status="0" interval="0" last-run="1419007680" last-rc-change="1419007680" exec-time="1" queue-time="2002" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node2"/>
++            <lrm_rsc_op id="nova-compute_monitor_60000" operation_key="nova-compute_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="667:55:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;667:55:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="430" rc-code="0" op-status="0" interval="60000" last-rc-change="1419007681" exec-time="2" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhos6-node2"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-delay" type="Delay" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="ceilometer-delay_last_0" operation_key="ceilometer-delay_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="203:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;203:30:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="234" rc-code="7" op-status="0" interval="0" last-run="1419001077" last-rc-change="1419001077" exec-time="10023" queue-time="0" op-digest="ad19c7364a8662d5d94488a98ccc4fda" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="galera" type="galera" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="galera_last_0" operation_key="galera_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="114:44:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;114:44:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="327" rc-code="7" op-status="0" interval="0" last-run="1419001727" last-rc-change="1419001727" exec-time="54" queue-time="0" op-digest="a357a4e08e165ea819421e864e21c1cf" on_node="rhos6-node2"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="mrg-03">
++        <instance_attributes id="status-mrg-03">
++          <nvpair id="status-mrg-03-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state remote_node="true" id="mrg-02" uname="mrg-02" crm-debug-origin="do_update_resource">
++      <lrm id="mrg-02">
++        <lrm_resources>
++          <lrm_resource id="lb-haproxy" type="haproxy" class="systemd">
++            <lrm_rsc_op id="lb-haproxy_last_0" operation_key="lb-haproxy_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="157:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;157:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="6" rc-code="7" op-status="0" interval="0" last-run="1419001328" last-rc-change="1419001328" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-db" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-db_last_0" operation_key="vip-db_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="158:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;158:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="10" rc-code="7" op-status="0" interval="0" last-run="1419001328" last-rc-change="1419001328" exec-time="91" queue-time="0" op-digest="bd83dcd57107f6c3acbb6e2d40e1d756" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-rabbitmq" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-rabbitmq_last_0" operation_key="vip-rabbitmq_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="159:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;159:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="14" rc-code="7" op-status="0" interval="0" last-run="1419001328" last-rc-change="1419001328" exec-time="35" queue-time="0" op-digest="7ba719a59a5c688a8b7fd956bf87a1fa" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-qpid" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-qpid_last_0" operation_key="vip-qpid_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="160:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;160:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="18" rc-code="7" op-status="0" interval="0" last-run="1419001329" last-rc-change="1419001329" exec-time="34" queue-time="0" op-digest="d62959354aa6b47c3f36285361c2d082" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-keystone" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-keystone_last_0" operation_key="vip-keystone_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="161:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;161:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="22" rc-code="7" op-status="0" interval="0" last-run="1419001329" last-rc-change="1419001329" exec-time="34" queue-time="0" op-digest="d69192df0e0d0c91b76e20111eba774e" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-glance" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-glance_last_0" operation_key="vip-glance_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="162:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;162:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="26" rc-code="7" op-status="0" interval="0" last-run="1419001329" last-rc-change="1419001329" exec-time="35" queue-time="0" op-digest="2da6630244d6f2d1f8f44c36b67518a3" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-cinder" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-cinder_last_0" operation_key="vip-cinder_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="163:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;163:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="30" rc-code="7" op-status="0" interval="0" last-run="1419001329" last-rc-change="1419001329" exec-time="35" queue-time="0" op-digest="23848d72333024af7f572044e074b601" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-swift" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-swift_last_0" operation_key="vip-swift_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="164:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;164:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="34" rc-code="7" op-status="0" interval="0" last-run="1419001330" last-rc-change="1419001330" exec-time="35" queue-time="0" op-digest="9ff141249defb61f70df05c7bd9977b3" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-neutron" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-neutron_last_0" operation_key="vip-neutron_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="165:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;165:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="38" rc-code="7" op-status="0" interval="0" last-run="1419001330" last-rc-change="1419001330" exec-time="35" queue-time="0" op-digest="4b17de0bf3cdba285ef2deb5055bb247" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-nova" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-nova_last_0" operation_key="vip-nova_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="166:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;166:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="42" rc-code="7" op-status="0" interval="0" last-run="1419001330" last-rc-change="1419001330" exec-time="35" queue-time="0" op-digest="16dfd9890935251651bd9eae18d4cabb" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-horizon" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-horizon_last_0" operation_key="vip-horizon_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="167:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;167:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="46" rc-code="7" op-status="0" interval="0" last-run="1419001331" last-rc-change="1419001331" exec-time="35" queue-time="0" op-digest="5f7ba67ff81462367b72255342234aff" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-heat" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-heat_last_0" operation_key="vip-heat_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="168:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;168:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="50" rc-code="7" op-status="0" interval="0" last-run="1419001331" last-rc-change="1419001331" exec-time="35" queue-time="0" op-digest="a7e14d3428848000cee2f17c6f6e0d4b" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="vip-ceilometer" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-ceilometer_last_0" operation_key="vip-ceilometer_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="169:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;169:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="54" rc-code="7" op-status="0" interval="0" last-run="1419001331" last-rc-change="1419001331" exec-time="35" queue-time="0" op-digest="e0621f478d714995b7c7207aa3b66f14" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="rabbitmq-server" type="rabbitmq-server" class="systemd">
++            <lrm_rsc_op id="rabbitmq-server_last_0" operation_key="rabbitmq-server_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="171:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;171:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="64" rc-code="7" op-status="0" interval="0" last-run="1419001332" last-rc-change="1419001332" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="qpidd" type="qpidd" class="systemd">
++            <lrm_rsc_op id="qpidd_last_0" operation_key="qpidd_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="172:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;172:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="69" rc-code="7" op-status="0" interval="0" last-run="1419001333" last-rc-change="1419001333" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="memcached" type="memcached" class="systemd">
++            <lrm_rsc_op id="memcached_last_0" operation_key="memcached_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="173:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;173:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="74" rc-code="7" op-status="0" interval="0" last-run="1419001333" last-rc-change="1419001333" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="mongodb" type="mongod" class="systemd">
++            <lrm_rsc_op id="mongodb_last_0" operation_key="mongodb_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="174:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;174:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="79" rc-code="7" op-status="0" interval="0" last-run="1419001333" last-rc-change="1419001333" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="keystone" type="openstack-keystone" class="systemd">
++            <lrm_rsc_op id="keystone_last_0" operation_key="keystone_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="175:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;175:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="84" rc-code="7" op-status="0" interval="0" last-run="1419001334" last-rc-change="1419001334" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="glance-fs" type="Filesystem" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="glance-fs_last_0" operation_key="glance-fs_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="176:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;176:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="89" rc-code="7" op-status="0" interval="0" last-run="1419001334" last-rc-change="1419001334" exec-time="81" queue-time="0" op-digest="4ff0fcceab38a3d5886d54ffe7acfc44" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="glance-registry" type="openstack-glance-registry" class="systemd">
++            <lrm_rsc_op id="glance-registry_last_0" operation_key="glance-registry_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="177:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;177:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="94" rc-code="7" op-status="0" interval="0" last-run="1419001335" last-rc-change="1419001335" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="glance-api" type="openstack-glance-api" class="systemd">
++            <lrm_rsc_op id="glance-api_last_0" operation_key="glance-api_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="178:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;178:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="99" rc-code="7" op-status="0" interval="0" last-run="1419001335" last-rc-change="1419001335" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="cinder-api" type="openstack-cinder-api" class="systemd">
++            <lrm_rsc_op id="cinder-api_last_0" operation_key="cinder-api_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="179:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;179:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="104" rc-code="7" op-status="0" interval="0" last-run="1419001335" last-rc-change="1419001335" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="cinder-scheduler" type="openstack-cinder-scheduler" class="systemd">
++            <lrm_rsc_op id="cinder-scheduler_last_0" operation_key="cinder-scheduler_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="180:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;180:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="109" rc-code="7" op-status="0" interval="0" last-run="1419001336" last-rc-change="1419001336" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="cinder-volume" type="openstack-cinder-volume" class="systemd">
++            <lrm_rsc_op id="cinder-volume_last_0" operation_key="cinder-volume_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="181:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;181:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="114" rc-code="7" op-status="0" interval="0" last-run="1419001336" last-rc-change="1419001336" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="swift-fs" type="Filesystem" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="swift-fs_last_0" operation_key="swift-fs_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="182:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;182:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="119" rc-code="7" op-status="0" interval="0" last-run="1419001337" last-rc-change="1419001337" exec-time="39" queue-time="0" op-digest="56a72ba33ffa927a833adeb9c5bba0d8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="swift-account" type="openstack-swift-account" class="systemd">
++            <lrm_rsc_op id="swift-account_last_0" operation_key="swift-account_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="183:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;183:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="124" rc-code="7" op-status="0" interval="0" last-run="1419001337" last-rc-change="1419001337" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="swift-container" type="openstack-swift-container" class="systemd">
++            <lrm_rsc_op id="swift-container_last_0" operation_key="swift-container_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="184:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;184:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="129" rc-code="7" op-status="0" interval="0" last-run="1419001337" last-rc-change="1419001337" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="swift-object" type="openstack-swift-object" class="systemd">
++            <lrm_rsc_op id="swift-object_last_0" operation_key="swift-object_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="185:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;185:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="134" rc-code="7" op-status="0" interval="0" last-run="1419001338" last-rc-change="1419001338" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="swift-proxy" type="openstack-swift-proxy" class="systemd">
++            <lrm_rsc_op id="swift-proxy_last_0" operation_key="swift-proxy_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="186:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;186:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="139" rc-code="7" op-status="0" interval="0" last-run="1419001338" last-rc-change="1419001338" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="swift-object-expirer" type="openstack-swift-object-expirer" class="systemd">
++            <lrm_rsc_op id="swift-object-expirer_last_0" operation_key="swift-object-expirer_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="187:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;187:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="143" rc-code="7" op-status="0" interval="0" last-run="1419001339" last-rc-change="1419001339" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-server" type="neutron-server" class="systemd">
++            <lrm_rsc_op id="neutron-server_last_0" operation_key="neutron-server_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="188:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;188:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="148" rc-code="7" op-status="0" interval="0" last-run="1419001339" last-rc-change="1419001339" exec-time="25" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-scale:0" type="NeutronScale" class="ocf" provider="neutron">
++            <lrm_rsc_op id="neutron-scale:0_last_0" operation_key="neutron-scale:0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="189:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;189:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="152" rc-code="7" op-status="0" interval="0" last-run="1419001339" last-rc-change="1419001339" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1" op-force-restart=" hostbasename " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-scale:1" type="NeutronScale" class="ocf" provider="neutron">
++            <lrm_rsc_op id="neutron-scale:1_last_0" operation_key="neutron-scale:1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="190:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;190:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="156" rc-code="7" op-status="0" interval="0" last-run="1419001340" last-rc-change="1419001340" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1" op-force-restart=" hostbasename " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-scale:2" type="NeutronScale" class="ocf" provider="neutron">
++            <lrm_rsc_op id="neutron-scale:2_last_0" operation_key="neutron-scale:2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="191:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;191:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="160" rc-code="7" op-status="0" interval="0" last-run="1419001340" last-rc-change="1419001340" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1" op-force-restart=" hostbasename " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-ovs-cleanup" type="OVSCleanup" class="ocf" provider="neutron">
++            <lrm_rsc_op id="neutron-ovs-cleanup_last_0" operation_key="neutron-ovs-cleanup_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="192:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;192:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="165" rc-code="7" op-status="0" interval="0" last-run="1419001340" last-rc-change="1419001340" exec-time="31" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-netns-cleanup" type="NetnsCleanup" class="ocf" provider="neutron">
++            <lrm_rsc_op id="neutron-netns-cleanup_last_0" operation_key="neutron-netns-cleanup_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="193:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;193:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="170" rc-code="7" op-status="0" interval="0" last-run="1419001341" last-rc-change="1419001341" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-openvswitch-agent" type="neutron-openvswitch-agent" class="systemd">
++            <lrm_rsc_op id="neutron-openvswitch-agent_last_0" operation_key="neutron-openvswitch-agent_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="194:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;194:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="175" rc-code="7" op-status="0" interval="0" last-run="1419001341" last-rc-change="1419001341" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-dhcp-agent" type="neutron-dhcp-agent" class="systemd">
++            <lrm_rsc_op id="neutron-dhcp-agent_last_0" operation_key="neutron-dhcp-agent_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="195:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;195:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="180" rc-code="7" op-status="0" interval="0" last-run="1419001342" last-rc-change="1419001342" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-l3-agent" type="neutron-l3-agent" class="systemd">
++            <lrm_rsc_op id="neutron-l3-agent_last_0" operation_key="neutron-l3-agent_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="196:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;196:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="185" rc-code="7" op-status="0" interval="0" last-run="1419001342" last-rc-change="1419001342" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-metadata-agent" type="neutron-metadata-agent" class="systemd">
++            <lrm_rsc_op id="neutron-metadata-agent_last_0" operation_key="neutron-metadata-agent_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="197:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;197:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="190" rc-code="7" op-status="0" interval="0" last-run="1419001342" last-rc-change="1419001342" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="nova-consoleauth" type="openstack-nova-consoleauth" class="systemd">
++            <lrm_rsc_op id="nova-consoleauth_last_0" operation_key="nova-consoleauth_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="198:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;198:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="195" rc-code="7" op-status="0" interval="0" last-run="1419001343" last-rc-change="1419001343" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="nova-novncproxy" type="openstack-nova-novncproxy" class="systemd">
++            <lrm_rsc_op id="nova-novncproxy_last_0" operation_key="nova-novncproxy_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="199:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;199:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="200" rc-code="7" op-status="0" interval="0" last-run="1419001343" last-rc-change="1419001343" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="nova-api" type="openstack-nova-api" class="systemd">
++            <lrm_rsc_op id="nova-api_last_0" operation_key="nova-api_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="200:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;200:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="205" rc-code="7" op-status="0" interval="0" last-run="1419001344" last-rc-change="1419001344" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="nova-scheduler" type="openstack-nova-scheduler" class="systemd">
++            <lrm_rsc_op id="nova-scheduler_last_0" operation_key="nova-scheduler_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="201:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;201:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="210" rc-code="7" op-status="0" interval="0" last-run="1419001344" last-rc-change="1419001344" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="nova-conductor" type="openstack-nova-conductor" class="systemd">
++            <lrm_rsc_op id="nova-conductor_last_0" operation_key="nova-conductor_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="202:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;202:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="215" rc-code="7" op-status="0" interval="0" last-run="1419001344" last-rc-change="1419001344" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-central" type="openstack-ceilometer-central" class="systemd">
++            <lrm_rsc_op id="ceilometer-central_last_0" operation_key="ceilometer-central_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="203:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;203:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="219" rc-code="7" op-status="0" interval="0" last-run="1419001345" last-rc-change="1419001345" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-collector" type="openstack-ceilometer-collector" class="systemd">
++            <lrm_rsc_op id="ceilometer-collector_last_0" operation_key="ceilometer-collector_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="204:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;204:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="224" rc-code="7" op-status="0" interval="0" last-run="1419001345" last-rc-change="1419001345" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-api" type="openstack-ceilometer-api" class="systemd">
++            <lrm_rsc_op id="ceilometer-api_last_0" operation_key="ceilometer-api_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="205:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;205:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="229" rc-code="7" op-status="0" interval="0" last-run="1419001346" last-rc-change="1419001346" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-alarm-evaluator" type="openstack-ceilometer-alarm-evaluator" class="systemd">
++            <lrm_rsc_op id="ceilometer-alarm-evaluator_last_0" operation_key="ceilometer-alarm-evaluator_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="207:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;207:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="239" rc-code="7" op-status="0" interval="0" last-run="1419001346" last-rc-change="1419001346" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-alarm-notifier" type="openstack-ceilometer-alarm-notifier" class="systemd">
++            <lrm_rsc_op id="ceilometer-alarm-notifier_last_0" operation_key="ceilometer-alarm-notifier_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="208:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;208:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="244" rc-code="7" op-status="0" interval="0" last-run="1419001347" last-rc-change="1419001347" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-notification" type="openstack-ceilometer-notification" class="systemd">
++            <lrm_rsc_op id="ceilometer-notification_last_0" operation_key="ceilometer-notification_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="209:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;209:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="249" rc-code="7" op-status="0" interval="0" last-run="1419001347" last-rc-change="1419001347" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="heat-api" type="openstack-heat-api" class="systemd">
++            <lrm_rsc_op id="heat-api_last_0" operation_key="heat-api_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="210:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;210:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="254" rc-code="7" op-status="0" interval="0" last-run="1419001348" last-rc-change="1419001348" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="heat-api-cfn" type="openstack-heat-api-cfn" class="systemd">
++            <lrm_rsc_op id="heat-api-cfn_last_0" operation_key="heat-api-cfn_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="211:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;211:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="259" rc-code="7" op-status="0" interval="0" last-run="1419001348" last-rc-change="1419001348" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="heat-api-cloudwatch" type="openstack-heat-api-cloudwatch" class="systemd">
++            <lrm_rsc_op id="heat-api-cloudwatch_last_0" operation_key="heat-api-cloudwatch_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="212:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;212:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="264" rc-code="7" op-status="0" interval="0" last-run="1419001348" last-rc-change="1419001348" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="heat-engine" type="openstack-heat-engine" class="systemd">
++            <lrm_rsc_op id="heat-engine_last_0" operation_key="heat-engine_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="213:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;213:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="268" rc-code="7" op-status="0" interval="0" last-run="1419001349" last-rc-change="1419001349" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="horizon" type="apache" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="horizon_last_0" operation_key="horizon_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="214:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;214:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="273" rc-code="7" op-status="0" interval="0" last-run="1419001349" last-rc-change="1419001349" exec-time="40" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-openvswitch-agent-compute" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="neutron-openvswitch-agent-compute_last_0" operation_key="neutron-openvswitch-agent-compute_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="699:33:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;699:33:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="295" rc-code="0" op-status="0" interval="0" last-run="1419001356" last-rc-change="1419001356" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="neutron-openvswitch-agent-compute_monitor_10000" operation_key="neutron-openvswitch-agent-compute_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="637:34:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;637:34:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="296" rc-code="0" op-status="0" interval="10000" last-rc-change="1419001357" exec-time="42" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="libvirtd-compute" type="libvirtd" class="systemd">
++            <lrm_rsc_op id="libvirtd-compute_last_0" operation_key="libvirtd-compute_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="648:34:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;648:34:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="297" rc-code="0" op-status="0" interval="0" last-run="1419001359" last-rc-change="1419001359" exec-time="2" queue-time="2001" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++            <lrm_rsc_op id="libvirtd-compute_monitor_60000" operation_key="libvirtd-compute_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="649:34:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;649:34:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="298" rc-code="0" op-status="0" interval="60000" last-rc-change="1419001359" exec-time="1" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-compute" type="openstack-ceilometer-compute" class="systemd">
++            <lrm_rsc_op id="ceilometer-compute_last_0" operation_key="ceilometer-compute_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="658:34:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;658:34:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="299" rc-code="0" op-status="0" interval="0" last-run="1419001361" last-rc-change="1419001361" exec-time="2" queue-time="2002" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++            <lrm_rsc_op id="ceilometer-compute_monitor_60000" operation_key="ceilometer-compute_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="659:34:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;659:34:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="300" rc-code="0" op-status="0" interval="60000" last-rc-change="1419001361" exec-time="1" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="nova-compute" type="openstack-nova-compute" class="systemd">
++            <lrm_rsc_op id="nova-compute_last_0" operation_key="nova-compute_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="664:55:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;664:55:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="428" rc-code="0" op-status="0" interval="0" last-run="1419007680" last-rc-change="1419007680" exec-time="2" queue-time="2001" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node1"/>
++            <lrm_rsc_op id="nova-compute_monitor_60000" operation_key="nova-compute_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="665:55:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;665:55:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="429" rc-code="0" op-status="0" interval="60000" last-rc-change="1419007681" exec-time="1" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-delay" type="Delay" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="ceilometer-delay_last_0" operation_key="ceilometer-delay_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="206:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;206:33:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="234" rc-code="7" op-status="0" interval="0" last-run="1419001346" last-rc-change="1419001346" exec-time="10024" queue-time="0" op-digest="ad19c7364a8662d5d94488a98ccc4fda" on_node="rhos6-node1"/>
++          </lrm_resource>
++          <lrm_resource id="galera" type="galera" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="galera_last_0" operation_key="galera_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="112:44:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;112:44:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="320" rc-code="7" op-status="0" interval="0" last-run="1419001727" last-rc-change="1419001727" exec-time="52" queue-time="0" op-digest="a357a4e08e165ea819421e864e21c1cf" on_node="rhos6-node1"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="mrg-02">
++        <instance_attributes id="status-mrg-02">
++          <nvpair id="status-mrg-02-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state remote_node="true" id="mrg-04" uname="mrg-04" crm-debug-origin="do_update_resource">
++      <lrm id="mrg-04">
++        <lrm_resources>
++          <lrm_resource id="lb-haproxy" type="haproxy" class="systemd">
++            <lrm_rsc_op id="lb-haproxy_last_0" operation_key="lb-haproxy_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="161:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;161:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="6" rc-code="7" op-status="0" interval="0" last-run="1418999957" last-rc-change="1418999957" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="vip-db" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-db_last_0" operation_key="vip-db_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="162:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;162:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="10" rc-code="7" op-status="0" interval="0" last-run="1418999958" last-rc-change="1418999958" exec-time="95" queue-time="0" op-digest="bd83dcd57107f6c3acbb6e2d40e1d756" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="vip-rabbitmq" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-rabbitmq_last_0" operation_key="vip-rabbitmq_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="163:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;163:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="14" rc-code="7" op-status="0" interval="0" last-run="1418999958" last-rc-change="1418999958" exec-time="35" queue-time="0" op-digest="7ba719a59a5c688a8b7fd956bf87a1fa" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="vip-qpid" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-qpid_last_0" operation_key="vip-qpid_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="164:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;164:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="18" rc-code="7" op-status="0" interval="0" last-run="1418999958" last-rc-change="1418999958" exec-time="36" queue-time="0" op-digest="d62959354aa6b47c3f36285361c2d082" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="vip-keystone" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-keystone_last_0" operation_key="vip-keystone_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="165:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;165:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="22" rc-code="7" op-status="0" interval="0" last-run="1418999959" last-rc-change="1418999959" exec-time="36" queue-time="0" op-digest="d69192df0e0d0c91b76e20111eba774e" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="vip-glance" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-glance_last_0" operation_key="vip-glance_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="166:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;166:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="26" rc-code="7" op-status="0" interval="0" last-run="1418999959" last-rc-change="1418999959" exec-time="36" queue-time="0" op-digest="2da6630244d6f2d1f8f44c36b67518a3" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="vip-cinder" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-cinder_last_0" operation_key="vip-cinder_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="167:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;167:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="30" rc-code="7" op-status="0" interval="0" last-run="1418999959" last-rc-change="1418999959" exec-time="35" queue-time="0" op-digest="23848d72333024af7f572044e074b601" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="vip-swift" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-swift_last_0" operation_key="vip-swift_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="168:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;168:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="34" rc-code="7" op-status="0" interval="0" last-run="1418999960" last-rc-change="1418999960" exec-time="35" queue-time="0" op-digest="9ff141249defb61f70df05c7bd9977b3" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="vip-neutron" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-neutron_last_0" operation_key="vip-neutron_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="169:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;169:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="38" rc-code="7" op-status="0" interval="0" last-run="1418999960" last-rc-change="1418999960" exec-time="35" queue-time="0" op-digest="4b17de0bf3cdba285ef2deb5055bb247" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="vip-nova" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-nova_last_0" operation_key="vip-nova_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="170:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;170:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="42" rc-code="7" op-status="0" interval="0" last-run="1418999960" last-rc-change="1418999960" exec-time="36" queue-time="0" op-digest="16dfd9890935251651bd9eae18d4cabb" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="vip-horizon" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-horizon_last_0" operation_key="vip-horizon_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="171:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;171:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="46" rc-code="7" op-status="0" interval="0" last-run="1418999960" last-rc-change="1418999960" exec-time="35" queue-time="0" op-digest="5f7ba67ff81462367b72255342234aff" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="vip-heat" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-heat_last_0" operation_key="vip-heat_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="172:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;172:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="50" rc-code="7" op-status="0" interval="0" last-run="1418999961" last-rc-change="1418999961" exec-time="36" queue-time="0" op-digest="a7e14d3428848000cee2f17c6f6e0d4b" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="vip-ceilometer" type="IPaddr2" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="vip-ceilometer_last_0" operation_key="vip-ceilometer_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="173:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;173:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="54" rc-code="7" op-status="0" interval="0" last-run="1418999961" last-rc-change="1418999961" exec-time="35" queue-time="0" op-digest="e0621f478d714995b7c7207aa3b66f14" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="rabbitmq-server" type="rabbitmq-server" class="systemd">
++            <lrm_rsc_op id="rabbitmq-server_last_0" operation_key="rabbitmq-server_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="175:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;175:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="64" rc-code="7" op-status="0" interval="0" last-run="1418999962" last-rc-change="1418999962" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="qpidd" type="qpidd" class="systemd">
++            <lrm_rsc_op id="qpidd_last_0" operation_key="qpidd_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="176:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;176:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="69" rc-code="7" op-status="0" interval="0" last-run="1418999962" last-rc-change="1418999962" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="memcached" type="memcached" class="systemd">
++            <lrm_rsc_op id="memcached_last_0" operation_key="memcached_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="177:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;177:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="74" rc-code="7" op-status="0" interval="0" last-run="1418999963" last-rc-change="1418999963" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="mongodb" type="mongod" class="systemd">
++            <lrm_rsc_op id="mongodb_last_0" operation_key="mongodb_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="178:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;178:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="79" rc-code="7" op-status="0" interval="0" last-run="1418999963" last-rc-change="1418999963" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="keystone" type="openstack-keystone" class="systemd">
++            <lrm_rsc_op id="keystone_last_0" operation_key="keystone_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="179:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;179:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="84" rc-code="7" op-status="0" interval="0" last-run="1418999964" last-rc-change="1418999964" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="glance-fs" type="Filesystem" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="glance-fs_last_0" operation_key="glance-fs_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="180:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;180:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="89" rc-code="7" op-status="0" interval="0" last-run="1418999964" last-rc-change="1418999964" exec-time="80" queue-time="0" op-digest="4ff0fcceab38a3d5886d54ffe7acfc44" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="glance-registry" type="openstack-glance-registry" class="systemd">
++            <lrm_rsc_op id="glance-registry_last_0" operation_key="glance-registry_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="181:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;181:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="94" rc-code="7" op-status="0" interval="0" last-run="1418999964" last-rc-change="1418999964" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="glance-api" type="openstack-glance-api" class="systemd">
++            <lrm_rsc_op id="glance-api_last_0" operation_key="glance-api_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="182:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;182:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="99" rc-code="7" op-status="0" interval="0" last-run="1418999965" last-rc-change="1418999965" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="cinder-api" type="openstack-cinder-api" class="systemd">
++            <lrm_rsc_op id="cinder-api_last_0" operation_key="cinder-api_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="183:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;183:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="104" rc-code="7" op-status="0" interval="0" last-run="1418999965" last-rc-change="1418999965" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="cinder-scheduler" type="openstack-cinder-scheduler" class="systemd">
++            <lrm_rsc_op id="cinder-scheduler_last_0" operation_key="cinder-scheduler_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="184:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;184:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="109" rc-code="7" op-status="0" interval="0" last-run="1418999966" last-rc-change="1418999966" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="cinder-volume" type="openstack-cinder-volume" class="systemd">
++            <lrm_rsc_op id="cinder-volume_last_0" operation_key="cinder-volume_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="185:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;185:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="114" rc-code="7" op-status="0" interval="0" last-run="1418999966" last-rc-change="1418999966" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="swift-fs" type="Filesystem" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="swift-fs_last_0" operation_key="swift-fs_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="186:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;186:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="119" rc-code="7" op-status="0" interval="0" last-run="1418999966" last-rc-change="1418999966" exec-time="39" queue-time="0" op-digest="56a72ba33ffa927a833adeb9c5bba0d8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="swift-account" type="openstack-swift-account" class="systemd">
++            <lrm_rsc_op id="swift-account_last_0" operation_key="swift-account_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="187:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;187:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="124" rc-code="7" op-status="0" interval="0" last-run="1418999967" last-rc-change="1418999967" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="swift-container" type="openstack-swift-container" class="systemd">
++            <lrm_rsc_op id="swift-container_last_0" operation_key="swift-container_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="188:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;188:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="129" rc-code="7" op-status="0" interval="0" last-run="1418999967" last-rc-change="1418999967" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="swift-object" type="openstack-swift-object" class="systemd">
++            <lrm_rsc_op id="swift-object_last_0" operation_key="swift-object_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="189:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;189:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="134" rc-code="7" op-status="0" interval="0" last-run="1418999968" last-rc-change="1418999968" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="swift-proxy" type="openstack-swift-proxy" class="systemd">
++            <lrm_rsc_op id="swift-proxy_last_0" operation_key="swift-proxy_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="190:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;190:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="139" rc-code="7" op-status="0" interval="0" last-run="1418999968" last-rc-change="1418999968" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="swift-object-expirer" type="openstack-swift-object-expirer" class="systemd">
++            <lrm_rsc_op id="swift-object-expirer_last_0" operation_key="swift-object-expirer_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="191:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;191:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="143" rc-code="7" op-status="0" interval="0" last-run="1418999968" last-rc-change="1418999968" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-server" type="neutron-server" class="systemd">
++            <lrm_rsc_op id="neutron-server_last_0" operation_key="neutron-server_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="192:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;192:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="148" rc-code="7" op-status="0" interval="0" last-run="1418999969" last-rc-change="1418999969" exec-time="19" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-scale:0" type="NeutronScale" class="ocf" provider="neutron">
++            <lrm_rsc_op id="neutron-scale:0_last_0" operation_key="neutron-scale:0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="193:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;193:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="152" rc-code="7" op-status="0" interval="0" last-run="1418999969" last-rc-change="1418999969" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3" op-force-restart=" hostbasename " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-scale:1" type="NeutronScale" class="ocf" provider="neutron">
++            <lrm_rsc_op id="neutron-scale:1_last_0" operation_key="neutron-scale:1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="194:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;194:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="156" rc-code="7" op-status="0" interval="0" last-run="1418999969" last-rc-change="1418999969" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3" op-force-restart=" hostbasename " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-scale:2" type="NeutronScale" class="ocf" provider="neutron">
++            <lrm_rsc_op id="neutron-scale:2_last_0" operation_key="neutron-scale:2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="195:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;195:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="160" rc-code="7" op-status="0" interval="0" last-run="1418999970" last-rc-change="1418999970" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3" op-force-restart=" hostbasename " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-ovs-cleanup" type="OVSCleanup" class="ocf" provider="neutron">
++            <lrm_rsc_op id="neutron-ovs-cleanup_last_0" operation_key="neutron-ovs-cleanup_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="196:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;196:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="165" rc-code="7" op-status="0" interval="0" last-run="1418999970" last-rc-change="1418999970" exec-time="28" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-netns-cleanup" type="NetnsCleanup" class="ocf" provider="neutron">
++            <lrm_rsc_op id="neutron-netns-cleanup_last_0" operation_key="neutron-netns-cleanup_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="197:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;197:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="170" rc-code="7" op-status="0" interval="0" last-run="1418999970" last-rc-change="1418999970" exec-time="29" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-openvswitch-agent" type="neutron-openvswitch-agent" class="systemd">
++            <lrm_rsc_op id="neutron-openvswitch-agent_last_0" operation_key="neutron-openvswitch-agent_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="198:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;198:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="175" rc-code="7" op-status="0" interval="0" last-run="1418999971" last-rc-change="1418999971" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-dhcp-agent" type="neutron-dhcp-agent" class="systemd">
++            <lrm_rsc_op id="neutron-dhcp-agent_last_0" operation_key="neutron-dhcp-agent_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="199:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;199:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="180" rc-code="7" op-status="0" interval="0" last-run="1418999971" last-rc-change="1418999971" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-l3-agent" type="neutron-l3-agent" class="systemd">
++            <lrm_rsc_op id="neutron-l3-agent_last_0" operation_key="neutron-l3-agent_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="200:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;200:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="185" rc-code="7" op-status="0" interval="0" last-run="1418999972" last-rc-change="1418999972" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-metadata-agent" type="neutron-metadata-agent" class="systemd">
++            <lrm_rsc_op id="neutron-metadata-agent_last_0" operation_key="neutron-metadata-agent_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="201:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;201:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="190" rc-code="7" op-status="0" interval="0" last-run="1418999972" last-rc-change="1418999972" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="nova-consoleauth" type="openstack-nova-consoleauth" class="systemd">
++            <lrm_rsc_op id="nova-consoleauth_last_0" operation_key="nova-consoleauth_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="202:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;202:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="195" rc-code="7" op-status="0" interval="0" last-run="1418999972" last-rc-change="1418999972" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="nova-novncproxy" type="openstack-nova-novncproxy" class="systemd">
++            <lrm_rsc_op id="nova-novncproxy_last_0" operation_key="nova-novncproxy_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="203:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;203:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="200" rc-code="7" op-status="0" interval="0" last-run="1418999973" last-rc-change="1418999973" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="nova-api" type="openstack-nova-api" class="systemd">
++            <lrm_rsc_op id="nova-api_last_0" operation_key="nova-api_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="204:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;204:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="205" rc-code="7" op-status="0" interval="0" last-run="1418999973" last-rc-change="1418999973" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="nova-scheduler" type="openstack-nova-scheduler" class="systemd">
++            <lrm_rsc_op id="nova-scheduler_last_0" operation_key="nova-scheduler_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="205:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;205:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="210" rc-code="7" op-status="0" interval="0" last-run="1418999974" last-rc-change="1418999974" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="nova-conductor" type="openstack-nova-conductor" class="systemd">
++            <lrm_rsc_op id="nova-conductor_last_0" operation_key="nova-conductor_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="206:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;206:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="215" rc-code="7" op-status="0" interval="0" last-run="1418999974" last-rc-change="1418999974" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-central" type="openstack-ceilometer-central" class="systemd">
++            <lrm_rsc_op id="ceilometer-central_last_0" operation_key="ceilometer-central_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="207:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;207:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="219" rc-code="7" op-status="0" interval="0" last-run="1418999974" last-rc-change="1418999974" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-collector" type="openstack-ceilometer-collector" class="systemd">
++            <lrm_rsc_op id="ceilometer-collector_last_0" operation_key="ceilometer-collector_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="208:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;208:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="224" rc-code="7" op-status="0" interval="0" last-run="1418999975" last-rc-change="1418999975" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-api" type="openstack-ceilometer-api" class="systemd">
++            <lrm_rsc_op id="ceilometer-api_last_0" operation_key="ceilometer-api_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="209:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;209:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="229" rc-code="7" op-status="0" interval="0" last-run="1418999975" last-rc-change="1418999975" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-alarm-evaluator" type="openstack-ceilometer-alarm-evaluator" class="systemd">
++            <lrm_rsc_op id="ceilometer-alarm-evaluator_last_0" operation_key="ceilometer-alarm-evaluator_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="211:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;211:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="239" rc-code="7" op-status="0" interval="0" last-run="1418999976" last-rc-change="1418999976" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-alarm-notifier" type="openstack-ceilometer-alarm-notifier" class="systemd">
++            <lrm_rsc_op id="ceilometer-alarm-notifier_last_0" operation_key="ceilometer-alarm-notifier_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="212:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;212:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="244" rc-code="7" op-status="0" interval="0" last-run="1418999976" last-rc-change="1418999976" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-notification" type="openstack-ceilometer-notification" class="systemd">
++            <lrm_rsc_op id="ceilometer-notification_last_0" operation_key="ceilometer-notification_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="213:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;213:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="249" rc-code="7" op-status="0" interval="0" last-run="1418999977" last-rc-change="1418999977" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="heat-api" type="openstack-heat-api" class="systemd">
++            <lrm_rsc_op id="heat-api_last_0" operation_key="heat-api_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="214:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;214:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="254" rc-code="7" op-status="0" interval="0" last-run="1418999977" last-rc-change="1418999977" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="heat-api-cfn" type="openstack-heat-api-cfn" class="systemd">
++            <lrm_rsc_op id="heat-api-cfn_last_0" operation_key="heat-api-cfn_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="215:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;215:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="259" rc-code="7" op-status="0" interval="0" last-run="1418999978" last-rc-change="1418999978" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="heat-api-cloudwatch" type="openstack-heat-api-cloudwatch" class="systemd">
++            <lrm_rsc_op id="heat-api-cloudwatch_last_0" operation_key="heat-api-cloudwatch_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="216:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;216:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="264" rc-code="7" op-status="0" interval="0" last-run="1418999978" last-rc-change="1418999978" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="heat-engine" type="openstack-heat-engine" class="systemd">
++            <lrm_rsc_op id="heat-engine_last_0" operation_key="heat-engine_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="217:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;217:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="268" rc-code="7" op-status="0" interval="0" last-run="1418999978" last-rc-change="1418999978" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="horizon" type="apache" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="horizon_last_0" operation_key="horizon_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="218:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;218:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="273" rc-code="7" op-status="0" interval="0" last-run="1418999979" last-rc-change="1418999979" exec-time="34" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="neutron-openvswitch-agent-compute" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="neutron-openvswitch-agent-compute_last_0" operation_key="neutron-openvswitch-agent-compute_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="699:21:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;699:21:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="295" rc-code="0" op-status="0" interval="0" last-run="1418999986" last-rc-change="1418999986" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="neutron-openvswitch-agent-compute_monitor_10000" operation_key="neutron-openvswitch-agent-compute_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="639:22:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;639:22:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="296" rc-code="0" op-status="0" interval="10000" last-rc-change="1418999986" exec-time="41" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="libvirtd-compute" type="libvirtd" class="systemd">
++            <lrm_rsc_op id="libvirtd-compute_last_0" operation_key="libvirtd-compute_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="648:22:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;648:22:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="297" rc-code="0" op-status="0" interval="0" last-run="1418999988" last-rc-change="1418999988" exec-time="2" queue-time="2001" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++            <lrm_rsc_op id="libvirtd-compute_monitor_60000" operation_key="libvirtd-compute_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="649:22:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;649:22:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="298" rc-code="0" op-status="0" interval="60000" last-rc-change="1418999988" exec-time="2" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-compute" type="openstack-ceilometer-compute" class="systemd">
++            <lrm_rsc_op id="ceilometer-compute_last_0" operation_key="ceilometer-compute_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="658:22:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;658:22:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="299" rc-code="0" op-status="0" interval="0" last-run="1418999990" last-rc-change="1418999990" exec-time="2" queue-time="2001" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++            <lrm_rsc_op id="ceilometer-compute_monitor_60000" operation_key="ceilometer-compute_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="659:22:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;659:22:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="300" rc-code="0" op-status="0" interval="60000" last-rc-change="1418999990" exec-time="2" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="nova-compute" type="openstack-nova-compute" class="systemd">
++            <lrm_rsc_op id="nova-compute_last_0" operation_key="nova-compute_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="668:55:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;668:55:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="445" rc-code="0" op-status="0" interval="0" last-run="1419007680" last-rc-change="1419007680" exec-time="1" queue-time="2002" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhos6-node3"/>
++            <lrm_rsc_op id="nova-compute_monitor_60000" operation_key="nova-compute_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="669:55:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:0;669:55:0:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="446" rc-code="0" op-status="0" interval="60000" last-rc-change="1419007681" exec-time="2" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="ceilometer-delay" type="Delay" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="ceilometer-delay_last_0" operation_key="ceilometer-delay_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="210:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;210:21:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="234" rc-code="7" op-status="0" interval="0" last-run="1418999976" last-rc-change="1418999976" exec-time="10024" queue-time="0" op-digest="ad19c7364a8662d5d94488a98ccc4fda" on_node="rhos6-node3"/>
++          </lrm_resource>
++          <lrm_resource id="galera" type="galera" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="galera_last_0" operation_key="galera_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="116:44:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" transition-magic="0:7;116:44:7:1f9a2e6c-6163-4380-a2e0-b47bd7a56a3a" call-id="343" rc-code="7" op-status="0" interval="0" last-run="1419001727" last-rc-change="1419001727" exec-time="54" queue-time="0" op-digest="a357a4e08e165ea819421e864e21c1cf" on_node="rhos6-node3"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="mrg-04">
++        <instance_attributes id="status-mrg-04">
++          <nvpair id="status-mrg-04-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++  </status>
++</cib>
diff --git a/SOURCES/bz1176210-require-all.patch b/SOURCES/bz1176210-require-all.patch
new file mode 100644
index 0000000..21fbac5
--- /dev/null
+++ b/SOURCES/bz1176210-require-all.patch
@@ -0,0 +1,5799 @@
+diff --git a/include/crm/crm.h b/include/crm/crm.h
+index 41279b0..37bc5ce 100644
+--- a/include/crm/crm.h
++++ b/include/crm/crm.h
+@@ -133,6 +133,7 @@ extern char *crm_system_name;
+ #  define CRM_OP_REPROBE		"probe_again"
+ #  define CRM_OP_CLEAR_FAILCOUNT  "clear_failcount"
+ #  define CRM_OP_RELAXED_SET  "one-or-more"
++#  define CRM_OP_RELAXED_CLONE  "clone-one-or-more"
+ #  define CRM_OP_RM_NODE_CACHE "rm_node_cache"
+ 
+ #  define CRMD_JOINSTATE_DOWN           "down"
+diff --git a/pengine/constraints.c b/pengine/constraints.c
+index a2ce9c4..7054a8e 100644
+--- a/pengine/constraints.c
++++ b/pengine/constraints.c
+@@ -255,6 +255,7 @@ unpack_simple_rsc_order(xmlNode * xml_obj, pe_working_set_t * data_set)
+     resource_t *rsc_then = NULL;
+     resource_t *rsc_first = NULL;
+     gboolean invert_bool = TRUE;
++    gboolean require_all = TRUE;
+     enum pe_order_kind kind = pe_order_kind_mandatory;
+     enum pe_ordering cons_weight = pe_order_optional;
+ 
+@@ -264,6 +265,7 @@ unpack_simple_rsc_order(xmlNode * xml_obj, pe_working_set_t * data_set)
+     const char *action_first = NULL;
+     const char *instance_then = NULL;
+     const char *instance_first = NULL;
++    const char *require_all_s = NULL;
+ 
+     const char *id = crm_element_value(xml_obj, XML_ATTR_ID);
+     const char *invert = crm_element_value(xml_obj, XML_CONS_ATTR_SYMMETRICAL);
+@@ -343,6 +345,14 @@ unpack_simple_rsc_order(xmlNode * xml_obj, pe_working_set_t * data_set)
+         }
+     }
+ 
++    require_all_s = crm_element_value(xml_obj, "require-all");
++    if (require_all_s
++        && crm_is_true(require_all_s) == FALSE
++        && rsc_first->variant >= pe_clone) {
++
++        require_all = FALSE;
++    }
++
+     cons_weight = pe_order_optional;
+     kind = get_ordering_type(xml_obj);
+ 
+@@ -356,7 +366,29 @@ unpack_simple_rsc_order(xmlNode * xml_obj, pe_working_set_t * data_set)
+     } else {
+         cons_weight |= get_flags(id, kind, action_first, action_then, FALSE);
+     }
+-    order_id = new_rsc_order(rsc_first, action_first, rsc_then, action_then, cons_weight, data_set);
++
++    if (require_all == FALSE) {
++        GListPtr rIter = NULL;
++        char *task = crm_concat(CRM_OP_RELAXED_CLONE, id, ':');
++        action_t *unordered_action = get_pseudo_op(task, data_set);
++        free(task);
++
++        update_action_flags(unordered_action, pe_action_requires_any);
++
++        for (rIter = rsc_first->children; id && rIter; rIter = rIter->next) {
++            resource_t *child = rIter->data;
++
++            custom_action_order(child, generate_op_key(child->id, action_first, 0), NULL,
++                                NULL, NULL, unordered_action,
++                                pe_order_one_or_more | pe_order_implies_then_printed, data_set);
++        }
++
++        order_id = custom_action_order(NULL, NULL, unordered_action,
++                       rsc_then, generate_op_key(rsc_then->id, action_then, 0), NULL,
++                       cons_weight | pe_order_runnable_left, data_set);
++    } else {
++        order_id = new_rsc_order(rsc_first, action_first, rsc_then, action_then, cons_weight, data_set);
++    }
+ 
+     pe_rsc_trace(rsc_first, "order-%d (%s): %s_%s before %s_%s flags=0x%.6x",
+                  order_id, id, rsc_first->id, action_first, rsc_then->id, action_then, cons_weight);
+@@ -387,6 +419,7 @@ unpack_simple_rsc_order(xmlNode * xml_obj, pe_working_set_t * data_set)
+     }
+ 
+     cons_weight |= get_flags(id, kind, action_first, action_then, TRUE);
++
+     order_id = new_rsc_order(rsc_then, action_then, rsc_first, action_first, cons_weight, data_set);
+ 
+     pe_rsc_trace(rsc_then, "order-%d (%s): %s_%s before %s_%s flags=0x%.6x",
+diff --git a/pengine/regression.sh b/pengine/regression.sh
+index 3a244d7..c2bc7fb 100755
+--- a/pengine/regression.sh
++++ b/pengine/regression.sh
+@@ -126,6 +126,16 @@ do_test one-or-more-5 "Start A and F even though C and D are stopped"
+ do_test one-or-more-6 "Leave A running even though B is stopped"
+ do_test one-or-more-7 "Leave A running even though C is stopped"
+ do_test bug-5140-require-all-false "Allow basegrp:0 to stop"
++do_test clone-require-all-1 "clone B starts node 3 and 4"
++do_test clone-require-all-2 "clone B remains stopped everywhere"
++do_test clone-require-all-3 "clone B stops everywhere because A stops everywhere"
++do_test clone-require-all-4 "clone B remains on node 3 and 4 with only one instance of A remaining."
++do_test clone-require-all-5 "clone B starts on node 1 3 and 4"
++do_test clone-require-all-6 "clone B remains active after shutting down instances of A"
++do_test clone-require-all-7 "clone A and B both start at the same time. all instances of A start before B."
++do_test clone-require-all-no-interleave-1 "C starts everywhere after A and B"
++do_test clone-require-all-no-interleave-2 "C starts on nodes 1, 2, and 4 with only one active instance of B"
++do_test clone-require-all-no-interleave-3 "C remains active when instance of B is stopped on one node and started on another."
+ 
+ echo ""
+ do_test order1 "Order start 1     "
+diff --git a/pengine/test10/clone-require-all-1.dot b/pengine/test10/clone-require-all-1.dot
+new file mode 100644
+index 0000000..9856969
+--- /dev/null
++++ b/pengine/test10/clone-require-all-1.dot
+@@ -0,0 +1,15 @@
++ digraph "g" {
++"B-clone_running_0" [ style=bold color="green" fontcolor="orange"]
++"B-clone_start_0" -> "B-clone_running_0" [ style = bold]
++"B-clone_start_0" -> "B:1_start_0 rhel7-auto4" [ style = bold]
++"B-clone_start_0" -> "B_start_0 rhel7-auto3" [ style = bold]
++"B-clone_start_0" [ style=bold color="green" fontcolor="orange"]
++"B:1_monitor_10000 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
++"B:1_start_0 rhel7-auto4" -> "B-clone_running_0" [ style = bold]
++"B:1_start_0 rhel7-auto4" -> "B:1_monitor_10000 rhel7-auto4" [ style = bold]
++"B:1_start_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
++"B_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"B_start_0 rhel7-auto3" -> "B-clone_running_0" [ style = bold]
++"B_start_0 rhel7-auto3" -> "B_monitor_10000 rhel7-auto3" [ style = bold]
++"B_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++}
+diff --git a/pengine/test10/clone-require-all-1.exp b/pengine/test10/clone-require-all-1.exp
+new file mode 100644
+index 0000000..c2d1abd
+--- /dev/null
++++ b/pengine/test10/clone-require-all-1.exp
+@@ -0,0 +1,80 @@
++<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
++  <synapse id="0">
++    <action_set>
++      <rsc_op id="22" operation="monitor" operation_key="B_monitor_10000" internal_operation_key="B:0_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="21" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="1">
++    <action_set>
++      <rsc_op id="21" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="25" operation="start" operation_key="B-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="2">
++    <action_set>
++      <rsc_op id="24" operation="monitor" operation_key="B:1_monitor_10000" on_node="rhel7-auto4" on_node_uuid="4">
++        <primitive id="B" long-id="B:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="23" operation="start" operation_key="B:1_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="3">
++    <action_set>
++      <rsc_op id="23" operation="start" operation_key="B:1_start_0" on_node="rhel7-auto4" on_node_uuid="4">
++        <primitive id="B" long-id="B:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="25" operation="start" operation_key="B-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="4" priority="1000000">
++    <action_set>
++      <pseudo_event id="26" operation="running" operation_key="B-clone_running_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="21" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="23" operation="start" operation_key="B:1_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="25" operation="start" operation_key="B-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="5">
++    <action_set>
++      <pseudo_event id="25" operation="start" operation_key="B-clone_start_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs/>
++  </synapse>
++</transition_graph>
+diff --git a/pengine/test10/clone-require-all-1.scores b/pengine/test10/clone-require-all-1.scores
+new file mode 100644
+index 0000000..fe3ce21
+--- /dev/null
++++ b/pengine/test10/clone-require-all-1.scores
+@@ -0,0 +1,77 @@
++Allocation scores:
++clone_color: A-clone allocation score on rhel7-auto1: 0
++clone_color: A-clone allocation score on rhel7-auto2: 0
++clone_color: A-clone allocation score on rhel7-auto3: -INFINITY
++clone_color: A-clone allocation score on rhel7-auto4: -INFINITY
++clone_color: A:0 allocation score on rhel7-auto1: 1
++clone_color: A:0 allocation score on rhel7-auto2: 0
++clone_color: A:0 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:0 allocation score on rhel7-auto4: -INFINITY
++clone_color: A:1 allocation score on rhel7-auto1: 0
++clone_color: A:1 allocation score on rhel7-auto2: 1
++clone_color: A:1 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:1 allocation score on rhel7-auto4: -INFINITY
++clone_color: A:2 allocation score on rhel7-auto1: 0
++clone_color: A:2 allocation score on rhel7-auto2: 0
++clone_color: A:2 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:2 allocation score on rhel7-auto4: -INFINITY
++clone_color: A:3 allocation score on rhel7-auto1: 0
++clone_color: A:3 allocation score on rhel7-auto2: 0
++clone_color: A:3 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:3 allocation score on rhel7-auto4: -INFINITY
++clone_color: B-clone allocation score on rhel7-auto1: -INFINITY
++clone_color: B-clone allocation score on rhel7-auto2: -INFINITY
++clone_color: B-clone allocation score on rhel7-auto3: 0
++clone_color: B-clone allocation score on rhel7-auto4: 0
++clone_color: B:0 allocation score on rhel7-auto1: -INFINITY
++clone_color: B:0 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:0 allocation score on rhel7-auto3: 0
++clone_color: B:0 allocation score on rhel7-auto4: 0
++clone_color: B:1 allocation score on rhel7-auto1: -INFINITY
++clone_color: B:1 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:1 allocation score on rhel7-auto3: 0
++clone_color: B:1 allocation score on rhel7-auto4: 0
++clone_color: B:2 allocation score on rhel7-auto1: -INFINITY
++clone_color: B:2 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:2 allocation score on rhel7-auto3: 0
++clone_color: B:2 allocation score on rhel7-auto4: 0
++clone_color: B:3 allocation score on rhel7-auto1: -INFINITY
++clone_color: B:3 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:3 allocation score on rhel7-auto3: 0
++clone_color: B:3 allocation score on rhel7-auto4: 0
++native_color: A:0 allocation score on rhel7-auto1: 1
++native_color: A:0 allocation score on rhel7-auto2: -INFINITY
++native_color: A:0 allocation score on rhel7-auto3: -INFINITY
++native_color: A:0 allocation score on rhel7-auto4: -INFINITY
++native_color: A:1 allocation score on rhel7-auto1: 0
++native_color: A:1 allocation score on rhel7-auto2: 1
++native_color: A:1 allocation score on rhel7-auto3: -INFINITY
++native_color: A:1 allocation score on rhel7-auto4: -INFINITY
++native_color: A:2 allocation score on rhel7-auto1: -INFINITY
++native_color: A:2 allocation score on rhel7-auto2: -INFINITY
++native_color: A:2 allocation score on rhel7-auto3: -INFINITY
++native_color: A:2 allocation score on rhel7-auto4: -INFINITY
++native_color: A:3 allocation score on rhel7-auto1: -INFINITY
++native_color: A:3 allocation score on rhel7-auto2: -INFINITY
++native_color: A:3 allocation score on rhel7-auto3: -INFINITY
++native_color: A:3 allocation score on rhel7-auto4: -INFINITY
++native_color: B:0 allocation score on rhel7-auto1: -INFINITY
++native_color: B:0 allocation score on rhel7-auto2: -INFINITY
++native_color: B:0 allocation score on rhel7-auto3: 0
++native_color: B:0 allocation score on rhel7-auto4: 0
++native_color: B:1 allocation score on rhel7-auto1: -INFINITY
++native_color: B:1 allocation score on rhel7-auto2: -INFINITY
++native_color: B:1 allocation score on rhel7-auto3: -INFINITY
++native_color: B:1 allocation score on rhel7-auto4: 0
++native_color: B:2 allocation score on rhel7-auto1: -INFINITY
++native_color: B:2 allocation score on rhel7-auto2: -INFINITY
++native_color: B:2 allocation score on rhel7-auto3: -INFINITY
++native_color: B:2 allocation score on rhel7-auto4: -INFINITY
++native_color: B:3 allocation score on rhel7-auto1: -INFINITY
++native_color: B:3 allocation score on rhel7-auto2: -INFINITY
++native_color: B:3 allocation score on rhel7-auto3: -INFINITY
++native_color: B:3 allocation score on rhel7-auto4: -INFINITY
++native_color: shooter allocation score on rhel7-auto1: 0
++native_color: shooter allocation score on rhel7-auto2: 0
++native_color: shooter allocation score on rhel7-auto3: 0
++native_color: shooter allocation score on rhel7-auto4: 0
+diff --git a/pengine/test10/clone-require-all-1.summary b/pengine/test10/clone-require-all-1.summary
+new file mode 100644
+index 0000000..2cbb97d
+--- /dev/null
++++ b/pengine/test10/clone-require-all-1.summary
+@@ -0,0 +1,34 @@
++
++Current cluster status:
++Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
++ Clone Set: A-clone [A]
++     Started: [ rhel7-auto1 rhel7-auto2 ]
++     Stopped: [ rhel7-auto3 rhel7-auto4 ]
++ Clone Set: B-clone [B]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++
++Transition Summary:
++ * Start   B:0	(rhel7-auto3)
++ * Start   B:1	(rhel7-auto4)
++
++Executing cluster transition:
++ * Pseudo action:   B-clone_start_0
++ * Resource action: B               start on rhel7-auto3
++ * Resource action: B               start on rhel7-auto4
++ * Pseudo action:   B-clone_running_0
++ * Resource action: B               monitor=10000 on rhel7-auto3
++ * Resource action: B               monitor=10000 on rhel7-auto4
++
++Revised cluster status:
++Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
++ Clone Set: A-clone [A]
++     Started: [ rhel7-auto1 rhel7-auto2 ]
++     Stopped: [ rhel7-auto3 rhel7-auto4 ]
++ Clone Set: B-clone [B]
++     Started: [ rhel7-auto3 rhel7-auto4 ]
++     Stopped: [ rhel7-auto1 rhel7-auto2 ]
++
+diff --git a/pengine/test10/clone-require-all-1.xml b/pengine/test10/clone-require-all-1.xml
+new file mode 100644
+index 0000000..724fac1
+--- /dev/null
++++ b/pengine/test10/clone-require-all-1.xml
+@@ -0,0 +1,152 @@
++<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.3" epoch="17" num_updates="2" admin_epoch="0" cib-last-written="Mon Jan  5 17:40:52 2015" have-quorum="1" dc-uuid="2">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
++        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-a14efad"/>
++        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
++        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes>
++      <node id="1" uname="rhel7-auto1"/>
++      <node id="2" uname="rhel7-auto2"/>
++      <node id="3" uname="rhel7-auto3"/>
++      <node id="4" uname="rhel7-auto4"/>
++    </nodes>
++    <resources>
++      <primitive class="stonith" id="shooter" type="fence_xvm">
++        <instance_attributes id="shooter-instance_attributes"/>
++        <operations>
++          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <clone id="A-clone">
++        <primitive class="ocf" id="A" provider="heartbeat" type="Dummy">
++          <instance_attributes id="A-instance_attributes"/>
++          <operations>
++            <op id="A-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="A-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="A-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="A-clone-meta">
++          <nvpair id="A-clone-meta_attributes-interleave" name="interleave" value="true"/>
++        </meta_attributes>
++      </clone>
++      <clone id="B-clone">
++        <primitive class="ocf" id="B" provider="heartbeat" type="Dummy">
++          <instance_attributes id="B-instance_attributes"/>
++          <operations>
++            <op id="B-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="B-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="B-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="B-clone-meta">
++          <nvpair id="B-clone-meta_attributes-interleave" name="interleave" value="true"/>
++        </meta_attributes>
++      </clone>
++    </resources>
++    <constraints>
++      <rsc_location id="location-A-clone-rhel7-auto3--INFINITY" node="rhel7-auto3" rsc="A-clone" score="-INFINITY"/>
++      <rsc_location id="location-A-clone-rhel7-auto4--INFINITY" node="rhel7-auto4" rsc="A-clone" score="-INFINITY"/>
++      <rsc_location id="location-B-clone-rhel7-auto1--INFINITY" node="rhel7-auto1" rsc="B-clone" score="-INFINITY"/>
++      <rsc_location id="location-B-clone-rhel7-auto2--INFINITY" node="rhel7-auto2" rsc="B-clone" score="-INFINITY"/>
++      <rsc_order require-all="false" first="A-clone" first-action="start" id="order-A-clone-B-clone-mandatory" then="B-clone" then-action="start"/>
++    </constraints>
++  </configuration>
++  <status>
++    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="1">
++        <instance_attributes id="status-1">
++          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="1">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1420497434" last-rc-change="1420497434" exec-time="84" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1420497434" exec-time="62" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="12" rc-code="0" op-status="0" interval="0" last-run="1420497496" last-rc-change="1420497496" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="13" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497496" exec-time="19" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497505" exec-time="24" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="2">
++        <instance_attributes id="status-2">
++          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="2">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="10" rc-code="0" op-status="0" interval="0" last-run="1420497495" last-rc-change="1420497495" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497495" exec-time="20" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="3">
++        <instance_attributes id="status-3">
++          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="3">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="22:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;22:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497546" last-rc-change="1420497546" exec-time="32" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="22:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;22:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497653" last-rc-change="1420497653" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="30:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;30:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="22" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="4" uname="rhel7-auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="4">
++        <instance_attributes id="status-4">
++          <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-4-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="4">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497431" last-rc-change="1420497431" exec-time="987" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497545" last-rc-change="1420497545" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="24:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;24:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497652" last-rc-change="1420497652" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="32:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;32:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="28" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++  </status>
++</cib>
+diff --git a/pengine/test10/clone-require-all-2.dot b/pengine/test10/clone-require-all-2.dot
+new file mode 100644
+index 0000000..4f830ce
+--- /dev/null
++++ b/pengine/test10/clone-require-all-2.dot
+@@ -0,0 +1,42 @@
++ digraph "g" {
++"A-clone_running_0" [ style=dashed color="red" fontcolor="orange"]
++"A-clone_start_0" -> "A-clone_running_0" [ style = dashed]
++"A-clone_start_0" -> "A_start_0 <none>" [ style = dashed]
++"A-clone_start_0" [ style=dashed color="red" fontcolor="orange"]
++"A-clone_stop_0" -> "A-clone_stopped_0" [ style = bold]
++"A-clone_stop_0" -> "A_stop_0 rhel7-auto1" [ style = bold]
++"A-clone_stop_0" -> "A_stop_0 rhel7-auto2" [ style = bold]
++"A-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
++"A-clone_stopped_0" -> "A-clone_start_0" [ style = dashed]
++"A-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
++"A_start_0 <none>" -> "A-clone_running_0" [ style = dashed]
++"A_start_0 <none>" [ style=dashed color="red" fontcolor="black"]
++"A_stop_0 rhel7-auto1" -> "A-clone_stopped_0" [ style = bold]
++"A_stop_0 rhel7-auto1" -> "A_start_0 <none>" [ style = dashed]
++"A_stop_0 rhel7-auto1" -> "all_stopped" [ style = bold]
++"A_stop_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
++"A_stop_0 rhel7-auto2" -> "A-clone_stopped_0" [ style = bold]
++"A_stop_0 rhel7-auto2" -> "A_start_0 <none>" [ style = dashed]
++"A_stop_0 rhel7-auto2" -> "all_stopped" [ style = bold]
++"A_stop_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
++"B-clone_running_0" [ style=dashed color="red" fontcolor="orange"]
++"B-clone_start_0" -> "B-clone_running_0" [ style = dashed]
++"B-clone_start_0" -> "B:1_start_0 rhel7-auto3" [ style = dashed]
++"B-clone_start_0" -> "B_start_0 rhel7-auto4" [ style = dashed]
++"B-clone_start_0" [ style=dashed color="red" fontcolor="orange"]
++"B:1_monitor_10000 rhel7-auto3" [ style=dashed color="red" fontcolor="black"]
++"B:1_start_0 rhel7-auto3" -> "B-clone_running_0" [ style = dashed]
++"B:1_start_0 rhel7-auto3" -> "B:1_monitor_10000 rhel7-auto3" [ style = dashed]
++"B:1_start_0 rhel7-auto3" [ style=dashed color="red" fontcolor="black"]
++"B_monitor_10000 rhel7-auto4" [ style=dashed color="red" fontcolor="black"]
++"B_start_0 rhel7-auto4" -> "B-clone_running_0" [ style = dashed]
++"B_start_0 rhel7-auto4" -> "B_monitor_10000 rhel7-auto4" [ style = dashed]
++"B_start_0 rhel7-auto4" [ style=dashed color="red" fontcolor="black"]
++"all_stopped" [ style=bold color="green" fontcolor="orange"]
++"shooter_monitor_60000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"shooter_start_0 rhel7-auto3" -> "shooter_monitor_60000 rhel7-auto3" [ style = bold]
++"shooter_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"shooter_stop_0 rhel7-auto1" -> "all_stopped" [ style = bold]
++"shooter_stop_0 rhel7-auto1" -> "shooter_start_0 rhel7-auto3" [ style = bold]
++"shooter_stop_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
++}
+diff --git a/pengine/test10/clone-require-all-2.exp b/pengine/test10/clone-require-all-2.exp
+new file mode 100644
+index 0000000..a5ad63f
+--- /dev/null
++++ b/pengine/test10/clone-require-all-2.exp
+@@ -0,0 +1,107 @@
++<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
++  <synapse id="0">
++    <action_set>
++      <rsc_op id="13" operation="monitor" operation_key="shooter_monitor_60000" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="shooter" class="stonith" type="fence_xvm"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="12" operation="start" operation_key="shooter_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="1">
++    <action_set>
++      <rsc_op id="12" operation="start" operation_key="shooter_start_0" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="shooter" class="stonith" type="fence_xvm"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="11" operation="stop" operation_key="shooter_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="2">
++    <action_set>
++      <rsc_op id="11" operation="stop" operation_key="shooter_stop_0" on_node="rhel7-auto1" on_node_uuid="1">
++        <primitive id="shooter" class="stonith" type="fence_xvm"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="3">
++    <action_set>
++      <rsc_op id="14" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1">
++        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="18" operation="stop" operation_key="A-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="4">
++    <action_set>
++      <rsc_op id="15" operation="stop" operation_key="A_stop_0" internal_operation_key="A:1_stop_0" on_node="rhel7-auto2" on_node_uuid="2">
++        <primitive id="A" long-id="A:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="18" operation="stop" operation_key="A-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="5" priority="1000000">
++    <action_set>
++      <pseudo_event id="19" operation="stopped" operation_key="A-clone_stopped_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="14" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="15" operation="stop" operation_key="A_stop_0" internal_operation_key="A:1_stop_0" on_node="rhel7-auto2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="18" operation="stop" operation_key="A-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="6">
++    <action_set>
++      <pseudo_event id="18" operation="stop" operation_key="A-clone_stop_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="7">
++    <action_set>
++      <pseudo_event id="5" operation="all_stopped" operation_key="all_stopped">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="11" operation="stop" operation_key="shooter_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="14" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="15" operation="stop" operation_key="A_stop_0" internal_operation_key="A:1_stop_0" on_node="rhel7-auto2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++</transition_graph>
+diff --git a/pengine/test10/clone-require-all-2.scores b/pengine/test10/clone-require-all-2.scores
+new file mode 100644
+index 0000000..cdbf611
+--- /dev/null
++++ b/pengine/test10/clone-require-all-2.scores
+@@ -0,0 +1,77 @@
++Allocation scores:
++clone_color: A-clone allocation score on rhel7-auto1: 0
++clone_color: A-clone allocation score on rhel7-auto2: 0
++clone_color: A-clone allocation score on rhel7-auto3: -INFINITY
++clone_color: A-clone allocation score on rhel7-auto4: -INFINITY
++clone_color: A:0 allocation score on rhel7-auto1: 1
++clone_color: A:0 allocation score on rhel7-auto2: 0
++clone_color: A:0 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:0 allocation score on rhel7-auto4: -INFINITY
++clone_color: A:1 allocation score on rhel7-auto1: 0
++clone_color: A:1 allocation score on rhel7-auto2: 1
++clone_color: A:1 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:1 allocation score on rhel7-auto4: -INFINITY
++clone_color: A:2 allocation score on rhel7-auto1: 0
++clone_color: A:2 allocation score on rhel7-auto2: 0
++clone_color: A:2 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:2 allocation score on rhel7-auto4: -INFINITY
++clone_color: A:3 allocation score on rhel7-auto1: 0
++clone_color: A:3 allocation score on rhel7-auto2: 0
++clone_color: A:3 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:3 allocation score on rhel7-auto4: -INFINITY
++clone_color: B-clone allocation score on rhel7-auto1: -INFINITY
++clone_color: B-clone allocation score on rhel7-auto2: -INFINITY
++clone_color: B-clone allocation score on rhel7-auto3: 0
++clone_color: B-clone allocation score on rhel7-auto4: 0
++clone_color: B:0 allocation score on rhel7-auto1: -INFINITY
++clone_color: B:0 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:0 allocation score on rhel7-auto3: 0
++clone_color: B:0 allocation score on rhel7-auto4: 0
++clone_color: B:1 allocation score on rhel7-auto1: -INFINITY
++clone_color: B:1 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:1 allocation score on rhel7-auto3: 0
++clone_color: B:1 allocation score on rhel7-auto4: 0
++clone_color: B:2 allocation score on rhel7-auto1: -INFINITY
++clone_color: B:2 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:2 allocation score on rhel7-auto3: 0
++clone_color: B:2 allocation score on rhel7-auto4: 0
++clone_color: B:3 allocation score on rhel7-auto1: -INFINITY
++clone_color: B:3 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:3 allocation score on rhel7-auto3: 0
++clone_color: B:3 allocation score on rhel7-auto4: 0
++native_color: A:0 allocation score on rhel7-auto1: -INFINITY
++native_color: A:0 allocation score on rhel7-auto2: -INFINITY
++native_color: A:0 allocation score on rhel7-auto3: -INFINITY
++native_color: A:0 allocation score on rhel7-auto4: -INFINITY
++native_color: A:1 allocation score on rhel7-auto1: -INFINITY
++native_color: A:1 allocation score on rhel7-auto2: -INFINITY
++native_color: A:1 allocation score on rhel7-auto3: -INFINITY
++native_color: A:1 allocation score on rhel7-auto4: -INFINITY
++native_color: A:2 allocation score on rhel7-auto1: -INFINITY
++native_color: A:2 allocation score on rhel7-auto2: -INFINITY
++native_color: A:2 allocation score on rhel7-auto3: -INFINITY
++native_color: A:2 allocation score on rhel7-auto4: -INFINITY
++native_color: A:3 allocation score on rhel7-auto1: -INFINITY
++native_color: A:3 allocation score on rhel7-auto2: -INFINITY
++native_color: A:3 allocation score on rhel7-auto3: -INFINITY
++native_color: A:3 allocation score on rhel7-auto4: -INFINITY
++native_color: B:0 allocation score on rhel7-auto1: -INFINITY
++native_color: B:0 allocation score on rhel7-auto2: -INFINITY
++native_color: B:0 allocation score on rhel7-auto3: 0
++native_color: B:0 allocation score on rhel7-auto4: 0
++native_color: B:1 allocation score on rhel7-auto1: -INFINITY
++native_color: B:1 allocation score on rhel7-auto2: -INFINITY
++native_color: B:1 allocation score on rhel7-auto3: 0
++native_color: B:1 allocation score on rhel7-auto4: -INFINITY
++native_color: B:2 allocation score on rhel7-auto1: -INFINITY
++native_color: B:2 allocation score on rhel7-auto2: -INFINITY
++native_color: B:2 allocation score on rhel7-auto3: -INFINITY
++native_color: B:2 allocation score on rhel7-auto4: -INFINITY
++native_color: B:3 allocation score on rhel7-auto1: -INFINITY
++native_color: B:3 allocation score on rhel7-auto2: -INFINITY
++native_color: B:3 allocation score on rhel7-auto3: -INFINITY
++native_color: B:3 allocation score on rhel7-auto4: -INFINITY
++native_color: shooter allocation score on rhel7-auto1: 0
++native_color: shooter allocation score on rhel7-auto2: 0
++native_color: shooter allocation score on rhel7-auto3: 0
++native_color: shooter allocation score on rhel7-auto4: 0
+diff --git a/pengine/test10/clone-require-all-2.summary b/pengine/test10/clone-require-all-2.summary
+new file mode 100644
+index 0000000..d4b2519
+--- /dev/null
++++ b/pengine/test10/clone-require-all-2.summary
+@@ -0,0 +1,41 @@
++
++Current cluster status:
++Node rhel7-auto1 (1): standby
++Node rhel7-auto2 (2): standby
++Online: [ rhel7-auto3 rhel7-auto4 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
++ Clone Set: A-clone [A]
++     Started: [ rhel7-auto1 rhel7-auto2 ]
++     Stopped: [ rhel7-auto3 rhel7-auto4 ]
++ Clone Set: B-clone [B]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++
++Transition Summary:
++ * Move    shooter	(Started rhel7-auto1 -> rhel7-auto3)
++ * Stop    A:0	(rhel7-auto1)
++ * Stop    A:1	(rhel7-auto2)
++ * Start   B:0	(rhel7-auto4 - blocked)
++ * Start   B:1	(rhel7-auto3 - blocked)
++
++Executing cluster transition:
++ * Resource action: shooter         stop on rhel7-auto1
++ * Pseudo action:   A-clone_stop_0
++ * Resource action: shooter         start on rhel7-auto3
++ * Resource action: A               stop on rhel7-auto1
++ * Resource action: A               stop on rhel7-auto2
++ * Pseudo action:   A-clone_stopped_0
++ * Pseudo action:   all_stopped
++ * Resource action: shooter         monitor=60000 on rhel7-auto3
++
++Revised cluster status:
++Node rhel7-auto1 (1): standby
++Node rhel7-auto2 (2): standby
++Online: [ rhel7-auto3 rhel7-auto4 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto3 
++ Clone Set: A-clone [A]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++ Clone Set: B-clone [B]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++
+diff --git a/pengine/test10/clone-require-all-2.xml b/pengine/test10/clone-require-all-2.xml
+new file mode 100644
+index 0000000..1fd9576
+--- /dev/null
++++ b/pengine/test10/clone-require-all-2.xml
+@@ -0,0 +1,160 @@
++<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.3" epoch="19" num_updates="0" admin_epoch="0" cib-last-written="Mon Jan  5 17:40:52 2015" have-quorum="1" dc-uuid="2">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
++        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-a14efad"/>
++        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
++        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes>
++      <node id="1" uname="rhel7-auto1">
++        <instance_attributes id="nodes-1">
++          <nvpair id="nodes-1-standby" name="standby" value="on"/>
++        </instance_attributes>
++      </node>
++      <node id="2" uname="rhel7-auto2">
++        <instance_attributes id="nodes-2">
++          <nvpair id="nodes-2-standby" name="standby" value="on"/>
++        </instance_attributes>
++      </node>
++      <node id="3" uname="rhel7-auto3"/>
++      <node id="4" uname="rhel7-auto4"/>
++    </nodes>
++    <resources>
++      <primitive class="stonith" id="shooter" type="fence_xvm">
++        <instance_attributes id="shooter-instance_attributes"/>
++        <operations>
++          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <clone id="A-clone">
++        <primitive class="ocf" id="A" provider="heartbeat" type="Dummy">
++          <instance_attributes id="A-instance_attributes"/>
++          <operations>
++            <op id="A-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="A-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="A-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="A-clone-meta">
++          <nvpair id="A-clone-meta_attributes-interleave" name="interleave" value="true"/>
++        </meta_attributes>
++      </clone>
++      <clone id="B-clone">
++        <primitive class="ocf" id="B" provider="heartbeat" type="Dummy">
++          <instance_attributes id="B-instance_attributes"/>
++          <operations>
++            <op id="B-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="B-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="B-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="B-clone-meta">
++          <nvpair id="B-clone-meta_attributes-interleave" name="interleave" value="true"/>
++        </meta_attributes>
++      </clone>
++    </resources>
++    <constraints>
++      <rsc_location id="location-A-clone-rhel7-auto3--INFINITY" node="rhel7-auto3" rsc="A-clone" score="-INFINITY"/>
++      <rsc_location id="location-A-clone-rhel7-auto4--INFINITY" node="rhel7-auto4" rsc="A-clone" score="-INFINITY"/>
++      <rsc_location id="location-B-clone-rhel7-auto1--INFINITY" node="rhel7-auto1" rsc="B-clone" score="-INFINITY"/>
++      <rsc_location id="location-B-clone-rhel7-auto2--INFINITY" node="rhel7-auto2" rsc="B-clone" score="-INFINITY"/>
++      <rsc_order require-all="false" first="A-clone" first-action="start" id="order-A-clone-B-clone-mandatory" then="B-clone" then-action="start"/>
++    </constraints>
++  </configuration>
++  <status>
++    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="1">
++        <instance_attributes id="status-1">
++          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="1">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1420497434" last-rc-change="1420497434" exec-time="84" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1420497434" exec-time="62" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="12" rc-code="0" op-status="0" interval="0" last-run="1420497496" last-rc-change="1420497496" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="13" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497496" exec-time="19" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497505" exec-time="24" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="2">
++        <instance_attributes id="status-2">
++          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="2">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="10" rc-code="0" op-status="0" interval="0" last-run="1420497495" last-rc-change="1420497495" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497495" exec-time="20" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="3">
++        <instance_attributes id="status-3">
++          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="3">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="22:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;22:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497546" last-rc-change="1420497546" exec-time="32" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="22:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;22:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497653" last-rc-change="1420497653" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="30:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;30:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="22" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="4" uname="rhel7-auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="4">
++        <instance_attributes id="status-4">
++          <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-4-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="4">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497431" last-rc-change="1420497431" exec-time="987" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497545" last-rc-change="1420497545" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="24:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;24:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497652" last-rc-change="1420497652" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="32:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;32:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="28" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++  </status>
++</cib>
+diff --git a/pengine/test10/clone-require-all-3.dot b/pengine/test10/clone-require-all-3.dot
+new file mode 100644
+index 0000000..d93693d
+--- /dev/null
++++ b/pengine/test10/clone-require-all-3.dot
+@@ -0,0 +1,57 @@
++ digraph "g" {
++"A-clone_running_0" [ style=dashed color="red" fontcolor="orange"]
++"A-clone_start_0" -> "A-clone_running_0" [ style = dashed]
++"A-clone_start_0" -> "A_start_0 <none>" [ style = dashed]
++"A-clone_start_0" [ style=dashed color="red" fontcolor="orange"]
++"A-clone_stop_0" -> "A-clone_stopped_0" [ style = bold]
++"A-clone_stop_0" -> "A_stop_0 rhel7-auto1" [ style = bold]
++"A-clone_stop_0" -> "A_stop_0 rhel7-auto2" [ style = bold]
++"A-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
++"A-clone_stopped_0" -> "A-clone_start_0" [ style = dashed]
++"A-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
++"A_start_0 <none>" -> "A-clone_running_0" [ style = dashed]
++"A_start_0 <none>" [ style=dashed color="red" fontcolor="black"]
++"A_stop_0 rhel7-auto1" -> "A-clone_stopped_0" [ style = bold]
++"A_stop_0 rhel7-auto1" -> "A_start_0 <none>" [ style = dashed]
++"A_stop_0 rhel7-auto1" -> "all_stopped" [ style = bold]
++"A_stop_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
++"A_stop_0 rhel7-auto2" -> "A-clone_stopped_0" [ style = bold]
++"A_stop_0 rhel7-auto2" -> "A_start_0 <none>" [ style = dashed]
++"A_stop_0 rhel7-auto2" -> "all_stopped" [ style = bold]
++"A_stop_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
++"B-clone_running_0" [ style=dashed color="red" fontcolor="orange"]
++"B-clone_start_0" -> "B-clone_running_0" [ style = dashed]
++"B-clone_start_0" -> "B_start_0 rhel7-auto3" [ style = dashed]
++"B-clone_start_0" -> "B_start_0 rhel7-auto4" [ style = dashed]
++"B-clone_start_0" [ style=dashed color="red" fontcolor="orange"]
++"B-clone_stop_0" -> "B-clone_stopped_0" [ style = bold]
++"B-clone_stop_0" -> "B_stop_0 rhel7-auto3" [ style = bold]
++"B-clone_stop_0" -> "B_stop_0 rhel7-auto4" [ style = bold]
++"B-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
++"B-clone_stopped_0" -> "A-clone_stop_0" [ style = bold]
++"B-clone_stopped_0" -> "B-clone_start_0" [ style = dashed]
++"B-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
++"B_monitor_10000 rhel7-auto3" [ style=dashed color="red" fontcolor="black"]
++"B_monitor_10000 rhel7-auto4" [ style=dashed color="red" fontcolor="black"]
++"B_start_0 rhel7-auto3" -> "B-clone_running_0" [ style = dashed]
++"B_start_0 rhel7-auto3" -> "B_monitor_10000 rhel7-auto3" [ style = dashed]
++"B_start_0 rhel7-auto3" [ style=dashed color="red" fontcolor="black"]
++"B_start_0 rhel7-auto4" -> "B-clone_running_0" [ style = dashed]
++"B_start_0 rhel7-auto4" -> "B_monitor_10000 rhel7-auto4" [ style = dashed]
++"B_start_0 rhel7-auto4" [ style=dashed color="red" fontcolor="black"]
++"B_stop_0 rhel7-auto3" -> "B-clone_stopped_0" [ style = bold]
++"B_stop_0 rhel7-auto3" -> "B_start_0 rhel7-auto3" [ style = dashed]
++"B_stop_0 rhel7-auto3" -> "all_stopped" [ style = bold]
++"B_stop_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"B_stop_0 rhel7-auto4" -> "B-clone_stopped_0" [ style = bold]
++"B_stop_0 rhel7-auto4" -> "B_start_0 rhel7-auto4" [ style = dashed]
++"B_stop_0 rhel7-auto4" -> "all_stopped" [ style = bold]
++"B_stop_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
++"all_stopped" [ style=bold color="green" fontcolor="orange"]
++"shooter_monitor_60000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"shooter_start_0 rhel7-auto3" -> "shooter_monitor_60000 rhel7-auto3" [ style = bold]
++"shooter_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"shooter_stop_0 rhel7-auto1" -> "all_stopped" [ style = bold]
++"shooter_stop_0 rhel7-auto1" -> "shooter_start_0 rhel7-auto3" [ style = bold]
++"shooter_stop_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
++}
+diff --git a/pengine/test10/clone-require-all-3.exp b/pengine/test10/clone-require-all-3.exp
+new file mode 100644
+index 0000000..02eea7a
+--- /dev/null
++++ b/pengine/test10/clone-require-all-3.exp
+@@ -0,0 +1,169 @@
++<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
++  <synapse id="0">
++    <action_set>
++      <rsc_op id="15" operation="monitor" operation_key="shooter_monitor_60000" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="shooter" class="stonith" type="fence_xvm"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="14" operation="start" operation_key="shooter_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="1">
++    <action_set>
++      <rsc_op id="14" operation="start" operation_key="shooter_start_0" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="shooter" class="stonith" type="fence_xvm"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="13" operation="stop" operation_key="shooter_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="2">
++    <action_set>
++      <rsc_op id="13" operation="stop" operation_key="shooter_stop_0" on_node="rhel7-auto1" on_node_uuid="1">
++        <primitive id="shooter" class="stonith" type="fence_xvm"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="3">
++    <action_set>
++      <rsc_op id="16" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1">
++        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="20" operation="stop" operation_key="A-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="4">
++    <action_set>
++      <rsc_op id="17" operation="stop" operation_key="A_stop_0" internal_operation_key="A:1_stop_0" on_node="rhel7-auto2" on_node_uuid="2">
++        <primitive id="A" long-id="A:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="20" operation="stop" operation_key="A-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="5" priority="1000000">
++    <action_set>
++      <pseudo_event id="21" operation="stopped" operation_key="A-clone_stopped_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="16" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="17" operation="stop" operation_key="A_stop_0" internal_operation_key="A:1_stop_0" on_node="rhel7-auto2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="20" operation="stop" operation_key="A-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="6">
++    <action_set>
++      <pseudo_event id="20" operation="stop" operation_key="A-clone_stop_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="29" operation="stopped" operation_key="B-clone_stopped_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="7">
++    <action_set>
++      <rsc_op id="22" operation="stop" operation_key="B_stop_0" internal_operation_key="B:0_stop_0" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="28" operation="stop" operation_key="B-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="8">
++    <action_set>
++      <rsc_op id="24" operation="stop" operation_key="B_stop_0" internal_operation_key="B:1_stop_0" on_node="rhel7-auto4" on_node_uuid="4">
++        <primitive id="B" long-id="B:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="28" operation="stop" operation_key="B-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="9" priority="1000000">
++    <action_set>
++      <pseudo_event id="29" operation="stopped" operation_key="B-clone_stopped_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="22" operation="stop" operation_key="B_stop_0" internal_operation_key="B:0_stop_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="24" operation="stop" operation_key="B_stop_0" internal_operation_key="B:1_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="28" operation="stop" operation_key="B-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="10">
++    <action_set>
++      <pseudo_event id="28" operation="stop" operation_key="B-clone_stop_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="11">
++    <action_set>
++      <pseudo_event id="7" operation="all_stopped" operation_key="all_stopped">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="13" operation="stop" operation_key="shooter_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="16" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="17" operation="stop" operation_key="A_stop_0" internal_operation_key="A:1_stop_0" on_node="rhel7-auto2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="22" operation="stop" operation_key="B_stop_0" internal_operation_key="B:0_stop_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="24" operation="stop" operation_key="B_stop_0" internal_operation_key="B:1_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++</transition_graph>
+diff --git a/pengine/test10/clone-require-all-3.scores b/pengine/test10/clone-require-all-3.scores
+new file mode 100644
+index 0000000..814a972
+--- /dev/null
++++ b/pengine/test10/clone-require-all-3.scores
+@@ -0,0 +1,77 @@
++Allocation scores:
++clone_color: A-clone allocation score on rhel7-auto1: 0
++clone_color: A-clone allocation score on rhel7-auto2: 0
++clone_color: A-clone allocation score on rhel7-auto3: -INFINITY
++clone_color: A-clone allocation score on rhel7-auto4: -INFINITY
++clone_color: A:0 allocation score on rhel7-auto1: 1
++clone_color: A:0 allocation score on rhel7-auto2: 0
++clone_color: A:0 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:0 allocation score on rhel7-auto4: -INFINITY
++clone_color: A:1 allocation score on rhel7-auto1: 0
++clone_color: A:1 allocation score on rhel7-auto2: 1
++clone_color: A:1 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:1 allocation score on rhel7-auto4: -INFINITY
++clone_color: A:2 allocation score on rhel7-auto1: 0
++clone_color: A:2 allocation score on rhel7-auto2: 0
++clone_color: A:2 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:2 allocation score on rhel7-auto4: -INFINITY
++clone_color: A:3 allocation score on rhel7-auto1: 0
++clone_color: A:3 allocation score on rhel7-auto2: 0
++clone_color: A:3 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:3 allocation score on rhel7-auto4: -INFINITY
++clone_color: B-clone allocation score on rhel7-auto1: -INFINITY
++clone_color: B-clone allocation score on rhel7-auto2: -INFINITY
++clone_color: B-clone allocation score on rhel7-auto3: 0
++clone_color: B-clone allocation score on rhel7-auto4: 0
++clone_color: B:0 allocation score on rhel7-auto1: -INFINITY
++clone_color: B:0 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:0 allocation score on rhel7-auto3: 1
++clone_color: B:0 allocation score on rhel7-auto4: 0
++clone_color: B:1 allocation score on rhel7-auto1: -INFINITY
++clone_color: B:1 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:1 allocation score on rhel7-auto3: 0
++clone_color: B:1 allocation score on rhel7-auto4: 1
++clone_color: B:2 allocation score on rhel7-auto1: -INFINITY
++clone_color: B:2 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:2 allocation score on rhel7-auto3: 0
++clone_color: B:2 allocation score on rhel7-auto4: 0
++clone_color: B:3 allocation score on rhel7-auto1: -INFINITY
++clone_color: B:3 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:3 allocation score on rhel7-auto3: 0
++clone_color: B:3 allocation score on rhel7-auto4: 0
++native_color: A:0 allocation score on rhel7-auto1: -INFINITY
++native_color: A:0 allocation score on rhel7-auto2: -INFINITY
++native_color: A:0 allocation score on rhel7-auto3: -INFINITY
++native_color: A:0 allocation score on rhel7-auto4: -INFINITY
++native_color: A:1 allocation score on rhel7-auto1: -INFINITY
++native_color: A:1 allocation score on rhel7-auto2: -INFINITY
++native_color: A:1 allocation score on rhel7-auto3: -INFINITY
++native_color: A:1 allocation score on rhel7-auto4: -INFINITY
++native_color: A:2 allocation score on rhel7-auto1: -INFINITY
++native_color: A:2 allocation score on rhel7-auto2: -INFINITY
++native_color: A:2 allocation score on rhel7-auto3: -INFINITY
++native_color: A:2 allocation score on rhel7-auto4: -INFINITY
++native_color: A:3 allocation score on rhel7-auto1: -INFINITY
++native_color: A:3 allocation score on rhel7-auto2: -INFINITY
++native_color: A:3 allocation score on rhel7-auto3: -INFINITY
++native_color: A:3 allocation score on rhel7-auto4: -INFINITY
++native_color: B:0 allocation score on rhel7-auto1: -INFINITY
++native_color: B:0 allocation score on rhel7-auto2: -INFINITY
++native_color: B:0 allocation score on rhel7-auto3: 1
++native_color: B:0 allocation score on rhel7-auto4: -INFINITY
++native_color: B:1 allocation score on rhel7-auto1: -INFINITY
++native_color: B:1 allocation score on rhel7-auto2: -INFINITY
++native_color: B:1 allocation score on rhel7-auto3: 0
++native_color: B:1 allocation score on rhel7-auto4: 1
++native_color: B:2 allocation score on rhel7-auto1: -INFINITY
++native_color: B:2 allocation score on rhel7-auto2: -INFINITY
++native_color: B:2 allocation score on rhel7-auto3: -INFINITY
++native_color: B:2 allocation score on rhel7-auto4: -INFINITY
++native_color: B:3 allocation score on rhel7-auto1: -INFINITY
++native_color: B:3 allocation score on rhel7-auto2: -INFINITY
++native_color: B:3 allocation score on rhel7-auto3: -INFINITY
++native_color: B:3 allocation score on rhel7-auto4: -INFINITY
++native_color: shooter allocation score on rhel7-auto1: 0
++native_color: shooter allocation score on rhel7-auto2: 0
++native_color: shooter allocation score on rhel7-auto3: 0
++native_color: shooter allocation score on rhel7-auto4: 0
+diff --git a/pengine/test10/clone-require-all-3.summary b/pengine/test10/clone-require-all-3.summary
+new file mode 100644
+index 0000000..68191b1
+--- /dev/null
++++ b/pengine/test10/clone-require-all-3.summary
+@@ -0,0 +1,46 @@
++
++Current cluster status:
++Node rhel7-auto1 (1): standby
++Node rhel7-auto2 (2): standby
++Online: [ rhel7-auto3 rhel7-auto4 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
++ Clone Set: A-clone [A]
++     Started: [ rhel7-auto1 rhel7-auto2 ]
++     Stopped: [ rhel7-auto3 rhel7-auto4 ]
++ Clone Set: B-clone [B]
++     Started: [ rhel7-auto3 rhel7-auto4 ]
++     Stopped: [ rhel7-auto1 rhel7-auto2 ]
++
++Transition Summary:
++ * Move    shooter	(Started rhel7-auto1 -> rhel7-auto3)
++ * Stop    A:0	(rhel7-auto1)
++ * Stop    A:1	(rhel7-auto2)
++ * Stop    B:0	(Started rhel7-auto3)
++ * Stop    B:1	(Started rhel7-auto4)
++
++Executing cluster transition:
++ * Resource action: shooter         stop on rhel7-auto1
++ * Pseudo action:   B-clone_stop_0
++ * Resource action: shooter         start on rhel7-auto3
++ * Resource action: B               stop on rhel7-auto3
++ * Resource action: B               stop on rhel7-auto4
++ * Pseudo action:   B-clone_stopped_0
++ * Resource action: shooter         monitor=60000 on rhel7-auto3
++ * Pseudo action:   A-clone_stop_0
++ * Resource action: A               stop on rhel7-auto1
++ * Resource action: A               stop on rhel7-auto2
++ * Pseudo action:   A-clone_stopped_0
++ * Pseudo action:   all_stopped
++
++Revised cluster status:
++Node rhel7-auto1 (1): standby
++Node rhel7-auto2 (2): standby
++Online: [ rhel7-auto3 rhel7-auto4 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto3 
++ Clone Set: A-clone [A]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++ Clone Set: B-clone [B]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++
+diff --git a/pengine/test10/clone-require-all-3.xml b/pengine/test10/clone-require-all-3.xml
+new file mode 100644
+index 0000000..b04f0e2
+--- /dev/null
++++ b/pengine/test10/clone-require-all-3.xml
+@@ -0,0 +1,160 @@
++<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.3" epoch="17" num_updates="6" admin_epoch="0" cib-last-written="Mon Jan  5 17:40:52 2015" have-quorum="1" dc-uuid="2">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
++        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-a14efad"/>
++        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
++        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes>
++      <node id="1" uname="rhel7-auto1">
++        <instance_attributes id="nodes-1">
++          <nvpair id="nodes-1-standby" name="standby" value="on"/>
++        </instance_attributes>
++      </node>
++      <node id="2" uname="rhel7-auto2">
++        <instance_attributes id="nodes-2">
++          <nvpair id="nodes-2-standby" name="standby" value="on"/>
++        </instance_attributes>
++      </node>
++      <node id="3" uname="rhel7-auto3"/>
++      <node id="4" uname="rhel7-auto4"/>
++    </nodes>
++    <resources>
++      <primitive class="stonith" id="shooter" type="fence_xvm">
++        <instance_attributes id="shooter-instance_attributes"/>
++        <operations>
++          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <clone id="A-clone">
++        <primitive class="ocf" id="A" provider="heartbeat" type="Dummy">
++          <instance_attributes id="A-instance_attributes"/>
++          <operations>
++            <op id="A-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="A-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="A-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="A-clone-meta">
++          <nvpair id="A-clone-meta_attributes-interleave" name="interleave" value="true"/>
++        </meta_attributes>
++      </clone>
++      <clone id="B-clone">
++        <primitive class="ocf" id="B" provider="heartbeat" type="Dummy">
++          <instance_attributes id="B-instance_attributes"/>
++          <operations>
++            <op id="B-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="B-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="B-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="B-clone-meta">
++          <nvpair id="B-clone-meta_attributes-interleave" name="interleave" value="true"/>
++        </meta_attributes>
++      </clone>
++    </resources>
++    <constraints>
++      <rsc_location id="location-A-clone-rhel7-auto3--INFINITY" node="rhel7-auto3" rsc="A-clone" score="-INFINITY"/>
++      <rsc_location id="location-A-clone-rhel7-auto4--INFINITY" node="rhel7-auto4" rsc="A-clone" score="-INFINITY"/>
++      <rsc_location id="location-B-clone-rhel7-auto1--INFINITY" node="rhel7-auto1" rsc="B-clone" score="-INFINITY"/>
++      <rsc_location id="location-B-clone-rhel7-auto2--INFINITY" node="rhel7-auto2" rsc="B-clone" score="-INFINITY"/>
++      <rsc_order require-all="false" first="A-clone" first-action="start" id="order-A-clone-B-clone-mandatory" then="B-clone" then-action="start"/>
++    </constraints>
++  </configuration>
++  <status>
++    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="1">
++        <instance_attributes id="status-1">
++          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="1">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1420497434" last-rc-change="1420497434" exec-time="84" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1420497434" exec-time="62" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="12" rc-code="0" op-status="0" interval="0" last-run="1420497496" last-rc-change="1420497496" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="13" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497496" exec-time="19" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497505" exec-time="24" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="2">
++        <instance_attributes id="status-2">
++          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="2">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="10" rc-code="0" op-status="0" interval="0" last-run="1420497495" last-rc-change="1420497495" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497495" exec-time="20" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="3">
++        <instance_attributes id="status-3">
++          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="3">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="22:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;22:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497546" last-rc-change="1420497546" exec-time="32" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="22" rc-code="0" op-status="0" interval="0" last-run="1420572996" last-rc-change="1420572996" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420572996" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="4" uname="rhel7-auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="4">
++        <instance_attributes id="status-4">
++          <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-4-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="4">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497431" last-rc-change="1420497431" exec-time="987" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497545" last-rc-change="1420497545" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="22" rc-code="0" op-status="0" interval="0" last-run="1420572996" last-rc-change="1420572996" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420572996" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++  </status>
++</cib>
+diff --git a/pengine/test10/clone-require-all-4.dot b/pengine/test10/clone-require-all-4.dot
+new file mode 100644
+index 0000000..4b9521f
+--- /dev/null
++++ b/pengine/test10/clone-require-all-4.dot
+@@ -0,0 +1,24 @@
++ digraph "g" {
++"A-clone_running_0" [ style=bold color="green" fontcolor="orange"]
++"A-clone_start_0" -> "A-clone_running_0" [ style = bold]
++"A-clone_start_0" -> "A_start_0 <none>" [ style = dashed]
++"A-clone_start_0" [ style=bold color="green" fontcolor="orange"]
++"A-clone_stop_0" -> "A-clone_stopped_0" [ style = bold]
++"A-clone_stop_0" -> "A_stop_0 rhel7-auto1" [ style = bold]
++"A-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
++"A-clone_stopped_0" -> "A-clone_start_0" [ style = bold]
++"A-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
++"A_start_0 <none>" -> "A-clone_running_0" [ style = dashed]
++"A_start_0 <none>" [ style=dashed color="red" fontcolor="black"]
++"A_stop_0 rhel7-auto1" -> "A-clone_stopped_0" [ style = bold]
++"A_stop_0 rhel7-auto1" -> "A_start_0 <none>" [ style = dashed]
++"A_stop_0 rhel7-auto1" -> "all_stopped" [ style = bold]
++"A_stop_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
++"all_stopped" [ style=bold color="green" fontcolor="orange"]
++"shooter_monitor_60000 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
++"shooter_start_0 rhel7-auto2" -> "shooter_monitor_60000 rhel7-auto2" [ style = bold]
++"shooter_start_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
++"shooter_stop_0 rhel7-auto1" -> "all_stopped" [ style = bold]
++"shooter_stop_0 rhel7-auto1" -> "shooter_start_0 rhel7-auto2" [ style = bold]
++"shooter_stop_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
++}
+diff --git a/pengine/test10/clone-require-all-4.exp b/pengine/test10/clone-require-all-4.exp
+new file mode 100644
+index 0000000..53c1529
+--- /dev/null
++++ b/pengine/test10/clone-require-all-4.exp
+@@ -0,0 +1,112 @@
++<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
++  <synapse id="0">
++    <action_set>
++      <rsc_op id="15" operation="monitor" operation_key="shooter_monitor_60000" on_node="rhel7-auto2" on_node_uuid="2">
++        <primitive id="shooter" class="stonith" type="fence_xvm"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="14" operation="start" operation_key="shooter_start_0" on_node="rhel7-auto2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="1">
++    <action_set>
++      <rsc_op id="14" operation="start" operation_key="shooter_start_0" on_node="rhel7-auto2" on_node_uuid="2">
++        <primitive id="shooter" class="stonith" type="fence_xvm"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="13" operation="stop" operation_key="shooter_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="2">
++    <action_set>
++      <rsc_op id="13" operation="stop" operation_key="shooter_stop_0" on_node="rhel7-auto1" on_node_uuid="1">
++        <primitive id="shooter" class="stonith" type="fence_xvm"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="3">
++    <action_set>
++      <rsc_op id="16" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1">
++        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="21" operation="stop" operation_key="A-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="4" priority="1000000">
++    <action_set>
++      <pseudo_event id="22" operation="stopped" operation_key="A-clone_stopped_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="16" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="21" operation="stop" operation_key="A-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="5">
++    <action_set>
++      <pseudo_event id="21" operation="stop" operation_key="A-clone_stop_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="6" priority="1000000">
++    <action_set>
++      <pseudo_event id="20" operation="running" operation_key="A-clone_running_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="19" operation="start" operation_key="A-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="7">
++    <action_set>
++      <pseudo_event id="19" operation="start" operation_key="A-clone_start_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="22" operation="stopped" operation_key="A-clone_stopped_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="8">
++    <action_set>
++      <pseudo_event id="7" operation="all_stopped" operation_key="all_stopped">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="13" operation="stop" operation_key="shooter_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="16" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++</transition_graph>
+diff --git a/pengine/test10/clone-require-all-4.scores b/pengine/test10/clone-require-all-4.scores
+new file mode 100644
+index 0000000..c602a1d
+--- /dev/null
++++ b/pengine/test10/clone-require-all-4.scores
+@@ -0,0 +1,77 @@
++Allocation scores:
++clone_color: A-clone allocation score on rhel7-auto1: 0
++clone_color: A-clone allocation score on rhel7-auto2: 0
++clone_color: A-clone allocation score on rhel7-auto3: -INFINITY
++clone_color: A-clone allocation score on rhel7-auto4: -INFINITY
++clone_color: A:0 allocation score on rhel7-auto1: 1
++clone_color: A:0 allocation score on rhel7-auto2: 0
++clone_color: A:0 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:0 allocation score on rhel7-auto4: -INFINITY
++clone_color: A:1 allocation score on rhel7-auto1: 0
++clone_color: A:1 allocation score on rhel7-auto2: 1
++clone_color: A:1 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:1 allocation score on rhel7-auto4: -INFINITY
++clone_color: A:2 allocation score on rhel7-auto1: 0
++clone_color: A:2 allocation score on rhel7-auto2: 0
++clone_color: A:2 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:2 allocation score on rhel7-auto4: -INFINITY
++clone_color: A:3 allocation score on rhel7-auto1: 0
++clone_color: A:3 allocation score on rhel7-auto2: 0
++clone_color: A:3 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:3 allocation score on rhel7-auto4: -INFINITY
++clone_color: B-clone allocation score on rhel7-auto1: -INFINITY
++clone_color: B-clone allocation score on rhel7-auto2: -INFINITY
++clone_color: B-clone allocation score on rhel7-auto3: 0
++clone_color: B-clone allocation score on rhel7-auto4: 0
++clone_color: B:0 allocation score on rhel7-auto1: -INFINITY
++clone_color: B:0 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:0 allocation score on rhel7-auto3: 1
++clone_color: B:0 allocation score on rhel7-auto4: 0
++clone_color: B:1 allocation score on rhel7-auto1: -INFINITY
++clone_color: B:1 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:1 allocation score on rhel7-auto3: 0
++clone_color: B:1 allocation score on rhel7-auto4: 1
++clone_color: B:2 allocation score on rhel7-auto1: -INFINITY
++clone_color: B:2 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:2 allocation score on rhel7-auto3: 0
++clone_color: B:2 allocation score on rhel7-auto4: 0
++clone_color: B:3 allocation score on rhel7-auto1: -INFINITY
++clone_color: B:3 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:3 allocation score on rhel7-auto3: 0
++clone_color: B:3 allocation score on rhel7-auto4: 0
++native_color: A:0 allocation score on rhel7-auto1: -INFINITY
++native_color: A:0 allocation score on rhel7-auto2: -INFINITY
++native_color: A:0 allocation score on rhel7-auto3: -INFINITY
++native_color: A:0 allocation score on rhel7-auto4: -INFINITY
++native_color: A:1 allocation score on rhel7-auto1: -INFINITY
++native_color: A:1 allocation score on rhel7-auto2: 1
++native_color: A:1 allocation score on rhel7-auto3: -INFINITY
++native_color: A:1 allocation score on rhel7-auto4: -INFINITY
++native_color: A:2 allocation score on rhel7-auto1: -INFINITY
++native_color: A:2 allocation score on rhel7-auto2: -INFINITY
++native_color: A:2 allocation score on rhel7-auto3: -INFINITY
++native_color: A:2 allocation score on rhel7-auto4: -INFINITY
++native_color: A:3 allocation score on rhel7-auto1: -INFINITY
++native_color: A:3 allocation score on rhel7-auto2: -INFINITY
++native_color: A:3 allocation score on rhel7-auto3: -INFINITY
++native_color: A:3 allocation score on rhel7-auto4: -INFINITY
++native_color: B:0 allocation score on rhel7-auto1: -INFINITY
++native_color: B:0 allocation score on rhel7-auto2: -INFINITY
++native_color: B:0 allocation score on rhel7-auto3: 1
++native_color: B:0 allocation score on rhel7-auto4: 0
++native_color: B:1 allocation score on rhel7-auto1: -INFINITY
++native_color: B:1 allocation score on rhel7-auto2: -INFINITY
++native_color: B:1 allocation score on rhel7-auto3: -INFINITY
++native_color: B:1 allocation score on rhel7-auto4: 1
++native_color: B:2 allocation score on rhel7-auto1: -INFINITY
++native_color: B:2 allocation score on rhel7-auto2: -INFINITY
++native_color: B:2 allocation score on rhel7-auto3: -INFINITY
++native_color: B:2 allocation score on rhel7-auto4: -INFINITY
++native_color: B:3 allocation score on rhel7-auto1: -INFINITY
++native_color: B:3 allocation score on rhel7-auto2: -INFINITY
++native_color: B:3 allocation score on rhel7-auto3: -INFINITY
++native_color: B:3 allocation score on rhel7-auto4: -INFINITY
++native_color: shooter allocation score on rhel7-auto1: 0
++native_color: shooter allocation score on rhel7-auto2: 0
++native_color: shooter allocation score on rhel7-auto3: 0
++native_color: shooter allocation score on rhel7-auto4: 0
+diff --git a/pengine/test10/clone-require-all-4.summary b/pengine/test10/clone-require-all-4.summary
+new file mode 100644
+index 0000000..49ae3bd
+--- /dev/null
++++ b/pengine/test10/clone-require-all-4.summary
+@@ -0,0 +1,40 @@
++
++Current cluster status:
++Node rhel7-auto1 (1): standby
++Online: [ rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
++ Clone Set: A-clone [A]
++     Started: [ rhel7-auto1 rhel7-auto2 ]
++     Stopped: [ rhel7-auto3 rhel7-auto4 ]
++ Clone Set: B-clone [B]
++     Started: [ rhel7-auto3 rhel7-auto4 ]
++     Stopped: [ rhel7-auto1 rhel7-auto2 ]
++
++Transition Summary:
++ * Move    shooter	(Started rhel7-auto1 -> rhel7-auto2)
++ * Stop    A:0	(rhel7-auto1)
++
++Executing cluster transition:
++ * Resource action: shooter         stop on rhel7-auto1
++ * Pseudo action:   A-clone_stop_0
++ * Resource action: shooter         start on rhel7-auto2
++ * Resource action: A               stop on rhel7-auto1
++ * Pseudo action:   A-clone_stopped_0
++ * Pseudo action:   A-clone_start_0
++ * Pseudo action:   all_stopped
++ * Resource action: shooter         monitor=60000 on rhel7-auto2
++ * Pseudo action:   A-clone_running_0
++
++Revised cluster status:
++Node rhel7-auto1 (1): standby
++Online: [ rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto2 
++ Clone Set: A-clone [A]
++     Started: [ rhel7-auto2 ]
++     Stopped: [ rhel7-auto1 rhel7-auto3 rhel7-auto4 ]
++ Clone Set: B-clone [B]
++     Started: [ rhel7-auto3 rhel7-auto4 ]
++     Stopped: [ rhel7-auto1 rhel7-auto2 ]
++
+diff --git a/pengine/test10/clone-require-all-4.xml b/pengine/test10/clone-require-all-4.xml
+new file mode 100644
+index 0000000..8bfd27f
+--- /dev/null
++++ b/pengine/test10/clone-require-all-4.xml
+@@ -0,0 +1,156 @@
++<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.3" epoch="17" num_updates="6" admin_epoch="0" cib-last-written="Mon Jan  5 17:40:52 2015" have-quorum="1" dc-uuid="2">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
++        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-a14efad"/>
++        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
++        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes>
++      <node id="1" uname="rhel7-auto1">
++        <instance_attributes id="nodes-1">
++          <nvpair id="nodes-1-standby" name="standby" value="on"/>
++        </instance_attributes>
++      </node>
++      <node id="2" uname="rhel7-auto2"/>
++      <node id="3" uname="rhel7-auto3"/>
++      <node id="4" uname="rhel7-auto4"/>
++    </nodes>
++    <resources>
++      <primitive class="stonith" id="shooter" type="fence_xvm">
++        <instance_attributes id="shooter-instance_attributes"/>
++        <operations>
++          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <clone id="A-clone">
++        <primitive class="ocf" id="A" provider="heartbeat" type="Dummy">
++          <instance_attributes id="A-instance_attributes"/>
++          <operations>
++            <op id="A-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="A-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="A-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="A-clone-meta">
++          <nvpair id="A-clone-meta_attributes-interleave" name="interleave" value="true"/>
++        </meta_attributes>
++      </clone>
++      <clone id="B-clone">
++        <primitive class="ocf" id="B" provider="heartbeat" type="Dummy">
++          <instance_attributes id="B-instance_attributes"/>
++          <operations>
++            <op id="B-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="B-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="B-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="B-clone-meta">
++          <nvpair id="B-clone-meta_attributes-interleave" name="interleave" value="true"/>
++        </meta_attributes>
++      </clone>
++    </resources>
++    <constraints>
++      <rsc_location id="location-A-clone-rhel7-auto3--INFINITY" node="rhel7-auto3" rsc="A-clone" score="-INFINITY"/>
++      <rsc_location id="location-A-clone-rhel7-auto4--INFINITY" node="rhel7-auto4" rsc="A-clone" score="-INFINITY"/>
++      <rsc_location id="location-B-clone-rhel7-auto1--INFINITY" node="rhel7-auto1" rsc="B-clone" score="-INFINITY"/>
++      <rsc_location id="location-B-clone-rhel7-auto2--INFINITY" node="rhel7-auto2" rsc="B-clone" score="-INFINITY"/>
++      <rsc_order require-all="false" first="A-clone" first-action="start" id="order-A-clone-B-clone-mandatory" then="B-clone" then-action="start"/>
++    </constraints>
++  </configuration>
++  <status>
++    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="1">
++        <instance_attributes id="status-1">
++          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="1">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1420497434" last-rc-change="1420497434" exec-time="84" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1420497434" exec-time="62" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="12" rc-code="0" op-status="0" interval="0" last-run="1420497496" last-rc-change="1420497496" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="13" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497496" exec-time="19" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497505" exec-time="24" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="2">
++        <instance_attributes id="status-2">
++          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="2">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="10" rc-code="0" op-status="0" interval="0" last-run="1420497495" last-rc-change="1420497495" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497495" exec-time="20" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="3">
++        <instance_attributes id="status-3">
++          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="3">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="22:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;22:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497546" last-rc-change="1420497546" exec-time="32" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="22" rc-code="0" op-status="0" interval="0" last-run="1420572996" last-rc-change="1420572996" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420572996" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="4" uname="rhel7-auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="4">
++        <instance_attributes id="status-4">
++          <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-4-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="4">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497431" last-rc-change="1420497431" exec-time="987" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497545" last-rc-change="1420497545" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="22" rc-code="0" op-status="0" interval="0" last-run="1420572996" last-rc-change="1420572996" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420572996" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++  </status>
++</cib>
+diff --git a/pengine/test10/clone-require-all-5.dot b/pengine/test10/clone-require-all-5.dot
+new file mode 100644
+index 0000000..ce5a593
+--- /dev/null
++++ b/pengine/test10/clone-require-all-5.dot
+@@ -0,0 +1,31 @@
++ digraph "g" {
++"A-clone_running_0" [ style=bold color="green" fontcolor="orange"]
++"A-clone_start_0" -> "A-clone_running_0" [ style = bold]
++"A-clone_start_0" -> "A_start_0 rhel7-auto3" [ style = bold]
++"A-clone_start_0" [ style=bold color="green" fontcolor="orange"]
++"A_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"A_start_0 rhel7-auto3" -> "A-clone_running_0" [ style = bold]
++"A_start_0 rhel7-auto3" -> "A_monitor_10000 rhel7-auto3" [ style = bold]
++"A_start_0 rhel7-auto3" -> "clone-one-or-more:order-A-clone-B-clone-mandatory" [ style = bold]
++"A_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"B-clone_running_0" [ style=bold color="green" fontcolor="orange"]
++"B-clone_start_0" -> "B-clone_running_0" [ style = bold]
++"B-clone_start_0" -> "B:1_start_0 rhel7-auto3" [ style = bold]
++"B-clone_start_0" -> "B:2_start_0 rhel7-auto1" [ style = bold]
++"B-clone_start_0" -> "B_start_0 rhel7-auto4" [ style = bold]
++"B-clone_start_0" [ style=bold color="green" fontcolor="orange"]
++"B:1_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"B:1_start_0 rhel7-auto3" -> "B-clone_running_0" [ style = bold]
++"B:1_start_0 rhel7-auto3" -> "B:1_monitor_10000 rhel7-auto3" [ style = bold]
++"B:1_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"B:2_monitor_10000 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
++"B:2_start_0 rhel7-auto1" -> "B-clone_running_0" [ style = bold]
++"B:2_start_0 rhel7-auto1" -> "B:2_monitor_10000 rhel7-auto1" [ style = bold]
++"B:2_start_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
++"B_monitor_10000 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
++"B_start_0 rhel7-auto4" -> "B-clone_running_0" [ style = bold]
++"B_start_0 rhel7-auto4" -> "B_monitor_10000 rhel7-auto4" [ style = bold]
++"B_start_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
++"clone-one-or-more:order-A-clone-B-clone-mandatory" -> "B-clone_start_0" [ style = bold]
++"clone-one-or-more:order-A-clone-B-clone-mandatory" [ style=bold color="green" fontcolor="orange"]
++}
+diff --git a/pengine/test10/clone-require-all-5.exp b/pengine/test10/clone-require-all-5.exp
+new file mode 100644
+index 0000000..abb4d25
+--- /dev/null
++++ b/pengine/test10/clone-require-all-5.exp
+@@ -0,0 +1,174 @@
++<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
++  <synapse id="0">
++    <action_set>
++      <rsc_op id="18" operation="monitor" operation_key="A_monitor_10000" internal_operation_key="A:2_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="A" long-id="A:2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="17" operation="start" operation_key="A_start_0" internal_operation_key="A:2_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="1">
++    <action_set>
++      <rsc_op id="17" operation="start" operation_key="A_start_0" internal_operation_key="A:2_start_0" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="A" long-id="A:2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="19" operation="start" operation_key="A-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="2" priority="1000000">
++    <action_set>
++      <pseudo_event id="20" operation="running" operation_key="A-clone_running_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="17" operation="start" operation_key="A_start_0" internal_operation_key="A:2_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="19" operation="start" operation_key="A-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="3">
++    <action_set>
++      <pseudo_event id="19" operation="start" operation_key="A-clone_start_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="4">
++    <action_set>
++      <rsc_op id="24" operation="monitor" operation_key="B_monitor_10000" internal_operation_key="B:0_monitor_10000" on_node="rhel7-auto4" on_node_uuid="4">
++        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="23" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="5">
++    <action_set>
++      <rsc_op id="23" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto4" on_node_uuid="4">
++        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="29" operation="start" operation_key="B-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="6">
++    <action_set>
++      <rsc_op id="26" operation="monitor" operation_key="B:1_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="B" long-id="B:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="25" operation="start" operation_key="B:1_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="7">
++    <action_set>
++      <rsc_op id="25" operation="start" operation_key="B:1_start_0" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="B" long-id="B:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="29" operation="start" operation_key="B-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="8">
++    <action_set>
++      <rsc_op id="28" operation="monitor" operation_key="B:2_monitor_10000" on_node="rhel7-auto1" on_node_uuid="1">
++        <primitive id="B" long-id="B:2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="27" operation="start" operation_key="B:2_start_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="9">
++    <action_set>
++      <rsc_op id="27" operation="start" operation_key="B:2_start_0" on_node="rhel7-auto1" on_node_uuid="1">
++        <primitive id="B" long-id="B:2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="29" operation="start" operation_key="B-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="10" priority="1000000">
++    <action_set>
++      <pseudo_event id="30" operation="running" operation_key="B-clone_running_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="23" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="25" operation="start" operation_key="B:1_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="27" operation="start" operation_key="B:2_start_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="29" operation="start" operation_key="B-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="11">
++    <action_set>
++      <pseudo_event id="29" operation="start" operation_key="B-clone_start_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="4" operation="clone-one-or-more:order-A-clone-B-clone-mandatory" operation_key="clone-one-or-more:order-A-clone-B-clone-mandatory"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="12">
++    <action_set>
++      <pseudo_event id="4" operation="clone-one-or-more:order-A-clone-B-clone-mandatory" operation_key="clone-one-or-more:order-A-clone-B-clone-mandatory">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="17" operation="start" operation_key="A_start_0" internal_operation_key="A:2_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++</transition_graph>
+diff --git a/pengine/test10/clone-require-all-5.scores b/pengine/test10/clone-require-all-5.scores
+new file mode 100644
+index 0000000..cca6739
+--- /dev/null
++++ b/pengine/test10/clone-require-all-5.scores
+@@ -0,0 +1,77 @@
++Allocation scores:
++clone_color: A-clone allocation score on rhel7-auto1: 0
++clone_color: A-clone allocation score on rhel7-auto2: 0
++clone_color: A-clone allocation score on rhel7-auto3: 0
++clone_color: A-clone allocation score on rhel7-auto4: -INFINITY
++clone_color: A:0 allocation score on rhel7-auto1: 1
++clone_color: A:0 allocation score on rhel7-auto2: 0
++clone_color: A:0 allocation score on rhel7-auto3: 0
++clone_color: A:0 allocation score on rhel7-auto4: -INFINITY
++clone_color: A:1 allocation score on rhel7-auto1: 0
++clone_color: A:1 allocation score on rhel7-auto2: 1
++clone_color: A:1 allocation score on rhel7-auto3: 0
++clone_color: A:1 allocation score on rhel7-auto4: -INFINITY
++clone_color: A:2 allocation score on rhel7-auto1: 0
++clone_color: A:2 allocation score on rhel7-auto2: 0
++clone_color: A:2 allocation score on rhel7-auto3: 0
++clone_color: A:2 allocation score on rhel7-auto4: -INFINITY
++clone_color: A:3 allocation score on rhel7-auto1: 0
++clone_color: A:3 allocation score on rhel7-auto2: 0
++clone_color: A:3 allocation score on rhel7-auto3: 0
++clone_color: A:3 allocation score on rhel7-auto4: -INFINITY
++clone_color: B-clone allocation score on rhel7-auto1: 0
++clone_color: B-clone allocation score on rhel7-auto2: -INFINITY
++clone_color: B-clone allocation score on rhel7-auto3: 0
++clone_color: B-clone allocation score on rhel7-auto4: 0
++clone_color: B:0 allocation score on rhel7-auto1: 0
++clone_color: B:0 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:0 allocation score on rhel7-auto3: 0
++clone_color: B:0 allocation score on rhel7-auto4: 0
++clone_color: B:1 allocation score on rhel7-auto1: 0
++clone_color: B:1 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:1 allocation score on rhel7-auto3: 0
++clone_color: B:1 allocation score on rhel7-auto4: 0
++clone_color: B:2 allocation score on rhel7-auto1: 0
++clone_color: B:2 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:2 allocation score on rhel7-auto3: 0
++clone_color: B:2 allocation score on rhel7-auto4: 0
++clone_color: B:3 allocation score on rhel7-auto1: 0
++clone_color: B:3 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:3 allocation score on rhel7-auto3: 0
++clone_color: B:3 allocation score on rhel7-auto4: 0
++native_color: A:0 allocation score on rhel7-auto1: 1
++native_color: A:0 allocation score on rhel7-auto2: -INFINITY
++native_color: A:0 allocation score on rhel7-auto3: 0
++native_color: A:0 allocation score on rhel7-auto4: -INFINITY
++native_color: A:1 allocation score on rhel7-auto1: 0
++native_color: A:1 allocation score on rhel7-auto2: 1
++native_color: A:1 allocation score on rhel7-auto3: 0
++native_color: A:1 allocation score on rhel7-auto4: -INFINITY
++native_color: A:2 allocation score on rhel7-auto1: -INFINITY
++native_color: A:2 allocation score on rhel7-auto2: -INFINITY
++native_color: A:2 allocation score on rhel7-auto3: 0
++native_color: A:2 allocation score on rhel7-auto4: -INFINITY
++native_color: A:3 allocation score on rhel7-auto1: -INFINITY
++native_color: A:3 allocation score on rhel7-auto2: -INFINITY
++native_color: A:3 allocation score on rhel7-auto3: -INFINITY
++native_color: A:3 allocation score on rhel7-auto4: -INFINITY
++native_color: B:0 allocation score on rhel7-auto1: 0
++native_color: B:0 allocation score on rhel7-auto2: -INFINITY
++native_color: B:0 allocation score on rhel7-auto3: 0
++native_color: B:0 allocation score on rhel7-auto4: 0
++native_color: B:1 allocation score on rhel7-auto1: 0
++native_color: B:1 allocation score on rhel7-auto2: -INFINITY
++native_color: B:1 allocation score on rhel7-auto3: 0
++native_color: B:1 allocation score on rhel7-auto4: -INFINITY
++native_color: B:2 allocation score on rhel7-auto1: 0
++native_color: B:2 allocation score on rhel7-auto2: -INFINITY
++native_color: B:2 allocation score on rhel7-auto3: -INFINITY
++native_color: B:2 allocation score on rhel7-auto4: -INFINITY
++native_color: B:3 allocation score on rhel7-auto1: -INFINITY
++native_color: B:3 allocation score on rhel7-auto2: -INFINITY
++native_color: B:3 allocation score on rhel7-auto3: -INFINITY
++native_color: B:3 allocation score on rhel7-auto4: -INFINITY
++native_color: shooter allocation score on rhel7-auto1: 0
++native_color: shooter allocation score on rhel7-auto2: 0
++native_color: shooter allocation score on rhel7-auto3: 0
++native_color: shooter allocation score on rhel7-auto4: 0
+diff --git a/pengine/test10/clone-require-all-5.summary b/pengine/test10/clone-require-all-5.summary
+new file mode 100644
+index 0000000..2820093
+--- /dev/null
++++ b/pengine/test10/clone-require-all-5.summary
+@@ -0,0 +1,43 @@
++
++Current cluster status:
++Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
++ Clone Set: A-clone [A]
++     Started: [ rhel7-auto1 rhel7-auto2 ]
++     Stopped: [ rhel7-auto3 rhel7-auto4 ]
++ Clone Set: B-clone [B]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++
++Transition Summary:
++ * Start   A:2	(rhel7-auto3)
++ * Start   B:0	(rhel7-auto4)
++ * Start   B:1	(rhel7-auto3)
++ * Start   B:2	(rhel7-auto1)
++
++Executing cluster transition:
++ * Pseudo action:   A-clone_start_0
++ * Resource action: A               start on rhel7-auto3
++ * Pseudo action:   A-clone_running_0
++ * Pseudo action:   clone-one-or-more:order-A-clone-B-clone-mandatory
++ * Resource action: A               monitor=10000 on rhel7-auto3
++ * Pseudo action:   B-clone_start_0
++ * Resource action: B               start on rhel7-auto4
++ * Resource action: B               start on rhel7-auto3
++ * Resource action: B               start on rhel7-auto1
++ * Pseudo action:   B-clone_running_0
++ * Resource action: B               monitor=10000 on rhel7-auto4
++ * Resource action: B               monitor=10000 on rhel7-auto3
++ * Resource action: B               monitor=10000 on rhel7-auto1
++
++Revised cluster status:
++Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
++ Clone Set: A-clone [A]
++     Started: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
++     Stopped: [ rhel7-auto4 ]
++ Clone Set: B-clone [B]
++     Started: [ rhel7-auto1 rhel7-auto3 rhel7-auto4 ]
++     Stopped: [ rhel7-auto2 ]
++
+diff --git a/pengine/test10/clone-require-all-5.xml b/pengine/test10/clone-require-all-5.xml
+new file mode 100644
+index 0000000..1079dae
+--- /dev/null
++++ b/pengine/test10/clone-require-all-5.xml
+@@ -0,0 +1,150 @@
++<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.3" epoch="17" num_updates="2" admin_epoch="0" cib-last-written="Mon Jan  5 17:40:52 2015" have-quorum="1" dc-uuid="2">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
++        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-a14efad"/>
++        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
++        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes>
++      <node id="1" uname="rhel7-auto1"/>
++      <node id="2" uname="rhel7-auto2"/>
++      <node id="3" uname="rhel7-auto3"/>
++      <node id="4" uname="rhel7-auto4"/>
++    </nodes>
++    <resources>
++      <primitive class="stonith" id="shooter" type="fence_xvm">
++        <instance_attributes id="shooter-instance_attributes"/>
++        <operations>
++          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <clone id="A-clone">
++        <primitive class="ocf" id="A" provider="heartbeat" type="Dummy">
++          <instance_attributes id="A-instance_attributes"/>
++          <operations>
++            <op id="A-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="A-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="A-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="A-clone-meta">
++          <nvpair id="A-clone-meta_attributes-interleave" name="interleave" value="true"/>
++        </meta_attributes>
++      </clone>
++      <clone id="B-clone">
++        <primitive class="ocf" id="B" provider="heartbeat" type="Dummy">
++          <instance_attributes id="B-instance_attributes"/>
++          <operations>
++            <op id="B-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="B-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="B-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="B-clone-meta">
++          <nvpair id="B-clone-meta_attributes-interleave" name="interleave" value="true"/>
++        </meta_attributes>
++      </clone>
++    </resources>
++    <constraints>
++      <rsc_location id="location-A-clone-rhel7-auto4--INFINITY" node="rhel7-auto4" rsc="A-clone" score="-INFINITY"/>
++      <rsc_location id="location-B-clone-rhel7-auto2--INFINITY" node="rhel7-auto2" rsc="B-clone" score="-INFINITY"/>
++      <rsc_order require-all="false" first="A-clone" first-action="start" id="order-A-clone-B-clone-mandatory" then="B-clone" then-action="start"/>
++    </constraints>
++  </configuration>
++  <status>
++    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="1">
++        <instance_attributes id="status-1">
++          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="1">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1420497434" last-rc-change="1420497434" exec-time="84" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1420497434" exec-time="62" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="12" rc-code="0" op-status="0" interval="0" last-run="1420497496" last-rc-change="1420497496" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="13" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497496" exec-time="19" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497505" exec-time="24" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="2">
++        <instance_attributes id="status-2">
++          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="2">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="10" rc-code="0" op-status="0" interval="0" last-run="1420497495" last-rc-change="1420497495" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497495" exec-time="20" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="3">
++        <instance_attributes id="status-3">
++          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="3">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="22:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;22:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497546" last-rc-change="1420497546" exec-time="32" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="22:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;22:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497653" last-rc-change="1420497653" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="30:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;30:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="22" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="4" uname="rhel7-auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="4">
++        <instance_attributes id="status-4">
++          <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-4-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="4">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497431" last-rc-change="1420497431" exec-time="987" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497545" last-rc-change="1420497545" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="24:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;24:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497652" last-rc-change="1420497652" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="32:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;32:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="28" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++  </status>
++</cib>
+diff --git a/pengine/test10/clone-require-all-6.dot b/pengine/test10/clone-require-all-6.dot
+new file mode 100644
+index 0000000..3ee5c89
+--- /dev/null
++++ b/pengine/test10/clone-require-all-6.dot
+@@ -0,0 +1,23 @@
++ digraph "g" {
++"A-clone_running_0" [ style=bold color="green" fontcolor="orange"]
++"A-clone_start_0" -> "A-clone_running_0" [ style = bold]
++"A-clone_start_0" -> "A_start_0 <none>" [ style = dashed]
++"A-clone_start_0" [ style=bold color="green" fontcolor="orange"]
++"A-clone_stop_0" -> "A-clone_stopped_0" [ style = bold]
++"A-clone_stop_0" -> "A_stop_0 rhel7-auto1" [ style = bold]
++"A-clone_stop_0" -> "A_stop_0 rhel7-auto3" [ style = bold]
++"A-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
++"A-clone_stopped_0" -> "A-clone_start_0" [ style = bold]
++"A-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
++"A_start_0 <none>" -> "A-clone_running_0" [ style = dashed]
++"A_start_0 <none>" [ style=dashed color="red" fontcolor="black"]
++"A_stop_0 rhel7-auto1" -> "A-clone_stopped_0" [ style = bold]
++"A_stop_0 rhel7-auto1" -> "A_start_0 <none>" [ style = dashed]
++"A_stop_0 rhel7-auto1" -> "all_stopped" [ style = bold]
++"A_stop_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
++"A_stop_0 rhel7-auto3" -> "A-clone_stopped_0" [ style = bold]
++"A_stop_0 rhel7-auto3" -> "A_start_0 <none>" [ style = dashed]
++"A_stop_0 rhel7-auto3" -> "all_stopped" [ style = bold]
++"A_stop_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"all_stopped" [ style=bold color="green" fontcolor="orange"]
++}
+diff --git a/pengine/test10/clone-require-all-6.exp b/pengine/test10/clone-require-all-6.exp
+new file mode 100644
+index 0000000..8cc4c57
+--- /dev/null
++++ b/pengine/test10/clone-require-all-6.exp
+@@ -0,0 +1,93 @@
++<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
++  <synapse id="0">
++    <action_set>
++      <rsc_op id="17" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1">
++        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="23" operation="stop" operation_key="A-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="1">
++    <action_set>
++      <rsc_op id="20" operation="stop" operation_key="A_stop_0" internal_operation_key="A:2_stop_0" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="A" long-id="A:2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="23" operation="stop" operation_key="A-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="2" priority="1000000">
++    <action_set>
++      <pseudo_event id="24" operation="stopped" operation_key="A-clone_stopped_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="17" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="20" operation="stop" operation_key="A_stop_0" internal_operation_key="A:2_stop_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="23" operation="stop" operation_key="A-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="3">
++    <action_set>
++      <pseudo_event id="23" operation="stop" operation_key="A-clone_stop_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="4" priority="1000000">
++    <action_set>
++      <pseudo_event id="22" operation="running" operation_key="A-clone_running_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="21" operation="start" operation_key="A-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="5">
++    <action_set>
++      <pseudo_event id="21" operation="start" operation_key="A-clone_start_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="24" operation="stopped" operation_key="A-clone_stopped_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="6">
++    <action_set>
++      <pseudo_event id="9" operation="all_stopped" operation_key="all_stopped">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="17" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="20" operation="stop" operation_key="A_stop_0" internal_operation_key="A:2_stop_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++</transition_graph>
+diff --git a/pengine/test10/clone-require-all-6.scores b/pengine/test10/clone-require-all-6.scores
+new file mode 100644
+index 0000000..4e8ee5a
+--- /dev/null
++++ b/pengine/test10/clone-require-all-6.scores
+@@ -0,0 +1,77 @@
++Allocation scores:
++clone_color: A-clone allocation score on rhel7-auto1: -INFINITY
++clone_color: A-clone allocation score on rhel7-auto2: 0
++clone_color: A-clone allocation score on rhel7-auto3: -INFINITY
++clone_color: A-clone allocation score on rhel7-auto4: -INFINITY
++clone_color: A:0 allocation score on rhel7-auto1: -INFINITY
++clone_color: A:0 allocation score on rhel7-auto2: 0
++clone_color: A:0 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:0 allocation score on rhel7-auto4: -INFINITY
++clone_color: A:1 allocation score on rhel7-auto1: -INFINITY
++clone_color: A:1 allocation score on rhel7-auto2: 1
++clone_color: A:1 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:1 allocation score on rhel7-auto4: -INFINITY
++clone_color: A:2 allocation score on rhel7-auto1: -INFINITY
++clone_color: A:2 allocation score on rhel7-auto2: 0
++clone_color: A:2 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:2 allocation score on rhel7-auto4: -INFINITY
++clone_color: A:3 allocation score on rhel7-auto1: -INFINITY
++clone_color: A:3 allocation score on rhel7-auto2: 0
++clone_color: A:3 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:3 allocation score on rhel7-auto4: -INFINITY
++clone_color: B-clone allocation score on rhel7-auto1: 0
++clone_color: B-clone allocation score on rhel7-auto2: -INFINITY
++clone_color: B-clone allocation score on rhel7-auto3: 0
++clone_color: B-clone allocation score on rhel7-auto4: 0
++clone_color: B:0 allocation score on rhel7-auto1: 1
++clone_color: B:0 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:0 allocation score on rhel7-auto3: 0
++clone_color: B:0 allocation score on rhel7-auto4: 0
++clone_color: B:1 allocation score on rhel7-auto1: 0
++clone_color: B:1 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:1 allocation score on rhel7-auto3: 1
++clone_color: B:1 allocation score on rhel7-auto4: 0
++clone_color: B:2 allocation score on rhel7-auto1: 0
++clone_color: B:2 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:2 allocation score on rhel7-auto3: 0
++clone_color: B:2 allocation score on rhel7-auto4: 1
++clone_color: B:3 allocation score on rhel7-auto1: 0
++clone_color: B:3 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:3 allocation score on rhel7-auto3: 0
++clone_color: B:3 allocation score on rhel7-auto4: 0
++native_color: A:0 allocation score on rhel7-auto1: -INFINITY
++native_color: A:0 allocation score on rhel7-auto2: -INFINITY
++native_color: A:0 allocation score on rhel7-auto3: -INFINITY
++native_color: A:0 allocation score on rhel7-auto4: -INFINITY
++native_color: A:1 allocation score on rhel7-auto1: -INFINITY
++native_color: A:1 allocation score on rhel7-auto2: 1
++native_color: A:1 allocation score on rhel7-auto3: -INFINITY
++native_color: A:1 allocation score on rhel7-auto4: -INFINITY
++native_color: A:2 allocation score on rhel7-auto1: -INFINITY
++native_color: A:2 allocation score on rhel7-auto2: -INFINITY
++native_color: A:2 allocation score on rhel7-auto3: -INFINITY
++native_color: A:2 allocation score on rhel7-auto4: -INFINITY
++native_color: A:3 allocation score on rhel7-auto1: -INFINITY
++native_color: A:3 allocation score on rhel7-auto2: -INFINITY
++native_color: A:3 allocation score on rhel7-auto3: -INFINITY
++native_color: A:3 allocation score on rhel7-auto4: -INFINITY
++native_color: B:0 allocation score on rhel7-auto1: 1
++native_color: B:0 allocation score on rhel7-auto2: -INFINITY
++native_color: B:0 allocation score on rhel7-auto3: -INFINITY
++native_color: B:0 allocation score on rhel7-auto4: -INFINITY
++native_color: B:1 allocation score on rhel7-auto1: 0
++native_color: B:1 allocation score on rhel7-auto2: -INFINITY
++native_color: B:1 allocation score on rhel7-auto3: 1
++native_color: B:1 allocation score on rhel7-auto4: 0
++native_color: B:2 allocation score on rhel7-auto1: 0
++native_color: B:2 allocation score on rhel7-auto2: -INFINITY
++native_color: B:2 allocation score on rhel7-auto3: -INFINITY
++native_color: B:2 allocation score on rhel7-auto4: 1
++native_color: B:3 allocation score on rhel7-auto1: -INFINITY
++native_color: B:3 allocation score on rhel7-auto2: -INFINITY
++native_color: B:3 allocation score on rhel7-auto3: -INFINITY
++native_color: B:3 allocation score on rhel7-auto4: -INFINITY
++native_color: shooter allocation score on rhel7-auto1: 0
++native_color: shooter allocation score on rhel7-auto2: 0
++native_color: shooter allocation score on rhel7-auto3: 0
++native_color: shooter allocation score on rhel7-auto4: 0
+diff --git a/pengine/test10/clone-require-all-6.summary b/pengine/test10/clone-require-all-6.summary
+new file mode 100644
+index 0000000..6561ea3
+--- /dev/null
++++ b/pengine/test10/clone-require-all-6.summary
+@@ -0,0 +1,36 @@
++
++Current cluster status:
++Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
++ Clone Set: A-clone [A]
++     Started: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
++     Stopped: [ rhel7-auto4 ]
++ Clone Set: B-clone [B]
++     Started: [ rhel7-auto1 rhel7-auto3 rhel7-auto4 ]
++     Stopped: [ rhel7-auto2 ]
++
++Transition Summary:
++ * Stop    A:0	(rhel7-auto1)
++ * Stop    A:2	(rhel7-auto3)
++
++Executing cluster transition:
++ * Pseudo action:   A-clone_stop_0
++ * Resource action: A               stop on rhel7-auto1
++ * Resource action: A               stop on rhel7-auto3
++ * Pseudo action:   A-clone_stopped_0
++ * Pseudo action:   A-clone_start_0
++ * Pseudo action:   all_stopped
++ * Pseudo action:   A-clone_running_0
++
++Revised cluster status:
++Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
++ Clone Set: A-clone [A]
++     Started: [ rhel7-auto2 ]
++     Stopped: [ rhel7-auto1 rhel7-auto3 rhel7-auto4 ]
++ Clone Set: B-clone [B]
++     Started: [ rhel7-auto1 rhel7-auto3 rhel7-auto4 ]
++     Stopped: [ rhel7-auto2 ]
++
+diff --git a/pengine/test10/clone-require-all-6.xml b/pengine/test10/clone-require-all-6.xml
+new file mode 100644
+index 0000000..5222b33
+--- /dev/null
++++ b/pengine/test10/clone-require-all-6.xml
+@@ -0,0 +1,153 @@
++<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.3" epoch="17" num_updates="10" admin_epoch="0" cib-last-written="Mon Jan  5 17:40:52 2015" have-quorum="1" dc-uuid="2">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
++        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-a14efad"/>
++        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
++        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes>
++      <node id="1" uname="rhel7-auto1"/>
++      <node id="2" uname="rhel7-auto2"/>
++      <node id="3" uname="rhel7-auto3"/>
++      <node id="4" uname="rhel7-auto4"/>
++    </nodes>
++    <resources>
++      <primitive class="stonith" id="shooter" type="fence_xvm">
++        <instance_attributes id="shooter-instance_attributes"/>
++        <operations>
++          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <clone id="A-clone">
++        <primitive class="ocf" id="A" provider="heartbeat" type="Dummy">
++          <instance_attributes id="A-instance_attributes"/>
++          <operations>
++            <op id="A-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="A-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="A-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="A-clone-meta">
++          <nvpair id="A-clone-meta_attributes-interleave" name="interleave" value="true"/>
++        </meta_attributes>
++      </clone>
++      <clone id="B-clone">
++        <primitive class="ocf" id="B" provider="heartbeat" type="Dummy">
++          <instance_attributes id="B-instance_attributes"/>
++          <operations>
++            <op id="B-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="B-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="B-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="B-clone-meta">
++          <nvpair id="B-clone-meta_attributes-interleave" name="interleave" value="true"/>
++        </meta_attributes>
++      </clone>
++    </resources>
++    <constraints>
++      <rsc_location id="location-A-clone-rhel7-auto4--INFINITY" node="rhel7-auto4" rsc="A-clone" score="-INFINITY"/>
++      <rsc_location id="location-A-clone-rhel7-auto3--INFINITY" node="rhel7-auto3" rsc="A-clone" score="-INFINITY"/>
++      <rsc_location id="location-A-clone-rhel7-auto1--INFINITY" node="rhel7-auto1" rsc="A-clone" score="-INFINITY"/>
++      <rsc_location id="location-B-clone-rhel7-auto2--INFINITY" node="rhel7-auto2" rsc="B-clone" score="-INFINITY"/>
++      <rsc_order require-all="false" first="A-clone" first-action="start" id="order-A-clone-B-clone-mandatory" then="B-clone" then-action="start"/>
++    </constraints>
++  </configuration>
++  <status>
++    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="1">
++        <instance_attributes id="status-1">
++          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="1">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1420497434" last-rc-change="1420497434" exec-time="84" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1420497434" exec-time="62" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="12" rc-code="0" op-status="0" interval="0" last-run="1420497496" last-rc-change="1420497496" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="13" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497496" exec-time="19" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="22" rc-code="0" op-status="0" interval="0" last-run="1420580294" last-rc-change="1420580294" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420580294" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="2">
++        <instance_attributes id="status-2">
++          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="2">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="10" rc-code="0" op-status="0" interval="0" last-run="1420497495" last-rc-change="1420497495" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497495" exec-time="20" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="3">
++        <instance_attributes id="status-3">
++          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="3">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="20:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;20:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="20" rc-code="0" op-status="0" interval="0" last-run="1420580294" last-rc-change="1420580294" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="21:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;21:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="21" rc-code="0" op-status="0" interval="10000" last-rc-change="1420580294" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="22" rc-code="0" op-status="0" interval="0" last-run="1420580294" last-rc-change="1420580294" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420580294" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="4" uname="rhel7-auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="4">
++        <instance_attributes id="status-4">
++          <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-4-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="4">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497431" last-rc-change="1420497431" exec-time="987" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497545" last-rc-change="1420497545" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="22" rc-code="0" op-status="0" interval="0" last-run="1420580294" last-rc-change="1420580294" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420580294" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++  </status>
++</cib>
+diff --git a/pengine/test10/clone-require-all-7.dot b/pengine/test10/clone-require-all-7.dot
+new file mode 100644
+index 0000000..baa87a2
+--- /dev/null
++++ b/pengine/test10/clone-require-all-7.dot
+@@ -0,0 +1,51 @@
++ digraph "g" {
++"A-clone_running_0" [ style=bold color="green" fontcolor="orange"]
++"A-clone_start_0" -> "A-clone_running_0" [ style = bold]
++"A-clone_start_0" -> "A:0_start_0 rhel7-auto2" [ style = bold]
++"A-clone_start_0" -> "A:1_start_0 rhel7-auto1" [ style = bold]
++"A-clone_start_0" [ style=bold color="green" fontcolor="orange"]
++"A:0_monitor_0 rhel7-auto2" -> "probe_complete rhel7-auto2" [ style = bold]
++"A:0_monitor_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
++"A:0_monitor_0 rhel7-auto3" -> "probe_complete rhel7-auto3" [ style = bold]
++"A:0_monitor_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"A:0_monitor_0 rhel7-auto4" -> "probe_complete rhel7-auto4" [ style = bold]
++"A:0_monitor_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
++"A:0_monitor_10000 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
++"A:0_start_0 rhel7-auto2" -> "A-clone_running_0" [ style = bold]
++"A:0_start_0 rhel7-auto2" -> "A:0_monitor_10000 rhel7-auto2" [ style = bold]
++"A:0_start_0 rhel7-auto2" -> "clone-one-or-more:order-A-clone-B-clone-mandatory" [ style = bold]
++"A:0_start_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
++"A:1_monitor_0 rhel7-auto1" -> "probe_complete rhel7-auto1" [ style = bold]
++"A:1_monitor_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
++"A:1_monitor_10000 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
++"A:1_start_0 rhel7-auto1" -> "A-clone_running_0" [ style = bold]
++"A:1_start_0 rhel7-auto1" -> "A:1_monitor_10000 rhel7-auto1" [ style = bold]
++"A:1_start_0 rhel7-auto1" -> "clone-one-or-more:order-A-clone-B-clone-mandatory" [ style = bold]
++"A:1_start_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
++"B-clone_running_0" [ style=bold color="green" fontcolor="orange"]
++"B-clone_start_0" -> "B-clone_running_0" [ style = bold]
++"B-clone_start_0" -> "B:1_start_0 rhel7-auto4" [ style = bold]
++"B-clone_start_0" -> "B_start_0 rhel7-auto3" [ style = bold]
++"B-clone_start_0" [ style=bold color="green" fontcolor="orange"]
++"B:1_monitor_10000 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
++"B:1_start_0 rhel7-auto4" -> "B-clone_running_0" [ style = bold]
++"B:1_start_0 rhel7-auto4" -> "B:1_monitor_10000 rhel7-auto4" [ style = bold]
++"B:1_start_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
++"B_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"B_start_0 rhel7-auto3" -> "B-clone_running_0" [ style = bold]
++"B_start_0 rhel7-auto3" -> "B_monitor_10000 rhel7-auto3" [ style = bold]
++"B_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"clone-one-or-more:order-A-clone-B-clone-mandatory" -> "B-clone_start_0" [ style = bold]
++"clone-one-or-more:order-A-clone-B-clone-mandatory" [ style=bold color="green" fontcolor="orange"]
++"probe_complete rhel7-auto1" -> "probe_complete" [ style = bold]
++"probe_complete rhel7-auto1" [ style=bold color="green" fontcolor="black"]
++"probe_complete rhel7-auto2" -> "probe_complete" [ style = bold]
++"probe_complete rhel7-auto2" [ style=bold color="green" fontcolor="black"]
++"probe_complete rhel7-auto3" -> "probe_complete" [ style = bold]
++"probe_complete rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"probe_complete rhel7-auto4" -> "probe_complete" [ style = bold]
++"probe_complete rhel7-auto4" [ style=bold color="green" fontcolor="black"]
++"probe_complete" -> "A:0_start_0 rhel7-auto2" [ style = bold]
++"probe_complete" -> "A:1_start_0 rhel7-auto1" [ style = bold]
++"probe_complete" [ style=bold color="green" fontcolor="orange"]
++}
+diff --git a/pengine/test10/clone-require-all-7.exp b/pengine/test10/clone-require-all-7.exp
+new file mode 100644
+index 0000000..d37a82f
+--- /dev/null
++++ b/pengine/test10/clone-require-all-7.exp
+@@ -0,0 +1,288 @@
++<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
++  <synapse id="0">
++    <action_set>
++      <rsc_op id="16" operation="monitor" operation_key="A:0_monitor_10000" on_node="rhel7-auto2" on_node_uuid="2">
++        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="15" operation="start" operation_key="A:0_start_0" on_node="rhel7-auto2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="1">
++    <action_set>
++      <rsc_op id="15" operation="start" operation_key="A:0_start_0" on_node="rhel7-auto2" on_node_uuid="2">
++        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="4" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="19" operation="start" operation_key="A-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="2">
++    <action_set>
++      <rsc_op id="12" operation="monitor" operation_key="A:0_monitor_0" on_node="rhel7-auto4" on_node_uuid="4">
++        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="3">
++    <action_set>
++      <rsc_op id="10" operation="monitor" operation_key="A:0_monitor_0" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="4">
++    <action_set>
++      <rsc_op id="8" operation="monitor" operation_key="A:0_monitor_0" on_node="rhel7-auto2" on_node_uuid="2">
++        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="5">
++    <action_set>
++      <rsc_op id="18" operation="monitor" operation_key="A:1_monitor_10000" on_node="rhel7-auto1" on_node_uuid="1">
++        <primitive id="A" long-id="A:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="17" operation="start" operation_key="A:1_start_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="6">
++    <action_set>
++      <rsc_op id="17" operation="start" operation_key="A:1_start_0" on_node="rhel7-auto1" on_node_uuid="1">
++        <primitive id="A" long-id="A:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="4" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="19" operation="start" operation_key="A-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="7">
++    <action_set>
++      <rsc_op id="6" operation="monitor" operation_key="A:1_monitor_0" on_node="rhel7-auto1" on_node_uuid="1">
++        <primitive id="A" long-id="A:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="8" priority="1000000">
++    <action_set>
++      <pseudo_event id="20" operation="running" operation_key="A-clone_running_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="15" operation="start" operation_key="A:0_start_0" on_node="rhel7-auto2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="17" operation="start" operation_key="A:1_start_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="19" operation="start" operation_key="A-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="9">
++    <action_set>
++      <pseudo_event id="19" operation="start" operation_key="A-clone_start_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="10">
++    <action_set>
++      <rsc_op id="24" operation="monitor" operation_key="B_monitor_10000" internal_operation_key="B:0_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="23" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="11">
++    <action_set>
++      <rsc_op id="23" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="27" operation="start" operation_key="B-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="12">
++    <action_set>
++      <rsc_op id="26" operation="monitor" operation_key="B:1_monitor_10000" on_node="rhel7-auto4" on_node_uuid="4">
++        <primitive id="B" long-id="B:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="25" operation="start" operation_key="B:1_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="13">
++    <action_set>
++      <rsc_op id="25" operation="start" operation_key="B:1_start_0" on_node="rhel7-auto4" on_node_uuid="4">
++        <primitive id="B" long-id="B:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="27" operation="start" operation_key="B-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="14" priority="1000000">
++    <action_set>
++      <pseudo_event id="28" operation="running" operation_key="B-clone_running_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="23" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="25" operation="start" operation_key="B:1_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="27" operation="start" operation_key="B-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="15">
++    <action_set>
++      <pseudo_event id="27" operation="start" operation_key="B-clone_start_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="2" operation="clone-one-or-more:order-A-clone-B-clone-mandatory" operation_key="clone-one-or-more:order-A-clone-B-clone-mandatory"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="16" priority="1000000">
++    <action_set>
++      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-rhel7-auto4" on_node="rhel7-auto4" on_node_uuid="4">
++        <attributes CRM_meta_op_no_wait="true" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="12" operation="monitor" operation_key="A:0_monitor_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="17" priority="1000000">
++    <action_set>
++      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-rhel7-auto3" on_node="rhel7-auto3" on_node_uuid="3">
++        <attributes CRM_meta_op_no_wait="true" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="10" operation="monitor" operation_key="A:0_monitor_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="18" priority="1000000">
++    <action_set>
++      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-rhel7-auto2" on_node="rhel7-auto2" on_node_uuid="2">
++        <attributes CRM_meta_op_no_wait="true" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="8" operation="monitor" operation_key="A:0_monitor_0" on_node="rhel7-auto2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="19" priority="1000000">
++    <action_set>
++      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-rhel7-auto1" on_node="rhel7-auto1" on_node_uuid="1">
++        <attributes CRM_meta_op_no_wait="true" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="6" operation="monitor" operation_key="A:1_monitor_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="20">
++    <action_set>
++      <pseudo_event id="4" operation="probe_complete" operation_key="probe_complete">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-rhel7-auto1" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-rhel7-auto2" on_node="rhel7-auto2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-rhel7-auto3" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-rhel7-auto4" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="21">
++    <action_set>
++      <pseudo_event id="2" operation="clone-one-or-more:order-A-clone-B-clone-mandatory" operation_key="clone-one-or-more:order-A-clone-B-clone-mandatory">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="15" operation="start" operation_key="A:0_start_0" on_node="rhel7-auto2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="17" operation="start" operation_key="A:1_start_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++</transition_graph>
+diff --git a/pengine/test10/clone-require-all-7.scores b/pengine/test10/clone-require-all-7.scores
+new file mode 100644
+index 0000000..8c61fd1
+--- /dev/null
++++ b/pengine/test10/clone-require-all-7.scores
+@@ -0,0 +1,77 @@
++Allocation scores:
++clone_color: A-clone allocation score on rhel7-auto1: 0
++clone_color: A-clone allocation score on rhel7-auto2: 0
++clone_color: A-clone allocation score on rhel7-auto3: -INFINITY
++clone_color: A-clone allocation score on rhel7-auto4: -INFINITY
++clone_color: A:0 allocation score on rhel7-auto1: 0
++clone_color: A:0 allocation score on rhel7-auto2: 0
++clone_color: A:0 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:0 allocation score on rhel7-auto4: -INFINITY
++clone_color: A:1 allocation score on rhel7-auto1: 0
++clone_color: A:1 allocation score on rhel7-auto2: 0
++clone_color: A:1 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:1 allocation score on rhel7-auto4: -INFINITY
++clone_color: A:2 allocation score on rhel7-auto1: 0
++clone_color: A:2 allocation score on rhel7-auto2: 0
++clone_color: A:2 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:2 allocation score on rhel7-auto4: -INFINITY
++clone_color: A:3 allocation score on rhel7-auto1: 0
++clone_color: A:3 allocation score on rhel7-auto2: 0
++clone_color: A:3 allocation score on rhel7-auto3: -INFINITY
++clone_color: A:3 allocation score on rhel7-auto4: -INFINITY
++clone_color: B-clone allocation score on rhel7-auto1: -INFINITY
++clone_color: B-clone allocation score on rhel7-auto2: -INFINITY
++clone_color: B-clone allocation score on rhel7-auto3: 0
++clone_color: B-clone allocation score on rhel7-auto4: 0
++clone_color: B:0 allocation score on rhel7-auto1: -INFINITY
++clone_color: B:0 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:0 allocation score on rhel7-auto3: 0
++clone_color: B:0 allocation score on rhel7-auto4: 0
++clone_color: B:1 allocation score on rhel7-auto1: -INFINITY
++clone_color: B:1 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:1 allocation score on rhel7-auto3: 0
++clone_color: B:1 allocation score on rhel7-auto4: 0
++clone_color: B:2 allocation score on rhel7-auto1: -INFINITY
++clone_color: B:2 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:2 allocation score on rhel7-auto3: 0
++clone_color: B:2 allocation score on rhel7-auto4: 0
++clone_color: B:3 allocation score on rhel7-auto1: -INFINITY
++clone_color: B:3 allocation score on rhel7-auto2: -INFINITY
++clone_color: B:3 allocation score on rhel7-auto3: 0
++clone_color: B:3 allocation score on rhel7-auto4: 0
++native_color: A:0 allocation score on rhel7-auto1: 0
++native_color: A:0 allocation score on rhel7-auto2: 0
++native_color: A:0 allocation score on rhel7-auto3: -INFINITY
++native_color: A:0 allocation score on rhel7-auto4: -INFINITY
++native_color: A:1 allocation score on rhel7-auto1: 0
++native_color: A:1 allocation score on rhel7-auto2: -INFINITY
++native_color: A:1 allocation score on rhel7-auto3: -INFINITY
++native_color: A:1 allocation score on rhel7-auto4: -INFINITY
++native_color: A:2 allocation score on rhel7-auto1: -INFINITY
++native_color: A:2 allocation score on rhel7-auto2: -INFINITY
++native_color: A:2 allocation score on rhel7-auto3: -INFINITY
++native_color: A:2 allocation score on rhel7-auto4: -INFINITY
++native_color: A:3 allocation score on rhel7-auto1: -INFINITY
++native_color: A:3 allocation score on rhel7-auto2: -INFINITY
++native_color: A:3 allocation score on rhel7-auto3: -INFINITY
++native_color: A:3 allocation score on rhel7-auto4: -INFINITY
++native_color: B:0 allocation score on rhel7-auto1: -INFINITY
++native_color: B:0 allocation score on rhel7-auto2: -INFINITY
++native_color: B:0 allocation score on rhel7-auto3: 0
++native_color: B:0 allocation score on rhel7-auto4: 0
++native_color: B:1 allocation score on rhel7-auto1: -INFINITY
++native_color: B:1 allocation score on rhel7-auto2: -INFINITY
++native_color: B:1 allocation score on rhel7-auto3: -INFINITY
++native_color: B:1 allocation score on rhel7-auto4: 0
++native_color: B:2 allocation score on rhel7-auto1: -INFINITY
++native_color: B:2 allocation score on rhel7-auto2: -INFINITY
++native_color: B:2 allocation score on rhel7-auto3: -INFINITY
++native_color: B:2 allocation score on rhel7-auto4: -INFINITY
++native_color: B:3 allocation score on rhel7-auto1: -INFINITY
++native_color: B:3 allocation score on rhel7-auto2: -INFINITY
++native_color: B:3 allocation score on rhel7-auto3: -INFINITY
++native_color: B:3 allocation score on rhel7-auto4: -INFINITY
++native_color: shooter allocation score on rhel7-auto1: 0
++native_color: shooter allocation score on rhel7-auto2: 0
++native_color: shooter allocation score on rhel7-auto3: 0
++native_color: shooter allocation score on rhel7-auto4: 0
+diff --git a/pengine/test10/clone-require-all-7.summary b/pengine/test10/clone-require-all-7.summary
+new file mode 100644
+index 0000000..411f738
+--- /dev/null
++++ b/pengine/test10/clone-require-all-7.summary
+@@ -0,0 +1,47 @@
++
++Current cluster status:
++Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
++ Clone Set: A-clone [A]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++ Clone Set: B-clone [B]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++
++Transition Summary:
++ * Start   A:0	(rhel7-auto2)
++ * Start   A:1	(rhel7-auto1)
++ * Start   B:0	(rhel7-auto3)
++ * Start   B:1	(rhel7-auto4)
++
++Executing cluster transition:
++ * Resource action: A:0             monitor on rhel7-auto4
++ * Resource action: A:0             monitor on rhel7-auto3
++ * Resource action: A:0             monitor on rhel7-auto2
++ * Resource action: A:1             monitor on rhel7-auto1
++ * Pseudo action:   A-clone_start_0
++ * Pseudo action:   probe_complete
++ * Resource action: A:0             start on rhel7-auto2
++ * Resource action: A:1             start on rhel7-auto1
++ * Pseudo action:   A-clone_running_0
++ * Pseudo action:   clone-one-or-more:order-A-clone-B-clone-mandatory
++ * Resource action: A:0             monitor=10000 on rhel7-auto2
++ * Resource action: A:1             monitor=10000 on rhel7-auto1
++ * Pseudo action:   B-clone_start_0
++ * Resource action: B               start on rhel7-auto3
++ * Resource action: B               start on rhel7-auto4
++ * Pseudo action:   B-clone_running_0
++ * Resource action: B               monitor=10000 on rhel7-auto3
++ * Resource action: B               monitor=10000 on rhel7-auto4
++
++Revised cluster status:
++Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
++ Clone Set: A-clone [A]
++     Started: [ rhel7-auto1 rhel7-auto2 ]
++     Stopped: [ rhel7-auto3 rhel7-auto4 ]
++ Clone Set: B-clone [B]
++     Started: [ rhel7-auto3 rhel7-auto4 ]
++     Stopped: [ rhel7-auto1 rhel7-auto2 ]
++
+diff --git a/pengine/test10/clone-require-all-7.xml b/pengine/test10/clone-require-all-7.xml
+new file mode 100644
+index 0000000..6aea47b
+--- /dev/null
++++ b/pengine/test10/clone-require-all-7.xml
+@@ -0,0 +1,138 @@
++<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.3" epoch="17" num_updates="2" admin_epoch="0" cib-last-written="Mon Jan  5 17:40:52 2015" have-quorum="1" dc-uuid="2">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
++        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-a14efad"/>
++        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
++        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes>
++      <node id="1" uname="rhel7-auto1"/>
++      <node id="2" uname="rhel7-auto2"/>
++      <node id="3" uname="rhel7-auto3"/>
++      <node id="4" uname="rhel7-auto4"/>
++    </nodes>
++    <resources>
++      <primitive class="stonith" id="shooter" type="fence_xvm">
++        <instance_attributes id="shooter-instance_attributes"/>
++        <operations>
++          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <clone id="A-clone">
++        <primitive class="ocf" id="A" provider="heartbeat" type="Dummy">
++          <instance_attributes id="A-instance_attributes"/>
++          <operations>
++            <op id="A-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="A-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="A-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="A-clone-meta">
++          <nvpair id="A-clone-meta_attributes-interleave" name="interleave" value="true"/>
++        </meta_attributes>
++      </clone>
++      <clone id="B-clone">
++        <primitive class="ocf" id="B" provider="heartbeat" type="Dummy">
++          <instance_attributes id="B-instance_attributes"/>
++          <operations>
++            <op id="B-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="B-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="B-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="B-clone-meta">
++          <nvpair id="B-clone-meta_attributes-interleave" name="interleave" value="true"/>
++        </meta_attributes>
++      </clone>
++    </resources>
++    <constraints>
++      <rsc_location id="location-A-clone-rhel7-auto3--INFINITY" node="rhel7-auto3" rsc="A-clone" score="-INFINITY"/>
++      <rsc_location id="location-A-clone-rhel7-auto4--INFINITY" node="rhel7-auto4" rsc="A-clone" score="-INFINITY"/>
++      <rsc_location id="location-B-clone-rhel7-auto1--INFINITY" node="rhel7-auto1" rsc="B-clone" score="-INFINITY"/>
++      <rsc_location id="location-B-clone-rhel7-auto2--INFINITY" node="rhel7-auto2" rsc="B-clone" score="-INFINITY"/>
++      <rsc_order require-all="false" first="A-clone" first-action="start" id="order-A-clone-B-clone-mandatory" then="B-clone" then-action="start"/>
++    </constraints>
++  </configuration>
++  <status>
++    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="1">
++        <instance_attributes id="status-1">
++          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="1">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1420497434" last-rc-change="1420497434" exec-time="84" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1420497434" exec-time="62" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497505" exec-time="24" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="2">
++        <instance_attributes id="status-2">
++          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="2">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="3">
++        <instance_attributes id="status-3">
++          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="3">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="22:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;22:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497653" last-rc-change="1420497653" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="30:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;30:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="22" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="4" uname="rhel7-auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="4">
++        <instance_attributes id="status-4">
++          <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-4-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="4">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497431" last-rc-change="1420497431" exec-time="987" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="24:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;24:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497652" last-rc-change="1420497652" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="32:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;32:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="28" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++  </status>
++</cib>
+diff --git a/pengine/test10/clone-require-all-no-interleave-1.dot b/pengine/test10/clone-require-all-no-interleave-1.dot
+new file mode 100644
+index 0000000..d03703b
+--- /dev/null
++++ b/pengine/test10/clone-require-all-no-interleave-1.dot
+@@ -0,0 +1,40 @@
++ digraph "g" {
++"A-clone_running_0" -> "B-clone_start_0" [ style = bold]
++"A-clone_running_0" [ style=bold color="green" fontcolor="orange"]
++"A-clone_start_0" -> "A-clone_running_0" [ style = bold]
++"A-clone_start_0" -> "A_start_0 rhel7-auto3" [ style = bold]
++"A-clone_start_0" [ style=bold color="green" fontcolor="orange"]
++"A_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"A_start_0 rhel7-auto3" -> "A-clone_running_0" [ style = bold]
++"A_start_0 rhel7-auto3" -> "A_monitor_10000 rhel7-auto3" [ style = bold]
++"A_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"B-clone_running_0" [ style=bold color="green" fontcolor="orange"]
++"B-clone_start_0" -> "B-clone_running_0" [ style = bold]
++"B-clone_start_0" -> "B_start_0 rhel7-auto3" [ style = bold]
++"B-clone_start_0" [ style=bold color="green" fontcolor="orange"]
++"B_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"B_start_0 rhel7-auto3" -> "B-clone_running_0" [ style = bold]
++"B_start_0 rhel7-auto3" -> "B_monitor_10000 rhel7-auto3" [ style = bold]
++"B_start_0 rhel7-auto3" -> "clone-one-or-more:order-B-clone-C-clone-mandatory" [ style = bold]
++"B_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"C-clone_running_0" [ style=bold color="green" fontcolor="orange"]
++"C-clone_start_0" -> "C-clone_running_0" [ style = bold]
++"C-clone_start_0" -> "C:1_start_0 rhel7-auto1" [ style = bold]
++"C-clone_start_0" -> "C:2_start_0 rhel7-auto3" [ style = bold]
++"C-clone_start_0" -> "C_start_0 rhel7-auto2" [ style = bold]
++"C-clone_start_0" [ style=bold color="green" fontcolor="orange"]
++"C:1_monitor_10000 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
++"C:1_start_0 rhel7-auto1" -> "C-clone_running_0" [ style = bold]
++"C:1_start_0 rhel7-auto1" -> "C:1_monitor_10000 rhel7-auto1" [ style = bold]
++"C:1_start_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
++"C:2_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"C:2_start_0 rhel7-auto3" -> "C-clone_running_0" [ style = bold]
++"C:2_start_0 rhel7-auto3" -> "C:2_monitor_10000 rhel7-auto3" [ style = bold]
++"C:2_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"C_monitor_10000 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
++"C_start_0 rhel7-auto2" -> "C-clone_running_0" [ style = bold]
++"C_start_0 rhel7-auto2" -> "C_monitor_10000 rhel7-auto2" [ style = bold]
++"C_start_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
++"clone-one-or-more:order-B-clone-C-clone-mandatory" -> "C-clone_start_0" [ style = bold]
++"clone-one-or-more:order-B-clone-C-clone-mandatory" [ style=bold color="green" fontcolor="orange"]
++}
+diff --git a/pengine/test10/clone-require-all-no-interleave-1.exp b/pengine/test10/clone-require-all-no-interleave-1.exp
+new file mode 100644
+index 0000000..7048f51
+--- /dev/null
++++ b/pengine/test10/clone-require-all-no-interleave-1.exp
+@@ -0,0 +1,227 @@
++<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
++  <synapse id="0">
++    <action_set>
++      <rsc_op id="12" operation="monitor" operation_key="A_monitor_10000" internal_operation_key="A:0_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="11" operation="start" operation_key="A_start_0" internal_operation_key="A:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="1">
++    <action_set>
++      <rsc_op id="11" operation="start" operation_key="A_start_0" internal_operation_key="A:0_start_0" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="13" operation="start" operation_key="A-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="2" priority="1000000">
++    <action_set>
++      <pseudo_event id="14" operation="running" operation_key="A-clone_running_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="11" operation="start" operation_key="A_start_0" internal_operation_key="A:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="13" operation="start" operation_key="A-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="3">
++    <action_set>
++      <pseudo_event id="13" operation="start" operation_key="A-clone_start_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="4">
++    <action_set>
++      <rsc_op id="18" operation="monitor" operation_key="B_monitor_10000" internal_operation_key="B:0_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="17" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="5">
++    <action_set>
++      <rsc_op id="17" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="19" operation="start" operation_key="B-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="6" priority="1000000">
++    <action_set>
++      <pseudo_event id="20" operation="running" operation_key="B-clone_running_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="17" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="19" operation="start" operation_key="B-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="7">
++    <action_set>
++      <pseudo_event id="19" operation="start" operation_key="B-clone_start_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="14" operation="running" operation_key="A-clone_running_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="8">
++    <action_set>
++      <rsc_op id="24" operation="monitor" operation_key="C_monitor_10000" internal_operation_key="C:0_monitor_10000" on_node="rhel7-auto2" on_node_uuid="2">
++        <primitive id="C" long-id="C:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="23" operation="start" operation_key="C_start_0" internal_operation_key="C:0_start_0" on_node="rhel7-auto2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="9">
++    <action_set>
++      <rsc_op id="23" operation="start" operation_key="C_start_0" internal_operation_key="C:0_start_0" on_node="rhel7-auto2" on_node_uuid="2">
++        <primitive id="C" long-id="C:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="29" operation="start" operation_key="C-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="10">
++    <action_set>
++      <rsc_op id="26" operation="monitor" operation_key="C:1_monitor_10000" on_node="rhel7-auto1" on_node_uuid="1">
++        <primitive id="C" long-id="C:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="25" operation="start" operation_key="C:1_start_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="11">
++    <action_set>
++      <rsc_op id="25" operation="start" operation_key="C:1_start_0" on_node="rhel7-auto1" on_node_uuid="1">
++        <primitive id="C" long-id="C:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="29" operation="start" operation_key="C-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="12">
++    <action_set>
++      <rsc_op id="28" operation="monitor" operation_key="C:2_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="C" long-id="C:2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="27" operation="start" operation_key="C:2_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="13">
++    <action_set>
++      <rsc_op id="27" operation="start" operation_key="C:2_start_0" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="C" long-id="C:2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="29" operation="start" operation_key="C-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="14" priority="1000000">
++    <action_set>
++      <pseudo_event id="30" operation="running" operation_key="C-clone_running_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="23" operation="start" operation_key="C_start_0" internal_operation_key="C:0_start_0" on_node="rhel7-auto2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="25" operation="start" operation_key="C:1_start_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="27" operation="start" operation_key="C:2_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="29" operation="start" operation_key="C-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="15">
++    <action_set>
++      <pseudo_event id="29" operation="start" operation_key="C-clone_start_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="2" operation="clone-one-or-more:order-B-clone-C-clone-mandatory" operation_key="clone-one-or-more:order-B-clone-C-clone-mandatory"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="16">
++    <action_set>
++      <pseudo_event id="2" operation="clone-one-or-more:order-B-clone-C-clone-mandatory" operation_key="clone-one-or-more:order-B-clone-C-clone-mandatory">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="17" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++</transition_graph>
+diff --git a/pengine/test10/clone-require-all-no-interleave-1.scores b/pengine/test10/clone-require-all-no-interleave-1.scores
+new file mode 100644
+index 0000000..f6d3232
+--- /dev/null
++++ b/pengine/test10/clone-require-all-no-interleave-1.scores
+@@ -0,0 +1,113 @@
++Allocation scores:
++clone_color: A-clone allocation score on rhel7-auto1: -INFINITY
++clone_color: A-clone allocation score on rhel7-auto2: -INFINITY
++clone_color: A-clone allocation score on rhel7-auto3: 0
++clone_color: A-clone allocation score on rhel7-auto4: 0
++clone_color: A:0 allocation score on rhel7-auto1: -INFINITY
++clone_color: A:0 allocation score on rhel7-auto2: -INFINITY
++clone_color: A:0 allocation score on rhel7-auto3: 0
++clone_color: A:0 allocation score on rhel7-auto4: 0
++clone_color: A:1 allocation score on rhel7-auto1: -INFINITY
++clone_color: A:1 allocation score on rhel7-auto2: -INFINITY
++clone_color: A:1 allocation score on rhel7-auto3: 0
++clone_color: A:1 allocation score on rhel7-auto4: 0
++clone_color: A:2 allocation score on rhel7-auto1: -INFINITY
++clone_color: A:2 allocation score on rhel7-auto2: -INFINITY
++clone_color: A:2 allocation score on rhel7-auto3: 0
++clone_color: A:2 allocation score on rhel7-auto4: 0
++clone_color: A:3 allocation score on rhel7-auto1: -INFINITY
++clone_color: A:3 allocation score on rhel7-auto2: -INFINITY
++clone_color: A:3 allocation score on rhel7-auto3: 0
++clone_color: A:3 allocation score on rhel7-auto4: 0
++clone_color: B-clone allocation score on rhel7-auto1: 0
++clone_color: B-clone allocation score on rhel7-auto2: 0
++clone_color: B-clone allocation score on rhel7-auto3: 0
++clone_color: B-clone allocation score on rhel7-auto4: 0
++clone_color: B:0 allocation score on rhel7-auto1: 0
++clone_color: B:0 allocation score on rhel7-auto2: 0
++clone_color: B:0 allocation score on rhel7-auto3: 0
++clone_color: B:0 allocation score on rhel7-auto4: 0
++clone_color: B:1 allocation score on rhel7-auto1: 0
++clone_color: B:1 allocation score on rhel7-auto2: 0
++clone_color: B:1 allocation score on rhel7-auto3: 0
++clone_color: B:1 allocation score on rhel7-auto4: 0
++clone_color: B:2 allocation score on rhel7-auto1: 0
++clone_color: B:2 allocation score on rhel7-auto2: 0
++clone_color: B:2 allocation score on rhel7-auto3: 0
++clone_color: B:2 allocation score on rhel7-auto4: 0
++clone_color: B:3 allocation score on rhel7-auto1: 0
++clone_color: B:3 allocation score on rhel7-auto2: 0
++clone_color: B:3 allocation score on rhel7-auto3: 0
++clone_color: B:3 allocation score on rhel7-auto4: 0
++clone_color: C-clone allocation score on rhel7-auto1: 0
++clone_color: C-clone allocation score on rhel7-auto2: 0
++clone_color: C-clone allocation score on rhel7-auto3: 0
++clone_color: C-clone allocation score on rhel7-auto4: 0
++clone_color: C:0 allocation score on rhel7-auto1: 0
++clone_color: C:0 allocation score on rhel7-auto2: 0
++clone_color: C:0 allocation score on rhel7-auto3: 0
++clone_color: C:0 allocation score on rhel7-auto4: 0
++clone_color: C:1 allocation score on rhel7-auto1: 0
++clone_color: C:1 allocation score on rhel7-auto2: 0
++clone_color: C:1 allocation score on rhel7-auto3: 0
++clone_color: C:1 allocation score on rhel7-auto4: 0
++clone_color: C:2 allocation score on rhel7-auto1: 0
++clone_color: C:2 allocation score on rhel7-auto2: 0
++clone_color: C:2 allocation score on rhel7-auto3: 0
++clone_color: C:2 allocation score on rhel7-auto4: 0
++clone_color: C:3 allocation score on rhel7-auto1: 0
++clone_color: C:3 allocation score on rhel7-auto2: 0
++clone_color: C:3 allocation score on rhel7-auto3: 0
++clone_color: C:3 allocation score on rhel7-auto4: 0
++native_color: A:0 allocation score on rhel7-auto1: -INFINITY
++native_color: A:0 allocation score on rhel7-auto2: -INFINITY
++native_color: A:0 allocation score on rhel7-auto3: 0
++native_color: A:0 allocation score on rhel7-auto4: -INFINITY
++native_color: A:1 allocation score on rhel7-auto1: -INFINITY
++native_color: A:1 allocation score on rhel7-auto2: -INFINITY
++native_color: A:1 allocation score on rhel7-auto3: -INFINITY
++native_color: A:1 allocation score on rhel7-auto4: -INFINITY
++native_color: A:2 allocation score on rhel7-auto1: -INFINITY
++native_color: A:2 allocation score on rhel7-auto2: -INFINITY
++native_color: A:2 allocation score on rhel7-auto3: -INFINITY
++native_color: A:2 allocation score on rhel7-auto4: -INFINITY
++native_color: A:3 allocation score on rhel7-auto1: -INFINITY
++native_color: A:3 allocation score on rhel7-auto2: -INFINITY
++native_color: A:3 allocation score on rhel7-auto3: -INFINITY
++native_color: A:3 allocation score on rhel7-auto4: -INFINITY
++native_color: B:0 allocation score on rhel7-auto1: -INFINITY
++native_color: B:0 allocation score on rhel7-auto2: -INFINITY
++native_color: B:0 allocation score on rhel7-auto3: 0
++native_color: B:0 allocation score on rhel7-auto4: -INFINITY
++native_color: B:1 allocation score on rhel7-auto1: -INFINITY
++native_color: B:1 allocation score on rhel7-auto2: -INFINITY
++native_color: B:1 allocation score on rhel7-auto3: -INFINITY
++native_color: B:1 allocation score on rhel7-auto4: -INFINITY
++native_color: B:2 allocation score on rhel7-auto1: -INFINITY
++native_color: B:2 allocation score on rhel7-auto2: -INFINITY
++native_color: B:2 allocation score on rhel7-auto3: -INFINITY
++native_color: B:2 allocation score on rhel7-auto4: -INFINITY
++native_color: B:3 allocation score on rhel7-auto1: -INFINITY
++native_color: B:3 allocation score on rhel7-auto2: -INFINITY
++native_color: B:3 allocation score on rhel7-auto3: -INFINITY
++native_color: B:3 allocation score on rhel7-auto4: -INFINITY
++native_color: C:0 allocation score on rhel7-auto1: 0
++native_color: C:0 allocation score on rhel7-auto2: 0
++native_color: C:0 allocation score on rhel7-auto3: 0
++native_color: C:0 allocation score on rhel7-auto4: -INFINITY
++native_color: C:1 allocation score on rhel7-auto1: 0
++native_color: C:1 allocation score on rhel7-auto2: -INFINITY
++native_color: C:1 allocation score on rhel7-auto3: 0
++native_color: C:1 allocation score on rhel7-auto4: -INFINITY
++native_color: C:2 allocation score on rhel7-auto1: -INFINITY
++native_color: C:2 allocation score on rhel7-auto2: -INFINITY
++native_color: C:2 allocation score on rhel7-auto3: 0
++native_color: C:2 allocation score on rhel7-auto4: -INFINITY
++native_color: C:3 allocation score on rhel7-auto1: -INFINITY
++native_color: C:3 allocation score on rhel7-auto2: -INFINITY
++native_color: C:3 allocation score on rhel7-auto3: -INFINITY
++native_color: C:3 allocation score on rhel7-auto4: -INFINITY
++native_color: shooter allocation score on rhel7-auto1: 0
++native_color: shooter allocation score on rhel7-auto2: 0
++native_color: shooter allocation score on rhel7-auto3: 0
++native_color: shooter allocation score on rhel7-auto4: 0
+diff --git a/pengine/test10/clone-require-all-no-interleave-1.summary b/pengine/test10/clone-require-all-no-interleave-1.summary
+new file mode 100644
+index 0000000..dd4bc99
+--- /dev/null
++++ b/pengine/test10/clone-require-all-no-interleave-1.summary
+@@ -0,0 +1,54 @@
++
++Current cluster status:
++Node rhel7-auto4 (4): standby
++Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
++ Clone Set: A-clone [A]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++ Clone Set: B-clone [B]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++ Clone Set: C-clone [C]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++
++Transition Summary:
++ * Start   A:0	(rhel7-auto3)
++ * Start   B:0	(rhel7-auto3)
++ * Start   C:0	(rhel7-auto2)
++ * Start   C:1	(rhel7-auto1)
++ * Start   C:2	(rhel7-auto3)
++
++Executing cluster transition:
++ * Pseudo action:   A-clone_start_0
++ * Resource action: A               start on rhel7-auto3
++ * Pseudo action:   A-clone_running_0
++ * Pseudo action:   B-clone_start_0
++ * Resource action: A               monitor=10000 on rhel7-auto3
++ * Resource action: B               start on rhel7-auto3
++ * Pseudo action:   B-clone_running_0
++ * Pseudo action:   clone-one-or-more:order-B-clone-C-clone-mandatory
++ * Resource action: B               monitor=10000 on rhel7-auto3
++ * Pseudo action:   C-clone_start_0
++ * Resource action: C               start on rhel7-auto2
++ * Resource action: C               start on rhel7-auto1
++ * Resource action: C               start on rhel7-auto3
++ * Pseudo action:   C-clone_running_0
++ * Resource action: C               monitor=10000 on rhel7-auto2
++ * Resource action: C               monitor=10000 on rhel7-auto1
++ * Resource action: C               monitor=10000 on rhel7-auto3
++
++Revised cluster status:
++Node rhel7-auto4 (4): standby
++Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
++ Clone Set: A-clone [A]
++     Started: [ rhel7-auto3 ]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto4 ]
++ Clone Set: B-clone [B]
++     Started: [ rhel7-auto3 ]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto4 ]
++ Clone Set: C-clone [C]
++     Started: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
++     Stopped: [ rhel7-auto4 ]
++
+diff --git a/pengine/test10/clone-require-all-no-interleave-1.xml b/pengine/test10/clone-require-all-no-interleave-1.xml
+new file mode 100644
+index 0000000..4630f96
+--- /dev/null
++++ b/pengine/test10/clone-require-all-no-interleave-1.xml
+@@ -0,0 +1,177 @@
++<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.3" epoch="19" num_updates="6" admin_epoch="0" cib-last-written="Wed Jan  7 20:24:31 2015" have-quorum="1" dc-uuid="1">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
++        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-eea796a"/>
++        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
++        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes>
++      <node id="1" uname="rhel7-auto1"/>
++      <node id="2" uname="rhel7-auto2"/>
++      <node id="3" uname="rhel7-auto3"/>
++      <node id="4" uname="rhel7-auto4">
++        <instance_attributes id="nodes-4">
++          <nvpair id="nodes-4-standby" name="standby" value="on"/>
++        </instance_attributes>
++      </node>
++    </nodes>
++    <resources>
++      <primitive class="stonith" id="shooter" type="fence_xvm">
++        <instance_attributes id="shooter-instance_attributes"/>
++        <operations>
++          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <clone id="A-clone">
++        <primitive class="ocf" id="A" provider="heartbeat" type="Dummy">
++          <instance_attributes id="A-instance_attributes"/>
++          <operations>
++            <op id="A-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="A-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="A-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="A-clone-meta"/>
++      </clone>
++      <clone id="B-clone">
++        <primitive class="ocf" id="B" provider="heartbeat" type="Dummy">
++          <instance_attributes id="B-instance_attributes"/>
++          <operations>
++            <op id="B-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="B-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="B-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="B-clone-meta"/>
++      </clone>
++      <clone id="C-clone">
++        <primitive class="ocf" id="C" provider="heartbeat" type="Dummy">
++          <instance_attributes id="C-instance_attributes"/>
++          <operations>
++            <op id="C-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="C-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="C-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="C-clone-meta"/>
++      </clone>
++    </resources>
++    <constraints>
++      <rsc_order first="A-clone" first-action="start" id="order-A-clone-B-clone-mandatory" then="B-clone" then-action="start"/>
++      <rsc_colocation id="colocation-B-clone-A-clone-INFINITY" rsc="B-clone" score="INFINITY" with-rsc="A-clone"/>
++      <rsc_order first="B-clone" first-action="start" id="order-B-clone-C-clone-mandatory" require-all="false" then="C-clone" then-action="start"/>
++      <rsc_location id="location-A-clone-rhel7-auto1--INFINITY" node="rhel7-auto1" rsc="A-clone" score="-INFINITY"/>
++      <rsc_location id="location-A-clone-rhel7-auto2--INFINITY" node="rhel7-auto2" rsc="A-clone" score="-INFINITY"/>
++    </constraints>
++  </configuration>
++  <status>
++    <node_state id="4" uname="rhel7-auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="4">
++        <instance_attributes id="status-4">
++          <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-4-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="4">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:7;10:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420679798" last-rc-change="1420679798" exec-time="1071" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="17:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;17:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1420680270" last-rc-change="1420680270" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="16:5:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;16:5:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680105" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="22:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;22:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680270" last-rc-change="1420680270" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="32:7:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;32:7:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680111" exec-time="23" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="C_last_0" operation_key="C_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="27:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;27:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1420680270" last-rc-change="1420680270" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="48:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;48:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680120" exec-time="22" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="3">
++        <instance_attributes id="status-3">
++          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="3">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:7;8:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420679799" last-rc-change="1420679799" exec-time="1070" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="21:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;21:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680244" last-rc-change="1420680244" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="14:5:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;14:5:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680105" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="28:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;28:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1420680244" last-rc-change="1420680244" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="30:7:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;30:7:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680112" exec-time="23" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="C_last_0" operation_key="C_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="28:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;28:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1420680271" last-rc-change="1420680271" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="46:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;46:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680121" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="1">
++        <instance_attributes id="status-1">
++          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="1">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;11:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1420679801" last-rc-change="1420679801" exec-time="88" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="12:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;12:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1420679801" exec-time="64" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="27:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;27:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1420680232" last-rc-change="1420680232" exec-time="33" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="38:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;38:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680232" last-rc-change="1420680232" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="C_last_0" operation_key="C_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="30:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;30:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="31" rc-code="0" op-status="0" interval="0" last-run="1420680271" last-rc-change="1420680271" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="50:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;50:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="25" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680121" exec-time="23" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="2">
++        <instance_attributes id="status-2">
++          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="2">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="6:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:7;6:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420679798" last-rc-change="1420679798" exec-time="1070" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="25:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;25:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680238" last-rc-change="1420680238" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="34:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;34:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1420680238" last-rc-change="1420680238" exec-time="37" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="C_last_0" operation_key="C_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="32:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;32:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1420680270" last-rc-change="1420680270" exec-time="31" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="47:8:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;47:8:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680120" exec-time="19" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++  </status>
++</cib>
+diff --git a/pengine/test10/clone-require-all-no-interleave-2.dot b/pengine/test10/clone-require-all-no-interleave-2.dot
+new file mode 100644
+index 0000000..1d7f8be
+--- /dev/null
++++ b/pengine/test10/clone-require-all-no-interleave-2.dot
+@@ -0,0 +1,40 @@
++ digraph "g" {
++"A-clone_running_0" -> "B-clone_start_0" [ style = bold]
++"A-clone_running_0" [ style=bold color="green" fontcolor="orange"]
++"A-clone_start_0" -> "A-clone_running_0" [ style = bold]
++"A-clone_start_0" -> "A_start_0 rhel7-auto4" [ style = bold]
++"A-clone_start_0" [ style=bold color="green" fontcolor="orange"]
++"A_monitor_10000 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
++"A_start_0 rhel7-auto4" -> "A-clone_running_0" [ style = bold]
++"A_start_0 rhel7-auto4" -> "A_monitor_10000 rhel7-auto4" [ style = bold]
++"A_start_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
++"B-clone_running_0" [ style=bold color="green" fontcolor="orange"]
++"B-clone_start_0" -> "B-clone_running_0" [ style = bold]
++"B-clone_start_0" -> "B_start_0 rhel7-auto4" [ style = bold]
++"B-clone_start_0" [ style=bold color="green" fontcolor="orange"]
++"B_monitor_10000 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
++"B_start_0 rhel7-auto4" -> "B-clone_running_0" [ style = bold]
++"B_start_0 rhel7-auto4" -> "B_monitor_10000 rhel7-auto4" [ style = bold]
++"B_start_0 rhel7-auto4" -> "clone-one-or-more:order-B-clone-C-clone-mandatory" [ style = bold]
++"B_start_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
++"C-clone_running_0" [ style=bold color="green" fontcolor="orange"]
++"C-clone_start_0" -> "C-clone_running_0" [ style = bold]
++"C-clone_start_0" -> "C:1_start_0 rhel7-auto1" [ style = bold]
++"C-clone_start_0" -> "C:2_start_0 rhel7-auto4" [ style = bold]
++"C-clone_start_0" -> "C_start_0 rhel7-auto2" [ style = bold]
++"C-clone_start_0" [ style=bold color="green" fontcolor="orange"]
++"C:1_monitor_10000 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
++"C:1_start_0 rhel7-auto1" -> "C-clone_running_0" [ style = bold]
++"C:1_start_0 rhel7-auto1" -> "C:1_monitor_10000 rhel7-auto1" [ style = bold]
++"C:1_start_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
++"C:2_monitor_10000 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
++"C:2_start_0 rhel7-auto4" -> "C-clone_running_0" [ style = bold]
++"C:2_start_0 rhel7-auto4" -> "C:2_monitor_10000 rhel7-auto4" [ style = bold]
++"C:2_start_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
++"C_monitor_10000 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
++"C_start_0 rhel7-auto2" -> "C-clone_running_0" [ style = bold]
++"C_start_0 rhel7-auto2" -> "C_monitor_10000 rhel7-auto2" [ style = bold]
++"C_start_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
++"clone-one-or-more:order-B-clone-C-clone-mandatory" -> "C-clone_start_0" [ style = bold]
++"clone-one-or-more:order-B-clone-C-clone-mandatory" [ style=bold color="green" fontcolor="orange"]
++}
+diff --git a/pengine/test10/clone-require-all-no-interleave-2.exp b/pengine/test10/clone-require-all-no-interleave-2.exp
+new file mode 100644
+index 0000000..35a2df6
+--- /dev/null
++++ b/pengine/test10/clone-require-all-no-interleave-2.exp
+@@ -0,0 +1,227 @@
++<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
++  <synapse id="0">
++    <action_set>
++      <rsc_op id="12" operation="monitor" operation_key="A_monitor_10000" internal_operation_key="A:0_monitor_10000" on_node="rhel7-auto4" on_node_uuid="4">
++        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="11" operation="start" operation_key="A_start_0" internal_operation_key="A:0_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="1">
++    <action_set>
++      <rsc_op id="11" operation="start" operation_key="A_start_0" internal_operation_key="A:0_start_0" on_node="rhel7-auto4" on_node_uuid="4">
++        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="13" operation="start" operation_key="A-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="2" priority="1000000">
++    <action_set>
++      <pseudo_event id="14" operation="running" operation_key="A-clone_running_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="11" operation="start" operation_key="A_start_0" internal_operation_key="A:0_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="13" operation="start" operation_key="A-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="3">
++    <action_set>
++      <pseudo_event id="13" operation="start" operation_key="A-clone_start_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="4">
++    <action_set>
++      <rsc_op id="18" operation="monitor" operation_key="B_monitor_10000" internal_operation_key="B:0_monitor_10000" on_node="rhel7-auto4" on_node_uuid="4">
++        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="17" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="5">
++    <action_set>
++      <rsc_op id="17" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto4" on_node_uuid="4">
++        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="19" operation="start" operation_key="B-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="6" priority="1000000">
++    <action_set>
++      <pseudo_event id="20" operation="running" operation_key="B-clone_running_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="17" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="19" operation="start" operation_key="B-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="7">
++    <action_set>
++      <pseudo_event id="19" operation="start" operation_key="B-clone_start_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="14" operation="running" operation_key="A-clone_running_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="8">
++    <action_set>
++      <rsc_op id="24" operation="monitor" operation_key="C_monitor_10000" internal_operation_key="C:0_monitor_10000" on_node="rhel7-auto2" on_node_uuid="2">
++        <primitive id="C" long-id="C:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="23" operation="start" operation_key="C_start_0" internal_operation_key="C:0_start_0" on_node="rhel7-auto2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="9">
++    <action_set>
++      <rsc_op id="23" operation="start" operation_key="C_start_0" internal_operation_key="C:0_start_0" on_node="rhel7-auto2" on_node_uuid="2">
++        <primitive id="C" long-id="C:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="29" operation="start" operation_key="C-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="10">
++    <action_set>
++      <rsc_op id="26" operation="monitor" operation_key="C:1_monitor_10000" on_node="rhel7-auto1" on_node_uuid="1">
++        <primitive id="C" long-id="C:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="25" operation="start" operation_key="C:1_start_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="11">
++    <action_set>
++      <rsc_op id="25" operation="start" operation_key="C:1_start_0" on_node="rhel7-auto1" on_node_uuid="1">
++        <primitive id="C" long-id="C:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="29" operation="start" operation_key="C-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="12">
++    <action_set>
++      <rsc_op id="28" operation="monitor" operation_key="C:2_monitor_10000" on_node="rhel7-auto4" on_node_uuid="4">
++        <primitive id="C" long-id="C:2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="27" operation="start" operation_key="C:2_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="13">
++    <action_set>
++      <rsc_op id="27" operation="start" operation_key="C:2_start_0" on_node="rhel7-auto4" on_node_uuid="4">
++        <primitive id="C" long-id="C:2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="29" operation="start" operation_key="C-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="14" priority="1000000">
++    <action_set>
++      <pseudo_event id="30" operation="running" operation_key="C-clone_running_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="23" operation="start" operation_key="C_start_0" internal_operation_key="C:0_start_0" on_node="rhel7-auto2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="25" operation="start" operation_key="C:1_start_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="27" operation="start" operation_key="C:2_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="29" operation="start" operation_key="C-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="15">
++    <action_set>
++      <pseudo_event id="29" operation="start" operation_key="C-clone_start_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="2" operation="clone-one-or-more:order-B-clone-C-clone-mandatory" operation_key="clone-one-or-more:order-B-clone-C-clone-mandatory"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="16">
++    <action_set>
++      <pseudo_event id="2" operation="clone-one-or-more:order-B-clone-C-clone-mandatory" operation_key="clone-one-or-more:order-B-clone-C-clone-mandatory">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="17" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++</transition_graph>
+diff --git a/pengine/test10/clone-require-all-no-interleave-2.scores b/pengine/test10/clone-require-all-no-interleave-2.scores
+new file mode 100644
+index 0000000..50e054e
+--- /dev/null
++++ b/pengine/test10/clone-require-all-no-interleave-2.scores
+@@ -0,0 +1,113 @@
++Allocation scores:
++clone_color: A-clone allocation score on rhel7-auto1: -INFINITY
++clone_color: A-clone allocation score on rhel7-auto2: -INFINITY
++clone_color: A-clone allocation score on rhel7-auto3: 0
++clone_color: A-clone allocation score on rhel7-auto4: 0
++clone_color: A:0 allocation score on rhel7-auto1: -INFINITY
++clone_color: A:0 allocation score on rhel7-auto2: -INFINITY
++clone_color: A:0 allocation score on rhel7-auto3: 0
++clone_color: A:0 allocation score on rhel7-auto4: 0
++clone_color: A:1 allocation score on rhel7-auto1: -INFINITY
++clone_color: A:1 allocation score on rhel7-auto2: -INFINITY
++clone_color: A:1 allocation score on rhel7-auto3: 0
++clone_color: A:1 allocation score on rhel7-auto4: 0
++clone_color: A:2 allocation score on rhel7-auto1: -INFINITY
++clone_color: A:2 allocation score on rhel7-auto2: -INFINITY
++clone_color: A:2 allocation score on rhel7-auto3: 0
++clone_color: A:2 allocation score on rhel7-auto4: 0
++clone_color: A:3 allocation score on rhel7-auto1: -INFINITY
++clone_color: A:3 allocation score on rhel7-auto2: -INFINITY
++clone_color: A:3 allocation score on rhel7-auto3: 0
++clone_color: A:3 allocation score on rhel7-auto4: 0
++clone_color: B-clone allocation score on rhel7-auto1: 0
++clone_color: B-clone allocation score on rhel7-auto2: 0
++clone_color: B-clone allocation score on rhel7-auto3: 0
++clone_color: B-clone allocation score on rhel7-auto4: 0
++clone_color: B:0 allocation score on rhel7-auto1: 0
++clone_color: B:0 allocation score on rhel7-auto2: 0
++clone_color: B:0 allocation score on rhel7-auto3: 0
++clone_color: B:0 allocation score on rhel7-auto4: 0
++clone_color: B:1 allocation score on rhel7-auto1: 0
++clone_color: B:1 allocation score on rhel7-auto2: 0
++clone_color: B:1 allocation score on rhel7-auto3: 0
++clone_color: B:1 allocation score on rhel7-auto4: 0
++clone_color: B:2 allocation score on rhel7-auto1: 0
++clone_color: B:2 allocation score on rhel7-auto2: 0
++clone_color: B:2 allocation score on rhel7-auto3: 0
++clone_color: B:2 allocation score on rhel7-auto4: 0
++clone_color: B:3 allocation score on rhel7-auto1: 0
++clone_color: B:3 allocation score on rhel7-auto2: 0
++clone_color: B:3 allocation score on rhel7-auto3: 0
++clone_color: B:3 allocation score on rhel7-auto4: 0
++clone_color: C-clone allocation score on rhel7-auto1: 0
++clone_color: C-clone allocation score on rhel7-auto2: 0
++clone_color: C-clone allocation score on rhel7-auto3: 0
++clone_color: C-clone allocation score on rhel7-auto4: 0
++clone_color: C:0 allocation score on rhel7-auto1: 0
++clone_color: C:0 allocation score on rhel7-auto2: 0
++clone_color: C:0 allocation score on rhel7-auto3: 0
++clone_color: C:0 allocation score on rhel7-auto4: 0
++clone_color: C:1 allocation score on rhel7-auto1: 0
++clone_color: C:1 allocation score on rhel7-auto2: 0
++clone_color: C:1 allocation score on rhel7-auto3: 0
++clone_color: C:1 allocation score on rhel7-auto4: 0
++clone_color: C:2 allocation score on rhel7-auto1: 0
++clone_color: C:2 allocation score on rhel7-auto2: 0
++clone_color: C:2 allocation score on rhel7-auto3: 0
++clone_color: C:2 allocation score on rhel7-auto4: 0
++clone_color: C:3 allocation score on rhel7-auto1: 0
++clone_color: C:3 allocation score on rhel7-auto2: 0
++clone_color: C:3 allocation score on rhel7-auto3: 0
++clone_color: C:3 allocation score on rhel7-auto4: 0
++native_color: A:0 allocation score on rhel7-auto1: -INFINITY
++native_color: A:0 allocation score on rhel7-auto2: -INFINITY
++native_color: A:0 allocation score on rhel7-auto3: -INFINITY
++native_color: A:0 allocation score on rhel7-auto4: 0
++native_color: A:1 allocation score on rhel7-auto1: -INFINITY
++native_color: A:1 allocation score on rhel7-auto2: -INFINITY
++native_color: A:1 allocation score on rhel7-auto3: -INFINITY
++native_color: A:1 allocation score on rhel7-auto4: -INFINITY
++native_color: A:2 allocation score on rhel7-auto1: -INFINITY
++native_color: A:2 allocation score on rhel7-auto2: -INFINITY
++native_color: A:2 allocation score on rhel7-auto3: -INFINITY
++native_color: A:2 allocation score on rhel7-auto4: -INFINITY
++native_color: A:3 allocation score on rhel7-auto1: -INFINITY
++native_color: A:3 allocation score on rhel7-auto2: -INFINITY
++native_color: A:3 allocation score on rhel7-auto3: -INFINITY
++native_color: A:3 allocation score on rhel7-auto4: -INFINITY
++native_color: B:0 allocation score on rhel7-auto1: -INFINITY
++native_color: B:0 allocation score on rhel7-auto2: -INFINITY
++native_color: B:0 allocation score on rhel7-auto3: -INFINITY
++native_color: B:0 allocation score on rhel7-auto4: 0
++native_color: B:1 allocation score on rhel7-auto1: -INFINITY
++native_color: B:1 allocation score on rhel7-auto2: -INFINITY
++native_color: B:1 allocation score on rhel7-auto3: -INFINITY
++native_color: B:1 allocation score on rhel7-auto4: -INFINITY
++native_color: B:2 allocation score on rhel7-auto1: -INFINITY
++native_color: B:2 allocation score on rhel7-auto2: -INFINITY
++native_color: B:2 allocation score on rhel7-auto3: -INFINITY
++native_color: B:2 allocation score on rhel7-auto4: -INFINITY
++native_color: B:3 allocation score on rhel7-auto1: -INFINITY
++native_color: B:3 allocation score on rhel7-auto2: -INFINITY
++native_color: B:3 allocation score on rhel7-auto3: -INFINITY
++native_color: B:3 allocation score on rhel7-auto4: -INFINITY
++native_color: C:0 allocation score on rhel7-auto1: 0
++native_color: C:0 allocation score on rhel7-auto2: 0
++native_color: C:0 allocation score on rhel7-auto3: -INFINITY
++native_color: C:0 allocation score on rhel7-auto4: 0
++native_color: C:1 allocation score on rhel7-auto1: 0
++native_color: C:1 allocation score on rhel7-auto2: -INFINITY
++native_color: C:1 allocation score on rhel7-auto3: -INFINITY
++native_color: C:1 allocation score on rhel7-auto4: 0
++native_color: C:2 allocation score on rhel7-auto1: -INFINITY
++native_color: C:2 allocation score on rhel7-auto2: -INFINITY
++native_color: C:2 allocation score on rhel7-auto3: -INFINITY
++native_color: C:2 allocation score on rhel7-auto4: 0
++native_color: C:3 allocation score on rhel7-auto1: -INFINITY
++native_color: C:3 allocation score on rhel7-auto2: -INFINITY
++native_color: C:3 allocation score on rhel7-auto3: -INFINITY
++native_color: C:3 allocation score on rhel7-auto4: -INFINITY
++native_color: shooter allocation score on rhel7-auto1: 0
++native_color: shooter allocation score on rhel7-auto2: 0
++native_color: shooter allocation score on rhel7-auto3: 0
++native_color: shooter allocation score on rhel7-auto4: 0
+diff --git a/pengine/test10/clone-require-all-no-interleave-2.summary b/pengine/test10/clone-require-all-no-interleave-2.summary
+new file mode 100644
+index 0000000..f16be9b
+--- /dev/null
++++ b/pengine/test10/clone-require-all-no-interleave-2.summary
+@@ -0,0 +1,54 @@
++
++Current cluster status:
++Node rhel7-auto3 (3): standby
++Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto4 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
++ Clone Set: A-clone [A]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++ Clone Set: B-clone [B]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++ Clone Set: C-clone [C]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
++
++Transition Summary:
++ * Start   A:0	(rhel7-auto4)
++ * Start   B:0	(rhel7-auto4)
++ * Start   C:0	(rhel7-auto2)
++ * Start   C:1	(rhel7-auto1)
++ * Start   C:2	(rhel7-auto4)
++
++Executing cluster transition:
++ * Pseudo action:   A-clone_start_0
++ * Resource action: A               start on rhel7-auto4
++ * Pseudo action:   A-clone_running_0
++ * Pseudo action:   B-clone_start_0
++ * Resource action: A               monitor=10000 on rhel7-auto4
++ * Resource action: B               start on rhel7-auto4
++ * Pseudo action:   B-clone_running_0
++ * Pseudo action:   clone-one-or-more:order-B-clone-C-clone-mandatory
++ * Resource action: B               monitor=10000 on rhel7-auto4
++ * Pseudo action:   C-clone_start_0
++ * Resource action: C               start on rhel7-auto2
++ * Resource action: C               start on rhel7-auto1
++ * Resource action: C               start on rhel7-auto4
++ * Pseudo action:   C-clone_running_0
++ * Resource action: C               monitor=10000 on rhel7-auto2
++ * Resource action: C               monitor=10000 on rhel7-auto1
++ * Resource action: C               monitor=10000 on rhel7-auto4
++
++Revised cluster status:
++Node rhel7-auto3 (3): standby
++Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto4 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
++ Clone Set: A-clone [A]
++     Started: [ rhel7-auto4 ]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
++ Clone Set: B-clone [B]
++     Started: [ rhel7-auto4 ]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
++ Clone Set: C-clone [C]
++     Started: [ rhel7-auto1 rhel7-auto2 rhel7-auto4 ]
++     Stopped: [ rhel7-auto3 ]
++
+diff --git a/pengine/test10/clone-require-all-no-interleave-2.xml b/pengine/test10/clone-require-all-no-interleave-2.xml
+new file mode 100644
+index 0000000..214a7c7
+--- /dev/null
++++ b/pengine/test10/clone-require-all-no-interleave-2.xml
+@@ -0,0 +1,179 @@
++<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.3" epoch="23" num_updates="0" admin_epoch="0" cib-last-written="Wed Jan  7 20:24:31 2015" have-quorum="1" dc-uuid="1">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
++        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-eea796a"/>
++        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
++        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes>
++      <node id="1" uname="rhel7-auto1"/>
++      <node id="2" uname="rhel7-auto2"/>
++      <node id="3" uname="rhel7-auto3">
++        <instance_attributes id="nodes-3">
++          <nvpair id="nodes-3-standby" name="standby" value="on"/>
++        </instance_attributes>
++      </node>
++      <node id="4" uname="rhel7-auto4">
++        <instance_attributes id="nodes-4"/>
++      </node>
++    </nodes>
++    <resources>
++      <primitive class="stonith" id="shooter" type="fence_xvm">
++        <instance_attributes id="shooter-instance_attributes"/>
++        <operations>
++          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <clone id="A-clone">
++        <primitive class="ocf" id="A" provider="heartbeat" type="Dummy">
++          <instance_attributes id="A-instance_attributes"/>
++          <operations>
++            <op id="A-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="A-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="A-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="A-clone-meta"/>
++      </clone>
++      <clone id="B-clone">
++        <primitive class="ocf" id="B" provider="heartbeat" type="Dummy">
++          <instance_attributes id="B-instance_attributes"/>
++          <operations>
++            <op id="B-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="B-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="B-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="B-clone-meta"/>
++      </clone>
++      <clone id="C-clone">
++        <primitive class="ocf" id="C" provider="heartbeat" type="Dummy">
++          <instance_attributes id="C-instance_attributes"/>
++          <operations>
++            <op id="C-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="C-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="C-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="C-clone-meta"/>
++      </clone>
++    </resources>
++    <constraints>
++      <rsc_order first="A-clone" first-action="start" id="order-A-clone-B-clone-mandatory" then="B-clone" then-action="start"/>
++      <rsc_colocation id="colocation-B-clone-A-clone-INFINITY" rsc="B-clone" score="INFINITY" with-rsc="A-clone"/>
++      <rsc_order first="B-clone" first-action="start" id="order-B-clone-C-clone-mandatory" require-all="false" then="C-clone" then-action="start"/>
++      <rsc_location id="location-A-clone-rhel7-auto1--INFINITY" node="rhel7-auto1" rsc="A-clone" score="-INFINITY"/>
++      <rsc_location id="location-A-clone-rhel7-auto2--INFINITY" node="rhel7-auto2" rsc="A-clone" score="-INFINITY"/>
++    </constraints>
++  </configuration>
++  <status>
++    <node_state id="4" uname="rhel7-auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="4">
++        <instance_attributes id="status-4">
++          <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-4-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="4">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:7;10:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420679798" last-rc-change="1420679798" exec-time="1071" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="17:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;17:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1420680270" last-rc-change="1420680270" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="16:5:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;16:5:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680105" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="22:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;22:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680270" last-rc-change="1420680270" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="32:7:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;32:7:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680111" exec-time="23" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="C_last_0" operation_key="C_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="27:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;27:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1420680270" last-rc-change="1420680270" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="48:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;48:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680120" exec-time="22" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="3">
++        <instance_attributes id="status-3">
++          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="3">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:7;8:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420679799" last-rc-change="1420679799" exec-time="1070" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="21:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;21:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680244" last-rc-change="1420680244" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="14:5:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;14:5:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680105" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="28:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;28:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1420680244" last-rc-change="1420680244" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="30:7:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;30:7:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680112" exec-time="23" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="C_last_0" operation_key="C_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="28:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;28:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1420680271" last-rc-change="1420680271" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="46:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;46:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680121" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="1">
++        <instance_attributes id="status-1">
++          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="1">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;11:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1420679801" last-rc-change="1420679801" exec-time="88" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="12:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;12:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1420679801" exec-time="64" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="27:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;27:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1420680232" last-rc-change="1420680232" exec-time="33" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="38:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;38:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680232" last-rc-change="1420680232" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="C_last_0" operation_key="C_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="30:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;30:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="31" rc-code="0" op-status="0" interval="0" last-run="1420680271" last-rc-change="1420680271" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="50:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;50:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="25" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680121" exec-time="23" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="2">
++        <instance_attributes id="status-2">
++          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="2">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="6:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:7;6:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420679798" last-rc-change="1420679798" exec-time="1070" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="25:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;25:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680238" last-rc-change="1420680238" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="34:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;34:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1420680238" last-rc-change="1420680238" exec-time="37" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="C_last_0" operation_key="C_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="32:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;32:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1420680270" last-rc-change="1420680270" exec-time="31" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="47:8:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;47:8:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680120" exec-time="19" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++  </status>
++</cib>
+diff --git a/pengine/test10/clone-require-all-no-interleave-3.dot b/pengine/test10/clone-require-all-no-interleave-3.dot
+new file mode 100644
+index 0000000..58f97a5
+--- /dev/null
++++ b/pengine/test10/clone-require-all-no-interleave-3.dot
+@@ -0,0 +1,60 @@
++ digraph "g" {
++"A-clone_running_0" -> "B-clone_start_0" [ style = bold]
++"A-clone_running_0" [ style=bold color="green" fontcolor="orange"]
++"A-clone_start_0" -> "A-clone_running_0" [ style = bold]
++"A-clone_start_0" -> "A_start_0 rhel7-auto3" [ style = bold]
++"A-clone_start_0" [ style=bold color="green" fontcolor="orange"]
++"A-clone_stop_0" -> "A-clone_stopped_0" [ style = bold]
++"A-clone_stop_0" -> "A_stop_0 rhel7-auto4" [ style = bold]
++"A-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
++"A-clone_stopped_0" -> "A-clone_start_0" [ style = bold]
++"A-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
++"A_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"A_start_0 rhel7-auto3" -> "A-clone_running_0" [ style = bold]
++"A_start_0 rhel7-auto3" -> "A_monitor_10000 rhel7-auto3" [ style = bold]
++"A_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"A_stop_0 rhel7-auto4" -> "A-clone_stopped_0" [ style = bold]
++"A_stop_0 rhel7-auto4" -> "A_start_0 rhel7-auto3" [ style = bold]
++"A_stop_0 rhel7-auto4" -> "all_stopped" [ style = bold]
++"A_stop_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
++"B-clone_running_0" [ style=bold color="green" fontcolor="orange"]
++"B-clone_start_0" -> "B-clone_running_0" [ style = bold]
++"B-clone_start_0" -> "B_start_0 rhel7-auto3" [ style = bold]
++"B-clone_start_0" [ style=bold color="green" fontcolor="orange"]
++"B-clone_stop_0" -> "B-clone_stopped_0" [ style = bold]
++"B-clone_stop_0" -> "B_stop_0 rhel7-auto4" [ style = bold]
++"B-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
++"B-clone_stopped_0" -> "A-clone_stop_0" [ style = bold]
++"B-clone_stopped_0" -> "B-clone_start_0" [ style = bold]
++"B-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
++"B_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"B_start_0 rhel7-auto3" -> "B-clone_running_0" [ style = bold]
++"B_start_0 rhel7-auto3" -> "B_monitor_10000 rhel7-auto3" [ style = bold]
++"B_start_0 rhel7-auto3" -> "clone-one-or-more:order-B-clone-C-clone-mandatory" [ style = bold]
++"B_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"B_stop_0 rhel7-auto4" -> "B-clone_stopped_0" [ style = bold]
++"B_stop_0 rhel7-auto4" -> "B_start_0 rhel7-auto3" [ style = bold]
++"B_stop_0 rhel7-auto4" -> "all_stopped" [ style = bold]
++"B_stop_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
++"C-clone_running_0" [ style=bold color="green" fontcolor="orange"]
++"C-clone_start_0" -> "C-clone_running_0" [ style = bold]
++"C-clone_start_0" -> "C_start_0 rhel7-auto3" [ style = bold]
++"C-clone_start_0" [ style=bold color="green" fontcolor="orange"]
++"C-clone_stop_0" -> "C-clone_stopped_0" [ style = bold]
++"C-clone_stop_0" -> "C_stop_0 rhel7-auto4" [ style = bold]
++"C-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
++"C-clone_stopped_0" -> "B-clone_stop_0" [ style = bold]
++"C-clone_stopped_0" -> "C-clone_start_0" [ style = bold]
++"C-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
++"C_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"C_start_0 rhel7-auto3" -> "C-clone_running_0" [ style = bold]
++"C_start_0 rhel7-auto3" -> "C_monitor_10000 rhel7-auto3" [ style = bold]
++"C_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"C_stop_0 rhel7-auto4" -> "C-clone_stopped_0" [ style = bold]
++"C_stop_0 rhel7-auto4" -> "C_start_0 rhel7-auto3" [ style = bold]
++"C_stop_0 rhel7-auto4" -> "all_stopped" [ style = bold]
++"C_stop_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
++"all_stopped" [ style=bold color="green" fontcolor="orange"]
++"clone-one-or-more:order-B-clone-C-clone-mandatory" -> "C-clone_start_0" [ style = bold]
++"clone-one-or-more:order-B-clone-C-clone-mandatory" [ style=bold color="green" fontcolor="orange"]
++}
+diff --git a/pengine/test10/clone-require-all-no-interleave-3.exp b/pengine/test10/clone-require-all-no-interleave-3.exp
+new file mode 100644
+index 0000000..8aba35e
+--- /dev/null
++++ b/pengine/test10/clone-require-all-no-interleave-3.exp
+@@ -0,0 +1,322 @@
++<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
++  <synapse id="0">
++    <action_set>
++      <rsc_op id="18" operation="monitor" operation_key="A_monitor_10000" internal_operation_key="A:0_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="17" operation="start" operation_key="A_start_0" internal_operation_key="A:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="1">
++    <action_set>
++      <rsc_op id="17" operation="start" operation_key="A_start_0" internal_operation_key="A:0_start_0" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="16" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="19" operation="start" operation_key="A-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="2">
++    <action_set>
++      <rsc_op id="16" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4">
++        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="21" operation="stop" operation_key="A-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="3" priority="1000000">
++    <action_set>
++      <pseudo_event id="22" operation="stopped" operation_key="A-clone_stopped_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="16" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="21" operation="stop" operation_key="A-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="4">
++    <action_set>
++      <pseudo_event id="21" operation="stop" operation_key="A-clone_stop_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="29" operation="stopped" operation_key="B-clone_stopped_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="5" priority="1000000">
++    <action_set>
++      <pseudo_event id="20" operation="running" operation_key="A-clone_running_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="17" operation="start" operation_key="A_start_0" internal_operation_key="A:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="19" operation="start" operation_key="A-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="6">
++    <action_set>
++      <pseudo_event id="19" operation="start" operation_key="A-clone_start_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="22" operation="stopped" operation_key="A-clone_stopped_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="7">
++    <action_set>
++      <rsc_op id="25" operation="monitor" operation_key="B_monitor_10000" internal_operation_key="B:0_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="24" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="8">
++    <action_set>
++      <rsc_op id="24" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="23" operation="stop" operation_key="B_stop_0" internal_operation_key="B:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="26" operation="start" operation_key="B-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="9">
++    <action_set>
++      <rsc_op id="23" operation="stop" operation_key="B_stop_0" internal_operation_key="B:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4">
++        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="28" operation="stop" operation_key="B-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="10" priority="1000000">
++    <action_set>
++      <pseudo_event id="29" operation="stopped" operation_key="B-clone_stopped_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="23" operation="stop" operation_key="B_stop_0" internal_operation_key="B:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="28" operation="stop" operation_key="B-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="11">
++    <action_set>
++      <pseudo_event id="28" operation="stop" operation_key="B-clone_stop_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="40" operation="stopped" operation_key="C-clone_stopped_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="12" priority="1000000">
++    <action_set>
++      <pseudo_event id="27" operation="running" operation_key="B-clone_running_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="24" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="26" operation="start" operation_key="B-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="13">
++    <action_set>
++      <pseudo_event id="26" operation="start" operation_key="B-clone_start_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="20" operation="running" operation_key="A-clone_running_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="29" operation="stopped" operation_key="B-clone_stopped_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="14">
++    <action_set>
++      <rsc_op id="32" operation="monitor" operation_key="C_monitor_10000" internal_operation_key="C:0_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="C" long-id="C:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="31" operation="start" operation_key="C_start_0" internal_operation_key="C:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="15">
++    <action_set>
++      <rsc_op id="31" operation="start" operation_key="C_start_0" internal_operation_key="C:0_start_0" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="C" long-id="C:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="30" operation="stop" operation_key="C_stop_0" internal_operation_key="C:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="37" operation="start" operation_key="C-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="16">
++    <action_set>
++      <rsc_op id="30" operation="stop" operation_key="C_stop_0" internal_operation_key="C:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4">
++        <primitive id="C" long-id="C:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="39" operation="stop" operation_key="C-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="17" priority="1000000">
++    <action_set>
++      <pseudo_event id="40" operation="stopped" operation_key="C-clone_stopped_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="30" operation="stop" operation_key="C_stop_0" internal_operation_key="C:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="39" operation="stop" operation_key="C-clone_stop_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="18">
++    <action_set>
++      <pseudo_event id="39" operation="stop" operation_key="C-clone_stop_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="19" priority="1000000">
++    <action_set>
++      <pseudo_event id="38" operation="running" operation_key="C-clone_running_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="31" operation="start" operation_key="C_start_0" internal_operation_key="C:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="37" operation="start" operation_key="C-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="20">
++    <action_set>
++      <pseudo_event id="37" operation="start" operation_key="C-clone_start_0">
++        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="7" operation="clone-one-or-more:order-B-clone-C-clone-mandatory" operation_key="clone-one-or-more:order-B-clone-C-clone-mandatory"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="40" operation="stopped" operation_key="C-clone_stopped_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="21">
++    <action_set>
++      <pseudo_event id="8" operation="all_stopped" operation_key="all_stopped">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="16" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="23" operation="stop" operation_key="B_stop_0" internal_operation_key="B:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="30" operation="stop" operation_key="C_stop_0" internal_operation_key="C:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="22">
++    <action_set>
++      <pseudo_event id="7" operation="clone-one-or-more:order-B-clone-C-clone-mandatory" operation_key="clone-one-or-more:order-B-clone-C-clone-mandatory">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="24" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++</transition_graph>
+diff --git a/pengine/test10/clone-require-all-no-interleave-3.scores b/pengine/test10/clone-require-all-no-interleave-3.scores
+new file mode 100644
+index 0000000..70dd2d1
+--- /dev/null
++++ b/pengine/test10/clone-require-all-no-interleave-3.scores
+@@ -0,0 +1,113 @@
++Allocation scores:
++clone_color: A-clone allocation score on rhel7-auto1: -INFINITY
++clone_color: A-clone allocation score on rhel7-auto2: -INFINITY
++clone_color: A-clone allocation score on rhel7-auto3: 0
++clone_color: A-clone allocation score on rhel7-auto4: 0
++clone_color: A:0 allocation score on rhel7-auto1: -INFINITY
++clone_color: A:0 allocation score on rhel7-auto2: -INFINITY
++clone_color: A:0 allocation score on rhel7-auto3: 0
++clone_color: A:0 allocation score on rhel7-auto4: 1
++clone_color: A:1 allocation score on rhel7-auto1: -INFINITY
++clone_color: A:1 allocation score on rhel7-auto2: -INFINITY
++clone_color: A:1 allocation score on rhel7-auto3: 0
++clone_color: A:1 allocation score on rhel7-auto4: 0
++clone_color: A:2 allocation score on rhel7-auto1: -INFINITY
++clone_color: A:2 allocation score on rhel7-auto2: -INFINITY
++clone_color: A:2 allocation score on rhel7-auto3: 0
++clone_color: A:2 allocation score on rhel7-auto4: 0
++clone_color: A:3 allocation score on rhel7-auto1: -INFINITY
++clone_color: A:3 allocation score on rhel7-auto2: -INFINITY
++clone_color: A:3 allocation score on rhel7-auto3: 0
++clone_color: A:3 allocation score on rhel7-auto4: 0
++clone_color: B-clone allocation score on rhel7-auto1: 0
++clone_color: B-clone allocation score on rhel7-auto2: 0
++clone_color: B-clone allocation score on rhel7-auto3: 0
++clone_color: B-clone allocation score on rhel7-auto4: 0
++clone_color: B:0 allocation score on rhel7-auto1: 0
++clone_color: B:0 allocation score on rhel7-auto2: 0
++clone_color: B:0 allocation score on rhel7-auto3: 0
++clone_color: B:0 allocation score on rhel7-auto4: 1
++clone_color: B:1 allocation score on rhel7-auto1: 0
++clone_color: B:1 allocation score on rhel7-auto2: 0
++clone_color: B:1 allocation score on rhel7-auto3: 0
++clone_color: B:1 allocation score on rhel7-auto4: 0
++clone_color: B:2 allocation score on rhel7-auto1: 0
++clone_color: B:2 allocation score on rhel7-auto2: 0
++clone_color: B:2 allocation score on rhel7-auto3: 0
++clone_color: B:2 allocation score on rhel7-auto4: 0
++clone_color: B:3 allocation score on rhel7-auto1: 0
++clone_color: B:3 allocation score on rhel7-auto2: 0
++clone_color: B:3 allocation score on rhel7-auto3: 0
++clone_color: B:3 allocation score on rhel7-auto4: 0
++clone_color: C-clone allocation score on rhel7-auto1: 0
++clone_color: C-clone allocation score on rhel7-auto2: 0
++clone_color: C-clone allocation score on rhel7-auto3: 0
++clone_color: C-clone allocation score on rhel7-auto4: 0
++clone_color: C:0 allocation score on rhel7-auto1: 0
++clone_color: C:0 allocation score on rhel7-auto2: 0
++clone_color: C:0 allocation score on rhel7-auto3: 0
++clone_color: C:0 allocation score on rhel7-auto4: 1
++clone_color: C:1 allocation score on rhel7-auto1: 1
++clone_color: C:1 allocation score on rhel7-auto2: 0
++clone_color: C:1 allocation score on rhel7-auto3: 0
++clone_color: C:1 allocation score on rhel7-auto4: 0
++clone_color: C:2 allocation score on rhel7-auto1: 0
++clone_color: C:2 allocation score on rhel7-auto2: 1
++clone_color: C:2 allocation score on rhel7-auto3: 0
++clone_color: C:2 allocation score on rhel7-auto4: 0
++clone_color: C:3 allocation score on rhel7-auto1: 0
++clone_color: C:3 allocation score on rhel7-auto2: 0
++clone_color: C:3 allocation score on rhel7-auto3: 0
++clone_color: C:3 allocation score on rhel7-auto4: 0
++native_color: A:0 allocation score on rhel7-auto1: -INFINITY
++native_color: A:0 allocation score on rhel7-auto2: -INFINITY
++native_color: A:0 allocation score on rhel7-auto3: 0
++native_color: A:0 allocation score on rhel7-auto4: -INFINITY
++native_color: A:1 allocation score on rhel7-auto1: -INFINITY
++native_color: A:1 allocation score on rhel7-auto2: -INFINITY
++native_color: A:1 allocation score on rhel7-auto3: -INFINITY
++native_color: A:1 allocation score on rhel7-auto4: -INFINITY
++native_color: A:2 allocation score on rhel7-auto1: -INFINITY
++native_color: A:2 allocation score on rhel7-auto2: -INFINITY
++native_color: A:2 allocation score on rhel7-auto3: -INFINITY
++native_color: A:2 allocation score on rhel7-auto4: -INFINITY
++native_color: A:3 allocation score on rhel7-auto1: -INFINITY
++native_color: A:3 allocation score on rhel7-auto2: -INFINITY
++native_color: A:3 allocation score on rhel7-auto3: -INFINITY
++native_color: A:3 allocation score on rhel7-auto4: -INFINITY
++native_color: B:0 allocation score on rhel7-auto1: -INFINITY
++native_color: B:0 allocation score on rhel7-auto2: -INFINITY
++native_color: B:0 allocation score on rhel7-auto3: 0
++native_color: B:0 allocation score on rhel7-auto4: -INFINITY
++native_color: B:1 allocation score on rhel7-auto1: -INFINITY
++native_color: B:1 allocation score on rhel7-auto2: -INFINITY
++native_color: B:1 allocation score on rhel7-auto3: -INFINITY
++native_color: B:1 allocation score on rhel7-auto4: -INFINITY
++native_color: B:2 allocation score on rhel7-auto1: -INFINITY
++native_color: B:2 allocation score on rhel7-auto2: -INFINITY
++native_color: B:2 allocation score on rhel7-auto3: -INFINITY
++native_color: B:2 allocation score on rhel7-auto4: -INFINITY
++native_color: B:3 allocation score on rhel7-auto1: -INFINITY
++native_color: B:3 allocation score on rhel7-auto2: -INFINITY
++native_color: B:3 allocation score on rhel7-auto3: -INFINITY
++native_color: B:3 allocation score on rhel7-auto4: -INFINITY
++native_color: C:0 allocation score on rhel7-auto1: -INFINITY
++native_color: C:0 allocation score on rhel7-auto2: -INFINITY
++native_color: C:0 allocation score on rhel7-auto3: 0
++native_color: C:0 allocation score on rhel7-auto4: -INFINITY
++native_color: C:1 allocation score on rhel7-auto1: 1
++native_color: C:1 allocation score on rhel7-auto2: -INFINITY
++native_color: C:1 allocation score on rhel7-auto3: 0
++native_color: C:1 allocation score on rhel7-auto4: -INFINITY
++native_color: C:2 allocation score on rhel7-auto1: 0
++native_color: C:2 allocation score on rhel7-auto2: 1
++native_color: C:2 allocation score on rhel7-auto3: 0
++native_color: C:2 allocation score on rhel7-auto4: -INFINITY
++native_color: C:3 allocation score on rhel7-auto1: -INFINITY
++native_color: C:3 allocation score on rhel7-auto2: -INFINITY
++native_color: C:3 allocation score on rhel7-auto3: -INFINITY
++native_color: C:3 allocation score on rhel7-auto4: -INFINITY
++native_color: shooter allocation score on rhel7-auto1: 0
++native_color: shooter allocation score on rhel7-auto2: 0
++native_color: shooter allocation score on rhel7-auto3: 0
++native_color: shooter allocation score on rhel7-auto4: 0
+diff --git a/pengine/test10/clone-require-all-no-interleave-3.summary b/pengine/test10/clone-require-all-no-interleave-3.summary
+new file mode 100644
+index 0000000..4379644
+--- /dev/null
++++ b/pengine/test10/clone-require-all-no-interleave-3.summary
+@@ -0,0 +1,61 @@
++
++Current cluster status:
++Node rhel7-auto4 (4): standby
++Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
++ Clone Set: A-clone [A]
++     Started: [ rhel7-auto4 ]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
++ Clone Set: B-clone [B]
++     Started: [ rhel7-auto4 ]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
++ Clone Set: C-clone [C]
++     Started: [ rhel7-auto1 rhel7-auto2 rhel7-auto4 ]
++     Stopped: [ rhel7-auto3 ]
++
++Transition Summary:
++ * Move    A:0	(Started rhel7-auto4 -> rhel7-auto3)
++ * Move    B:0	(Started rhel7-auto4 -> rhel7-auto3)
++ * Move    C:0	(Started rhel7-auto4 -> rhel7-auto3)
++
++Executing cluster transition:
++ * Pseudo action:   C-clone_stop_0
++ * Resource action: C               stop on rhel7-auto4
++ * Pseudo action:   C-clone_stopped_0
++ * Pseudo action:   B-clone_stop_0
++ * Resource action: B               stop on rhel7-auto4
++ * Pseudo action:   B-clone_stopped_0
++ * Pseudo action:   A-clone_stop_0
++ * Resource action: A               stop on rhel7-auto4
++ * Pseudo action:   A-clone_stopped_0
++ * Pseudo action:   A-clone_start_0
++ * Pseudo action:   all_stopped
++ * Resource action: A               start on rhel7-auto3
++ * Pseudo action:   A-clone_running_0
++ * Pseudo action:   B-clone_start_0
++ * Resource action: A               monitor=10000 on rhel7-auto3
++ * Resource action: B               start on rhel7-auto3
++ * Pseudo action:   B-clone_running_0
++ * Pseudo action:   clone-one-or-more:order-B-clone-C-clone-mandatory
++ * Resource action: B               monitor=10000 on rhel7-auto3
++ * Pseudo action:   C-clone_start_0
++ * Resource action: C               start on rhel7-auto3
++ * Pseudo action:   C-clone_running_0
++ * Resource action: C               monitor=10000 on rhel7-auto3
++
++Revised cluster status:
++Node rhel7-auto4 (4): standby
++Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
++ Clone Set: A-clone [A]
++     Started: [ rhel7-auto3 ]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto4 ]
++ Clone Set: B-clone [B]
++     Started: [ rhel7-auto3 ]
++     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto4 ]
++ Clone Set: C-clone [C]
++     Started: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
++     Stopped: [ rhel7-auto4 ]
++
+diff --git a/pengine/test10/clone-require-all-no-interleave-3.xml b/pengine/test10/clone-require-all-no-interleave-3.xml
+new file mode 100644
+index 0000000..8a9bea8
+--- /dev/null
++++ b/pengine/test10/clone-require-all-no-interleave-3.xml
+@@ -0,0 +1,179 @@
++<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.3" epoch="25" num_updates="0" admin_epoch="0" cib-last-written="Wed Jan  7 20:24:31 2015" have-quorum="1" dc-uuid="1">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
++        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-eea796a"/>
++        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
++        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes>
++      <node id="1" uname="rhel7-auto1"/>
++      <node id="2" uname="rhel7-auto2"/>
++      <node id="3" uname="rhel7-auto3">
++        <instance_attributes id="nodes-3"/>
++      </node>
++      <node id="4" uname="rhel7-auto4">
++        <instance_attributes id="nodes-4">
++          <nvpair id="nodes-4-standby" name="standby" value="on"/>
++        </instance_attributes>
++      </node>
++    </nodes>
++    <resources>
++      <primitive class="stonith" id="shooter" type="fence_xvm">
++        <instance_attributes id="shooter-instance_attributes"/>
++        <operations>
++          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <clone id="A-clone">
++        <primitive class="ocf" id="A" provider="heartbeat" type="Dummy">
++          <instance_attributes id="A-instance_attributes"/>
++          <operations>
++            <op id="A-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="A-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="A-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="A-clone-meta"/>
++      </clone>
++      <clone id="B-clone">
++        <primitive class="ocf" id="B" provider="heartbeat" type="Dummy">
++          <instance_attributes id="B-instance_attributes"/>
++          <operations>
++            <op id="B-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="B-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="B-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="B-clone-meta"/>
++      </clone>
++      <clone id="C-clone">
++        <primitive class="ocf" id="C" provider="heartbeat" type="Dummy">
++          <instance_attributes id="C-instance_attributes"/>
++          <operations>
++            <op id="C-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="C-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="C-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <meta_attributes id="C-clone-meta"/>
++      </clone>
++    </resources>
++    <constraints>
++      <rsc_order first="A-clone" first-action="start" id="order-A-clone-B-clone-mandatory" then="B-clone" then-action="start"/>
++      <rsc_colocation id="colocation-B-clone-A-clone-INFINITY" rsc="B-clone" score="INFINITY" with-rsc="A-clone"/>
++      <rsc_order first="B-clone" first-action="start" id="order-B-clone-C-clone-mandatory" require-all="false" then="C-clone" then-action="start"/>
++      <rsc_location id="location-A-clone-rhel7-auto1--INFINITY" node="rhel7-auto1" rsc="A-clone" score="-INFINITY"/>
++      <rsc_location id="location-A-clone-rhel7-auto2--INFINITY" node="rhel7-auto2" rsc="A-clone" score="-INFINITY"/>
++    </constraints>
++  </configuration>
++  <status>
++    <node_state id="4" uname="rhel7-auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="4">
++        <instance_attributes id="status-4">
++          <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-4-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="4">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:7;10:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420679798" last-rc-change="1420679798" exec-time="1071" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="30:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;30:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="30" rc-code="0" op-status="0" interval="0" last-run="1420680528" last-rc-change="1420680528" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="31:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;31:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="31" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680528" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="28:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;28:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="28" rc-code="0" op-status="0" interval="0" last-run="1420680528" last-rc-change="1420680528" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="29:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;29:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="29" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680528" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
++          </lrm_resource>
++          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="C_last_0" operation_key="C_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="26:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;26:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="26" rc-code="0" op-status="0" interval="0" last-run="1420680528" last-rc-change="1420680528" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="27:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;27:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="27" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680528" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="3">
++        <instance_attributes id="status-3">
++          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="3">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:7;8:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420679799" last-rc-change="1420679799" exec-time="1070" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="21:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;21:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680244" last-rc-change="1420680244" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="14:5:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;14:5:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680105" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="28:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;28:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1420680244" last-rc-change="1420680244" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="30:7:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;30:7:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680112" exec-time="23" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="C_last_0" operation_key="C_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="28:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;28:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1420680271" last-rc-change="1420680271" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="46:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;46:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680121" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="1">
++        <instance_attributes id="status-1">
++          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="1">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;11:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1420679801" last-rc-change="1420679801" exec-time="88" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="12:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;12:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1420679801" exec-time="64" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="27:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;27:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1420680232" last-rc-change="1420680232" exec-time="33" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="38:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;38:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680232" last-rc-change="1420680232" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="C_last_0" operation_key="C_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="32:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;32:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="32" rc-code="0" op-status="0" interval="0" last-run="1420680528" last-rc-change="1420680528" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="33:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;33:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="33" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680528" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="2">
++        <instance_attributes id="status-2">
++          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="2">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="6:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:7;6:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420679798" last-rc-change="1420679798" exec-time="1070" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="25:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;25:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680238" last-rc-change="1420680238" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="34:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;34:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1420680238" last-rc-change="1420680238" exec-time="37" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="C_last_0" operation_key="C_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="30:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;30:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="30" rc-code="0" op-status="0" interval="0" last-run="1420680528" last-rc-change="1420680528" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="31:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;31:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="31" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680528" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++  </status>
++</cib>
+diff --git a/xml/constraints-2.3.rng b/xml/constraints-2.3.rng
+new file mode 100644
+index 0000000..d9a4701
+--- /dev/null
++++ b/xml/constraints-2.3.rng
+@@ -0,0 +1,252 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<grammar xmlns="http://relaxng.org/ns/structure/1.0" 
++         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
++  <start>
++      <ref name="element-constraints"/>
++  </start>
++
++  <define name="element-constraints">
++    <element name="constraints">
++      <zeroOrMore>
++	<choice>
++	  <ref name="element-location"/>
++	  <ref name="element-colocation"/>
++	  <ref name="element-order"/>
++	  <ref name="element-rsc_ticket"/>
++	</choice>
++      </zeroOrMore>
++    </element>
++  </define>
++
++  <define name="element-location">
++    <element name="rsc_location">
++      <attribute name="id"><data type="ID"/></attribute>
++      <choice>
++	<group>
++	  <attribute name="rsc"><data type="IDREF"/></attribute>
++	  <optional>
++	    <attribute name="role">
++	      <ref name="attribute-roles"/>
++	    </attribute>
++	  </optional>
++	</group>
++	<oneOrMore>
++	  <ref name="element-resource-set"/>
++	</oneOrMore>
++      </choice>
++      <choice>
++	<group>
++	  <externalRef href="score.rng"/>
++	  <attribute name="node"><text/></attribute>
++	</group>
++	<oneOrMore>
++	  <externalRef href="rule.rng"/>
++	</oneOrMore>
++      </choice>
++      <optional>
++	<ref name="element-lifetime"/>
++      </optional>
++      <optional>
++	<attribute name="resource-discovery">
++	  <ref name="attribute-discovery"/>
++	</attribute>
++      </optional>
++    </element>
++  </define>
++
++  <define name="element-resource-set">
++    <element name="resource_set">
++      <choice>
++	<attribute name="id-ref"><data type="IDREF"/></attribute>
++	<group>
++	  <attribute name="id"><data type="ID"/></attribute>
++	  <optional>
++	    <attribute name="sequential"><data type="boolean"/></attribute>
++	  </optional>
++	  <optional>
++	    <attribute name="require-all"><data type="boolean"/></attribute>
++	  </optional>
++	  <optional>
++	    <attribute name="ordering">
++	      <choice>
++		<value>group</value>
++		<value>listed</value>
++	      </choice>
++	    </attribute>
++	  </optional>
++	  <optional>
++	    <attribute name="action">
++	      <ref name="attribute-actions"/>
++	    </attribute>
++	  </optional>
++	  <optional>
++	    <attribute name="role">
++	      <ref name="attribute-roles"/>
++	    </attribute>
++	  </optional>
++	  <optional>
++	    <externalRef href="score.rng"/>
++	  </optional>
++	  <oneOrMore>
++	    <element name="resource_ref">
++	      <attribute name="id"><data type="IDREF"/></attribute>
++	    </element>
++	  </oneOrMore>
++	</group>
++      </choice>
++    </element>
++  </define>
++
++  <define name="element-colocation">
++    <element name="rsc_colocation">
++      <attribute name="id"><data type="ID"/></attribute>
++      <optional>
++	<choice>
++	  <externalRef href="score.rng"/>
++	  <attribute name="score-attribute"><text/></attribute>
++	  <attribute name="score-attribute-mangle"><text/></attribute>
++	</choice>
++      </optional>
++      <optional>
++	<ref name="element-lifetime"/>
++      </optional>
++      <choice>
++	<oneOrMore>
++	  <ref name="element-resource-set"/>
++	</oneOrMore>
++	<group>
++	  <attribute name="rsc"><data type="IDREF"/></attribute>
++	  <attribute name="with-rsc"><data type="IDREF"/></attribute>
++	  <optional>
++	    <attribute name="node-attribute"><text/></attribute>
++	  </optional>
++	  <optional>
++	    <attribute name="rsc-role">
++	      <ref name="attribute-roles"/>
++	    </attribute>
++	  </optional>
++	  <optional>
++	    <attribute name="with-rsc-role">
++	      <ref name="attribute-roles"/>
++	    </attribute>
++	  </optional>
++	</group>
++      </choice>
++    </element>
++  </define>
++
++  <define name="element-order">
++    <element name="rsc_order">
++      <attribute name="id"><data type="ID"/></attribute>
++      <optional>
++	<ref name="element-lifetime"/>
++      </optional>
++      <optional>
++	<attribute name="symmetrical"><data type="boolean"/></attribute>
++      </optional>
++      <optional>
++	<attribute name="require-all"><data type="boolean"/></attribute>
++      </optional>
++      <optional>
++	<choice>
++	  <externalRef href="score.rng"/>
++	  <attribute name="kind">
++	    <ref name="order-types"/>
++	  </attribute>
++	</choice>
++      </optional>
++      <choice>
++	<oneOrMore>
++	  <ref name="element-resource-set"/>
++	</oneOrMore>
++	<group>
++	  <attribute name="first"><data type="IDREF"/></attribute>
++	  <attribute name="then"><data type="IDREF"/></attribute>
++	  <optional>
++	    <attribute name="first-action">
++	      <ref name="attribute-actions"/>
++	    </attribute>
++	  </optional>
++	  <optional>
++	    <attribute name="then-action">
++	      <ref name="attribute-actions"/>
++	    </attribute>
++	  </optional>
++	</group>
++      </choice>
++    </element>
++  </define>
++ 
++  <define name="element-rsc_ticket">
++    <element name="rsc_ticket">
++      <attribute name="id"><data type="ID"/></attribute>
++      <choice>
++	<oneOrMore>
++	  <ref name="element-resource-set"/>
++	</oneOrMore>
++	<group>
++	  <attribute name="rsc"><data type="IDREF"/></attribute>
++	  <optional>
++	    <attribute name="rsc-role">
++	      <ref name="attribute-roles"/>
++	    </attribute>
++	  </optional>
++	</group>
++      </choice>
++      <attribute name="ticket"><text/></attribute>
++      <optional>
++	<attribute name="loss-policy">
++	  <choice>
++	    <value>stop</value>
++	    <value>demote</value>
++	    <value>fence</value>
++	    <value>freeze</value>
++	  </choice>
++	</attribute>
++      </optional>
++    </element>
++  </define>
++
++  <define name="attribute-discovery">
++    <choice>
++      <value>always</value>
++      <value>never</value>
++      <value>exclusive</value>
++    </choice>
++  </define>
++
++  <define name="attribute-actions">
++    <choice>
++      <value>start</value>
++      <value>promote</value>
++      <value>demote</value>
++      <value>stop</value>
++    </choice>
++  </define>
++      
++  <define name="attribute-roles">
++    <choice>
++      <value>Stopped</value>
++      <value>Started</value>
++      <value>Master</value>
++      <value>Slave</value>
++    </choice>
++  </define>
++
++  <define name="order-types">
++    <choice>
++      <value>Optional</value>
++      <value>Mandatory</value>
++      <value>Serialize</value>
++    </choice>
++  </define>
++
++  <define name="element-lifetime">
++    <element name="lifetime">
++      <oneOrMore>
++	<externalRef href="rule.rng"/>
++      </oneOrMore>
++    </element>
++  </define>
++  
++</grammar>
+diff --git a/xml/constraints-next.rng b/xml/constraints-next.rng
+index 0defe8f..9d11003 100644
+--- a/xml/constraints-next.rng
++++ b/xml/constraints-next.rng
+@@ -154,6 +154,9 @@
+ 	<attribute name="symmetrical"><data type="boolean"/></attribute>
+       </optional>
+       <optional>
++	<attribute name="require-all"><data type="boolean"/></attribute>
++      </optional>
++      <optional>
+ 	<choice>
+ 	  <externalRef href="score.rng"/>
+ 	  <attribute name="kind">
diff --git a/SOURCES/bz720543-pcmk-cib_allow_values_to_be_added_updated_and_removed_in_a_single_update.patch b/SOURCES/bz720543-pcmk-cib_allow_values_to_be_added_updated_and_removed_in_a_single_update.patch
deleted file mode 100644
index 5ca2615..0000000
--- a/SOURCES/bz720543-pcmk-cib_allow_values_to_be_added_updated_and_removed_in_a_single_update.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-commit fc48cd10b4daca72217d7be42cd8eb71984d454a
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Fri Aug 30 17:51:06 2013 +1000
-
-    Feature: cib: Allow values to be added/updated and removed in a single update
-    
-    (cherry picked from commit 9819039f15277c05011c6100934167227cfd135d)
-    
-    Conflicts:
-    	attrd/commands.c
-
-diff --git a/include/crm/cib.h b/include/crm/cib.h
-index 7a694ac..5ff57eb 100644
---- a/include/crm/cib.h
-+++ b/include/crm/cib.h
-@@ -63,6 +63,7 @@ enum cib_call_options {
- 	cib_discard_reply   = 0x00000010,
- 	cib_no_children     = 0x00000020,
-         cib_xpath_address   = 0x00000040,
-+        cib_mixed_update    = 0x00000080,
- 	cib_scope_local     = 0x00000100,
- 	cib_dryrun    	    = 0x00000200,
- 	cib_sync_call       = 0x00001000,
-diff --git a/lib/cib/cib_ops.c b/lib/cib/cib_ops.c
-index 4e1196b..26ae373 100644
---- a/lib/cib/cib_ops.c
-+++ b/lib/cib/cib_ops.c
-@@ -354,6 +354,23 @@ cib_process_modify(const char *op, int options, const char *section, xmlNode * r
-         }
-     }
- 
-+    if(options & cib_mixed_update) {
-+        int max = 0, lpc;
-+        xmlXPathObjectPtr xpathObj = xpath_search(*result_cib, "//@__delete__");
-+
-+        if (xpathObj) {
-+            max = numXpathResults(xpathObj);
-+            crm_log_xml_info(*result_cib, "Mixed result");
-+        }
-+
-+        for (lpc = 0; lpc < max; lpc++) {
-+            xmlNode *match = getXpathResult(xpathObj, lpc);
-+            crm_debug("Destroying %s", (char *)xmlGetNodePath(match));
-+            free_xml(match);
-+        }
-+
-+        freeXpathObject(xpathObj);
-+    }
-     return pcmk_ok;
- }
- 
diff --git a/SOURCES/bz720543-pcmk-cli_do_not_enabled_blackbox_for_cli_tools.patch b/SOURCES/bz720543-pcmk-cli_do_not_enabled_blackbox_for_cli_tools.patch
deleted file mode 100644
index b11e0d8..0000000
--- a/SOURCES/bz720543-pcmk-cli_do_not_enabled_blackbox_for_cli_tools.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-commit 32a30ee51d3d16e4ad33c329c047030f3060afe0
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Thu Oct 3 21:01:38 2013 +1000
-
-    Fix: cli: Do not enabled blackbox for cli tools
-    
-    (cherry picked from commit ab0f2fede2a8ddfa250a8ea5e57fea0b79348edb)
-
-diff --git a/lib/common/logging.c b/lib/common/logging.c
-index 84884ac..0b85093 100644
---- a/lib/common/logging.c
-+++ b/lib/common/logging.c
-@@ -697,7 +697,7 @@ crm_log_init(const char *entity, int level, gboolean daemon, gboolean to_stderr,
-         crm_add_logfile(logfile);
-     }
- 
--    if (daemon_option_enabled(crm_system_name, "blackbox")) {
-+    if (crm_is_daemon && daemon_option_enabled(crm_system_name, "blackbox")) {
-         crm_enable_blackbox(0);
-     }
- 
diff --git a/SOURCES/bz720543-pcmk-command_line_tools_should_stop_after_an_assertion_failure.patch b/SOURCES/bz720543-pcmk-command_line_tools_should_stop_after_an_assertion_failure.patch
deleted file mode 100644
index b442646..0000000
--- a/SOURCES/bz720543-pcmk-command_line_tools_should_stop_after_an_assertion_failure.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-commit 5a743a9378faf251d03f19f37facd2ddfc19989b
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Tue Aug 6 13:36:45 2013 +1000
-
-    Fix: Command-line tools should stop after an assertion failure
-    
-    (cherry picked from commit 912db519b293ab18840c36e0b5d91b3ee6e205dd)
-
-diff --git a/lib/common/logging.c b/lib/common/logging.c
-index 0b85093..571cd03 100644
---- a/lib/common/logging.c
-+++ b/lib/common/logging.c
-@@ -46,6 +46,7 @@ unsigned int crm_log_priority = LOG_NOTICE;
- unsigned int crm_log_level = LOG_INFO;
- static gboolean crm_tracing_enabled(void);
- unsigned int crm_trace_nonlog = 0;
-+bool crm_is_daemon = 0;
- 
- #ifdef HAVE_G_LOG_SET_DEFAULT_HANDLER
- GLogFunc glib_log_default;
-@@ -626,6 +627,8 @@ crm_log_init(const char *entity, int level, gboolean daemon, gboolean to_stderr,
-     const char *facility = daemon_option("logfacility");
-     const char *f_copy = facility;
- 
-+    crm_is_daemon = daemon;
-+
-     if (crm_trace_nonlog == 0) {
-         crm_trace_nonlog = g_quark_from_static_string("Pacemaker non-logging tracepoint");
-     }
-@@ -711,11 +714,11 @@ crm_log_init(const char *entity, int level, gboolean daemon, gboolean to_stderr,
-         qb_log_ctl(QB_LOG_SYSLOG, QB_LOG_CONF_ENABLED, QB_FALSE);
-     }
- 
--    if (daemon) {
-+    if (crm_is_daemon) {
-         set_daemon_option("logfacility", facility);
-     }
- 
--    if (daemon && crm_tracing_enabled()
-+    if (crm_is_daemon && crm_tracing_enabled()
-         && qb_log_ctl(QB_LOG_STDERR, QB_LOG_CONF_STATE_GET, 0) != QB_LOG_STATE_ENABLED
-         && qb_log_ctl(QB_LOG_BLACKBOX, QB_LOG_CONF_STATE_GET, 0) != QB_LOG_STATE_ENABLED) {
-         /* Make sure tracing goes somewhere */
-@@ -725,20 +728,20 @@ crm_log_init(const char *entity, int level, gboolean daemon, gboolean to_stderr,
-     crm_update_callsites();
- 
-     /* Ok, now we can start logging... */
--    if (quiet == FALSE && daemon == FALSE) {
-+    if (quiet == FALSE && crm_is_daemon == FALSE) {
-         crm_log_args(argc, argv);
-     }
- 
--    if (daemon) {
-+    if (crm_is_daemon) {
-         const char *user = getenv("USER");
- 
-         if (user != NULL && safe_str_neq(user, "root") && safe_str_neq(user, CRM_DAEMON_USER)) {
-             crm_trace("Not switching to corefile directory for %s", user);
--            daemon = FALSE;
-+            crm_is_daemon = FALSE;
-         }
-     }
- 
--    if (daemon) {
-+    if (crm_is_daemon) {
-         int user = getuid();
-         const char *base = CRM_CORE_DIR;
-         struct passwd *pwent = getpwuid(user);
-diff --git a/lib/common/utils.c b/lib/common/utils.c
-index 069b5c8..527c9e0 100644
---- a/lib/common/utils.c
-+++ b/lib/common/utils.c
-@@ -1085,6 +1085,8 @@ filter_reload_parameters(xmlNode * param_set, const char *restart_string)
-     }
- }
- 
-+extern bool crm_is_daemon;
-+
- /* coverity[+kill] */
- void
- crm_abort(const char *file, const char *function, int line,
-@@ -1097,6 +1099,14 @@ crm_abort(const char *file, const char *function, int line,
-     /* Implied by the parent's error logging below */
-     /* crm_write_blackbox(0); */
- 
-+    if(crm_is_daemon == FALSE) {
-+        /* This is a command line tool - do not fork */
-+
-+        /* crm_add_logfile(NULL);   * Record it to a file? */
-+        crm_enable_stderr(TRUE); /* Make sure stderr is enabled so we can tell the caller */
-+        do_fork = FALSE;         /* Just crash if needed */
-+    }
-+
-     if (do_core == FALSE) {
-         crm_err("%s: Triggered assert at %s:%d : %s", function, file, line, assert_condition);
-         return;
diff --git a/SOURCES/bz720543-pcmk-corosync_attempt_to_retrieve_a_peer_s_node_name_if_it_is_not_already_known.patch b/SOURCES/bz720543-pcmk-corosync_attempt_to_retrieve_a_peer_s_node_name_if_it_is_not_already_known.patch
deleted file mode 100644
index f07c89d..0000000
--- a/SOURCES/bz720543-pcmk-corosync_attempt_to_retrieve_a_peer_s_node_name_if_it_is_not_already_known.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-commit bcd7ef60b00462c6a55ae1ce2f3ea45391059368
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Thu Nov 14 11:25:20 2013 +1100
-
-    Bug cl#5179 - Corosync: Attempt to retrieve a peer's node name if it is not already known
-    
-    (cherry picked from commit 441978e42a41fcfca3f4b41a1458d8a9c171dd63)
-
-diff --git a/lib/cluster/membership.c b/lib/cluster/membership.c
-index e7d5b69..b4c8ba7 100644
---- a/lib/cluster/membership.c
-+++ b/lib/cluster/membership.c
-@@ -270,6 +270,7 @@ crm_get_peer(unsigned int id, const char *uname)
-     crm_node_t *node = NULL;
-     crm_node_t *by_id = NULL;
-     crm_node_t *by_name = NULL;
-+    char *uname_lookup = NULL;
- 
-     CRM_ASSERT(id > 0 || uname != NULL);
- 
-@@ -357,6 +358,12 @@ crm_get_peer(unsigned int id, const char *uname)
-         g_hash_table_replace(crm_peer_cache, uniqueid, node);
-     }
- 
-+    if(id && uname == NULL && node->uname == NULL) {
-+        uname_lookup = get_node_name(id);
-+        uname = uname_lookup;
-+        crm_trace("Inferred a name of '%s' for node %u", uname, id);
-+    }
-+
-     if(id > 0 && uname && (node->id == 0 || node->uname == NULL)) {
-         crm_info("Node %u is now known as %s", id, uname);
-     }
-@@ -393,6 +400,7 @@ crm_get_peer(unsigned int id, const char *uname)
-         }
-     }
- 
-+    free(uname_lookup);
-     return node;
- }
- 
diff --git a/SOURCES/bz720543-pcmk-crm_report_do_not_print_garbage_when_collecting_from_the_local_node.patch b/SOURCES/bz720543-pcmk-crm_report_do_not_print_garbage_when_collecting_from_the_local_node.patch
deleted file mode 100644
index ec44c63..0000000
--- a/SOURCES/bz720543-pcmk-crm_report_do_not_print_garbage_when_collecting_from_the_local_node.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-commit 9b488a436dcdba49bd3b5e5365eb9ac44719d308
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Sep 4 14:46:23 2013 +1000
-
-    Fix: crm_report: Do not print garbage when collecting from the local node
-    
-    (cherry picked from commit 2c78ded0c66dc2f113ed1620efeaef51fdb489e5)
-
-diff --git a/tools/report.collector b/tools/report.collector
-index 1667364..62cbe8b 100644
---- a/tools/report.collector
-+++ b/tools/report.collector
-@@ -748,8 +748,6 @@ done
- 
- if [ -e $REPORT_HOME/.env ]; then
-     debug "Localhost: $REPORT_MASTER $REPORT_TARGET"
--    # Need to send something back or tar on the caller will complain
--    (cd $REPORT_HOME && tar cf - .env)
- 
- elif [ "$REPORT_MASTER" != "$REPORT_TARGET" ]; then
-     debug "Streaming report back to $REPORT_MASTER"
diff --git a/SOURCES/bz720543-pcmk-crm_report_record_the_output_of_the_collector.patch b/SOURCES/bz720543-pcmk-crm_report_record_the_output_of_the_collector.patch
deleted file mode 100644
index 91e5000..0000000
--- a/SOURCES/bz720543-pcmk-crm_report_record_the_output_of_the_collector.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-commit c3fb9d983fbbcc7f19908c384cd29656e0620ec3
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Sep 4 12:54:37 2013 +1000
-
-    Feature: crm_report: Record the output of the collector
-    
-    (cherry picked from commit 494a01897f07327ec475a86957b8fc7fd3ad362c)
-
-diff --git a/tools/report.common.in b/tools/report.common.in
-index c4023a8..9742f1c 100644
---- a/tools/report.common.in
-+++ b/tools/report.common.in
-@@ -72,15 +72,29 @@ glibc
- #
- # keep the user posted
- #
-+record() {
-+    if [ x != x"$REPORT_HOME" -a -d "${REPORT_HOME}/$shorthost" ]; then
-+        rec="${REPORT_HOME}/$shorthost/report.out"
-+
-+    elif [ x != x"${l_base}" ]; then
-+        rec="${l_base}/report.summary"
-+
-+    else
-+        rec="/dev/null"
-+    fi
-+    printf "%-10s  $*\n" "$shorthost:" 2>&1 >> "${rec}"
-+}
- 
- log() {
-     printf "%-10s  $*\n" "$shorthost:" 1>&2
-+    record "$*"
- }
- 
- debug() {
-     if [ $verbose -gt 0 ]; then
- 	log "Debug: $*"
-     fi
-+    record "Debug: $*"
- }
- 
- info() {
diff --git a/SOURCES/bz720543-pcmk-crm_resource_wait_for_all_replies_when_cleaning_up_resources.patch b/SOURCES/bz720543-pcmk-crm_resource_wait_for_all_replies_when_cleaning_up_resources.patch
deleted file mode 100644
index ff7c066..0000000
--- a/SOURCES/bz720543-pcmk-crm_resource_wait_for_all_replies_when_cleaning_up_resources.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-commit 8da149c887c80b1bcf778089268b060e014159ef
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Thu Oct 3 17:01:38 2013 +1000
-
-    Fix: crm_resource: Wait for all replies when cleaning up resources
-    
-    (cherry picked from commit 62e59ab2ad211cef798792632ad7df4f8a5c3418)
-
-diff --git a/tools/crm_resource.c b/tools/crm_resource.c
-index 44d96b0..c03501d 100644
---- a/tools/crm_resource.c
-+++ b/tools/crm_resource.c
-@@ -801,11 +801,15 @@ delete_lrm_rsc(cib_t *cib_conn, crm_ipc_t * crmd_channel, const char *host_uname
- 
-     printf("Cleaning up %s on %s\n", rsc->id, host_uname);
-     rc = send_lrm_rsc_op(crmd_channel, CRM_OP_LRM_DELETE, host_uname, rsc->id, TRUE, data_set);
-+
-     if (rc == pcmk_ok) {
-         char *attr_name = NULL;
-         const char *id = rsc->id;
-         node_t *node = pe_find_node(data_set->nodes, host_uname);
- 
-+        if(node->details->remote_rsc == NULL) {
-+            crmd_replies_needed++;
-+        }
-         if (rsc->clone_name) {
-             id = rsc->clone_name;
-         }
-@@ -2165,6 +2169,7 @@ main(int argc, char **argv)
- 
-         crm_debug("Re-checking the state of %s on %s", rsc_id, host_uname);
-         if(rsc) {
-+            crmd_replies_needed = 0;
-             rc = delete_lrm_rsc(cib_conn, crmd_channel, host_uname, rsc, &data_set);
-         } else {
-             rc = -ENODEV;
diff --git a/SOURCES/bz720543-pcmk-crmd_cache_rsc_info_retrieved_from_lrmd_and_pacemaker_remoted.patch b/SOURCES/bz720543-pcmk-crmd_cache_rsc_info_retrieved_from_lrmd_and_pacemaker_remoted.patch
deleted file mode 100644
index 9d12301..0000000
--- a/SOURCES/bz720543-pcmk-crmd_cache_rsc_info_retrieved_from_lrmd_and_pacemaker_remoted.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-commit 701e10aba853afb4cd1ab4a1e4e3dd64ea96e907
-Author: David Vossel <dvossel@redhat.com>
-Date:   Thu Oct 10 17:22:29 2013 -0500
-
-    Low: crmd: Cache rsc_info retrieved from lrmd and pacemaker_remoted
-    
-    (cherry picked from commit d65b2703d2107665365b0db06cff67386981e346)
-
-diff --git a/crmd/crmd_lrm.h b/crmd/crmd_lrm.h
-index d0ca58c..2239638 100644
---- a/crmd/crmd_lrm.h
-+++ b/crmd/crmd_lrm.h
-@@ -56,6 +56,8 @@ typedef struct lrm_state_s {
-     GHashTable *pending_ops;
-     GHashTable *deletion_ops;
- 
-+    GHashTable *rsc_info_cache;
-+
-     int num_lrm_register_fails;
- } lrm_state_t;
- 
-diff --git a/crmd/lrm_state.c b/crmd/lrm_state.c
-index b1b1b7f..57eb87e 100644
---- a/crmd/lrm_state.c
-+++ b/crmd/lrm_state.c
-@@ -60,6 +60,13 @@ history_cache_destroy(gpointer data)
-     free(entry->id);
-     free(entry);
- }
-+static void
-+free_rsc_info(gpointer value)
-+{
-+    lrmd_rsc_info_t *rsc_info = value;
-+
-+    lrmd_free_rsc_info(rsc_info);
-+}
- 
- static void
- free_deletion_op(gpointer value)
-@@ -99,6 +106,9 @@ lrm_state_create(const char *node_name)
- 
-     state->node_name = strdup(node_name);
- 
-+    state->rsc_info_cache = g_hash_table_new_full(crm_str_hash,
-+                                                g_str_equal, NULL, free_rsc_info);
-+
-     state->deletion_ops = g_hash_table_new_full(crm_str_hash,
-                                                 g_str_equal, g_hash_destroy_str, free_deletion_op);
- 
-@@ -146,6 +156,10 @@ internal_lrm_state_destroy(gpointer data)
-     remote_ra_cleanup(lrm_state);
-     lrmd_api_delete(lrm_state->conn);
- 
-+    if (lrm_state->rsc_info_cache) {
-+        crm_trace("Destroying rsc info cache with %d members", g_hash_table_size(lrm_state->rsc_info_cache));
-+        g_hash_table_destroy(lrm_state->rsc_info_cache);
-+    }
-     if (lrm_state->resource_history) {
-         crm_trace("Destroying history op cache with %d members", g_hash_table_size(lrm_state->resource_history));
-         g_hash_table_destroy(lrm_state->resource_history);
-@@ -181,6 +195,11 @@ lrm_state_reset_tables(lrm_state_t * lrm_state)
-                   g_hash_table_size(lrm_state->pending_ops));
-         g_hash_table_remove_all(lrm_state->pending_ops);
-     }
-+    if (lrm_state->rsc_info_cache) {
-+        crm_trace("Re-setting rsc info cache with %d members",
-+                  g_hash_table_size(lrm_state->rsc_info_cache));
-+        g_hash_table_remove_all(lrm_state->rsc_info_cache);
-+    }
- }
- 
- static void
-@@ -590,16 +609,28 @@ lrm_state_cancel(lrm_state_t * lrm_state, const char *rsc_id, const char *action
- lrmd_rsc_info_t *
- lrm_state_get_rsc_info(lrm_state_t * lrm_state, const char *rsc_id, enum lrmd_call_options options)
- {
-+    lrmd_rsc_info_t *rsc = NULL;
-+
-     if (!lrm_state->conn) {
-         return NULL;
-     }
--    /* optimize this... this function is a synced round trip from client to daemon.
--     * It should be possible to cache the resource info in the lrmd client to prevent this. */
-     if (is_remote_lrmd_ra(NULL, NULL, rsc_id)) {
-         return remote_ra_get_rsc_info(lrm_state, rsc_id);
-     }
- 
--    return ((lrmd_t *) lrm_state->conn)->cmds->get_rsc_info(lrm_state->conn, rsc_id, options);
-+    rsc = g_hash_table_lookup(lrm_state->rsc_info_cache, rsc_id);
-+    if (rsc == NULL) {
-+        /* only contact the lrmd if we don't already have a cached rsc info */
-+        rsc = ((lrmd_t *) lrm_state->conn)->cmds->get_rsc_info(lrm_state->conn, rsc_id, options);
-+        if (rsc == NULL) {
-+		    return NULL;
-+        }
-+        /* cache the result */
-+        g_hash_table_insert(lrm_state->rsc_info_cache, rsc->id, rsc);
-+    }
-+
-+    return lrmd_copy_rsc_info(rsc);
-+
- }
- 
- int
-@@ -667,5 +698,7 @@ lrm_state_unregister_rsc(lrm_state_t * lrm_state,
-         return pcmk_ok;
-     }
- 
-+    g_hash_table_remove(lrm_state->rsc_info_cache, rsc_id);
-+
-     return ((lrmd_t *) lrm_state->conn)->cmds->unregister_rsc(lrm_state->conn, rsc_id, options);
- }
diff --git a/SOURCES/bz720543-pcmk-crmd_correctly_update_expected_state_when_the_previous_dc_shuts_down.patch b/SOURCES/bz720543-pcmk-crmd_correctly_update_expected_state_when_the_previous_dc_shuts_down.patch
deleted file mode 100644
index 9854a8f..0000000
--- a/SOURCES/bz720543-pcmk-crmd_correctly_update_expected_state_when_the_previous_dc_shuts_down.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-commit 4443e76aaccb60fb49f7c32eb2c0a34e0965a291
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Oct 2 09:00:39 2013 +1000
-
-    Fix: crmd: Correctly update expected state when the previous DC shuts down
-    
-    (cherry picked from commit 25ebce69ecc07799b50cf6e0ca4704345e7cf336)
-
-diff --git a/crmd/join_dc.c b/crmd/join_dc.c
-index b45fff2..5e6c827 100644
---- a/crmd/join_dc.c
-+++ b/crmd/join_dc.c
-@@ -103,17 +103,19 @@ initialize_join(gboolean before)
- static void
- join_make_offer(gpointer key, gpointer value, gpointer user_data)
- {
--    const char *join_to = NULL;
--    const crm_node_t *member = value;
-+    xmlNode *offer = NULL;
-+    crm_node_t *member = (crm_node_t *)value;
- 
-     CRM_ASSERT(member != NULL);
-     if (crm_is_peer_active(member) == FALSE) {
--        crm_trace("Not making an offer to %s: not active", member->uname);
-+        crm_info("Not making an offer to %s: not active (%s)", member->uname, member->state);
-+        if(member->expected == NULL && safe_str_eq(member->state, CRM_NODE_LOST)) {
-+            crm_update_peer_expected(__FUNCTION__, member, CRMD_JOINSTATE_DOWN);
-+        }
-         return;
-     }
- 
--    join_to = member->uname;
--    if (join_to == NULL) {
-+    if (member->uname == NULL) {
-         crm_err("No recipient for welcome message");
-         return;
-     }
-@@ -130,26 +132,18 @@ join_make_offer(gpointer key, gpointer value, gpointer user_data)
- 
-     crm_update_peer_join(__FUNCTION__, (crm_node_t*)member, crm_join_none);
- 
--    if (crm_is_peer_active(member)) {
--        crm_node_t *peer = crm_get_peer(0, join_to);
--        xmlNode *offer = create_request(CRM_OP_JOIN_OFFER, NULL, join_to,
--                                        CRM_SYSTEM_CRMD, CRM_SYSTEM_DC, NULL);
--
--        crm_xml_add_int(offer, F_CRM_JOIN_ID, current_join_id);
--        /* send the welcome */
--        crm_info("join-%d: Sending offer to %s", current_join_id, join_to);
-+    offer = create_request(CRM_OP_JOIN_OFFER, NULL, member->uname,
-+                           CRM_SYSTEM_CRMD, CRM_SYSTEM_DC, NULL);
- 
--        send_cluster_message(peer, crm_msg_crmd, offer, TRUE);
--        free_xml(offer);
-+    crm_xml_add_int(offer, F_CRM_JOIN_ID, current_join_id);
-+    /* send the welcome */
-+    crm_info("join-%d: Sending offer to %s", current_join_id, member->uname);
- 
--        crm_update_peer_join(__FUNCTION__, peer, crm_join_welcomed);
--        /* crm_update_peer_expected(__FUNCTION__, member, CRMD_JOINSTATE_PENDING); */
--
--    } else {
--        crm_info("Peer process on %s is not active (yet?): %.8lx %d",
--                 join_to, (long)member->processes, g_hash_table_size(crm_peer_cache));
--    }
-+    send_cluster_message(member, crm_msg_crmd, offer, TRUE);
-+    free_xml(offer);
- 
-+    crm_update_peer_join(__FUNCTION__, member, crm_join_welcomed);
-+    /* crm_update_peer_expected(__FUNCTION__, member, CRMD_JOINSTATE_PENDING); */
- }
- 
- /*	 A_DC_JOIN_OFFER_ALL	*/
-diff --git a/lib/cluster/membership.c b/lib/cluster/membership.c
-index e3082b4..e7d5b69 100644
---- a/lib/cluster/membership.c
-+++ b/lib/cluster/membership.c
-@@ -532,8 +532,8 @@ crm_update_peer_expected(const char *source, crm_node_t * node, const char *expe
-     }
- 
-     if (changed) {
--        crm_info("%s: Node %s[%u] - expected state is now %s", source, node->uname, node->id,
--                 expected);
-+        crm_info("%s: Node %s[%u] - expected state is now %s (was %s)", source, node->uname, node->id,
-+                 expected, last);
-         free(last);
-     } else {
-         crm_trace("%s: Node %s[%u] - expected state is unchanged (%s)", source, node->uname,
diff --git a/SOURCES/bz720543-pcmk-crmd_don_t_add_node_state_to_cib_if_we_have_not_seen_or_fenced_this_node_yet.patch b/SOURCES/bz720543-pcmk-crmd_don_t_add_node_state_to_cib_if_we_have_not_seen_or_fenced_this_node_yet.patch
deleted file mode 100644
index a4d8612..0000000
--- a/SOURCES/bz720543-pcmk-crmd_don_t_add_node_state_to_cib_if_we_have_not_seen_or_fenced_this_node_yet.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-commit e03e4f32fca5857618603e3e1c9500dbf3d348ef
-Author: Lars Ellenberg <lars.ellenberg@linbit.com>
-Date:   Fri Aug 2 14:33:57 2013 +1000
-
-    Fix: crmd: Don't add node_state to cib, if we have not seen or fenced this node yet
-    
-    Also fixes the incredibly dangerous option: startup-fencing=false
-    
-    (cherry picked from commit ac7aa1c94f317fc1d4024fbc09b012bc9f1b229e)
-
-diff --git a/crmd/membership.c b/crmd/membership.c
-index e2bcd45..d102db0 100644
---- a/crmd/membership.c
-+++ b/crmd/membership.c
-@@ -131,8 +131,14 @@ xmlNode *
- do_update_node_cib(crm_node_t * node, int flags, xmlNode * parent, const char *source)
- {
-     const char *value = NULL;
--    xmlNode *node_state = create_xml_node(parent, XML_CIB_TAG_STATE);
-+    xmlNode *node_state;
- 
-+    if (!node->state) {
-+        crm_info("Node update for %s cancelled: no state, not seen yet", node->uname);
-+       return NULL;
-+    }
-+
-+    node_state = create_xml_node(parent, XML_CIB_TAG_STATE);
-     set_uuid(node_state, XML_ATTR_UUID, node);
- 
-     if (crm_element_value(node_state, XML_ATTR_UUID) == NULL) {
diff --git a/SOURCES/bz720543-pcmk-crmd_pad_internal_lrmd_rsc_info_and_metadata_retrieval_timeout.patch b/SOURCES/bz720543-pcmk-crmd_pad_internal_lrmd_rsc_info_and_metadata_retrieval_timeout.patch
deleted file mode 100644
index 732e869..0000000
--- a/SOURCES/bz720543-pcmk-crmd_pad_internal_lrmd_rsc_info_and_metadata_retrieval_timeout.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-commit 21172ada434f549515d4480e821872b8cbd12566
-Author: David Vossel <dvossel@redhat.com>
-Date:   Thu Oct 10 17:30:40 2013 -0500
-
-    Low: crmd: Pad internal lrmd rsc_info and metadata retrieval timeout
-    
-    (cherry picked from commit 5c21a6b6e7789da50111f3d955593c7fbda1ddc2)
-
-diff --git a/lib/lrmd/lrmd_client.c b/lib/lrmd/lrmd_client.c
-index e577293..d037022 100644
---- a/lib/lrmd/lrmd_client.c
-+++ b/lib/lrmd/lrmd_client.c
-@@ -1437,7 +1437,7 @@ lrmd_api_get_rsc_info(lrmd_t * lrmd, const char *rsc_id, enum lrmd_call_options
- 
-     crm_xml_add(data, F_LRMD_ORIGIN, __FUNCTION__);
-     crm_xml_add(data, F_LRMD_RSC_ID, rsc_id);
--    lrmd_send_command(lrmd, LRMD_OP_RSC_INFO, data, &output, 0, options, TRUE);
-+    lrmd_send_command(lrmd, LRMD_OP_RSC_INFO, data, &output, 30000, options, TRUE);
-     free_xml(data);
- 
-     if (!output) {
-@@ -1743,7 +1743,7 @@ generic_get_metadata(const char *standard, const char *provider, const char *typ
-                                                    type,
-                                                    "meta-data",
-                                                    0,
--                                                   5000,
-+                                                   30000,
-                                                    NULL);
- 
-     if (!(services_action_sync(action))) {
diff --git a/SOURCES/bz720543-pcmk-fencing_allow_fencing_for_node_after_topology_entries_are_deleted.patch b/SOURCES/bz720543-pcmk-fencing_allow_fencing_for_node_after_topology_entries_are_deleted.patch
deleted file mode 100644
index b01bc8e..0000000
--- a/SOURCES/bz720543-pcmk-fencing_allow_fencing_for_node_after_topology_entries_are_deleted.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-commit ca9ea8de96463d137f64977a01517bf794d1f4e4
-Author: David Vossel <dvossel@redhat.com>
-Date:   Tue Oct 1 18:26:56 2013 -0500
-
-    Fix: fencing: Allow fencing for node after topology entries are deleted
-    
-    (cherry picked from commit 57de742c237ac5c01b4a7ead70003cbaffed9a3e)
-
-diff --git a/fencing/remote.c b/fencing/remote.c
-index 525f1d7..af4fb9e 100644
---- a/fencing/remote.c
-+++ b/fencing/remote.c
-@@ -374,6 +374,23 @@ remote_op_query_timeout(gpointer data)
-     return FALSE;
- }
- 
-+static gboolean
-+topology_is_empty(stonith_topology_t *tp)
-+{
-+    int i;
-+
-+    if (tp == NULL) {
-+        return TRUE;
-+    }
-+
-+    for (i = 0; i < ST_LEVEL_MAX; i++) {
-+        if (tp->levels[i] != NULL) {
-+            return FALSE;
-+        }
-+    }
-+    return TRUE;
-+}
-+
- static int
- stonith_topology_next(remote_fencing_op_t * op)
- {
-@@ -383,7 +400,7 @@ stonith_topology_next(remote_fencing_op_t * op)
-         /* Queries don't have a target set */
-         tp = g_hash_table_lookup(topology, op->target);
-     }
--    if (tp == NULL) {
-+    if (topology_is_empty(tp)) {
-         return pcmk_ok;
-     }
- 
diff --git a/SOURCES/bz720543-pcmk-fencing_deep_copy_current_topology_level_list_on_remote_op.patch b/SOURCES/bz720543-pcmk-fencing_deep_copy_current_topology_level_list_on_remote_op.patch
deleted file mode 100644
index 99f1ed7..0000000
--- a/SOURCES/bz720543-pcmk-fencing_deep_copy_current_topology_level_list_on_remote_op.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-commit 5cc40550ed6f385eb25042b1ab14339a760de1e8
-Author: David Vossel <dvossel@redhat.com>
-Date:   Thu Oct 17 20:34:48 2013 -0500
-
-    Fix: fencing: Deep copy current topology level list on remote op
-    
-    (cherry picked from commit ef29a502e0e0506fd52fc60e51e06ffd6c375f4a)
-
-diff --git a/fencing/internal.h b/fencing/internal.h
-index 11a8c58..da510c3 100644
---- a/fencing/internal.h
-+++ b/fencing/internal.h
-@@ -105,6 +105,8 @@ typedef struct remote_fencing_op_s {
-     /*! The current topology level being executed */
-     guint level;
-     /*! The device list of all the devices at the current executing topology level. */
-+    GListPtr devices_list;
-+    /*! Current entry in the topology device list */
-     GListPtr devices;
- 
-     /*! List of duplicate operations attached to this operation. Once this operation
-diff --git a/fencing/remote.c b/fencing/remote.c
-index af4fb9e..8c8df6d 100644
---- a/fencing/remote.c
-+++ b/fencing/remote.c
-@@ -124,6 +124,10 @@ free_remote_op(gpointer data)
-         free_xml(op->request);
-         op->request = NULL;
-     }
-+    if (op->devices_list) {
-+        g_list_free_full(op->devices_list, free);
-+        op->devices_list = NULL;
-+    }
-     free(op);
- }
- 
-@@ -391,6 +395,22 @@ topology_is_empty(stonith_topology_t *tp)
-     return TRUE;
- }
- 
-+/* deep copy the device list */
-+static void
-+set_op_device_list(remote_fencing_op_t * op, GListPtr devices)
-+{
-+    GListPtr lpc = NULL;
-+
-+    if (op->devices_list) {
-+        g_list_free_full(op->devices_list, free);
-+        op->devices_list = NULL;
-+    }
-+    for (lpc = devices; lpc != NULL; lpc = lpc->next) {
-+        op->devices_list = g_list_append(op->devices_list, strdup(lpc->data));
-+    }
-+    op->devices = op->devices_list;
-+}
-+
- static int
- stonith_topology_next(remote_fencing_op_t * op)
- {
-@@ -415,7 +435,7 @@ stonith_topology_next(remote_fencing_op_t * op)
-         crm_trace("Attempting fencing level %d for %s (%d devices) - %s@%s.%.8s",
-                   op->level, op->target, g_list_length(tp->levels[op->level]),
-                   op->client_name, op->originator, op->id);
--        op->devices = tp->levels[op->level];
-+        set_op_device_list(op, tp->levels[op->level]);
-         return pcmk_ok;
-     }
- 
diff --git a/SOURCES/bz720543-pcmk-fencing_do_not_broadcast_suicide_if_the_on_action_is_being_executed.patch b/SOURCES/bz720543-pcmk-fencing_do_not_broadcast_suicide_if_the_on_action_is_being_executed.patch
deleted file mode 100644
index f8f6965..0000000
--- a/SOURCES/bz720543-pcmk-fencing_do_not_broadcast_suicide_if_the_on_action_is_being_executed.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-commit c041f6362e9e33e78e2645ae7c10f5aa2ad41874
-Author: David Vossel <dvossel@redhat.com>
-Date:   Tue Oct 1 17:12:17 2013 -0500
-
-    Low: fencing: Do not broadcast suicide if the on action is being executed
-    
-    (cherry picked from commit fd5d4e2f3b61a614f92781bd4280efe282bc142a)
-
-diff --git a/fencing/commands.c b/fencing/commands.c
-index 7d04952..909dc24 100644
---- a/fencing/commands.c
-+++ b/fencing/commands.c
-@@ -1352,7 +1352,7 @@ stonith_send_async_reply(async_command_t * cmd, const char *output, int rc, GPid
-                crm_str_eq(cmd->action, "list", TRUE) || crm_str_eq(cmd->action, "status", TRUE)) {
-         crm_trace("Never broadcast %s replies", cmd->action);
- 
--    } else if (!stand_alone && safe_str_eq(cmd->origin, cmd->victim)) {
-+    } else if (!stand_alone && safe_str_eq(cmd->origin, cmd->victim) && safe_str_neq(cmd->action, "on")) {
-         crm_trace("Broadcast %s reply for %s", cmd->action, cmd->victim);
-         crm_xml_add(reply, F_SUBTYPE, "broadcast");
-         bcast = TRUE;
diff --git a/SOURCES/bz720543-pcmk-ipc_raise_the_default_buffer_size_to_128k.patch b/SOURCES/bz720543-pcmk-ipc_raise_the_default_buffer_size_to_128k.patch
deleted file mode 100644
index d0ea458..0000000
--- a/SOURCES/bz720543-pcmk-ipc_raise_the_default_buffer_size_to_128k.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-commit d42392c04d9f81a51d708723d978558690f5724b
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Tue Sep 17 12:36:45 2013 +1000
-
-    Feature: ipc: Raise the default buffer size to 128k
-    
-    (cherry picked from commit 8196f23a829ed02edb887209bccc88dc851b198b)
-
-diff --git a/lib/common/ipc.c b/lib/common/ipc.c
-index 2cd42bf..451bda5 100644
---- a/lib/common/ipc.c
-+++ b/lib/common/ipc.c
-@@ -521,13 +521,6 @@ crm_ipc_prepare(uint32_t request, xmlNode * message, struct iovec ** result)
-     } else {
-         unsigned int new_size = 0;
- 
--        if (total > biggest) {
--            biggest = 2 * QB_MAX(total, biggest);
--            crm_notice("Message exceeds the configured ipc limit (%d bytes), "
--                       "consider configuring PCMK_ipc_buffer to %d or higher "
--                       "to avoid compression overheads", ipc_buffer_max, biggest);
--        }
--
-         if (crm_compress_string
-             (buffer, header->size_uncompressed, ipc_buffer_max, &compressed, &new_size)) {
- 
-@@ -539,10 +532,15 @@ crm_ipc_prepare(uint32_t request, xmlNode * message, struct iovec ** result)
- 
-             free(buffer);
- 
-+            if (header->size_compressed > biggest) {
-+                biggest = 2 * QB_MAX(header->size_compressed, biggest);
-+            }
-+
-         } else {
-             ssize_t rc = -EMSGSIZE;
- 
-             crm_log_xml_trace(message, "EMSGSIZE");
-+            biggest = 2 * QB_MAX(header->size_uncompressed, biggest);
- 
-             crm_err
-                 ("Could not compress the message into less than the configured ipc limit (%d bytes)."
-@@ -665,7 +663,7 @@ crm_ipcs_send_ack(crm_client_t * c, uint32_t request, const char *tag, const cha
- /* Client... */
- 
- #define MIN_MSG_SIZE    12336   /* sizeof(struct qb_ipc_connection_response) */
--#define MAX_MSG_SIZE    50*1024 /* 50k default */
-+#define MAX_MSG_SIZE    128*1024 /* 128k default */
- 
- struct crm_ipc_s {
-     struct pollfd pfd;
-@@ -1004,6 +1002,7 @@ crm_ipc_send(crm_ipc_t * client, xmlNode * message, enum crm_ipc_flags flags, in
-     long rc = 0;
-     struct iovec *iov;
-     static uint32_t id = 0;
-+    static int factor = 8;
-     struct crm_ipc_response_header *header;
- 
-     crm_ipc_init();
-@@ -1041,6 +1040,15 @@ crm_ipc_send(crm_ipc_t * client, xmlNode * message, enum crm_ipc_flags flags, in
-     header = iov[0].iov_base;
-     header->flags |= flags;
- 
-+    if(header->flags | crm_ipc_compressed) {
-+        if(factor < 10 && (ipc_buffer_max / 10) < (rc / factor)) {
-+            crm_notice("Compressed message exceeds %d0%% of the configured ipc limit (%d bytes), "
-+                       "consider setting PCMK_ipc_buffer to %d or higher",
-+                       factor, ipc_buffer_max, 2*ipc_buffer_max);
-+            factor++;
-+        }
-+    }
-+
-     if (ms_timeout == 0) {
-         ms_timeout = 5000;
-     }
diff --git a/SOURCES/bz720543-pcmk-ipc_use_the_higher_of_the_configured_buffer_size_or_the_default.patch b/SOURCES/bz720543-pcmk-ipc_use_the_higher_of_the_configured_buffer_size_or_the_default.patch
deleted file mode 100644
index e862a7f..0000000
--- a/SOURCES/bz720543-pcmk-ipc_use_the_higher_of_the_configured_buffer_size_or_the_default.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-commit 20845c58bf1003225241dcefb47d7d71013aa432
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Fri Oct 18 12:20:29 2013 +1100
-
-    Fix: ipc: Use the higher of the configured buffer size or the default
-    
-    (cherry picked from commit 87a34aa975ae2a114e964e3dd9c3c84a937c1979)
-
-diff --git a/lib/common/ipc.c b/lib/common/ipc.c
-index 451bda5..435b392 100644
---- a/lib/common/ipc.c
-+++ b/lib/common/ipc.c
-@@ -681,22 +681,19 @@ struct crm_ipc_s {
- static int
- pick_ipc_buffer(int max)
- {
--    const char *env = getenv("PCMK_ipc_buffer");
-+    static int global_max = 0;
- 
--    if (env) {
--        max = crm_parse_int(env, "0");
--    }
--
--    if (max <= 0) {
--        max = MAX_MSG_SIZE;
--    }
-+    if(global_max == 0) {
-+        const char *env = getenv("PCMK_ipc_buffer");
- 
--    if (max < MIN_MSG_SIZE) {
--        max = MIN_MSG_SIZE;
-+        if (env) {
-+            global_max = crm_parse_int(env, "0");
-+        } else {
-+            global_max = MAX_MSG_SIZE;
-+        }
-     }
- 
--    crm_trace("Using max message size of %d", max);
--    return max;
-+    return QB_MAX(max, global_max);
- }
- 
- crm_ipc_t *
diff --git a/SOURCES/bz720543-pcmk-iso8601_prevent_dates_from_jumping_backwards_a_day_in_some_timezones.patch b/SOURCES/bz720543-pcmk-iso8601_prevent_dates_from_jumping_backwards_a_day_in_some_timezones.patch
deleted file mode 100644
index 12e6a68..0000000
--- a/SOURCES/bz720543-pcmk-iso8601_prevent_dates_from_jumping_backwards_a_day_in_some_timezones.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-commit aa0e9c4d42f7ae4a856c5716444e9333b099013b
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Oct 2 09:02:19 2013 +1000
-
-    Fix: iso8601: Prevent dates from jumping backwards a day in some timezones
-    
-    (cherry picked from commit ed70b9864247030bc21163411b60a7e962068d88)
-
-diff --git a/lib/common/iso8601.c b/lib/common/iso8601.c
-index d68e7e6..d88c519 100644
---- a/lib/common/iso8601.c
-+++ b/lib/common/iso8601.c
-@@ -1115,7 +1115,6 @@ crm_time_add_seconds(crm_time_t * a_time, int extra)
-         days++;
-     }
- 
--    days = 0;
-     while (a_time->seconds < 0) {
-         crm_trace("s=%d, d=%d", a_time->seconds, days);
-         a_time->seconds += seconds;
diff --git a/SOURCES/bz720543-pcmk-lrmd_correctly_cancel_monitor_actions_for_lsb_systemd_service_resources_on_cleaning_up.patch b/SOURCES/bz720543-pcmk-lrmd_correctly_cancel_monitor_actions_for_lsb_systemd_service_resources_on_cleaning_up.patch
deleted file mode 100644
index 8d4bafa..0000000
--- a/SOURCES/bz720543-pcmk-lrmd_correctly_cancel_monitor_actions_for_lsb_systemd_service_resources_on_cleaning_up.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-commit 59a56d6fef5885f6d22f1e20bd189d91d5844827
-Author: Gao,Yan <ygao@suse.com>
-Date:   Mon Sep 30 21:10:44 2013 +0800
-
-    Fix: lrmd: Correctly cancel monitor actions for lsb/systemd/service resources on cleaning up
-    
-    (cherry picked from commit 1c14b9d69470ff56fd814091867394cd0a1cf61d)
-
-diff --git a/lrmd/lrmd.c b/lrmd/lrmd.c
-index 8592b6c..65421d0 100644
---- a/lrmd/lrmd.c
-+++ b/lrmd/lrmd.c
-@@ -978,7 +978,7 @@ free_rsc(gpointer data)
-              * let service library cancel it and tell us via the callback
-              * when it is cancelled. The rsc can be safely destroyed
-              * even if we are waiting for the cancel result */
--            services_action_cancel(rsc->rsc_id, cmd->action, cmd->interval);
-+            services_action_cancel(rsc->rsc_id, normalize_action_name(rsc, cmd->action), cmd->interval);
-         }
-     }
-     /* frees list, but not list elements. */
diff --git a/SOURCES/bz720543-pcmk-pcmk_remote_ipv6_support.patch b/SOURCES/bz720543-pcmk-pcmk_remote_ipv6_support.patch
deleted file mode 100644
index 40248e3..0000000
--- a/SOURCES/bz720543-pcmk-pcmk_remote_ipv6_support.patch
+++ /dev/null
@@ -1,173 +0,0 @@
-commit edabd027144c2a9fcd44a997f47981b836b53b77
-Author: David Vossel <dvossel@redhat.com>
-Date:   Wed Nov 6 13:27:11 2013 -0500
-
-    High: remote: Add support for ipv6 into pacemaker_remote daemon
-    (cherry picked from commit 1595263ff56ac14cc697d9866b532c14267d708f)
-
-diff --git a/lrmd/tls_backend.c b/lrmd/tls_backend.c
-index 780d17b..46e7f27 100644
---- a/lrmd/tls_backend.c
-+++ b/lrmd/tls_backend.c
-@@ -30,6 +30,7 @@
- 
- #include <lrmd_private.h>
- 
-+#include <netdb.h>
- #include <sys/socket.h>
- #include <netinet/ip.h>
- #include <arpa/inet.h>
-@@ -38,7 +39,7 @@
- #  define LRMD_REMOTE_AUTH_TIMEOUT 10000
- gnutls_psk_server_credentials_t psk_cred_s;
- gnutls_dh_params_t dh_params;
--static int ssock = 0;
-+static int ssock = -1;
- extern int lrmd_call_id;
- 
- static void
-@@ -253,12 +254,72 @@ lrmd_tls_server_key_cb(gnutls_session_t session, const char *username, gnutls_da
-     return lrmd_tls_set_key(key);
- }
- 
-+static int
-+bind_and_listen(struct addrinfo *addr)
-+{
-+    int optval;
-+    int fd;
-+    int rc;
-+    char buffer[256] = { 0, };
-+
-+    if (addr->ai_family == AF_INET6) {
-+        struct sockaddr_in6 *addr_in = (struct sockaddr_in6 *)addr->ai_addr;
-+        inet_ntop(addr->ai_family, &addr_in->sin6_addr, buffer, DIMOF(buffer));
-+
-+    } else {
-+        struct sockaddr_in *addr_in = (struct sockaddr_in *)addr->ai_addr;
-+        inet_ntop(addr->ai_family, &addr_in->sin_addr, buffer, DIMOF(buffer));
-+    }
-+
-+    crm_trace("Attempting to bind on address %s", buffer);
-+
-+    fd = socket(addr->ai_family, addr->ai_socktype, addr->ai_protocol);
-+    if (fd < 0) {
-+        return -1;
-+    }
-+
-+    /* reuse address */
-+    optval = 1;
-+    rc = setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(optval));
-+    if (rc < 0) {
-+        crm_perror(LOG_INFO, "Couldn't allow the reuse of local addresses by our remote listener, bind address %s", buffer);
-+        close(fd);
-+        return -1;
-+    }
-+
-+    if (addr->ai_family == AF_INET6) {
-+        optval = 0;
-+        rc = setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, &optval, sizeof(optval));
-+        if (rc < 0) {
-+            crm_perror(LOG_INFO, "Couldn't disable IPV6 only on address %s", buffer);
-+            close(fd);
-+            return -1;
-+        }
-+    }
-+
-+    if (bind(fd, addr->ai_addr, addr->ai_addrlen) != 0) {
-+        close(fd);
-+        return -1;
-+    }
-+
-+    if (listen(fd, 10) == -1) {
-+        crm_err("Can not start listen on address %s", buffer);
-+        close(fd);
-+        return -1;
-+    }
-+
-+    crm_notice("Listening on address %s", buffer);
-+
-+    return fd;
-+}
-+
- int
- lrmd_init_remote_tls_server(int port)
- {
-     int rc;
--    struct sockaddr_in saddr;
--    int optval;
-+    int filter;
-+    struct addrinfo hints, *res = NULL, *iter;
-+    char port_str[16];
- 
-     static struct mainloop_fd_callbacks remote_listen_fd_callbacks = {
-         .dispatch = lrmd_remote_listen,
-@@ -275,34 +336,39 @@ lrmd_init_remote_tls_server(int port)
-     gnutls_psk_set_server_credentials_function(psk_cred_s, lrmd_tls_server_key_cb);
-     gnutls_psk_set_server_dh_params(psk_cred_s, dh_params);
- 
--    /* create server socket */
--    ssock = socket(AF_INET, SOCK_STREAM, 0);
--    if (ssock == -1) {
--        crm_err("Can not create server socket.");
--        return -1;
--    }
-+    memset(&hints, 0, sizeof(struct addrinfo));
-+    hints.ai_flags = AI_PASSIVE; /* Only return socket addresses with wildcard INADDR_ANY or IN6ADDR_ANY_INIT */
-+    hints.ai_family = AF_UNSPEC; /* Return IPv6 or IPv4 */
-+    hints.ai_socktype = SOCK_STREAM;
-+    hints.ai_protocol = IPPROTO_TCP;
- 
--    /* reuse address */
--    optval = 1;
--    rc = setsockopt(ssock, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(optval));
--    if (rc < 0) {
--        crm_perror(LOG_INFO, "Couldn't allow the reuse of local addresses by our remote listener");
-+    snprintf(port_str, sizeof(port_str), "%d", port);
-+    rc = getaddrinfo(NULL, port_str, &hints, &res);
-+    if (rc) {
-+        crm_err("getaddrinfo: %s", gai_strerror(rc));
-+        return -1;
-     }
- 
--    rc = -1;
-+    iter = res;
-+    filter = AF_INET6;
-+    /* Try IPv6 addresses first, then IPv4 */
-+    while (iter) {
-+        if (iter->ai_family == filter) {
-+            ssock = bind_and_listen(iter);
-+        }
-+        if (ssock != -1) {
-+            break;
-+        }
- 
--    /* bind server socket */
--    memset(&saddr, '\0', sizeof(saddr));
--    saddr.sin_family = AF_INET;
--    saddr.sin_addr.s_addr = INADDR_ANY;
--    saddr.sin_port = htons(port);
--    if (bind(ssock, (struct sockaddr *)&saddr, sizeof(saddr)) == -1) {
--        crm_err("Can not bind server socket.");
--        goto init_remote_cleanup;
-+        iter = iter->ai_next;
-+        if (iter == NULL && filter == AF_INET6) {
-+            iter = res;
-+            filter = AF_INET;
-+        }
-     }
- 
--    if (listen(ssock, 10) == -1) {
--        crm_err("Can not start listen.");
-+    if (ssock < 0) {
-+        crm_err("unable to bind to address");
-         goto init_remote_cleanup;
-     }
- 
-@@ -314,6 +380,7 @@ lrmd_init_remote_tls_server(int port)
-         close(ssock);
-         ssock = 0;
-     }
-+    freeaddrinfo(res);
-     return rc;
- 
- }
diff --git a/SOURCES/bz720543-pcmk-pe_don_t_prevent_clones_from_running_due_to_dependant_resources.patch b/SOURCES/bz720543-pcmk-pe_don_t_prevent_clones_from_running_due_to_dependant_resources.patch
deleted file mode 100644
index 7976c71..0000000
--- a/SOURCES/bz720543-pcmk-pe_don_t_prevent_clones_from_running_due_to_dependant_resources.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-commit 7d47ad8be7a9c31a1eba2a3714a645ae3985fc37
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Fri Aug 9 15:00:40 2013 +1000
-
-    Bug cl#5171 - PE: Don't prevent clones from running due to dependant resources
-    
-    (cherry picked from commit 1c057f8808c71763134ae829851d2a2b3b604d07)
-
-diff --git a/include/crm/pengine/internal.h b/include/crm/pengine/internal.h
-index a6b9369..7240106 100644
---- a/include/crm/pengine/internal.h
-+++ b/include/crm/pengine/internal.h
-@@ -129,6 +129,7 @@ pe_hash_table_lookup(GHashTable * hash, gconstpointer key)
- extern action_t *get_pseudo_op(const char *name, pe_working_set_t * data_set);
- extern gboolean order_actions(action_t * lh_action, action_t * rh_action, enum pe_ordering order);
- 
-+GHashTable *node_hash_dup(GHashTable * hash);
- extern GListPtr node_list_and(GListPtr list1, GListPtr list2, gboolean filter);
- 
- extern GListPtr node_list_xor(GListPtr list1, GListPtr list2, gboolean filter);
-diff --git a/pengine/clone.c b/pengine/clone.c
-index b15f76f..9113e9d 100644
---- a/pengine/clone.c
-+++ b/pengine/clone.c
-@@ -385,8 +385,9 @@ color_instance(resource_t * rsc, node_t * prefer, gboolean all_coloc, pe_working
- {
-     node_t *chosen = NULL;
-     node_t *local_node = NULL;
-+    GHashTable *backup = NULL;
- 
--    pe_rsc_trace(rsc, "Processing %s", rsc->id);
-+    pe_rsc_trace(rsc, "Processing %s %d", rsc->id, all_coloc);
- 
-     if (is_not_set(rsc->flags, pe_rsc_provisional)) {
-         return rsc->fns->location(rsc, NULL, FALSE);
-@@ -421,15 +422,19 @@ color_instance(resource_t * rsc, node_t * prefer, gboolean all_coloc, pe_working
-         }
-     }
- 
-+    backup = node_hash_dup(rsc->allowed_nodes);
-     chosen = rsc->cmds->allocate(rsc, prefer, data_set);
-     if (chosen) {
-         local_node = pe_hash_table_lookup(rsc->parent->allowed_nodes, chosen->details->id);
- 
-         if (prefer && chosen && chosen->details != prefer->details) {
--            crm_err("Pre-allocation failed: got %s instead of %s",
--                    chosen->details->uname, prefer->details->uname);
-+            crm_notice("Pre-allocation failed: got %s instead of %s",
-+                       chosen->details->uname, prefer->details->uname);
-+            g_hash_table_destroy(rsc->allowed_nodes);
-+            rsc->allowed_nodes = backup;
-             native_deallocate(rsc);
-             chosen = NULL;
-+            backup = NULL;
- 
-         } else if (local_node) {
-             local_node->count++;
-@@ -442,6 +447,9 @@ color_instance(resource_t * rsc, node_t * prefer, gboolean all_coloc, pe_working
-         }
-     }
- 
-+    if(backup) {
-+        g_hash_table_destroy(backup);
-+    }
-     return chosen;
- }
- 
-@@ -587,7 +595,7 @@ clone_color(resource_t * rsc, node_t * prefer, pe_working_set_t * data_set)
-         }
-     }
- 
--    pe_rsc_trace(rsc, "Done pre-allocating");
-+    pe_rsc_trace(rsc, "Done pre-allocating (%d of %d)", allocated, clone_data->clone_max);
-     g_list_free(nodes);
- 
-     for (gIter = rsc->children; gIter != NULL; gIter = gIter->next) {
-diff --git a/pengine/native.c b/pengine/native.c
-index 21ad629..4016a3c 100644
---- a/pengine/native.c
-+++ b/pengine/native.c
-@@ -313,7 +313,7 @@ node_hash_update(GHashTable * list1, GHashTable * list2, const char *attr, float
-     }
- }
- 
--static GHashTable *
-+GHashTable *
- node_hash_dup(GHashTable * hash)
- {
-     /* Hack! */
diff --git a/SOURCES/bz720543-pcmk-pe_probe_containers_not_expected_to_be_up.patch b/SOURCES/bz720543-pcmk-pe_probe_containers_not_expected_to_be_up.patch
deleted file mode 100644
index 368aec0..0000000
--- a/SOURCES/bz720543-pcmk-pe_probe_containers_not_expected_to_be_up.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-commit 7d17d8ab2dd91bdcaf2dea199f2ef66b514daea0
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Nov 6 14:15:24 2013 +1100
-
-    PE: Probe containers not expected to be up
-    
-    RHEL-Only work-around, fixing properly upstream
-
-diff --git a/include/crm/pengine/internal.h b/include/crm/pengine/internal.h
-index 7240106..dd52e7f 100644
---- a/include/crm/pengine/internal.h
-+++ b/include/crm/pengine/internal.h
-@@ -262,4 +262,5 @@ op_digest_cache_t *rsc_action_digest_cmp(resource_t * rsc, xmlNode * xml_op, nod
- 
- gboolean is_remote_node(xmlNode *xml);
- 
-+resource_t * rsc_contains_remote_node(pe_working_set_t * data_set, resource_t *rsc);
- #endif
-diff --git a/include/crm/pengine/status.h b/include/crm/pengine/status.h
-index 8eb4a1d..eb52464 100644
---- a/include/crm/pengine/status.h
-+++ b/include/crm/pengine/status.h
-@@ -183,6 +183,7 @@ struct node_s {
- #  define pe_rsc_migrating	0x00400000ULL
- 
- #  define pe_rsc_failure_ignored 0x01000000ULL
-+#  define pe_rsc_unexpectedly_running 0x02000000ULL
- 
- #  define pe_rsc_needs_quorum	 0x10000000ULL
- #  define pe_rsc_needs_fencing	 0x20000000ULL
-diff --git a/lib/pengine/unpack.c b/lib/pengine/unpack.c
-index 78ceb85..56ed291 100644
---- a/lib/pengine/unpack.c
-+++ b/lib/pengine/unpack.c
-@@ -2014,6 +2014,9 @@ unpack_lrm_resources(node_t * node, xmlNode * lrm_rsc_list, pe_working_set_t * d
- {
-     xmlNode *rsc_entry = NULL;
-     gboolean found_orphaned_container_filler = FALSE;
-+    GListPtr unexpected_containers = NULL;
-+    GListPtr gIter = NULL;
-+    resource_t *remote = NULL;
- 
-     CRM_CHECK(node != NULL, return FALSE);
- 
-@@ -2025,9 +2028,29 @@ unpack_lrm_resources(node_t * node, xmlNode * lrm_rsc_list, pe_working_set_t * d
-         if (crm_str_eq((const char *)rsc_entry->name, XML_LRM_TAG_RESOURCE, TRUE)) {
-             resource_t *rsc;
-             rsc = unpack_lrm_rsc_state(node, rsc_entry, data_set);
--            if (rsc && is_set(rsc->flags, pe_rsc_orphan_container_filler)) {
-+            if (!rsc) {
-+                continue;
-+            }
-+            if (is_set(rsc->flags, pe_rsc_orphan_container_filler)) {
-                 found_orphaned_container_filler = TRUE;
-             }
-+            if (is_set(rsc->flags, pe_rsc_unexpectedly_running)) {
-+                remote = rsc_contains_remote_node(data_set, rsc);
-+                if (remote) {
-+                    unexpected_containers = g_list_append(unexpected_containers, remote);
-+                }
-+            }
-+        }
-+    }
-+
-+    /* If a container resource is unexpectedly up... and the remote-node
-+     * connection resource for that container is not up, the entire container
-+     * must be recovered. */
-+    for (gIter = unexpected_containers; gIter != NULL; gIter = gIter->next) {
-+        remote = (resource_t *) gIter->data;
-+        if (remote->role != RSC_ROLE_STARTED) {
-+            crm_warn("Recovering container resource %s. Resource is unexpectedly running and involves a remote-node.");
-+            set_bit(remote->container->flags, pe_rsc_failed);
-         }
-     }
- 
-@@ -2037,7 +2060,7 @@ unpack_lrm_resources(node_t * node, xmlNode * lrm_rsc_list, pe_working_set_t * d
-     if (found_orphaned_container_filler) {
-         handle_orphaned_container_fillers(lrm_rsc_list, data_set);
-     }
--
-+    g_list_free(unexpected_containers);
-     return TRUE;
- }
- 
-@@ -2366,6 +2389,7 @@ unpack_rsc_op(resource_t * rsc, node_t * node, xmlNode * xml_op,
-         case PCMK_OCF_OK:
-             if (is_probe && target_rc == 7) {
-                 task_status_i = PCMK_LRM_OP_DONE;
-+                set_bit(rsc->flags, pe_rsc_unexpectedly_running);
-                 pe_rsc_info(rsc, "Operation %s found resource %s active on %s",
-                             task, rsc->id, node->details->uname);
- 
-diff --git a/lib/pengine/utils.c b/lib/pengine/utils.c
-index 1e3877d..e9997a2 100644
---- a/lib/pengine/utils.c
-+++ b/lib/pengine/utils.c
-@@ -1776,3 +1776,24 @@ const char *rsc_printable_id(resource_t *rsc)
-     }
-     return rsc->id;
- }
-+
-+resource_t *
-+rsc_contains_remote_node(pe_working_set_t * data_set, resource_t *rsc)
-+{
-+    if (is_set(data_set->flags, pe_flag_have_remote_nodes) == FALSE) {
-+        return FALSE;
-+    }
-+
-+    if (rsc->fillers) {
-+        GListPtr gIter = NULL;
-+        for (gIter = rsc->fillers; gIter != NULL; gIter = gIter->next) {
-+            resource_t *filler = (resource_t *) gIter->data;
-+
-+            if (filler->is_remote_node) {
-+                return filler;
-+            }
-+        }
-+    }
-+    return NULL;
-+}
-+
diff --git a/SOURCES/bz720543-pcmk-pe_update_regression_test_scores.patch b/SOURCES/bz720543-pcmk-pe_update_regression_test_scores.patch
deleted file mode 100644
index 27fe927..0000000
--- a/SOURCES/bz720543-pcmk-pe_update_regression_test_scores.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-commit 1106a46aa325068e42d36d70cdbb78d128602a0d
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Mon Aug 12 11:54:10 2013 +1000
-
-    Test: PE: Update regression test scores
-    
-    (cherry picked from commit 86b339c959f41e9c94195317ba4aa90f09d72450)
-
-diff --git a/pengine/test10/utilization-order2.scores b/pengine/test10/utilization-order2.scores
-index b289b72..22748db 100644
---- a/pengine/test10/utilization-order2.scores
-+++ b/pengine/test10/utilization-order2.scores
-@@ -7,7 +7,7 @@ clone_color: rsc2:1 allocation score on node1: 0
- clone_color: rsc2:1 allocation score on node2: 1
- native_color: rsc1 allocation score on node1: 0
- native_color: rsc1 allocation score on node2: 0
--native_color: rsc2:0 allocation score on node1: -INFINITY
-+native_color: rsc2:0 allocation score on node1: 1
- native_color: rsc2:0 allocation score on node1: 1
- native_color: rsc2:0 allocation score on node2: -INFINITY
- native_color: rsc2:0 allocation score on node2: 0
diff --git a/SOURCES/bz720543-pcmk-prevent_use_of_null_when_ping_resources_do_not_define_a_host_list.patch b/SOURCES/bz720543-pcmk-prevent_use_of_null_when_ping_resources_do_not_define_a_host_list.patch
deleted file mode 100644
index 42b4265..0000000
--- a/SOURCES/bz720543-pcmk-prevent_use_of_null_when_ping_resources_do_not_define_a_host_list.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-commit d4cf7c479c30b4543db45fcce9bf69352b77f85c
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Tue Aug 6 20:36:14 2013 +1000
-
-    Fix: Prevent use-of-NULL when ping resources do not define a host list
-    
-    (cherry picked from commit 7f76afac965afa209e570deac612c696fdcaddb2)
-
-diff --git a/tools/crm_mon.c b/tools/crm_mon.c
-index 9387b46..9d68237 100644
---- a/tools/crm_mon.c
-+++ b/tools/crm_mon.c
-@@ -973,7 +973,6 @@ print_attr_msg(node_t * node, GListPtr rsc_list, const char *attrname, const cha
-         if (safe_str_eq(type, "ping") || safe_str_eq(type, "pingd")) {
-             const char *name = "pingd";
-             const char *multiplier = NULL;
--            char **host_list = NULL;
-             int host_list_num = 0;
-             int expected_score = 0;
- 
-@@ -984,11 +983,15 @@ print_attr_msg(node_t * node, GListPtr rsc_list, const char *attrname, const cha
-             /* To identify the resource with the attribute name. */
-             if (safe_str_eq(name, attrname)) {
-                 int value = crm_parse_int(attrvalue, "0");
-+                const char *hosts = g_hash_table_lookup(rsc->parameters, "host_list");
- 
-                 multiplier = g_hash_table_lookup(rsc->parameters, "multiplier");
--                host_list = g_strsplit(g_hash_table_lookup(rsc->parameters, "host_list"), " ", 0);
--                host_list_num = g_strv_length(host_list);
--                g_strfreev(host_list);
-+                if(hosts) {
-+                    char **host_list = g_strsplit(hosts, " ", 0);
-+                    host_list_num = g_strv_length(host_list);
-+                    g_strfreev(host_list);
-+                }
-+
-                 /* pingd multiplier is the same as the default value. */
-                 expected_score = host_list_num * crm_parse_int(multiplier, "1");
- 
diff --git a/SOURCES/bz720543-pcmk-reduce_duplication_by_merging_the_lrmd_exec_rc_enum_with_ocf_exitcode.patch b/SOURCES/bz720543-pcmk-reduce_duplication_by_merging_the_lrmd_exec_rc_enum_with_ocf_exitcode.patch
deleted file mode 100644
index ccbd8b6..0000000
--- a/SOURCES/bz720543-pcmk-reduce_duplication_by_merging_the_lrmd_exec_rc_enum_with_ocf_exitcode.patch
+++ /dev/null
@@ -1,1075 +0,0 @@
-commit 6de9bff49d55a5e03f3aac134fa651da02acc805
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Thu Aug 8 10:07:43 2013 +1000
-
-    Refactor: Reduce duplication by merging the lrmd_exec_rc enum with ocf_exitcode
-    
-    (cherry picked from commit 7c87227849a589b65eb4864fae2811d9cc39bc1b)
-
-diff --git a/crmd/lrm.c b/crmd/lrm.c
-index 5f4d3bb..318c7f8 100644
---- a/crmd/lrm.c
-+++ b/crmd/lrm.c
-@@ -691,20 +691,20 @@ is_rsc_active(lrm_state_t * lrm_state, const char *rsc_id)
- 
-     crm_trace("Processing %s: %s.%d=%d",
-               rsc_id, entry->last->op_type, entry->last->interval, entry->last->rc);
--    if (entry->last->rc == PCMK_EXECRA_OK && safe_str_eq(entry->last->op_type, CRMD_ACTION_STOP)) {
-+    if (entry->last->rc == PCMK_OCF_OK && safe_str_eq(entry->last->op_type, CRMD_ACTION_STOP)) {
-         return FALSE;
- 
--    } else if (entry->last->rc == PCMK_EXECRA_OK
-+    } else if (entry->last->rc == PCMK_OCF_OK
-                && safe_str_eq(entry->last->op_type, CRMD_ACTION_MIGRATE)) {
-         /* a stricter check is too complex...
-          * leave that to the PE
-          */
-         return FALSE;
- 
--    } else if (entry->last->rc == PCMK_EXECRA_NOT_RUNNING) {
-+    } else if (entry->last->rc == PCMK_OCF_NOT_RUNNING) {
-         return FALSE;
- 
--    } else if (entry->last->interval == 0 && entry->last->rc == PCMK_EXECRA_NOT_CONFIGURED) {
-+    } else if (entry->last->interval == 0 && entry->last->rc == PCMK_OCF_NOT_CONFIGURED) {
-         /* Badly configured resources can't be reliably stopped */
-         return FALSE;
-     }
-@@ -812,10 +812,10 @@ notify_deleted(lrm_state_t * lrm_state, ha_msg_input_t * input, const char *rsc_
- 
-     if (rc == pcmk_ok) {
-         op->op_status = PCMK_LRM_OP_DONE;
--        op->rc = PCMK_EXECRA_OK;
-+        op->rc = PCMK_OCF_OK;
-     } else {
-         op->op_status = PCMK_LRM_OP_ERROR;
--        op->rc = PCMK_EXECRA_UNKNOWN_ERROR;
-+        op->rc = PCMK_OCF_UNKNOWN_ERROR;
-     }
- 
-     send_direct_ack(from_host, from_sys, NULL, op, rsc_id);
-@@ -1295,7 +1295,7 @@ do_lrm_invoke(long long action,
-         }
-         op->interval = 0;
-         op->op_status = PCMK_LRM_OP_DONE;
--        op->rc = PCMK_EXECRA_UNKNOWN_ERROR;
-+        op->rc = PCMK_OCF_UNKNOWN_ERROR;
-         op->t_run = time(NULL);
-         op->t_rcchange = op->t_run;
- 
-@@ -1313,7 +1313,7 @@ do_lrm_invoke(long long action,
-             crm_info("Failing resource %s...", rsc->id);
-             process_lrm_event(lrm_state, op);
-             op->op_status = PCMK_LRM_OP_DONE;
--            op->rc = PCMK_EXECRA_OK;
-+            op->rc = PCMK_OCF_OK;
-             lrmd_free_rsc_info(rsc);
-         } else {
-             crm_info("Cannot find/create resource in order to fail it...");
-@@ -1425,7 +1425,7 @@ do_lrm_invoke(long long action,
- 
-             op = construct_op(lrm_state, input->xml, ID(xml_rsc), operation);
-             op->op_status = PCMK_LRM_OP_DONE;
--            op->rc = PCMK_EXECRA_OK;
-+            op->rc = PCMK_OCF_OK;
-             CRM_ASSERT(op != NULL);
-             send_direct_ack(from_host, from_sys, NULL, op, ID(xml_rsc));
-             lrmd_free_event(op);
-@@ -1486,7 +1486,7 @@ do_lrm_invoke(long long action,
-                 g_hash_table_remove(lrm_state->pending_ops, op_key);
-             }
- 
--            op->rc = PCMK_EXECRA_OK;
-+            op->rc = PCMK_OCF_OK;
-             op->op_status = PCMK_LRM_OP_DONE;
-             send_direct_ack(from_host, from_sys, rsc, op, rsc->id);
- 
-@@ -1509,9 +1509,9 @@ do_lrm_invoke(long long action,
-                 op->op_status = PCMK_LRM_OP_ERROR;
- 
-                 if (cib_rc == -EACCES) {
--                    op->rc = PCMK_EXECRA_INSUFFICIENT_PRIV;
-+                    op->rc = PCMK_OCF_INSUFFICIENT_PRIV;
-                 } else {
--                    op->rc = PCMK_EXECRA_UNKNOWN_ERROR;
-+                    op->rc = PCMK_OCF_UNKNOWN_ERROR;
-                 }
-                 send_direct_ack(from_host, from_sys, NULL, op, rsc->id);
-                 lrmd_free_event(op);
-@@ -2046,7 +2046,7 @@ process_lrm_event(lrm_state_t * lrm_state, lrmd_event_data_t * op)
-     }
- 
-     if (op->op_status == PCMK_LRM_OP_ERROR
--        && (op->rc == PCMK_EXECRA_RUNNING_MASTER || op->rc == PCMK_EXECRA_NOT_RUNNING)) {
-+        && (op->rc == PCMK_OCF_RUNNING_MASTER || op->rc == PCMK_OCF_NOT_RUNNING)) {
-         /* Leave it up to the TE/PE to decide if this is an error */
-         op->op_status = PCMK_LRM_OP_DONE;
-         log_level = LOG_INFO;
-@@ -2096,7 +2096,7 @@ process_lrm_event(lrm_state_t * lrm_state, lrmd_event_data_t * op)
-         do_crm_log(log_level,
-                    "LRM operation %s (call=%d, rc=%d, cib-update=%d, confirmed=%s) %s",
-                    op_key, op->call_id, op->rc, update_id, removed ? "true" : "false",
--                   lrmd_event_rc2str(op->rc));
-+                   services_ocf_exitcode_str(op->rc));
-     } else {
-         do_crm_log(log_level,
-                    "LRM operation %s (call=%d, status=%d, cib-update=%d, confirmed=%s) %s",
-diff --git a/crmd/remote_lrmd_ra.c b/crmd/remote_lrmd_ra.c
-index 42ea043..fbb9ecb 100644
---- a/crmd/remote_lrmd_ra.c
-+++ b/crmd/remote_lrmd_ra.c
-@@ -211,7 +211,7 @@ retry_start_cmd_cb(gpointer data)
-     }
- 
-     if (rc != 0) {
--        cmd->rc = PCMK_EXECRA_UNKNOWN_ERROR;
-+        cmd->rc = PCMK_OCF_UNKNOWN_ERROR;
-         cmd->op_status = PCMK_LRM_OP_ERROR;
-         report_remote_ra_result(cmd);
- 
-@@ -236,7 +236,7 @@ monitor_timeout_cb(gpointer data)
-     crm_debug("Poke async response timed out for node %s", cmd->rsc_id);
-     cmd->monitor_timeout_id = 0;
-     cmd->op_status = PCMK_LRM_OP_TIMEOUT;
--    cmd->rc = PCMK_EXECRA_UNKNOWN_ERROR;
-+    cmd->rc = PCMK_OCF_UNKNOWN_ERROR;
- 
-     lrm_state = lrm_state_find(cmd->rsc_id);
-     if (lrm_state && lrm_state->remote_ra_data) {
-@@ -291,7 +291,7 @@ remote_lrm_op_callback(lrmd_event_data_t * op)
-               lrmd_event_type2str(op->type),
-               op->remote_nodename,
-               op->op_type ? op->op_type : "none",
--              lrmd_event_rc2str(op->rc), services_lrm_status_str(op->op_status));
-+              services_ocf_exitcode_str(op->rc), services_lrm_status_str(op->op_status));
- 
-     /* filter all EXEC events up */
-     if (op->type == lrmd_event_exec_complete) {
-@@ -329,7 +329,7 @@ remote_lrm_op_callback(lrmd_event_data_t * op)
-                           cmd->remaining_timeout);
-             }
-             cmd->op_status = PCMK_LRM_OP_TIMEOUT;
--            cmd->rc = PCMK_EXECRA_UNKNOWN_ERROR;
-+            cmd->rc = PCMK_OCF_UNKNOWN_ERROR;
- 
-         } else {
-             /* make sure we have a clean status section to start with */
-@@ -338,7 +338,7 @@ remote_lrm_op_callback(lrmd_event_data_t * op)
-             erase_status_tag(lrm_state->node_name, XML_CIB_TAG_LRM, cib_scope_local);
-             erase_status_tag(lrm_state->node_name, XML_TAG_TRANSIENT_NODEATTRS, cib_scope_local);
- 
--            cmd->rc = PCMK_EXECRA_OK;
-+            cmd->rc = PCMK_OCF_OK;
-             cmd->op_status = PCMK_LRM_OP_DONE;
-         }
- 
-@@ -361,7 +361,7 @@ remote_lrm_op_callback(lrmd_event_data_t * op)
-          * For this function, if we get the poke pack, it is always a success. Pokes
-          * only fail if the send fails, or the response times out. */
-         if (!cmd->reported_success) {
--            cmd->rc = PCMK_EXECRA_OK;
-+            cmd->rc = PCMK_OCF_OK;
-             cmd->op_status = PCMK_LRM_OP_DONE;
-             report_remote_ra_result(cmd);
-             cmd->reported_success = 1;
-@@ -442,7 +442,7 @@ handle_remote_ra_exec(gpointer user_data)
-                 return TRUE;
-             } else {
-                 crm_debug("connect failed, not expecting to match any connection event later");
--                cmd->rc = PCMK_EXECRA_UNKNOWN_ERROR;
-+                cmd->rc = PCMK_OCF_UNKNOWN_ERROR;
-                 cmd->op_status = PCMK_LRM_OP_ERROR;
-             }
-             report_remote_ra_result(cmd);
-@@ -452,13 +452,13 @@ handle_remote_ra_exec(gpointer user_data)
-             if (lrm_state_is_connected(lrm_state) == TRUE) {
-                 rc = lrm_state_poke_connection(lrm_state);
-                 if (rc < 0) {
--                    cmd->rc = PCMK_EXECRA_UNKNOWN_ERROR;
-+                    cmd->rc = PCMK_OCF_UNKNOWN_ERROR;
-                     cmd->op_status = PCMK_LRM_OP_ERROR;
-                 }
-             } else {
-                 rc = -1;
-                 cmd->op_status = PCMK_LRM_OP_DONE;
--                cmd->rc = PCMK_EXECRA_NOT_RUNNING;
-+                cmd->rc = PCMK_OCF_NOT_RUNNING;
-             }
- 
-             if (rc == 0) {
-@@ -471,7 +471,7 @@ handle_remote_ra_exec(gpointer user_data)
- 
-         } else if (!strcmp(cmd->action, "stop")) {
-             lrm_state_disconnect(lrm_state);
--            cmd->rc = PCMK_EXECRA_OK;
-+            cmd->rc = PCMK_OCF_OK;
-             cmd->op_status = PCMK_LRM_OP_DONE;
- 
-             if (ra_data->cmds) {
-@@ -486,7 +486,7 @@ handle_remote_ra_exec(gpointer user_data)
- 
-         } else if (!strcmp(cmd->action, "migrate_to")) {
-             /* no-op. */
--            cmd->rc = PCMK_EXECRA_OK;
-+            cmd->rc = PCMK_OCF_OK;
-             cmd->op_status = PCMK_LRM_OP_DONE;
-             report_remote_ra_result(cmd);
-         }
-diff --git a/crmd/te_actions.c b/crmd/te_actions.c
-index b533f58..63d15bb 100644
---- a/crmd/te_actions.c
-+++ b/crmd/te_actions.c
-@@ -465,7 +465,7 @@ te_rsc_command(crm_graph_t * graph, crm_action_t * action)
-         && safe_str_neq(task, CRMD_ACTION_DELETE)) {
-         /* write a "pending" entry to the CIB, inhibit notification */
-         crm_debug("Recording pending op %s in the CIB", task_uuid);
--        cib_action_update(action, PCMK_LRM_OP_PENDING, PCMK_EXECRA_STATUS_UNKNOWN);
-+        cib_action_update(action, PCMK_LRM_OP_PENDING, PCMK_OCF_STATUS_UNKNOWN);
-     }
- 
-     return TRUE;
-diff --git a/crmd/te_callbacks.c b/crmd/te_callbacks.c
-index 3d923b2..c0360b4 100644
---- a/crmd/te_callbacks.c
-+++ b/crmd/te_callbacks.c
-@@ -548,8 +548,8 @@ action_timer_callback(gpointer data)
-         }
- 
-         if (send_update) {
--            /* cib_action_update(timer->action, PCMK_LRM_OP_PENDING, PCMK_EXECRA_STATUS_UNKNOWN); */
--            cib_action_update(timer->action, PCMK_LRM_OP_TIMEOUT, PCMK_EXECRA_UNKNOWN_ERROR);
-+            /* cib_action_update(timer->action, PCMK_LRM_OP_PENDING, PCMK_OCF_STATUS_UNKNOWN); */
-+            cib_action_update(timer->action, PCMK_LRM_OP_TIMEOUT, PCMK_OCF_UNKNOWN_ERROR);
-         }
-     }
- 
-diff --git a/crmd/te_events.c b/crmd/te_events.c
-index bc474bd..78d00dd 100644
---- a/crmd/te_events.c
-+++ b/crmd/te_events.c
-@@ -540,7 +540,7 @@ process_graph_event(xmlNode * event, const char *event_node)
-             desc = "failed";
-         }
-         crm_info("Detected action (%d.%d) %s.%d=%s: %s", transition_num, action, id, callid,
--                 lrmd_event_rc2str(rc), desc);
-+                 services_ocf_exitcode_str(rc), desc);
-     }
- 
-   bail:
-diff --git a/fencing/commands.c b/fencing/commands.c
-index 7ef003d..7d04952 100644
---- a/fencing/commands.c
-+++ b/fencing/commands.c
-@@ -224,7 +224,7 @@ stonith_device_execute(stonith_device_t * device)
-         } else {
-             crm_err("failed to get secrets for %s, "
-                     "considering resource not configured", device->id);
--            exec_rc = PCMK_EXECRA_NOT_CONFIGURED;
-+            exec_rc = PCMK_OCF_NOT_CONFIGURED;
-             cmd->done_cb(0, exec_rc, NULL, cmd);
-             return TRUE;
-         }
-diff --git a/include/crm/lrmd.h b/include/crm/lrmd.h
-index f627373..b8c3167 100644
---- a/include/crm/lrmd.h
-+++ b/include/crm/lrmd.h
-@@ -22,6 +22,7 @@
-  * \brief Local Resource Manager 
-  * \ingroup lrm
-  */
-+#include <crm/services.h>
- 
- #ifndef LRMD__H
- #  define LRMD__H
-@@ -166,21 +167,6 @@ enum lrmd_callback_event {
-     lrmd_event_poke,
- };
- 
--enum lrmd_exec_rc {
--    PCMK_EXECRA_OK                  = 0,
--    PCMK_EXECRA_UNKNOWN_ERROR       = 1,
--    PCMK_EXECRA_INVALID_PARAM       = 2,
--    PCMK_EXECRA_UNIMPLEMENT_FEATURE = 3,
--    PCMK_EXECRA_INSUFFICIENT_PRIV   = 4,
--    PCMK_EXECRA_NOT_INSTALLED       = 5,
--    PCMK_EXECRA_NOT_CONFIGURED      = 6,
--    PCMK_EXECRA_NOT_RUNNING         = 7,
--    PCMK_EXECRA_RUNNING_MASTER      = 8,
--    PCMK_EXECRA_FAILED_MASTER       = 9,
--
--    /* For status command only */
--    PCMK_EXECRA_STATUS_UNKNOWN      = 14,
--};
- /* *INDENT-ON* */
- 
- typedef struct lrmd_event_data_s {
-@@ -205,8 +191,8 @@ typedef struct lrmd_event_data_s {
-     /*! This operation that just completed is on a deleted rsc. */
-     int rsc_deleted;
- 
--    /*! The executed ra return code */
--    enum lrmd_exec_rc rc;
-+    /*! The executed ra return code mapped to OCF */
-+    enum ocf_exitcode rc;
-     /*! The lrmd status returned for exec_complete events */
-     int op_status;
-     /*! stdout from resource agent operation */
-@@ -448,38 +434,6 @@ struct lrmd_s {
- };
- 
- static inline const char *
--lrmd_event_rc2str(enum lrmd_exec_rc rc)
--{
--    switch (rc) {
--        case PCMK_EXECRA_OK:
--            return "ok";
--        case PCMK_EXECRA_UNKNOWN_ERROR:
--            return "unknown error";
--        case PCMK_EXECRA_INVALID_PARAM:
--            return "invalid parameter";
--        case PCMK_EXECRA_UNIMPLEMENT_FEATURE:
--            return "unimplemented feature";
--        case PCMK_EXECRA_INSUFFICIENT_PRIV:
--            return "insufficient privileges";
--        case PCMK_EXECRA_NOT_INSTALLED:
--            return "not installed";
--        case PCMK_EXECRA_NOT_CONFIGURED:
--            return "not configured";
--        case PCMK_EXECRA_NOT_RUNNING:
--            return "not running";
--        case PCMK_EXECRA_RUNNING_MASTER:
--            return "master";
--        case PCMK_EXECRA_FAILED_MASTER:
--            return "master (failed)";
--        case PCMK_EXECRA_STATUS_UNKNOWN:
--            return "status: unknown";
--        default:
--            break;
--    }
--    return "<unknown>";
--}
--
--static inline const char *
- lrmd_event_type2str(enum lrmd_callback_event type)
- {
-     switch (type) {
-diff --git a/include/crm/services.h b/include/crm/services.h
-index fb5c6b0..0c0cca9 100644
---- a/include/crm/services.h
-+++ b/include/crm/services.h
-@@ -31,6 +31,7 @@ extern "C" {
- 
- #  include <glib.h>
- #  include <stdio.h>
-+#  include <string.h>
- 
- #  ifndef OCF_ROOT_DIR
- #    define OCF_ROOT_DIR "/usr/lib/ocf"
-@@ -59,34 +60,22 @@ enum lsb_exitcode {
-     PCMK_LSB_NOT_INSTALLED       = 5,
-     PCMK_LSB_NOT_CONFIGURED      = 6,
-     PCMK_LSB_NOT_RUNNING         = 7,
--
--    /* 150-199	reserved for application use */
--    PCMK_LSB_SIGNAL        = 194,
--    PCMK_LSB_NOT_SUPPORTED = 195,
--    PCMK_LSB_PENDING       = 196,
--    PCMK_LSB_CANCELLED     = 197,
--    PCMK_LSB_TIMEOUT       = 198,
--    PCMK_LSB_OTHER_ERROR   = 199,
- };
- 
- /* The return codes for the status operation are not the same for other
-- * operatios - go figure */
-+ * operatios - go figure
-+ */
- enum lsb_status_exitcode {
-     PCMK_LSB_STATUS_OK             = 0,
-     PCMK_LSB_STATUS_VAR_PID        = 1,
-     PCMK_LSB_STATUS_VAR_LOCK       = 2,
-     PCMK_LSB_STATUS_NOT_RUNNING    = 3,
-     PCMK_LSB_STATUS_NOT_INSTALLED  = 4,
--
--    /* 150-199 reserved for application use */
--    PCMK_LSB_STATUS_SIGNAL        = 194,
--    PCMK_LSB_STATUS_NOT_SUPPORTED = 195,
--    PCMK_LSB_STATUS_PENDING       = 196,
--    PCMK_LSB_STATUS_CANCELLED     = 197,
--    PCMK_LSB_STATUS_TIMEOUT       = 198,
--    PCMK_LSB_STATUS_OTHER_ERROR   = 199,
- };
- 
-+/* Uniform exit codes
-+ * Everything is mapped to its OCF equivalent so that Pacemaker only deals with one set of codes
-+ */
- enum ocf_exitcode {
-     PCMK_OCF_OK                   = 0,
-     PCMK_OCF_UNKNOWN_ERROR        = 1,
-@@ -95,10 +84,12 @@ enum ocf_exitcode {
-     PCMK_OCF_INSUFFICIENT_PRIV    = 4,
-     PCMK_OCF_NOT_INSTALLED        = 5,
-     PCMK_OCF_NOT_CONFIGURED       = 6,
--    PCMK_OCF_NOT_RUNNING          = 7,
-+    PCMK_OCF_NOT_RUNNING          = 7,  /* End of overlap with LSB */
-     PCMK_OCF_RUNNING_MASTER       = 8,
-     PCMK_OCF_FAILED_MASTER        = 9,
- 
-+    PCMK_OCF_STATUS_UNKNOWN       = 14, /* Already in use */
-+
-     /* 150-199	reserved for application use */
-     PCMK_OCF_SIGNAL        = 194,
-     PCMK_OCF_NOT_SUPPORTED = 195,
-@@ -114,7 +105,7 @@ enum op_status {
-     PCMK_LRM_OP_CANCELLED,
-     PCMK_LRM_OP_TIMEOUT,
-     PCMK_LRM_OP_NOTSUPPORTED,
--    PCMK_LRM_OP_ERROR
-+    PCMK_LRM_OP_ERROR,
- };
- 
- enum nagios_exitcode {
-@@ -276,25 +267,25 @@ enum nagios_exitcode {
-     }} static inline const char *services_ocf_exitcode_str(enum ocf_exitcode code) {
-         switch (code) {
-             case PCMK_OCF_OK:
--                return "OCF_OK";
-+                return "ok";
-             case PCMK_OCF_UNKNOWN_ERROR:
--                return "OCF_UNKNOWN_ERROR";
-+                return "unknown error";
-             case PCMK_OCF_INVALID_PARAM:
--                return "OCF_INVALID_PARAM";
-+                return "invalid parameter";
-             case PCMK_OCF_UNIMPLEMENT_FEATURE:
--                return "OCF_UNIMPLEMENT_FEATURE";
-+                return "unimplemented feature";
-             case PCMK_OCF_INSUFFICIENT_PRIV:
--                return "OCF_INSUFFICIENT_PRIV";
-+                return "insufficient privileges";
-             case PCMK_OCF_NOT_INSTALLED:
--                return "OCF_NOT_INSTALLED";
-+                return "not installed";
-             case PCMK_OCF_NOT_CONFIGURED:
--                return "OCF_NOT_CONFIGURED";
-+                return "not configured";
-             case PCMK_OCF_NOT_RUNNING:
--                return "OCF_NOT_RUNNING";
-+                return "not running";
-             case PCMK_OCF_RUNNING_MASTER:
--                return "OCF_RUNNING_MASTER";
-+                return "master";
-             case PCMK_OCF_FAILED_MASTER:
--                return "OCF_FAILED_MASTER";
-+                return "master (failed)";
-             case PCMK_OCF_SIGNAL:
-                 return "OCF_SIGNAL";
-             case PCMK_OCF_NOT_SUPPORTED:
-diff --git a/lib/pengine/unpack.c b/lib/pengine/unpack.c
-index 26cecb2..78ceb85 100644
---- a/lib/pengine/unpack.c
-+++ b/lib/pengine/unpack.c
-@@ -2205,8 +2205,8 @@ unpack_rsc_op(resource_t * rsc, node_t * node, xmlNode * xml_op,
-             task_status_i = PCMK_LRM_OP_ERROR;
-             pe_rsc_debug(rsc, "%s on %s returned %d (%s) instead of the expected value: %d (%s)",
-                          id, node->details->uname,
--                         actual_rc_i, lrmd_event_rc2str(actual_rc_i),
--                         target_rc, lrmd_event_rc2str(target_rc));
-+                         actual_rc_i, services_ocf_exitcode_str(actual_rc_i),
-+                         target_rc, services_ocf_exitcode_str(target_rc));
-         }
- 
-     } else if (task_status_i == PCMK_LRM_OP_ERROR) {
-@@ -2215,7 +2215,7 @@ unpack_rsc_op(resource_t * rsc, node_t * node, xmlNode * xml_op,
-     }
- 
-     if (task_status_i == PCMK_LRM_OP_NOTSUPPORTED) {
--        actual_rc_i = PCMK_EXECRA_UNIMPLEMENT_FEATURE;
-+        actual_rc_i = PCMK_OCF_UNIMPLEMENT_FEATURE;
-     }
- 
-     if (expired) {
-@@ -2254,8 +2254,8 @@ unpack_rsc_op(resource_t * rsc, node_t * node, xmlNode * xml_op,
-     }
- 
-     if (expired
--        && actual_rc_i != PCMK_EXECRA_NOT_RUNNING
--        && actual_rc_i != PCMK_EXECRA_RUNNING_MASTER && actual_rc_i != PCMK_EXECRA_OK) {
-+        && actual_rc_i != PCMK_OCF_NOT_RUNNING
-+        && actual_rc_i != PCMK_OCF_RUNNING_MASTER && actual_rc_i != PCMK_OCF_OK) {
-         if(interval == 0) {
-             crm_notice("Ignoring expired failure %s (rc=%d, magic=%s) on %s",
-                        id, actual_rc_i, magic, node->details->uname);
-@@ -2273,7 +2273,7 @@ unpack_rsc_op(resource_t * rsc, node_t * node, xmlNode * xml_op,
-      * didnt include target_rc and liked to remap status
-      */
-     switch (actual_rc_i) {
--        case PCMK_EXECRA_NOT_RUNNING:
-+        case PCMK_OCF_NOT_RUNNING:
-             if (is_probe || target_rc == actual_rc_i) {
-                 task_status_i = PCMK_LRM_OP_DONE;
-                 rsc->role = RSC_ROLE_STOPPED;
-@@ -2287,7 +2287,7 @@ unpack_rsc_op(resource_t * rsc, node_t * node, xmlNode * xml_op,
-             }
-             break;
- 
--        case PCMK_EXECRA_RUNNING_MASTER:
-+        case PCMK_OCF_RUNNING_MASTER:
-             if (is_probe) {
-                 task_status_i = PCMK_LRM_OP_DONE;
-                 crm_notice("Operation %s found resource %s active in master mode on %s",
-@@ -2311,42 +2311,42 @@ unpack_rsc_op(resource_t * rsc, node_t * node, xmlNode * xml_op,
-             rsc->role = RSC_ROLE_MASTER;
-             break;
- 
--        case PCMK_EXECRA_FAILED_MASTER:
-+        case PCMK_OCF_FAILED_MASTER:
-             rsc->role = RSC_ROLE_MASTER;
-             task_status_i = PCMK_LRM_OP_ERROR;
-             break;
- 
--        case PCMK_EXECRA_UNIMPLEMENT_FEATURE:
-+        case PCMK_OCF_UNIMPLEMENT_FEATURE:
-             if (interval > 0) {
-                 task_status_i = PCMK_LRM_OP_NOTSUPPORTED;
-                 break;
-             }
-             /* else: fall through */
--        case PCMK_EXECRA_INSUFFICIENT_PRIV:
--        case PCMK_EXECRA_NOT_INSTALLED:
--        case PCMK_EXECRA_INVALID_PARAM:
-+        case PCMK_OCF_INSUFFICIENT_PRIV:
-+        case PCMK_OCF_NOT_INSTALLED:
-+        case PCMK_OCF_INVALID_PARAM:
-             effective_node = node;
-             if(pe_can_fence(data_set, node) == FALSE
-                && safe_str_eq(task, CRMD_ACTION_STOP)) {
-                 /* If a stop fails and we can't fence, there's nothing else we can do */
-                 pe_proc_err("No further recovery can be attempted for %s: %s action failed with '%s' (%d)",
--                            rsc->id, task, lrmd_event_rc2str(actual_rc_i), actual_rc_i);
-+                            rsc->id, task, services_ocf_exitcode_str(actual_rc_i), actual_rc_i);
-                 clear_bit(rsc->flags, pe_rsc_managed);
-                 set_bit(rsc->flags, pe_rsc_block);
-             }
-             /* fall through */
--        case PCMK_EXECRA_NOT_CONFIGURED:
-+        case PCMK_OCF_NOT_CONFIGURED:
-             failed = rsc;
-             if (is_not_set(rsc->flags, pe_rsc_unique)) {
-                 failed = uber_parent(failed);
-             }
- 
--            do_crm_log(actual_rc_i == PCMK_EXECRA_NOT_INSTALLED ? LOG_NOTICE : LOG_ERR,
-+            do_crm_log(actual_rc_i == PCMK_OCF_NOT_INSTALLED ? LOG_NOTICE : LOG_ERR,
-                        "Preventing %s from re-starting %s %s: operation %s failed '%s' (rc=%d)",
-                        failed->id,
-                        effective_node ? "on" : "anywhere in the cluster",
-                        effective_node ? effective_node->details->uname : "",
--                       task, lrmd_event_rc2str(actual_rc_i), actual_rc_i);
-+                       task, services_ocf_exitcode_str(actual_rc_i), actual_rc_i);
- 
-             resource_location(failed, effective_node, -INFINITY, "hard-error", data_set);
-             if (is_probe) {
-@@ -2354,7 +2354,7 @@ unpack_rsc_op(resource_t * rsc, node_t * node, xmlNode * xml_op,
-                 task = CRMD_ACTION_STOP;
-                 task_status_i = PCMK_LRM_OP_DONE;
-                 crm_xml_add(xml_op, XML_ATTR_UNAME, node->details->uname);
--                if (actual_rc_i != PCMK_EXECRA_NOT_INSTALLED
-+                if (actual_rc_i != PCMK_OCF_NOT_INSTALLED
-                     || is_set(data_set->flags, pe_flag_symmetric_cluster)) {
-                     if ((node->details->shutdown == FALSE) || (node->details->online == TRUE)) {
-                         add_node_copy(data_set->failed, xml_op);
-@@ -2363,7 +2363,7 @@ unpack_rsc_op(resource_t * rsc, node_t * node, xmlNode * xml_op,
-             }
-             break;
- 
--        case PCMK_EXECRA_OK:
-+        case PCMK_OCF_OK:
-             if (is_probe && target_rc == 7) {
-                 task_status_i = PCMK_LRM_OP_DONE;
-                 pe_rsc_info(rsc, "Operation %s found resource %s active on %s",
-@@ -2447,7 +2447,7 @@ unpack_rsc_op(resource_t * rsc, node_t * node, xmlNode * xml_op,
-         case PCMK_LRM_OP_DONE:
-             pe_rsc_trace(rsc, "%s/%s completed on %s", rsc->id, task, node->details->uname);
- 
--            if (actual_rc_i == PCMK_EXECRA_NOT_RUNNING) {
-+            if (actual_rc_i == PCMK_OCF_NOT_RUNNING) {
-                 clear_past_failure = TRUE;
- 
-             } else if (safe_str_eq(task, CRMD_ACTION_STATUS)) {
-@@ -2519,7 +2519,7 @@ unpack_rsc_op(resource_t * rsc, node_t * node, xmlNode * xml_op,
-                                      ID(migrate_from), migrate_target, from_status, from_rc);
-                     }
- 
--                    if (migrate_from && from_rc == PCMK_EXECRA_OK
-+                    if (migrate_from && from_rc == PCMK_OCF_OK
-                         && from_status == PCMK_LRM_OP_DONE) {
-                         pe_rsc_trace(rsc, "Detected dangling migration op: %s on %s", ID(xml_op),
-                                      migrate_source);
-@@ -2603,7 +2603,7 @@ unpack_rsc_op(resource_t * rsc, node_t * node, xmlNode * xml_op,
-         case PCMK_LRM_OP_TIMEOUT:
-         case PCMK_LRM_OP_NOTSUPPORTED:
-             crm_warn("Processing failed op %s for %s on %s: %s (%d)",
--                     task, rsc->id, node->details->uname, lrmd_event_rc2str(actual_rc_i),
-+                     task, rsc->id, node->details->uname, services_ocf_exitcode_str(actual_rc_i),
-                      actual_rc_i);
-             crm_xml_add(xml_op, XML_ATTR_UNAME, node->details->uname);
-             if ((node->details->shutdown == FALSE) || (node->details->online == TRUE)) {
-diff --git a/lib/services/systemd.c b/lib/services/systemd.c
-index 74cf53e..783caca 100644
---- a/lib/services/systemd.c
-+++ b/lib/services/systemd.c
-@@ -381,10 +381,10 @@ systemd_unit_exec_done(GObject * source_object, GAsyncResult * res, gpointer use
- 
-             if (safe_str_eq(op->action, "stop")) {
-                 crm_trace("Masking Stop failure for %s: unknown services are stopped", op->rsc);
--                op->rc = PCMK_EXECRA_OK;
-+                op->rc = PCMK_OCF_OK;
- 
-             } else {
--                op->rc = PCMK_EXECRA_NOT_INSTALLED;
-+                op->rc = PCMK_OCF_NOT_INSTALLED;
-             }
- 
-         } else {
-@@ -398,11 +398,11 @@ systemd_unit_exec_done(GObject * source_object, GAsyncResult * res, gpointer use
-         g_variant_get(_ret, "(o)", &path);
-         crm_info("Call to %s passed: type '%s' %s", op->action, g_variant_get_type_string(_ret),
-                  path);
--        op->rc = PCMK_EXECRA_OK;
-+        op->rc = PCMK_OCF_OK;
- 
-     } else {
-         crm_err("Call to %s passed but return type was '%s' not '(o)'", op->action, g_variant_get_type_string(_ret));
--        op->rc = PCMK_EXECRA_OK;
-+        op->rc = PCMK_OCF_OK;
-     }
- 
-     operation_finalize(op);
-@@ -423,7 +423,7 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
-     const char *action = op->action;
-     char *name = systemd_service_name(op->agent);
- 
--    op->rc = PCMK_EXECRA_UNKNOWN_ERROR;
-+    op->rc = PCMK_OCF_UNKNOWN_ERROR;
-     CRM_ASSERT(systemd_init());
- 
-     crm_debug("Performing %ssynchronous %s op on systemd unit %s named '%s'",
-@@ -431,7 +431,7 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
- 
-     if (safe_str_eq(op->action, "meta-data")) {
-         op->stdout_data = systemd_unit_metadata(op->agent);
--        op->rc = PCMK_EXECRA_OK;
-+        op->rc = PCMK_OCF_OK;
-         goto cleanup;
-     }
- 
-@@ -440,7 +440,7 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
-         crm_debug("Could not obtain unit named '%s': %s", op->agent,
-                   error ? error->message : "unknown");
-         if (error && strstr(error->message, "systemd1.NoSuchUnit")) {
--            op->rc = PCMK_EXECRA_NOT_INSTALLED;
-+            op->rc = PCMK_OCF_NOT_INSTALLED;
-         }
-         if(error) {
-             g_error_free(error);
-@@ -452,9 +452,9 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
-         char *state = systemd_unit_property(unit, BUS_NAME ".Unit", "ActiveState");
- 
-         if (g_strcmp0(state, "active") == 0) {
--            op->rc = PCMK_EXECRA_OK;
-+            op->rc = PCMK_OCF_OK;
-         } else {
--            op->rc = PCMK_EXECRA_NOT_RUNNING;
-+            op->rc = PCMK_OCF_NOT_RUNNING;
-         }
- 
-         free(state);
-@@ -504,7 +504,7 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
-     } else if (g_strcmp0(action, "restart") == 0) {
-         action = "RestartUnit";
-     } else {
--        op->rc = PCMK_EXECRA_UNIMPLEMENT_FEATURE;
-+        op->rc = PCMK_OCF_UNIMPLEMENT_FEATURE;
-         goto cleanup;
-     }
- 
-@@ -525,7 +525,7 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
-         if (safe_str_eq(op->action, "stop")
-             && strstr(error->message, "systemd1.InvalidName")) {
-             crm_trace("Masking Stop failure for %s: unknown services are stopped", op->rsc);
--            op->rc = PCMK_EXECRA_OK;
-+            op->rc = PCMK_OCF_OK;
-         } else {
-             crm_err("Could not issue %s for %s: %s (%s)", action, op->rsc, error->message, unit);
-         }
-@@ -537,11 +537,11 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
-         g_variant_get(_ret, "(o)", &path);
-         crm_info("Call to %s passed: type '%s' %s", op->action, g_variant_get_type_string(_ret),
-                  path);
--        op->rc = PCMK_EXECRA_OK;
-+        op->rc = PCMK_OCF_OK;
- 
-     } else {
-         crm_err("Call to %s passed but return type was '%s' not '(o)'", op->action, g_variant_get_type_string(_ret));
--        op->rc = PCMK_EXECRA_OK;
-+        op->rc = PCMK_OCF_OK;
-     }
- 
-   cleanup:
-@@ -555,5 +555,5 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
-         operation_finalize(op);
-         return TRUE;
-     }
--    return op->rc == PCMK_EXECRA_OK;
-+    return op->rc == PCMK_OCF_OK;
- }
-diff --git a/lib/services/upstart.c b/lib/services/upstart.c
-index f5fa189..daeb398 100644
---- a/lib/services/upstart.c
-+++ b/lib/services/upstart.c
-@@ -384,12 +384,12 @@ upstart_job_exec_done(GObject * source_object, GAsyncResult * res, gpointer user
-         if (safe_str_eq(op->action, "start")
-             && strstr(error->message, BUS_MANAGER_IFACE ".Error.AlreadyStarted")) {
-             crm_trace("Masking Start failure for %s: already started", op->rsc);
--            op->rc = PCMK_EXECRA_OK;
-+            op->rc = PCMK_OCF_OK;
- 
-         } else if (safe_str_eq(op->action, "stop")
-                    && strstr(error->message, BUS_MANAGER_IFACE ".Error.UnknownInstance")) {
-             crm_trace("Masking Stop failure for %s: unknown services are stopped", op->rsc);
--            op->rc = PCMK_EXECRA_OK;
-+            op->rc = PCMK_OCF_OK;
-         } else {
-             crm_err("Could not issue %s for %s: %s", op->action, op->rsc, error->message);
-         }
-@@ -401,11 +401,11 @@ upstart_job_exec_done(GObject * source_object, GAsyncResult * res, gpointer user
-         g_variant_get(_ret, "(o)", &path);
-         crm_info("Call to %s passed: type '%s' %s", op->action, g_variant_get_type_string(_ret),
-                  path);
--        op->rc = PCMK_EXECRA_OK;
-+        op->rc = PCMK_OCF_OK;
- 
-     } else {
-         crm_err("Call to %s passed but return type was '%s' not '(o)'", op->action, g_variant_get_type_string(_ret));
--        op->rc = PCMK_EXECRA_OK;
-+        op->rc = PCMK_OCF_OK;
-     }
- 
-     operation_finalize(op);
-@@ -427,12 +427,12 @@ upstart_job_exec(svc_action_t * op, gboolean synchronous)
-     GVariant *_ret = NULL;
-     GDBusProxy *job_proxy = NULL;
- 
--    op->rc = PCMK_EXECRA_UNKNOWN_ERROR;
-+    op->rc = PCMK_OCF_UNKNOWN_ERROR;
-     CRM_ASSERT(upstart_init());
- 
-     if (safe_str_eq(op->action, "meta-data")) {
-         op->stdout_data = upstart_job_metadata(op->agent);
--        op->rc = PCMK_EXECRA_OK;
-+        op->rc = PCMK_OCF_OK;
-         goto cleanup;
-     }
- 
-@@ -443,18 +443,18 @@ upstart_job_exec(svc_action_t * op, gboolean synchronous)
-     }
-     if (pass == FALSE) {
-         if (!g_strcmp0(action, "stop")) {
--            op->rc = PCMK_EXECRA_OK;
-+            op->rc = PCMK_OCF_OK;
-         } else {
--            op->rc = PCMK_EXECRA_NOT_INSTALLED;
-+            op->rc = PCMK_OCF_NOT_INSTALLED;
-         }
-         goto cleanup;
-     }
- 
-     if (safe_str_eq(op->action, "monitor") || safe_str_eq(action, "status")) {
-         if (upstart_job_running(op->agent)) {
--            op->rc = PCMK_EXECRA_OK;
-+            op->rc = PCMK_OCF_OK;
-         } else {
--            op->rc = PCMK_EXECRA_NOT_RUNNING;
-+            op->rc = PCMK_OCF_NOT_RUNNING;
-         }
-         goto cleanup;
- 
-@@ -465,7 +465,7 @@ upstart_job_exec(svc_action_t * op, gboolean synchronous)
-     } else if (!g_strcmp0(action, "restart")) {
-         action = "Restart";
-     } else {
--        op->rc = PCMK_EXECRA_UNIMPLEMENT_FEATURE;
-+        op->rc = PCMK_OCF_UNIMPLEMENT_FEATURE;
-         goto cleanup;
-     }
- 
-@@ -487,11 +487,11 @@ upstart_job_exec(svc_action_t * op, gboolean synchronous)
-         if (safe_str_eq(action, "Start")
-             && strstr(error->message, BUS_MANAGER_IFACE ".Error.AlreadyStarted")) {
-             crm_trace("Masking Start failure for %s: already started", op->rsc);
--            op->rc = PCMK_EXECRA_OK;
-+            op->rc = PCMK_OCF_OK;
-         } else if (safe_str_eq(action, "Stop")
-                    && strstr(error->message, BUS_MANAGER_IFACE ".Error.UnknownInstance")) {
-             crm_trace("Masking Stop failure for %s: unknown services are stopped", op->rsc);
--            op->rc = PCMK_EXECRA_OK;
-+            op->rc = PCMK_OCF_OK;
-         } else {
-             crm_err("Could not issue %s for %s: %s (%s)", action, op->rsc, error->message, job);
-         }
-@@ -502,11 +502,11 @@ upstart_job_exec(svc_action_t * op, gboolean synchronous)
-         g_variant_get(_ret, "(o)", &path);
-         crm_info("Call to %s passed: type '%s' %s", op->action, g_variant_get_type_string(_ret),
-                  path);
--        op->rc = PCMK_EXECRA_OK;
-+        op->rc = PCMK_OCF_OK;
- 
-     } else {
-         crm_err("Call to %s passed but return type was '%s' not '(o)'", op->action, g_variant_get_type_string(_ret));
--        op->rc = PCMK_EXECRA_OK;
-+        op->rc = PCMK_OCF_OK;
-     }
- 
-   cleanup:
-@@ -524,5 +524,5 @@ upstart_job_exec(svc_action_t * op, gboolean synchronous)
-         operation_finalize(op);
-         return TRUE;
-     }
--    return op->rc == PCMK_EXECRA_OK;
-+    return op->rc == PCMK_OCF_OK;
- }
-diff --git a/lrmd/lrmd.c b/lrmd/lrmd.c
-index b5bbea0..8592b6c 100644
---- a/lrmd/lrmd.c
-+++ b/lrmd/lrmd.c
-@@ -460,38 +460,38 @@ static int
- lsb2uniform_rc(const char *action, int rc)
- {
-     if (rc < 0) {
--        return PCMK_EXECRA_UNKNOWN_ERROR;
-+        return PCMK_OCF_UNKNOWN_ERROR;
-     }
- 
-     /* status has different return codes that everything else. */
-     if (!safe_str_eq(action, "status") && !safe_str_eq(action, "monitor")) {
-         if (rc > PCMK_LSB_NOT_RUNNING) {
--            return PCMK_EXECRA_UNKNOWN_ERROR;
-+            return PCMK_OCF_UNKNOWN_ERROR;
-         }
-         return rc;
-     }
- 
-     switch (rc) {
-         case PCMK_LSB_STATUS_OK:
--            return PCMK_EXECRA_OK;
-+            return PCMK_OCF_OK;
-         case PCMK_LSB_STATUS_NOT_INSTALLED:
--            return PCMK_EXECRA_NOT_INSTALLED;
-+            return PCMK_OCF_NOT_INSTALLED;
-         case PCMK_LSB_STATUS_VAR_PID:
-         case PCMK_LSB_STATUS_VAR_LOCK:
-         case PCMK_LSB_STATUS_NOT_RUNNING:
--            return PCMK_EXECRA_NOT_RUNNING;
-+            return PCMK_OCF_NOT_RUNNING;
-         default:
--            return PCMK_EXECRA_UNKNOWN_ERROR;
-+            return PCMK_OCF_UNKNOWN_ERROR;
-     }
- 
--    return PCMK_EXECRA_UNKNOWN_ERROR;
-+    return PCMK_OCF_UNKNOWN_ERROR;
- }
- 
- static int
- ocf2uniform_rc(int rc)
- {
-     if (rc < 0 || rc > PCMK_OCF_FAILED_MASTER) {
--        return PCMK_EXECRA_UNKNOWN_ERROR;
-+        return PCMK_OCF_UNKNOWN_ERROR;
-     }
- 
-     return rc;
-@@ -502,14 +502,14 @@ stonith2uniform_rc(const char *action, int rc)
- {
-     if (rc == -ENODEV) {
-         if (safe_str_eq(action, "stop")) {
--            rc = PCMK_EXECRA_OK;
-+            rc = PCMK_OCF_OK;
-         } else if (safe_str_eq(action, "start")) {
--            rc = PCMK_EXECRA_NOT_INSTALLED;
-+            rc = PCMK_OCF_NOT_INSTALLED;
-         } else {
--            rc = PCMK_EXECRA_NOT_RUNNING;
-+            rc = PCMK_OCF_NOT_RUNNING;
-         }
-     } else if (rc != 0) {
--        rc = PCMK_EXECRA_UNKNOWN_ERROR;
-+        rc = PCMK_OCF_UNKNOWN_ERROR;
-     }
-     return rc;
- }
-@@ -519,25 +519,25 @@ static int
- nagios2uniform_rc(const char *action, int rc)
- {
-     if (rc < 0) {
--        return PCMK_EXECRA_UNKNOWN_ERROR;
-+        return PCMK_OCF_UNKNOWN_ERROR;
-     }
- 
-     switch (rc) {
-         case NAGIOS_STATE_OK:
--            return PCMK_EXECRA_OK;
-+            return PCMK_OCF_OK;
-         case NAGIOS_INSUFFICIENT_PRIV:
--            return PCMK_EXECRA_INSUFFICIENT_PRIV;
-+            return PCMK_OCF_INSUFFICIENT_PRIV;
-         case NAGIOS_NOT_INSTALLED:
--            return PCMK_EXECRA_NOT_INSTALLED;
-+            return PCMK_OCF_NOT_INSTALLED;
-         case NAGIOS_STATE_WARNING:
-         case NAGIOS_STATE_CRITICAL:
-         case NAGIOS_STATE_UNKNOWN:
-         case NAGIOS_STATE_DEPENDENT:
-         default:
--            return PCMK_EXECRA_UNKNOWN_ERROR;
-+            return PCMK_OCF_UNKNOWN_ERROR;
-     }
- 
--    return PCMK_EXECRA_UNKNOWN_ERROR;
-+    return PCMK_OCF_UNKNOWN_ERROR;
- }
- #endif
- 
-@@ -605,11 +605,11 @@ action_complete(svc_action_t * action)
- #if SUPPORT_NAGIOS
-     if (rsc && safe_str_eq(rsc->class, "nagios")) {
-         if (safe_str_eq(cmd->action, "monitor") &&
--            cmd->interval == 0 && cmd->exec_rc == PCMK_EXECRA_OK) {
-+            cmd->interval == 0 && cmd->exec_rc == PCMK_OCF_OK) {
-             /* Successfully executed --version for the nagios plugin */
--            cmd->exec_rc = PCMK_EXECRA_NOT_RUNNING;
-+            cmd->exec_rc = PCMK_OCF_NOT_RUNNING;
- 
--        } else if (safe_str_eq(cmd->action, "start") && cmd->exec_rc != PCMK_EXECRA_OK) {
-+        } else if (safe_str_eq(cmd->action, "start") && cmd->exec_rc != PCMK_OCF_OK) {
-             int time_sum = 0;
-             int timeout_left = 0;
-             int delay = cmd->timeout_orig / 10;
-@@ -841,7 +841,7 @@ lrmd_rsc_execute_service_lib(lrmd_rsc_t * rsc, lrmd_cmd_t * cmd)
- #if SUPPORT_NAGIOS
-     /* Recurring operations are cancelled anyway for a stop operation */
-     if (safe_str_eq(rsc->class, "nagios") && safe_str_eq(cmd->action, "stop")) {
--        cmd->exec_rc = PCMK_EXECRA_OK;
-+        cmd->exec_rc = PCMK_OCF_OK;
-         goto exec_done;
-     }
- #endif
-diff --git a/lrmd/test.c b/lrmd/test.c
-index 15ffd88..2d8571e 100644
---- a/lrmd/test.c
-+++ b/lrmd/test.c
-@@ -110,7 +110,7 @@ test_exit(int rc)
-              lrmd_event_type2str(event->type),                          \
-              event->rsc_id,                                             \
-              event->op_type ? event->op_type : "none",                  \
--             lrmd_event_rc2str(event->rc),                              \
-+             services_ocf_exitcode_str(event->rc),                              \
-              services_lrm_status_str(event->op_status));                \
-     crm_info("%s", event_buf_v0);;
- 
-diff --git a/pengine/native.c b/pengine/native.c
-index 37f5211..21ad629 100644
---- a/pengine/native.c
-+++ b/pengine/native.c
-@@ -23,6 +23,7 @@
- #include <crm/msg_xml.h>
- #include <allocate.h>
- #include <utils.h>
-+#include <crm/services.h>
- 
- /* #define DELETE_THEN_REFRESH 1  // The crmd will remove the resource from the CIB itself, making this redundant */
- #define INFINITY_HACK   (INFINITY * -100)
-@@ -783,7 +784,7 @@ RecurringOp(resource_t * rsc, action_t * start, node_t * node,
-     }
- 
-     if (rsc->next_role == RSC_ROLE_MASTER) {
--        char *running_master = crm_itoa(PCMK_EXECRA_RUNNING_MASTER);
-+        char *running_master = crm_itoa(PCMK_OCF_RUNNING_MASTER);
- 
-         add_hash_param(mon->meta, XML_ATTR_TE_TARGET_RC, running_master);
-         free(running_master);
-@@ -949,7 +950,7 @@ RecurringOp_Stopped(resource_t * rsc, action_t * start, node_t * node,
- 
-         stopped_mon = custom_action(rsc, strdup(key), name, stop_node, is_optional, TRUE, data_set);
- 
--        rc_inactive = crm_itoa(PCMK_EXECRA_NOT_RUNNING);
-+        rc_inactive = crm_itoa(PCMK_OCF_NOT_RUNNING);
-         add_hash_param(stopped_mon->meta, XML_ATTR_TE_TARGET_RC, rc_inactive);
-         free(rc_inactive);
- 
-@@ -2400,8 +2401,8 @@ native_create_probe(resource_t * rsc, node_t * node, action_t * complete,
-     static const char *rc_inactive = NULL;
- 
-     if (rc_inactive == NULL) {
--        rc_inactive = crm_itoa(PCMK_EXECRA_NOT_RUNNING);
--        rc_master = crm_itoa(PCMK_EXECRA_RUNNING_MASTER);
-+        rc_inactive = crm_itoa(PCMK_OCF_NOT_RUNNING);
-+        rc_master = crm_itoa(PCMK_OCF_RUNNING_MASTER);
-     }
- 
-     CRM_CHECK(node != NULL, return FALSE);
-diff --git a/tools/crm_mon.c b/tools/crm_mon.c
-index 9d68237..7c6e495 100644
---- a/tools/crm_mon.c
-+++ b/tools/crm_mon.c
-@@ -950,7 +950,7 @@ print_rsc_history(pe_working_set_t * data_set, node_t * node, xmlNode * rsc_entr
-             }
-         }
- 
--        print_as(" rc=%s (%s)\n", op_rc, lrmd_event_rc2str(rc));
-+        print_as(" rc=%s (%s)\n", op_rc, services_ocf_exitcode_str(rc));
-     }
- 
-     /* no need to free the contents */
-@@ -1405,11 +1405,11 @@ print_status(pe_working_set_t * data_set)
-                 }
- 
-                 print_as("    %s on %s '%s' (%d): call=%s, status=%s, last-rc-change='%s', queued=%sms, exec=%sms\n",
--                         op_key ? op_key : id, node, lrmd_event_rc2str(rc), rc, call, services_lrm_status_str(status),
-+                         op_key ? op_key : id, node, services_ocf_exitcode_str(rc), rc, call, services_lrm_status_str(status),
-                          run_at_s, crm_element_value(xml_op, XML_RSC_OP_T_EXEC), crm_element_value(xml_op, XML_RSC_OP_T_QUEUE));
-             } else {
-                 print_as("    %s on %s '%s' (%d): call=%s, status=%s\n",
--                         op_key ? op_key : id, node, lrmd_event_rc2str(rc), rc, call, services_lrm_status_str(status));
-+                         op_key ? op_key : id, node, services_ocf_exitcode_str(rc), rc, call, services_lrm_status_str(status));
-             }
-         }
-         print_as("\n");
-@@ -2135,10 +2135,10 @@ send_smtp_trap(const char *node, const char *rsc, const char *task, int target_r
-                     "\toperation status: (%d) %s\r\n", status, services_lrm_status_str(status));
-     if (status == PCMK_LRM_OP_DONE) {
-         len += snprintf(crm_mail_body + len, BODY_MAX - len,
--                        "\tscript returned: (%d) %s\r\n", rc, lrmd_event_rc2str(rc));
-+                        "\tscript returned: (%d) %s\r\n", rc, services_ocf_exitcode_str(rc));
-         len += snprintf(crm_mail_body + len, BODY_MAX - len,
-                         "\texpected return value: (%d) %s\r\n", target_rc,
--                        lrmd_event_rc2str(target_rc));
-+                        services_ocf_exitcode_str(target_rc));
-     }
- 
-     auth_client_init();
-@@ -2274,12 +2274,12 @@ handle_rsc_op(xmlNode * rsc_op)
-     desc = pcmk_strerror(pcmk_ok);
-     if (status == PCMK_LRM_OP_DONE && target_rc == rc) {
-         crm_notice("%s of %s on %s completed: %s", task, rsc, node, desc);
--        if (rc == PCMK_EXECRA_NOT_RUNNING) {
-+        if (rc == PCMK_OCF_NOT_RUNNING) {
-             notify = FALSE;
-         }
- 
-     } else if (status == PCMK_LRM_OP_DONE) {
--        desc = lrmd_event_rc2str(rc);
-+        desc = services_ocf_exitcode_str(rc);
-         crm_warn("%s of %s on %s failed: %s", task, rsc, node, desc);
- 
-     } else {
diff --git a/SOURCES/bz720543-pcmk-remote_handle_endian_changes_between_client_and_server_and_improve_forward_compatibility.patch b/SOURCES/bz720543-pcmk-remote_handle_endian_changes_between_client_and_server_and_improve_forward_compatibility.patch
deleted file mode 100644
index acf5502..0000000
--- a/SOURCES/bz720543-pcmk-remote_handle_endian_changes_between_client_and_server_and_improve_forward_compatibility.patch
+++ /dev/null
@@ -1,316 +0,0 @@
-commit d0cd173e2b9d26a3af6e28746003453500f8f655
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Thu Oct 31 08:18:11 2013 +1100
-
-    Fix: remote: Handle endian changes between client and server and improve forward compatibility
-    
-    (cherry picked from commit 0c8cb451bb31335e242da328c8a537ab60095a0f)
-
-diff --git a/configure.ac b/configure.ac
-index cfc1b1f..b94c26e 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -727,6 +727,7 @@ AC_CHECK_HEADERS(glib.h)
- AC_CHECK_HEADERS(grp.h)
- AC_CHECK_HEADERS(limits.h)
- AC_CHECK_HEADERS(linux/errqueue.h)
-+AC_CHECK_HEADERS(linux/swab.h)
- AC_CHECK_HEADERS(malloc.h)
- AC_CHECK_HEADERS(netdb.h)
- AC_CHECK_HEADERS(netinet/in.h)
-diff --git a/lib/common/remote.c b/lib/common/remote.c
-index c991761..47f0205 100644
---- a/lib/common/remote.c
-+++ b/lib/common/remote.c
-@@ -43,9 +43,7 @@
- #ifdef HAVE_GNUTLS_GNUTLS_H
- #  undef KEYFILE
- #  include <gnutls/gnutls.h>
--#endif
- 
--#ifdef HAVE_GNUTLS_GNUTLS_H
- const int psk_tls_kx_order[] = {
-     GNUTLS_KX_DHE_PSK,
-     GNUTLS_KX_PSK,
-@@ -58,17 +56,87 @@ const int anon_tls_kx_order[] = {
-     GNUTLS_KX_RSA,
-     0
- };
-+#endif
-+
-+/* Swab macros from linux/swab.h */
-+#ifdef HAVE_LINUX_SWAB_H
-+#  include <linux/swab.h>
-+#else
-+/*
-+ * casts are necessary for constants, because we never know how for sure
-+ * how U/UL/ULL map to __u16, __u32, __u64. At least not in a portable way.
-+ */
-+#define ___swab16(x) ((__u16)(                                  \
-+        (((__u16)(x) & (__u16)0x00ffU) << 8) |                  \
-+        (((__u16)(x) & (__u16)0xff00U) >> 8)))
-+
-+#define ___swab32(x) ((__u32)(                                  \
-+        (((__u32)(x) & (__u32)0x000000ffUL) << 24) |            \
-+        (((__u32)(x) & (__u32)0x0000ff00UL) <<  8) |            \
-+        (((__u32)(x) & (__u32)0x00ff0000UL) >>  8) |            \
-+        (((__u32)(x) & (__u32)0xff000000UL) >> 24)))
-+
-+#define ___swab64(x) ((__u64)(                                  \
-+        (((__u64)(x) & (__u64)0x00000000000000ffULL) << 56) |   \
-+        (((__u64)(x) & (__u64)0x000000000000ff00ULL) << 40) |   \
-+        (((__u64)(x) & (__u64)0x0000000000ff0000ULL) << 24) |   \
-+        (((__u64)(x) & (__u64)0x00000000ff000000ULL) <<  8) |   \
-+        (((__u64)(x) & (__u64)0x000000ff00000000ULL) >>  8) |   \
-+        (((__u64)(x) & (__u64)0x0000ff0000000000ULL) >> 24) |   \
-+        (((__u64)(x) & (__u64)0x00ff000000000000ULL) >> 40) |   \
-+        (((__u64)(x) & (__u64)0xff00000000000000ULL) >> 56)))
-+#endif
-+
-+#define REMOTE_MSG_VERSION 1
-+#define ENDIAN_LOCAL 0xBADADBBD
- 
- struct crm_remote_header_v0 
- {
-+    uint32_t endian;    /* Detect messages from hosts with different endian-ness */
-+    uint32_t version;
-     uint64_t id;
-     uint64_t flags;
--    uint32_t error;
--    uint32_t version;
-     uint32_t size_total;
--    uint32_t payload_uncompressed;
-+    uint32_t payload_offset;
-     uint32_t payload_compressed;
--};
-+    uint32_t payload_uncompressed;
-+
-+        /* New fields get added here */
-+
-+} __attribute__ ((packed));
-+
-+static struct crm_remote_header_v0 *
-+crm_remote_header(crm_remote_t * remote)
-+{
-+    struct crm_remote_header_v0 *header = (struct crm_remote_header_v0 *)remote->buffer;
-+    if(remote->buffer_offset < sizeof(struct crm_remote_header_v0)) {
-+        return NULL;
-+
-+    } else if(header->endian != ENDIAN_LOCAL) {
-+        uint32_t endian = __swab32(header->endian);
-+
-+        CRM_LOG_ASSERT(endian == ENDIAN_LOCAL);
-+        if(endian != ENDIAN_LOCAL) {
-+            crm_err("Invalid message detected, endian mismatch: %lx is neither %lx nor the swab'd %lx",
-+                    ENDIAN_LOCAL, header->endian, endian);
-+            return NULL;
-+        }
-+
-+        header->id = __swab64(header->id);
-+        header->flags = __swab64(header->flags);
-+        header->endian = __swab32(header->endian);
-+
-+        header->version = __swab32(header->version);
-+        header->size_total = __swab32(header->size_total);
-+        header->payload_offset = __swab32(header->payload_offset);
-+        header->payload_compressed = __swab32(header->payload_compressed);
-+        header->payload_uncompressed = __swab32(header->payload_uncompressed);
-+    }
-+
-+    return header;
-+}
-+
-+#ifdef HAVE_GNUTLS_GNUTLS_H
- 
- int
- crm_initiate_client_tls_handshake(crm_remote_t * remote, int timeout_ms)
-@@ -253,13 +321,11 @@ crm_remote_sendv(crm_remote_t * remote, struct iovec * iov, int iovs)
-     return rc;
- }
- 
--#define PCMK_TLS_VERSION 1
--
- int
- crm_remote_send(crm_remote_t * remote, xmlNode * msg)
- {
--    static uint64_t id = 0;
-     int rc = -1;
-+    static uint64_t id = 0;
-     char *xml_text = dump_xml_unformatted(msg);
- 
-     struct iovec iov[2];
-@@ -278,19 +344,25 @@ crm_remote_send(crm_remote_t * remote, xmlNode * msg)
- 
-     id++;
-     header->id = id;
--    header->version = PCMK_TLS_VERSION;
--    header->size_total = iov[0].iov_len + iov[1].iov_len;
-+    header->endian = ENDIAN_LOCAL;
-+    header->version = REMOTE_MSG_VERSION;
-+    header->payload_offset = iov[0].iov_len;
-     header->payload_uncompressed = iov[1].iov_len;
-+    header->size_total = iov[0].iov_len + iov[1].iov_len;
- 
-+    crm_trace("Sending len[0]=%d, start=%x\n",
-+              (int)iov[0].iov_len, *(int*)xml_text);
-     rc = crm_remote_sendv(remote, iov, 2);
-     if (rc < 0) {
-         crm_err("Failed to send remote msg, rc = %d", rc);
-     }
- 
--    free(xml_text);
-+    free(iov[0].iov_base);
-+    free(iov[1].iov_base);
-     return rc;
- }
- 
-+
- /*!
-  * \internal
-  * \brief handles the recv buffer and parsing out msgs.
-@@ -300,34 +372,35 @@ xmlNode *
- crm_remote_parse_buffer(crm_remote_t * remote)
- {
-     xmlNode *xml = NULL;
--    size_t offset = sizeof(struct crm_remote_header_v0);
--    struct crm_remote_header_v0 *header = NULL;
-+    struct crm_remote_header_v0 *header = crm_remote_header(remote);
- 
--    if (remote->buffer == NULL) {
--        return NULL;
--
--    } else if(remote->buffer_offset < sizeof(struct crm_remote_header_v0)) {
-+    if (remote->buffer == NULL || header == NULL) {
-         return NULL;
-     }
- 
-     /* take ownership of the buffer */
-     remote->buffer_offset = 0;
- 
--    header = (struct crm_remote_header_v0 *)remote->buffer;
-     /* Support compression on the receiving end now, in case we ever want to add it later */
-     if (header->payload_compressed) {
-         int rc = 0;
-         unsigned int size_u = 1 + header->payload_uncompressed;
--        char *uncompressed = calloc(1, offset + size_u);
-+        char *uncompressed = calloc(1, header->payload_offset + size_u);
- 
-         crm_trace("Decompressing message data %d bytes into %d bytes",
-                  header->payload_compressed, size_u);
- 
--        rc = BZ2_bzBuffToBuffDecompress(uncompressed + offset, &size_u,
--                                        remote->buffer + offset,
-+        rc = BZ2_bzBuffToBuffDecompress(uncompressed + header->payload_offset, &size_u,
-+                                        remote->buffer + header->payload_offset,
-                                         header->payload_compressed, 1, 0);
- 
--        if (rc != BZ_OK) {
-+        if (rc != BZ_OK && header->version > REMOTE_MSG_VERSION) {
-+            crm_warn("Couldn't decompress v%d message, we only understand v%d",
-+                     header->version, REMOTE_MSG_VERSION);
-+            free(uncompressed);
-+            return NULL;
-+
-+        } else if (rc != BZ_OK) {
-             crm_err("Decompression failed: %s (%d)", bz2_strerror(rc), rc);
-             free(uncompressed);
-             return NULL;
-@@ -335,19 +408,23 @@ crm_remote_parse_buffer(crm_remote_t * remote)
- 
-         CRM_ASSERT(size_u == header->payload_uncompressed);
- 
--        memcpy(uncompressed, remote->buffer, offset);       /* Preserve the header */
--        header = (struct crm_remote_header_v0 *)uncompressed;
-+        memcpy(uncompressed, remote->buffer, header->payload_offset);       /* Preserve the header */
-+        remote->buffer_size = header->payload_offset + size_u;
- 
-         free(remote->buffer);
--        remote->buffer_size = offset + size_u;
-         remote->buffer = uncompressed;
-+        header = crm_remote_header(remote);
-     }
- 
--    CRM_ASSERT(remote->buffer[sizeof(struct crm_remote_header_v0) + header->payload_uncompressed - 1] == 0);
-+    CRM_LOG_ASSERT(remote->buffer[sizeof(struct crm_remote_header_v0) + header->payload_uncompressed - 1] == 0);
-+
-+    xml = string2xml(remote->buffer + header->payload_offset);
-+    if (xml == NULL && header->version > REMOTE_MSG_VERSION) {
-+        crm_warn("Couldn't parse v%d message, we only understand v%d",
-+                 header->version, REMOTE_MSG_VERSION);
- 
--    xml = string2xml(remote->buffer + offset);
--    if (xml == NULL) {
--        crm_err("Couldn't parse: '%.120s'", remote->buffer + offset);
-+    } else if (xml == NULL) {
-+        crm_err("Couldn't parse: '%.120s'", remote->buffer + header->payload_offset);
-     }
- 
-     return xml;
-@@ -424,16 +501,16 @@ crm_remote_recv_once(crm_remote_t * remote)
- {
-     int rc = 0;
-     size_t read_len = sizeof(struct crm_remote_header_v0);
-+    struct crm_remote_header_v0 *header = crm_remote_header(remote);
- 
--    if(remote->buffer_offset >= sizeof(struct crm_remote_header_v0)) {
--        struct crm_remote_header_v0 *hdr = (struct crm_remote_header_v0 *)remote->buffer;
--
--        read_len = hdr->size_total;
-+    if(header) {
-+        /* Stop at the end of the current message */
-+        read_len = header->size_total;
-     }
- 
-     /* automatically grow the buffer when needed */
-     if(remote->buffer_size < read_len) {
--        remote->buffer_size = 2 * read_len;
-+           remote->buffer_size = 2 * read_len;
-         crm_trace("Expanding buffer to %u bytes", remote->buffer_size);
- 
-         remote->buffer = realloc(remote->buffer, remote->buffer_size + 1);
-@@ -488,23 +565,18 @@ crm_remote_recv_once(crm_remote_t * remote)
-         return -ENOTCONN;
-     }
- 
--    if(remote->buffer_offset < sizeof(struct crm_remote_header_v0)) {
--        crm_trace("Not enough data to fill header: %u < %u bytes",
--                  remote->buffer_offset, sizeof(struct crm_remote_header_v0));
--        return -EAGAIN;
--
--    } else {
--        struct crm_remote_header_v0 *hdr = (struct crm_remote_header_v0 *)remote->buffer;
--
--        if(remote->buffer_offset < hdr->size_total) {
-+    header = crm_remote_header(remote);
-+    if(header) {
-+        if(remote->buffer_offset < header->size_total) {
-             crm_trace("Read less than the advertised length: %u < %u bytes",
--                      remote->buffer_offset, hdr->size_total);
--            return -EAGAIN;
-+                      remote->buffer_offset, header->size_total);
-+        } else {
-+            crm_trace("Read full message of %u bytes", remote->buffer_offset);
-+            return remote->buffer_offset;
-         }
-     }
- 
--    crm_trace("Read full message of %u bytes", remote->buffer_offset);
--    return remote->buffer_offset;
-+    return -EAGAIN;
- }
- 
- /*!
-diff --git a/lib/lrmd/lrmd_client.c b/lib/lrmd/lrmd_client.c
-index d037022..d99d7c8 100644
---- a/lib/lrmd/lrmd_client.c
-+++ b/lib/lrmd/lrmd_client.c
-@@ -414,9 +414,6 @@ lrmd_poll(lrmd_t * lrmd, int timeout)
-         case CRM_CLIENT_TLS:
-             if (native->pending_notify) {
-                 return 1;
--            } else if (native->remote->buffer
--                       && strstr(native->remote->buffer, REMOTE_MSG_TERMINATOR)) {
--                return 1;
-             }
- 
-             return crm_remote_ready(native->remote, 0);
diff --git a/SOURCES/bz720543-pcmk-remote_improved_logging_of_recv_errors.patch b/SOURCES/bz720543-pcmk-remote_improved_logging_of_recv_errors.patch
deleted file mode 100644
index edb302c..0000000
--- a/SOURCES/bz720543-pcmk-remote_improved_logging_of_recv_errors.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-commit 15ebd31f77412e869c2bd7264a53117eb90d1229
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Tue Oct 15 10:01:05 2013 +1100
-
-    Log: remote: Improved logging of recv() errors
-    
-    (cherry picked from commit 3647b64d004b4377c90963de5ccbec45d1daef72)
-
-diff --git a/lib/common/remote.c b/lib/common/remote.c
-index 297c75a..c991761 100644
---- a/lib/common/remote.c
-+++ b/lib/common/remote.c
-@@ -459,7 +459,7 @@ crm_remote_recv_once(crm_remote_t * remote)
-         } else if (rc == GNUTLS_E_AGAIN) {
-             rc = -EAGAIN;
-         } else if (rc < 0) {
--            crm_info("TLS receive failed: %s (%d)", gnutls_strerror(rc), rc);
-+            crm_debug("TLS receive failed: %s (%d)", gnutls_strerror(rc), rc);
-             rc = -pcmk_err_generic;
-         }
- #endif
-@@ -482,9 +482,9 @@ crm_remote_recv_once(crm_remote_t * remote)
-         crm_debug("EOF encoutered after %u bytes", remote->buffer_offset);
-         return -ENOTCONN;
- 
--    } else if (rc <= 0) {
-+    } else {
-         crm_debug("Error receiving message after %u bytes: %s (%d)",
--                  remote->buffer_offset, gnutls_strerror(rc), rc);
-+                  remote->buffer_offset, pcmk_strerror(rc), rc);
-         return -ENOTCONN;
-     }
- 
diff --git a/SOURCES/bz720543-pcmk-remote_properly_version_the_remote_connection_protocol.patch b/SOURCES/bz720543-pcmk-remote_properly_version_the_remote_connection_protocol.patch
deleted file mode 100644
index d562189..0000000
--- a/SOURCES/bz720543-pcmk-remote_properly_version_the_remote_connection_protocol.patch
+++ /dev/null
@@ -1,607 +0,0 @@
-commit 330600b4cafd37f51d109728f9377bc921a6aa7f
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Mon Oct 14 13:50:41 2013 +1100
-
-    Feature: remote: Properly version the remote connection protocol
-    
-    (cherry picked from commit aa024490a023bd0d0d5568f08b2c60b61adb15f5)
-
-diff --git a/include/crm/common/ipcs.h b/include/crm/common/ipcs.h
-index 3e78d51..84249a3 100644
---- a/include/crm/common/ipcs.h
-+++ b/include/crm/common/ipcs.h
-@@ -41,14 +41,17 @@ enum client_type {
- struct crm_remote_s {
-     /* Shared */
-     char *buffer;
-+    size_t buffer_size;
-+    size_t buffer_offset;
-     int auth_timeout;
--    bool authenticated;         /* CIB-only */
-+    int tcp_socket;
-     mainloop_io_t *source;
- 
--    char *token;                /* CIB Only */
--
--    int tcp_socket;
-+    /* CIB-only */
-+    bool authenticated;
-+    char *token;
- 
-+    /* TLS only */
- #  ifdef HAVE_GNUTLS_GNUTLS_H
-     gnutls_session_t *tls_session;
-     bool tls_handshake_complete;
-diff --git a/lib/common/remote.c b/lib/common/remote.c
-index 8b00f16..297c75a 100644
---- a/lib/common/remote.c
-+++ b/lib/common/remote.c
-@@ -34,6 +34,8 @@
- #include <fcntl.h>
- #include <glib.h>
- 
-+#include <bzlib.h>
-+
- #include <crm/common/ipcs.h>
- #include <crm/common/xml.h>
- #include <crm/common/mainloop.h>
-@@ -57,6 +59,17 @@ const int anon_tls_kx_order[] = {
-     0
- };
- 
-+struct crm_remote_header_v0 
-+{
-+    uint64_t id;
-+    uint64_t flags;
-+    uint32_t error;
-+    uint32_t version;
-+    uint32_t size_total;
-+    uint32_t payload_uncompressed;
-+    uint32_t payload_compressed;
-+};
-+
- int
- crm_initiate_client_tls_handshake(crm_remote_t * remote, int timeout_ms)
- {
-@@ -176,97 +189,6 @@ crm_send_tls(gnutls_session_t * session, const char *buf, size_t len)
- 
-     return rc < 0 ? rc : total_send;
- }
--
--/*!
-- * \internal
-- * \brief Read bytes off non blocking tls session.
-- *
-- * \param session - tls session to read
-- * \param max_size - max bytes allowed to read for buffer. 0 assumes no limit
-- *
-- * \note only use with NON-Blocking sockets. Should only be used after polling socket.
-- *       This function will return once max_size is met, the socket read buffer
-- *       is empty, or an error is encountered.
-- *
-- * \retval '\0' terminated buffer on success
-- */
--static char *
--crm_recv_tls(gnutls_session_t * session, size_t max_size, size_t * recv_len, int *disconnected)
--{
--    char *buf = NULL;
--    int rc = 0;
--    size_t len = 0;
--    size_t chunk_size = max_size ? max_size : 1024;
--    size_t buf_size = 0;
--    size_t read_size = 0;
--
--    if (session == NULL) {
--        if (disconnected) {
--            *disconnected = 1;
--        }
--        goto done;
--    }
--
--    buf = calloc(1, chunk_size + 1);
--    buf_size = chunk_size;
--
--    while (TRUE) {
--        read_size = buf_size - len;
--
--        /* automatically grow the buffer when needed if max_size is not set. */
--        if (!max_size && (read_size < (chunk_size / 2))) {
--            buf_size += chunk_size;
--            crm_trace("Grow buffer by %d more bytes. buf is now %d bytes", (int)chunk_size,
--                      buf_size);
--            buf = realloc(buf, buf_size + 1);
--            CRM_ASSERT(buf != NULL);
--
--            read_size = buf_size - len;
--        }
--
--        rc = gnutls_record_recv(*session, buf + len, read_size);
--
--        if (rc > 0) {
--            crm_trace("Got %d more bytes.", rc);
--            len += rc;
--            /* always null terminate buffer, the +1 to alloc always allows for this. */
--            buf[len] = '\0';
--        }
--        if (max_size && (max_size == read_size)) {
--            crm_trace("Buffer max read size %d met", max_size);
--            goto done;
--        }
--
--        /* process any errors. */
--        if (rc == GNUTLS_E_INTERRUPTED) {
--            crm_trace("EINTR encoutered, retry tls read");
--        } else if (rc == GNUTLS_E_AGAIN) {
--            crm_trace("non-blocking, exiting read on rc = %d", rc);
--            goto done;
--        } else if (rc <= 0) {
--            if (rc == 0) {
--                crm_debug("EOF encoutered during TLS read");
--            } else {
--                crm_debug("Error receiving message: %s (%d)", gnutls_strerror(rc), rc);
--            }
--            if (disconnected) {
--                *disconnected = 1;
--            }
--            goto done;
--        }
--    }
--
--  done:
--    if (recv_len) {
--        *recv_len = len;
--    }
--    if (!len) {
--        free(buf);
--        buf = NULL;
--    }
--    return buf;
--
--}
- #endif
- 
- static int
-@@ -310,141 +232,57 @@ crm_send_plaintext(int sock, const char *buf, size_t len)
- 
- }
- 
--/*!
-- * \internal
-- * \brief Read bytes off non blocking socket.
-- *
-- * \param session - tls session to read
-- * \param max_size - max bytes allowed to read for buffer. 0 assumes no limit
-- *
-- * \note only use with NON-Blocking sockets. Should only be used after polling socket.
-- *       This function will return once max_size is met, the socket read buffer
-- *       is empty, or an error is encountered.
-- *
-- * \retval '\0' terminated buffer on success
-- */
--static char *
--crm_recv_plaintext(int sock, size_t max_size, size_t * recv_len, int *disconnected)
--{
--    char *buf = NULL;
--    ssize_t rc = 0;
--    ssize_t len = 0;
--    ssize_t chunk_size = max_size ? max_size : 1024;
--    size_t buf_size = 0;
--    size_t read_size = 0;
--
--    if (sock <= 0) {
--        if (disconnected) {
--            *disconnected = 1;
--        }
--        goto done;
--    }
--
--    buf = calloc(1, chunk_size + 1);
--    buf_size = chunk_size;
--
--    while (TRUE) {
--        errno = 0;
--        read_size = buf_size - len;
--
--        /* automatically grow the buffer when needed if max_size is not set. */
--        if (!max_size && (read_size < (chunk_size / 2))) {
--            buf_size += chunk_size;
--            crm_trace("Grow buffer by %d more bytes. buf is now %d bytes", (int)chunk_size,
--                      buf_size);
--            buf = realloc(buf, buf_size + 1);
--            CRM_ASSERT(buf != NULL);
--
--            read_size = buf_size - len;
--        }
--
--        rc = read(sock, buf + len, chunk_size);
--
--        if (rc > 0) {
--            crm_trace("Got %d more bytes. errno=%d", (int)rc, errno);
--            len += rc;
--            /* always null terminate buffer, the +1 to alloc always allows for this. */
--            buf[len] = '\0';
--        }
--        if (max_size && (max_size == read_size)) {
--            crm_trace("Buffer max read size %d met", max_size);
--            goto done;
--        }
--
--        if (rc > 0) {
--            continue;
--        } else if (rc == 0) {
--            if (disconnected) {
--                *disconnected = 1;
--            }
--            crm_trace("EOF encoutered during read");
--            goto done;
--        }
--
--        /* process errors */
--        if (errno == EINTR) {
--            crm_trace("EINTER encoutered, retry socket read.");
--        } else if (errno == EAGAIN) {
--            crm_trace("non-blocking, exiting read on rc = %d", rc);
--            goto done;
--        } else if (errno <= 0) {
--            if (disconnected) {
--                *disconnected = 1;
--            }
--            crm_debug("Error receiving message: %d", (int)rc);
--            goto done;
--        }
--    }
--
--  done:
--    if (recv_len) {
--        *recv_len = len;
--    }
--    if (!len) {
--        free(buf);
--        buf = NULL;
--    }
--    return buf;
--}
--
- static int
--crm_remote_send_raw(crm_remote_t * remote, const char *buf, size_t len)
-+crm_remote_sendv(crm_remote_t * remote, struct iovec * iov, int iovs)
- {
-+    int lpc = 0;
-     int rc = -ESOCKTNOSUPPORT;
- 
--    if (remote->tcp_socket) {
--        rc = crm_send_plaintext(remote->tcp_socket, buf, len);
-+    for(; lpc < iovs; lpc++) {
-+        if (remote->tcp_socket) {
-+            rc = crm_send_plaintext(remote->tcp_socket, iov[lpc].iov_base, iov[lpc].iov_len);
- #ifdef HAVE_GNUTLS_GNUTLS_H
- 
--    } else if (remote->tls_session) {
--        rc = crm_send_tls(remote->tls_session, buf, len);
-+        } else if (remote->tls_session) {
-+            rc = crm_send_tls(remote->tls_session, iov[lpc].iov_base, iov[lpc].iov_len);
- #endif
--    } else {
--        crm_err("Unsupported connection type");
-+        } else {
-+            crm_err("Unsupported connection type");
-+        }
-     }
-     return rc;
- }
- 
-+#define PCMK_TLS_VERSION 1
-+
- int
- crm_remote_send(crm_remote_t * remote, xmlNode * msg)
- {
-+    static uint64_t id = 0;
-     int rc = -1;
--    char *xml_text = NULL;
--    int len = 0;
-+    char *xml_text = dump_xml_unformatted(msg);
- 
--    xml_text = dump_xml_unformatted(msg);
--    if (xml_text) {
--        len = strlen(xml_text);
--    } else {
-+    struct iovec iov[2];
-+    struct crm_remote_header_v0 *header = calloc(1, sizeof(struct crm_remote_header_v0));
-+
-+    if (xml_text == NULL) {
-         crm_err("Invalid XML, can not send msg");
-         return -1;
-     }
- 
--    rc = crm_remote_send_raw(remote, xml_text, len);
--    if (rc >= 0) {
--        rc = crm_remote_send_raw(remote, REMOTE_MSG_TERMINATOR, strlen(REMOTE_MSG_TERMINATOR));
--    }
-+    iov[0].iov_base = header;
-+    iov[0].iov_len = sizeof(struct crm_remote_header_v0);
-+
-+    iov[1].iov_base = xml_text;
-+    iov[1].iov_len = 1 + strlen(xml_text);
- 
-+    id++;
-+    header->id = id;
-+    header->version = PCMK_TLS_VERSION;
-+    header->size_total = iov[0].iov_len + iov[1].iov_len;
-+    header->payload_uncompressed = iov[1].iov_len;
-+
-+    rc = crm_remote_sendv(remote, iov, 2);
-     if (rc < 0) {
-         crm_err("Failed to send remote msg, rc = %d", rc);
-     }
-@@ -461,44 +299,55 @@ crm_remote_send(crm_remote_t * remote, xmlNode * msg)
- xmlNode *
- crm_remote_parse_buffer(crm_remote_t * remote)
- {
--    char *buf = NULL;
--    char *start = NULL;
--    char *end = NULL;
-     xmlNode *xml = NULL;
-+    size_t offset = sizeof(struct crm_remote_header_v0);
-+    struct crm_remote_header_v0 *header = NULL;
- 
-     if (remote->buffer == NULL) {
-         return NULL;
-+
-+    } else if(remote->buffer_offset < sizeof(struct crm_remote_header_v0)) {
-+        return NULL;
-     }
- 
-     /* take ownership of the buffer */
--    buf = remote->buffer;
--    remote->buffer = NULL;
--
--    /* MSGS are separated by a '\r\n\r\n'. Split a message off the buffer and return it. */
--    start = buf;
--    end = strstr(start, REMOTE_MSG_TERMINATOR);
-+    remote->buffer_offset = 0;
-+
-+    header = (struct crm_remote_header_v0 *)remote->buffer;
-+    /* Support compression on the receiving end now, in case we ever want to add it later */
-+    if (header->payload_compressed) {
-+        int rc = 0;
-+        unsigned int size_u = 1 + header->payload_uncompressed;
-+        char *uncompressed = calloc(1, offset + size_u);
-+
-+        crm_trace("Decompressing message data %d bytes into %d bytes",
-+                 header->payload_compressed, size_u);
-+
-+        rc = BZ2_bzBuffToBuffDecompress(uncompressed + offset, &size_u,
-+                                        remote->buffer + offset,
-+                                        header->payload_compressed, 1, 0);
-+
-+        if (rc != BZ_OK) {
-+            crm_err("Decompression failed: %s (%d)", bz2_strerror(rc), rc);
-+            free(uncompressed);
-+            return NULL;
-+        }
- 
--    while (!xml && end) {
-+        CRM_ASSERT(size_u == header->payload_uncompressed);
- 
--        /* grab the message */
--        end[0] = '\0';
--        end += strlen(REMOTE_MSG_TERMINATOR);
-+        memcpy(uncompressed, remote->buffer, offset);       /* Preserve the header */
-+        header = (struct crm_remote_header_v0 *)uncompressed;
- 
--        xml = string2xml(start);
--        if (xml == NULL) {
--            crm_err("Couldn't parse: '%.120s'", start);
--        }
--        start = end;
--        end = strstr(start, REMOTE_MSG_TERMINATOR);
-+        free(remote->buffer);
-+        remote->buffer_size = offset + size_u;
-+        remote->buffer = uncompressed;
-     }
- 
--    if (xml && start) {
--        /* we have msgs left over, save it until next time */
--        remote->buffer = strdup(start);
--        free(buf);
--    } else if (!xml) {
--        /* no msg present */
--        remote->buffer = buf;
-+    CRM_ASSERT(remote->buffer[sizeof(struct crm_remote_header_v0) + header->payload_uncompressed - 1] == 0);
-+
-+    xml = string2xml(remote->buffer + offset);
-+    if (xml == NULL) {
-+        crm_err("Couldn't parse: '%.120s'", remote->buffer + offset);
-     }
- 
-     return xml;
-@@ -559,6 +408,105 @@ crm_remote_ready(crm_remote_t * remote, int timeout /* ms */ )
-     return rc;
- }
- 
-+
-+/*!
-+ * \internal
-+ * \brief Read bytes off non blocking remote connection.
-+ *
-+ * \note only use with NON-Blocking sockets. Should only be used after polling socket.
-+ *       This function will return once max_size is met, the socket read buffer
-+ *       is empty, or an error is encountered.
-+ *
-+ * \retval number of bytes received
-+ */
-+static size_t
-+crm_remote_recv_once(crm_remote_t * remote)
-+{
-+    int rc = 0;
-+    size_t read_len = sizeof(struct crm_remote_header_v0);
-+
-+    if(remote->buffer_offset >= sizeof(struct crm_remote_header_v0)) {
-+        struct crm_remote_header_v0 *hdr = (struct crm_remote_header_v0 *)remote->buffer;
-+
-+        read_len = hdr->size_total;
-+    }
-+
-+    /* automatically grow the buffer when needed */
-+    if(remote->buffer_size < read_len) {
-+        remote->buffer_size = 2 * read_len;
-+        crm_trace("Expanding buffer to %u bytes", remote->buffer_size);
-+
-+        remote->buffer = realloc(remote->buffer, remote->buffer_size + 1);
-+        CRM_ASSERT(remote->buffer != NULL);
-+    }
-+
-+    if (remote->tcp_socket) {
-+        errno = 0;
-+        rc = read(remote->tcp_socket,
-+                  remote->buffer + remote->buffer_offset,
-+                  remote->buffer_size - remote->buffer_offset);
-+        if(rc < 0) {
-+            rc = -errno;
-+        }
-+
-+#ifdef HAVE_GNUTLS_GNUTLS_H
-+    } else if (remote->tls_session) {
-+        rc = gnutls_record_recv(*(remote->tls_session),
-+                                remote->buffer + remote->buffer_offset,
-+                                remote->buffer_size - remote->buffer_offset);
-+        if (rc == GNUTLS_E_INTERRUPTED) {
-+            rc = -EINTR;
-+        } else if (rc == GNUTLS_E_AGAIN) {
-+            rc = -EAGAIN;
-+        } else if (rc < 0) {
-+            crm_info("TLS receive failed: %s (%d)", gnutls_strerror(rc), rc);
-+            rc = -pcmk_err_generic;
-+        }
-+#endif
-+    } else {
-+        crm_err("Unsupported connection type");
-+        return -ESOCKTNOSUPPORT;
-+    }
-+
-+    /* process any errors. */
-+    if (rc > 0) {
-+        remote->buffer_offset += rc;
-+        /* always null terminate buffer, the +1 to alloc always allows for this. */
-+        remote->buffer[remote->buffer_offset] = '\0';
-+        crm_trace("Received %u more bytes, %u total", rc, remote->buffer_offset);
-+
-+    } else if (rc == -EINTR || rc == -EAGAIN) {
-+        crm_trace("non-blocking, exiting read: %s (%d)", pcmk_strerror(rc), rc);
-+
-+    } else if (rc == 0) {
-+        crm_debug("EOF encoutered after %u bytes", remote->buffer_offset);
-+        return -ENOTCONN;
-+
-+    } else if (rc <= 0) {
-+        crm_debug("Error receiving message after %u bytes: %s (%d)",
-+                  remote->buffer_offset, gnutls_strerror(rc), rc);
-+        return -ENOTCONN;
-+    }
-+
-+    if(remote->buffer_offset < sizeof(struct crm_remote_header_v0)) {
-+        crm_trace("Not enough data to fill header: %u < %u bytes",
-+                  remote->buffer_offset, sizeof(struct crm_remote_header_v0));
-+        return -EAGAIN;
-+
-+    } else {
-+        struct crm_remote_header_v0 *hdr = (struct crm_remote_header_v0 *)remote->buffer;
-+
-+        if(remote->buffer_offset < hdr->size_total) {
-+            crm_trace("Read less than the advertised length: %u < %u bytes",
-+                      remote->buffer_offset, hdr->size_total);
-+            return -EAGAIN;
-+        }
-+    }
-+
-+    crm_trace("Read full message of %u bytes", remote->buffer_offset);
-+    return remote->buffer_offset;
-+}
-+
- /*!
-  * \internal
-  * \brief Read data off the socket until at least one full message is present or timeout occures.
-@@ -569,10 +517,8 @@ crm_remote_ready(crm_remote_t * remote, int timeout /* ms */ )
- gboolean
- crm_remote_recv(crm_remote_t * remote, int total_timeout /*ms */ , int *disconnected)
- {
--    int ret;
--    size_t request_len = 0;
-+    int rc;
-     time_t start = time(NULL);
--    char *raw_request = NULL;
-     int remaining_timeout = 0;
- 
-     if (total_timeout == 0) {
-@@ -588,57 +534,30 @@ crm_remote_recv(crm_remote_t * remote, int total_timeout /*ms */ , int *disconne
-         /* read some more off the tls buffer if we still have time left. */
-         crm_trace("waiting to receive remote msg, starting timeout %d, remaining_timeout %d",
-                   total_timeout, remaining_timeout);
--        ret = crm_remote_ready(remote, remaining_timeout);
--        raw_request = NULL;
-+        rc = crm_remote_ready(remote, remaining_timeout);
- 
--        if (ret == 0) {
-+        if (rc == 0) {
-             crm_err("poll timed out (%d ms) while waiting to receive msg", remaining_timeout);
-             return FALSE;
- 
--        } else if (ret < 0) {
--            if (errno != EINTR) {
--                crm_debug("poll returned error while waiting for msg, rc: %d, errno: %d", ret,
--                          errno);
--                *disconnected = 1;
--                return FALSE;
--            }
--            crm_debug("poll EINTR encountered during poll, retrying");
--
--        } else if (remote->tcp_socket) {
--            raw_request = crm_recv_plaintext(remote->tcp_socket, 0, &request_len, disconnected);
-+        } else if(rc < 0) {
-+            crm_debug("poll() failed: %s (%d)", pcmk_strerror(rc), rc);
- 
--#ifdef HAVE_GNUTLS_GNUTLS_H
--        } else if (remote->tls_session) {
--            raw_request = crm_recv_tls(remote->tls_session, 0, &request_len, disconnected);
--#endif
-         } else {
--            crm_err("Unsupported connection type");
--        }
--
--        remaining_timeout = remaining_timeout - ((time(NULL) - start) * 1000);
--
--        if (!raw_request) {
--            crm_debug("Empty msg received after poll");
--            continue;
-+            rc = crm_remote_recv_once(remote);
-+            if(rc > 0) {
-+                return TRUE;
-+            } else if (rc < 0) {
-+                crm_debug("recv() failed: %s (%d)", pcmk_strerror(rc), rc);
-+            }
-         }
- 
--        if (remote->buffer) {
--            int old_len = strlen(remote->buffer);
--
--            crm_trace("Expanding recv buffer from %d to %d", old_len, old_len + request_len);
--
--            remote->buffer = realloc(remote->buffer, old_len + request_len + 1);
--            memcpy(remote->buffer + old_len, raw_request, request_len);
--            *(remote->buffer + old_len + request_len) = '\0';
--            free(raw_request);
--
--        } else {
--            remote->buffer = raw_request;
-+        if(rc == -ENOTCONN) {
-+            *disconnected = 1;
-+            return FALSE;
-         }
- 
--        if (strstr(remote->buffer, REMOTE_MSG_TERMINATOR)) {
--            return TRUE;
--        }
-+        remaining_timeout = remaining_timeout - ((time(NULL) - start) * 1000);
-     }
- 
-     return FALSE;
diff --git a/SOURCES/bz720543-pcmk-removes_unnecessary_newlines_in_crm_resource_o_output.patch b/SOURCES/bz720543-pcmk-removes_unnecessary_newlines_in_crm_resource_o_output.patch
deleted file mode 100644
index 9d1e7cc..0000000
--- a/SOURCES/bz720543-pcmk-removes_unnecessary_newlines_in_crm_resource_o_output.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-commit 0c88fc0aa260dcd50e654275cc9fdd68e27a2617
-Author: David Vossel <dvossel@redhat.com>
-Date:   Wed Dec 4 17:04:52 2013 -0600
-
-    Fix: Removes unnecessary newlines in crm_resource -O output
-    
-    Resolves: rhbz#1038155
-    (cherry picked from commit cd56faa1c9168811b64be9f7eea73ad600261844)
-
-diff --git a/include/crm/common/util.h b/include/crm/common/util.h
-index f0dca36..9092708 100644
---- a/include/crm/common/util.h
-+++ b/include/crm/common/util.h
-@@ -67,6 +67,8 @@ gboolean decode_transition_key(const char *key, char **uuid, int *action, int *t
- gboolean decode_transition_magic(const char *magic, char **uuid, int *transition_id, int *action_id,
-                                  int *op_status, int *op_rc, int *target_rc);
- 
-+char * crm_strip_trailing_newline(char *str);
-+
- #  define safe_str_eq(a, b) crm_str_eq(a, b, FALSE)
- gboolean crm_str_eq(const char *a, const char *b, gboolean use_case);
- gboolean safe_str_neq(const char *a, const char *b);
-diff --git a/lib/common/utils.c b/lib/common/utils.c
-index 527c9e0..4e18039 100644
---- a/lib/common/utils.c
-+++ b/lib/common/utils.c
-@@ -1550,6 +1550,22 @@ crm_is_writable(const char *dir, const char *file,
-     return pass;
- }
- 
-+char *
-+crm_strip_trailing_newline(char *str)
-+{
-+    int len;
-+
-+    if (str == NULL) {
-+        return str;
-+    }
-+
-+    for (len = strlen(str) - 1; len >= 0 && str[len] == '\n'; len--) {
-+        str[len] = '\0';
-+    }
-+
-+    return str;
-+}
-+
- gboolean
- crm_str_eq(const char *a, const char *b, gboolean use_case)
- {
-diff --git a/tools/crm_resource.c b/tools/crm_resource.c
-index c03501d..2f0e282 100644
---- a/tools/crm_resource.c
-+++ b/tools/crm_resource.c
-@@ -1119,8 +1119,8 @@ list_resource_operations(const char *rsc_id, const char *host_uname, gboolean ac
-         if (last) {
-             time_t run_at = crm_parse_int(last, "0");
- 
--            fprintf(stdout, ", last-rc-change=%s, exec=%sms\n",
--                    ctime(&run_at), crm_element_value(xml_op, XML_RSC_OP_T_EXEC));
-+            fprintf(stdout, ", last-rc-change=%s, exec=%sms",
-+                    crm_strip_trailing_newline(ctime(&run_at)), crm_element_value(xml_op, XML_RSC_OP_T_EXEC));
-         }
-         fprintf(stdout, "): %s\n", services_lrm_status_str(status));
-     }
diff --git a/SOURCES/bz720543-pcmk-tools_fixes_formatting_of_remote_nodes_in_crm_mon_and_crm_simulate.patch b/SOURCES/bz720543-pcmk-tools_fixes_formatting_of_remote_nodes_in_crm_mon_and_crm_simulate.patch
deleted file mode 100644
index ddbfc43..0000000
--- a/SOURCES/bz720543-pcmk-tools_fixes_formatting_of_remote_nodes_in_crm_mon_and_crm_simulate.patch
+++ /dev/null
@@ -1,356 +0,0 @@
-commit 27adba1575f508166e7203225a3ff6d580842dfd
-Author: David Vossel <dvossel@redhat.com>
-Date:   Tue Aug 27 17:46:28 2013 -0500
-
-    Fix: tools: Fixes formatting of remote-nodes in crm_mon and crm_simulate
-    
-    (cherry picked from commit b32b60ec6d0963ea3767196f0fdd50746d27fafa)
-    
-    Conflicts:
-    	pengine/test10/whitebox-ms-ordering.summary
-
-diff --git a/pengine/test10/whitebox-asymmetric.summary b/pengine/test10/whitebox-asymmetric.summary
-index c4a8e0a..1a68802 100644
---- a/pengine/test10/whitebox-asymmetric.summary
-+++ b/pengine/test10/whitebox-asymmetric.summary
-@@ -1,7 +1,6 @@
- 
- Current cluster status:
- Online: [ 18builder ]
--OFFLINE: [ 18node2:container2 ]
- 
-  fence_false	(stonith:fence_false):	Stopped 
-  container2	(ocf::pacemaker:Dummy):	Started 18builder 
-@@ -22,7 +21,8 @@ Executing cluster transition:
-  * Resource action: nfs_mount       monitor=10000 on 18node2
- 
- Revised cluster status:
--Online: [ 18builder 18node2:container2 ]
-+Online: [ 18builder ]
-+Containers: [ 18node2:container2 ]
- 
-  fence_false	(stonith:fence_false):	Stopped 
-  container2	(ocf::pacemaker:Dummy):	Started 18builder 
-diff --git a/pengine/test10/whitebox-fail1.summary b/pengine/test10/whitebox-fail1.summary
-index 02d0f8e..5e5887b 100644
---- a/pengine/test10/whitebox-fail1.summary
-+++ b/pengine/test10/whitebox-fail1.summary
-@@ -1,7 +1,7 @@
- 
- Current cluster status:
--Online: [ 18node1 18node2 18node3 lxc2:container2 ]
--OFFLINE: [ lxc1:container1 ]
-+Online: [ 18node1 18node2 18node3 ]
-+Containers: [ lxc2:container2 ]
- 
-  container1	(ocf::heartbeat:VirtualDomain):	FAILED 18node2 
-  container2	(ocf::heartbeat:VirtualDomain):	Started 18node2
-@@ -38,7 +38,8 @@ Executing cluster transition:
-  * Resource action: B               monitor=10000 on lxc1
- 
- Revised cluster status:
--Online: [ 18node1 18node2 18node3 lxc1:container1 lxc2:container2 ]
-+Online: [ 18node1 18node2 18node3 ]
-+Containers: [ lxc1:container1 lxc2:container2 ]
- 
-  container1	(ocf::heartbeat:VirtualDomain):	Started 18node2
-  container2	(ocf::heartbeat:VirtualDomain):	Started 18node2
-diff --git a/pengine/test10/whitebox-fail2.summary b/pengine/test10/whitebox-fail2.summary
-index 0e53524..338173d 100644
---- a/pengine/test10/whitebox-fail2.summary
-+++ b/pengine/test10/whitebox-fail2.summary
-@@ -1,7 +1,7 @@
- 
- Current cluster status:
--Online: [ 18node1 18node2 18node3 lxc2:container2 ]
--OFFLINE: [ lxc1:container1 ]
-+Online: [ 18node1 18node2 18node3 ]
-+Containers: [ lxc2:container2 ]
- 
-  container1	(ocf::heartbeat:VirtualDomain):	FAILED 18node2 
-  container2	(ocf::heartbeat:VirtualDomain):	Started 18node2
-@@ -38,7 +38,8 @@ Executing cluster transition:
-  * Resource action: B               monitor=10000 on lxc1
- 
- Revised cluster status:
--Online: [ 18node1 18node2 18node3 lxc1:container1 lxc2:container2 ]
-+Online: [ 18node1 18node2 18node3 ]
-+Containers: [ lxc1:container1 lxc2:container2 ]
- 
-  container1	(ocf::heartbeat:VirtualDomain):	Started 18node2
-  container2	(ocf::heartbeat:VirtualDomain):	Started 18node2
-diff --git a/pengine/test10/whitebox-fail3.summary b/pengine/test10/whitebox-fail3.summary
-index 1d25724..395d218 100644
---- a/pengine/test10/whitebox-fail3.summary
-+++ b/pengine/test10/whitebox-fail3.summary
-@@ -1,7 +1,6 @@
- 
- Current cluster status:
- Online: [ dvossel-laptop2 ]
--OFFLINE: [ 18builder:vm 18node1:vm2 ]
- 
-  vm	(ocf::heartbeat:VirtualDomain):	Stopped 
-  vm2	(ocf::heartbeat:VirtualDomain):	Stopped 
-@@ -39,8 +38,8 @@ Executing cluster transition:
-  * Resource action: X               monitor=10000 on 18builder
- 
- Revised cluster status:
--Online: [ 18builder:vm dvossel-laptop2 ]
--OFFLINE: [ 18node1:vm2 ]
-+Online: [ dvossel-laptop2 ]
-+Containers: [ 18builder:vm ]
- 
-  vm	(ocf::heartbeat:VirtualDomain):	Started dvossel-laptop2 
-  vm2	(ocf::heartbeat:VirtualDomain):	Stopped 
-diff --git a/pengine/test10/whitebox-move.summary b/pengine/test10/whitebox-move.summary
-index 6dc2f6f..3422ac7 100644
---- a/pengine/test10/whitebox-move.summary
-+++ b/pengine/test10/whitebox-move.summary
-@@ -1,6 +1,7 @@
- 
- Current cluster status:
--Online: [ 18node1 18node2 18node3 lxc1:container1 lxc2:container2 ]
-+Online: [ 18node1 18node2 18node3 ]
-+Containers: [ lxc1:container1 lxc2:container2 ]
- 
-  container1	(ocf::heartbeat:VirtualDomain):	Started 18node1
-  container2	(ocf::heartbeat:VirtualDomain):	Started 18node2
-@@ -34,7 +35,8 @@ Executing cluster transition:
-  * Resource action: lxc1            monitor=30000 on 18node2
- 
- Revised cluster status:
--Online: [ 18node1 18node2 18node3 lxc1:container1 lxc2:container2 ]
-+Online: [ 18node1 18node2 18node3 ]
-+Containers: [ lxc1:container1 lxc2:container2 ]
- 
-  container1	(ocf::heartbeat:VirtualDomain):	Started 18node2
-  container2	(ocf::heartbeat:VirtualDomain):	Started 18node2
-diff --git a/pengine/test10/whitebox-start.summary b/pengine/test10/whitebox-start.summary
-index e5d654b..2801abe 100644
---- a/pengine/test10/whitebox-start.summary
-+++ b/pengine/test10/whitebox-start.summary
-@@ -1,7 +1,7 @@
- 
- Current cluster status:
--Online: [ 18node1 18node2 18node3 lxc2:container2 ]
--OFFLINE: [ lxc1:container1 ]
-+Online: [ 18node1 18node2 18node3 ]
-+Containers: [ lxc2:container2 ]
- 
-  container1	(ocf::heartbeat:VirtualDomain):	Stopped 
-  container2	(ocf::heartbeat:VirtualDomain):	Started 18node2
-@@ -29,7 +29,8 @@ Executing cluster transition:
-  * Resource action: M               monitor=10000 on lxc1
- 
- Revised cluster status:
--Online: [ 18node1 18node2 18node3 lxc1:container1 lxc2:container2 ]
-+Online: [ 18node1 18node2 18node3 ]
-+Containers: [ lxc1:container1 lxc2:container2 ]
- 
-  container1	(ocf::heartbeat:VirtualDomain):	Started 18node1
-  container2	(ocf::heartbeat:VirtualDomain):	Started 18node2
-diff --git a/pengine/test10/whitebox-stop.summary b/pengine/test10/whitebox-stop.summary
-index 4116571..51357b9 100644
---- a/pengine/test10/whitebox-stop.summary
-+++ b/pengine/test10/whitebox-stop.summary
-@@ -1,6 +1,7 @@
- 
- Current cluster status:
--Online: [ 18node1 18node2 18node3 lxc1:container1 lxc2:container2 ]
-+Online: [ 18node1 18node2 18node3 ]
-+Containers: [ lxc1:container1 lxc2:container2 ]
- 
-  container1	(ocf::heartbeat:VirtualDomain):	Started 18node2
-  container2	(ocf::heartbeat:VirtualDomain):	Started 18node2
-@@ -30,8 +31,8 @@ Executing cluster transition:
-  * Pseudo action:   all_stopped
- 
- Revised cluster status:
--Online: [ 18node1 18node2 18node3 lxc2:container2 ]
--OFFLINE: [ lxc1:container1 ]
-+Online: [ 18node1 18node2 18node3 ]
-+Containers: [ lxc2:container2 ]
- 
-  container1	(ocf::heartbeat:VirtualDomain):	Stopped 
-  container2	(ocf::heartbeat:VirtualDomain):	Started 18node2
-diff --git a/tools/crm_mon.c b/tools/crm_mon.c
-index 7c6e495..599df02 100644
---- a/tools/crm_mon.c
-+++ b/tools/crm_mon.c
-@@ -1153,7 +1153,10 @@ print_status(pe_working_set_t * data_set)
-     node_t *dc = NULL;
-     char *since_epoch = NULL;
-     char *online_nodes = NULL;
-+    char *online_remote_nodes = NULL;
-+    char *online_remote_containers = NULL;
-     char *offline_nodes = NULL;
-+    char *offline_remote_nodes = NULL;
-     const char *stack_s = NULL;
-     xmlNode *dc_version = NULL;
-     xmlNode *quorum_node = NULL;
-@@ -1246,7 +1249,7 @@ print_status(pe_working_set_t * data_set)
-         const char *node_mode = NULL;
-         char *node_name = NULL;
- 
--        if(node->details->remote_rsc) {
-+        if (node->details->remote_rsc && node->details->remote_rsc->container) {
-             node_name = g_strdup_printf("%s:%s", node->details->uname, node->details->remote_rsc->container->id);
-         } else {
-             node_name = g_strdup_printf("%s", node->details->uname);
-@@ -1286,23 +1289,37 @@ print_status(pe_working_set_t * data_set)
-         } else if (node->details->online) {
-             node_mode = "online";
-             if (group_by_node == FALSE) {
--                online_nodes = add_list_element(online_nodes, node_name);
-+                if (node->details->remote_rsc && node->details->remote_rsc->container) {
-+                    online_remote_containers = add_list_element(online_remote_containers, node_name);
-+                } else if (node->details->remote_rsc) {
-+                    online_remote_nodes = add_list_element(online_remote_nodes, node_name);
-+                } else {
-+                    online_nodes = add_list_element(online_nodes, node_name);
-+                }
-                 continue;
-             }
--
-         } else {
-             node_mode = "OFFLINE";
-             if (group_by_node == FALSE) {
--                offline_nodes = add_list_element(offline_nodes, node_name);
-+
-+                if (node->details->remote_rsc) {
-+                    if (node->details->remote_rsc->container == NULL) {
-+                        offline_remote_nodes = add_list_element(offline_remote_nodes, node_name);
-+                    } else {
-+                        /* ignore displaying offline container nodes */
-+                    }
-+                } else {
-+                    offline_nodes = add_list_element(offline_nodes, node_name);
-+                }
-                 continue;
-             }
-         }
- 
--        if(node->details->remote_rsc) {
--            online_nodes = add_list_element(online_nodes, node->details->remote_rsc->id);
--        }
--
--        if (safe_str_eq(node->details->uname, node->details->id)) {
-+        if (node->details->remote_rsc && node->details->remote_rsc->container) {
-+            print_as("ContainerNode %s: %s\n", node_name, node_mode);
-+        } else if (node->details->remote_rsc) {
-+            print_as("RemoteNode %s: %s\n", node_name, node_mode);
-+        } else if (safe_str_eq(node->details->uname, node->details->id)) {
-             print_as("Node %s: %s\n", node_name, node_mode);
-         } else {
-             print_as("Node %s (%s): %s\n", node_name, node->details->id, node_mode);
-@@ -1328,6 +1345,18 @@ print_status(pe_working_set_t * data_set)
-         print_as("OFFLINE: [%s ]\n", offline_nodes);
-         free(offline_nodes);
-     }
-+    if (online_remote_nodes) {
-+        print_as("RemoteOnline: [%s ]\n", online_remote_nodes);
-+        free(online_remote_nodes);
-+    }
-+    if (offline_remote_nodes) {
-+        print_as("RemoteOFFLINE: [%s ]\n", offline_remote_nodes);
-+        free(offline_remote_nodes);
-+    }
-+    if (online_remote_containers) {
-+        print_as("Containers: [%s ]\n", online_remote_containers);
-+        free(online_remote_containers);
-+    }
- 
-     if (group_by_node == FALSE && inactive_resources) {
-         print_as("\nFull list of resources:\n");
-diff --git a/tools/crm_simulate.c b/tools/crm_simulate.c
-index 0d95e53..78cab50 100644
---- a/tools/crm_simulate.c
-+++ b/tools/crm_simulate.c
-@@ -530,7 +530,10 @@ static void
- print_cluster_status(pe_working_set_t * data_set)
- {
-     char *online_nodes = NULL;
-+    char *online_remote_nodes = NULL;
-+    char *online_remote_containers = NULL;
-     char *offline_nodes = NULL;
-+    char *offline_remote_nodes = NULL;
- 
-     GListPtr gIter = NULL;
- 
-@@ -539,7 +542,7 @@ print_cluster_status(pe_working_set_t * data_set)
-         const char *node_mode = NULL;
-         char *node_name = NULL;
- 
--        if(node->details->remote_rsc) {
-+        if (node->details->remote_rsc && node->details->remote_rsc->container) {
-             node_name = g_strdup_printf("%s:%s", node->details->uname, node->details->remote_rsc->container->id);
-         } else {
-             node_name = g_strdup_printf("%s", node->details->uname);
-@@ -576,24 +579,45 @@ print_cluster_status(pe_working_set_t * data_set)
-                 node_mode = "OFFLINE (maintenance)";
-             }
- 
-+
-+
-         } else if (node->details->online) {
-             node_mode = "online";
--            online_nodes = add_list_element(online_nodes, node_name);
-+            if (node->details->remote_rsc && node->details->remote_rsc->container) {
-+                online_remote_containers = add_list_element(online_remote_containers, node_name);
-+            } else if (node->details->remote_rsc) {
-+                online_remote_nodes = add_list_element(online_remote_nodes, node_name);
-+            } else {
-+                online_nodes = add_list_element(online_nodes, node_name);
-+            }
-             free(node_name);
-             continue;
- 
-         } else {
-             node_mode = "OFFLINE";
--            offline_nodes = add_list_element(offline_nodes, node_name);
-+            if (node->details->remote_rsc) {
-+                if (node->details->remote_rsc->container == NULL) {
-+                    offline_remote_nodes = add_list_element(offline_remote_nodes, node_name);
-+                } else {
-+                    /* ignore displaying offline container nodes */
-+                }
-+            } else {
-+                offline_nodes = add_list_element(offline_nodes, node_name);
-+            }
-             free(node_name);
-             continue;
-         }
- 
--        if (safe_str_eq(node_name, node->details->id)) {
-+        if (node->details->remote_rsc && node->details->remote_rsc->container) {
-+            printf("ContainerNode %s: %s\n", node_name, node_mode);
-+        } else if (node->details->remote_rsc) {
-+            printf("RemoteNode %s: %s\n", node_name, node_mode);
-+        } else if (safe_str_eq(node->details->uname, node->details->id)) {
-             printf("Node %s: %s\n", node_name, node_mode);
-         } else {
-             printf("Node %s (%s): %s\n", node_name, node->details->id, node_mode);
-         }
-+
-         free(node_name);
-     }
- 
-@@ -605,6 +629,18 @@ print_cluster_status(pe_working_set_t * data_set)
-         printf("OFFLINE: [%s ]\n", offline_nodes);
-         free(offline_nodes);
-     }
-+    if (online_remote_nodes) {
-+        printf("RemoteOnline: [%s ]\n", online_remote_nodes);
-+        free(online_remote_nodes);
-+    }
-+    if (offline_remote_nodes) {
-+        printf("RemoteOFFLINE: [%s ]\n", offline_remote_nodes);
-+        free(offline_remote_nodes);
-+    }
-+    if (online_remote_containers) {
-+        printf("Containers: [%s ]\n", online_remote_containers);
-+        free(online_remote_containers);
-+    }
- 
-     fprintf(stdout, "\n");
-     for (gIter = data_set->resources; gIter != NULL; gIter = gIter->next) {
diff --git a/SOURCES/bz902407-pcmk-crm_resource_handle_ban_for_master_slave_resources_as_advertised.patch b/SOURCES/bz902407-pcmk-crm_resource_handle_ban_for_master_slave_resources_as_advertised.patch
deleted file mode 100644
index 346f593..0000000
--- a/SOURCES/bz902407-pcmk-crm_resource_handle_ban_for_master_slave_resources_as_advertised.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-commit b15fd2bd176211fb9ae6b158e48f1ee07c21ecee
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Fri Aug 23 13:29:00 2013 +1000
-
-    Bug rhbz#902407 - crm_resource: Handle --ban for master/slave resources as advertised
-
-diff --git a/tools/crm_resource.c b/tools/crm_resource.c
-index e4d2215..ea23698 100644
---- a/tools/crm_resource.c
-+++ b/tools/crm_resource.c
-@@ -905,16 +905,19 @@ ban_resource(const char *rsc_id, const char *host, GListPtr allnodes, cib_t * ci
-         CMD_ERR("WARNING: Creating rsc_location constraint '%s'"
-                 " with a score of -INFINITY for resource %s"
-                 " on %s.\n", ID(location), rsc_id, host);
--        CMD_ERR("\tThis will prevent %s from running"
-+        CMD_ERR("\tThis will prevent %s from %s"
-                 " on %s until the constraint is removed using"
-                 " the 'crm_resource --clear' command or manually"
--                " with cibadmin\n", rsc_id, host);
-+                " with cibadmin\n", rsc_id, scope_master?"being promoted":"running", host);
-         CMD_ERR("\tThis will be the case even if %s is"
-                 " the last node in the cluster\n", host);
-         CMD_ERR("\tThis message can be disabled with --quiet\n");
-     }
- 
-     crm_xml_add(location, XML_COLOC_ATTR_SOURCE, rsc_id);
-+    if(scope_master) {
-+        crm_xml_add(location, XML_RULE_ATTR_ROLE, RSC_ROLE_MASTER_S);
-+    }
- 
-     if (later_s == NULL) {
-         /* Short form */
-@@ -2003,7 +2006,7 @@ main(int argc, char **argv)
-             node_t *current = rsc->running_on->data;
-             rc = ban_resource(rsc_id, current->details->uname, NULL, cib_conn);
- 
--        } else if(scope_master && rsc->variant == pe_master) {
-+        } else if(rsc->variant == pe_master) {
-             int count = 0;
-             GListPtr iter = NULL;
-             node_t *current = NULL;
diff --git a/SOURCES/bz902407-pcmk-crm_resource_observe_master_modifier_for_move.patch b/SOURCES/bz902407-pcmk-crm_resource_observe_master_modifier_for_move.patch
deleted file mode 100644
index 3781c22..0000000
--- a/SOURCES/bz902407-pcmk-crm_resource_observe_master_modifier_for_move.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-commit 04c1373e2758744d53e83f8013c84c3517a028ce
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Tue Oct 1 20:47:07 2013 +1000
-
-    Fix: crm_resource: Observe --master modifier for --move
-    
-    Also ensure role=Master is overwritten for --ban
-    Do something sane for --move when called for a clone
-    
-    (cherry picked from commit f36c32b47b58254caf580e7fe56e6b5a8eef7639)
-
-diff --git a/tools/crm_resource.c b/tools/crm_resource.c
-index 6ded13d..44d96b0 100644
---- a/tools/crm_resource.c
-+++ b/tools/crm_resource.c
-@@ -917,6 +917,8 @@ ban_resource(const char *rsc_id, const char *host, GListPtr allnodes, cib_t * ci
-     crm_xml_add(location, XML_COLOC_ATTR_SOURCE, rsc_id);
-     if(scope_master) {
-         crm_xml_add(location, XML_RULE_ATTR_ROLE, RSC_ROLE_MASTER_S);
-+    } else {
-+        crm_xml_add(location, XML_RULE_ATTR_ROLE, RSC_ROLE_STARTED_S);
-     }
- 
-     if (later_s == NULL) {
-@@ -982,6 +984,11 @@ prefer_resource(const char *rsc_id, const char *host, cib_t * cib_conn)
-     free(id);
- 
-     crm_xml_add(location, XML_COLOC_ATTR_SOURCE, rsc_id);
-+    if(scope_master) {
-+        crm_xml_add(location, XML_RULE_ATTR_ROLE, RSC_ROLE_MASTER_S);
-+    } else {
-+        crm_xml_add(location, XML_RULE_ATTR_ROLE, RSC_ROLE_STARTED_S);
-+    }
- 
-     if (later_s == NULL) {
-         /* Short form */
-@@ -1924,8 +1931,11 @@ main(int argc, char **argv)
-         }
- 
-     } else if (rsc_cmd == 'M' && host_uname) {
--        resource_t *rsc = pe_find_resource(data_set.resources, rsc_id);
-+
-+        int count = 0;
-+        node_t *current = NULL;
-         node_t *dest = pe_find_node(data_set.nodes, host_uname);
-+        resource_t *rsc = pe_find_resource(data_set.resources, rsc_id);
- 
-         rc = -EINVAL;
- 
-@@ -1934,23 +1944,40 @@ main(int argc, char **argv)
-             rc = -ENXIO;
-             goto bail;
- 
--        } else if(rsc->variant == pe_clone) {
--            CMD_ERR("Resource '%s' not moved: moving a clone makes no sense\n", rsc_id);
--            goto bail;
--
--        } else if (rsc->variant < pe_clone && g_list_length(rsc->running_on) > 1) {
--            CMD_ERR("Resource '%s' not moved: active on multiple nodes\n", rsc_id);
--            goto bail;
--
--        } else if (rsc->variant < pe_clone && scope_master) {
-+        } else if (scope_master && rsc->variant < pe_master) {
-             resource_t *p = uber_parent(rsc);
-             if(p->variant == pe_master) {
--                CMD_ERR("Resource '%s' not moved: The --master option is not a valid for %s resources."
--                        "  Did you mean '%s'?\n", rsc_id, get_resource_typename(rsc->variant), p->id);
-+                CMD_ERR("Using parent '%s' for --move command instead of '%s'.\n", rsc->id, rsc_id);
-+                rsc_id = p->id;
-+                rsc = p;
-+
-             } else {
--                CMD_ERR("Resource '%s' not moved: The --master option is not a valid for %s resources.\n",
--                        rsc_id, get_resource_typename(rsc->variant));
-+                CMD_ERR("Ignoring '--master' option: not valid for %s resources.\n",
-+                        get_resource_typename(rsc->variant));
-+                scope_master = FALSE;
-             }
-+        }
-+
-+        if(rsc->variant == pe_master) {
-+            GListPtr iter = NULL;
-+
-+            for(iter = rsc->children; iter; iter = iter->next) {
-+                resource_t *child = (resource_t *)iter->data;
-+                if(child->role == RSC_ROLE_MASTER) {
-+                    rsc = child;
-+                    count++;
-+                }
-+            }
-+
-+            if(scope_master == FALSE && count == 0) {
-+                count = g_list_length(rsc->running_on);
-+            }
-+
-+        } else if (rsc->variant > pe_group) {
-+            count = g_list_length(rsc->running_on);
-+
-+        } else if (g_list_length(rsc->running_on) > 1) {
-+            CMD_ERR("Resource '%s' not moved: active on multiple nodes\n", rsc_id);
-             goto bail;
-         }
- 
-@@ -1961,13 +1988,19 @@ main(int argc, char **argv)
-         }
- 
-         if(g_list_length(rsc->running_on) == 1) {
--            node_t *current = rsc->running_on->data;
-+            current = rsc->running_on->data;
-+        }
- 
--            if (safe_str_eq(current->details->uname, dest->details->uname)) {
--                CMD_ERR("Error performing operation: %s is already active on %s\n", rsc_id, dest->details->uname);
--                goto bail;
--            }
--            /* } else if (rsc->variant == pe_master) { Find the master and ban it */
-+        if(current == NULL) {
-+            /* Nothing to check */
-+
-+        } else if(scope_master && rsc->role != RSC_ROLE_MASTER) {
-+            crm_trace("%s is already active on %s but not in correct state", rsc_id, dest->details->uname);
-+
-+        } else if (safe_str_eq(current->details->uname, dest->details->uname)) {
-+            CMD_ERR("Error performing operation: %s is already %s on %s\n",
-+                    rsc_id, scope_master?"promoted":"active", dest->details->uname);
-+            goto bail;
-         }
- 
-         /* Clear any previous constraints for 'dest' */
-@@ -1976,11 +2009,23 @@ main(int argc, char **argv)
-         /* Record an explicit preference for 'dest' */
-         rc = prefer_resource(rsc_id, dest->details->uname, cib_conn);
- 
--        if(do_force && g_list_length(rsc->running_on) == 1) {
--            node_t *current = rsc->running_on->data;
-+        crm_trace("%s%s now prefers node %s%s",
-+                  rsc->id, scope_master?" (master)":"", dest->details->uname, do_force?"(forced)":"");
- 
--            /* Ban the original location */
--            ban_resource(rsc_id, current->details->uname, NULL, cib_conn);
-+        if(do_force) {
-+            /* Ban the original location if possible */
-+            if(current) {
-+                ban_resource(rsc_id, current->details->uname, NULL, cib_conn);
-+
-+            } else if(count > 1) {
-+                CMD_ERR("Resource '%s' is currently %s in %d locations.  One may now move one to %s\n",
-+                        rsc_id, scope_master?"promoted":"active", count, dest->details->uname);
-+                CMD_ERR("You can prevent '%s' from being %s at a specific location with:"
-+                        " --ban %s--host <name>\n", rsc_id, scope_master?"promoted":"active", scope_master?"--master ":"");
-+
-+            } else {
-+                crm_trace("Not banning %s from it's current location: not active", rsc_id);
-+            }
-         }
- 
-     } else if (rsc_cmd == 'B' && host_uname) {
-@@ -2034,7 +2079,8 @@ main(int argc, char **argv)
-                 rc = ban_resource(rsc_id, current->details->uname, NULL, cib_conn);
- 
-             } else {
--                CMD_ERR("Resource '%s' not moved: currently promoted in %d locations.\n", rsc_id, count);
-+                CMD_ERR("Resource '%s' not moved: active in %d locations (promoted in %d).\n", rsc_id, g_list_length(rsc->running_on), count);
-+                CMD_ERR("You can prevent '%s' from running on a specific location with: --ban --host <name>\n", rsc_id);
-                 CMD_ERR("You can prevent '%s' from being promoted at a specific location with:"
-                         " --ban --master --host <name>\n", rsc_id);
-             }
-@@ -2042,12 +2088,6 @@ main(int argc, char **argv)
-         } else {
-             CMD_ERR("Resource '%s' not moved: active in %d locations.\n", rsc_id, g_list_length(rsc->running_on));
-             CMD_ERR("You can prevent '%s' from running on a specific location with: --ban --host <name>\n", rsc_id);
--
--            if(rsc->variant == pe_master && g_list_length(rsc->running_on) > 0) {
--                CMD_ERR("You can prevent '%s' from being promoted at its current location with: --ban --master\n", rsc_id);
--                CMD_ERR("You can prevent '%s' from being promoted at a specific location with:"
--                        " --ban --master --host <name>\n", rsc_id);
--            }
-         }
- 
-     } else if (rsc_cmd == 'G') {
diff --git a/SOURCES/bz902407-pcmk-location_constraints_are_allowed_to_specify_a_role.patch b/SOURCES/bz902407-pcmk-location_constraints_are_allowed_to_specify_a_role.patch
deleted file mode 100644
index c06bfda..0000000
--- a/SOURCES/bz902407-pcmk-location_constraints_are_allowed_to_specify_a_role.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-commit 1bf33b4b3954cc7e8958d90c0dd02c1a108871d6
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Fri Aug 23 13:27:48 2013 +1000
-
-    Fix: xml: Location constraints are allowed to specify a role
-
-diff --git a/xml/constraints-1.1.rng b/xml/constraints-1.1.rng
-index e224600..425b54c 100644
---- a/xml/constraints-1.1.rng
-+++ b/xml/constraints-1.1.rng
-@@ -20,13 +20,13 @@
-     <element name="rsc_location">
-       <attribute name="id"><data type="ID"/></attribute>
-       <attribute name="rsc"><data type="IDREF"/></attribute>
-+      <optional>
-+	<attribute name="role">
-+	  <ref name="attribute-roles"/>
-+	</attribute>
-+      </optional>
-       <choice>
- 	<group>
--	  <optional>
--	    <attribute name="role">
--	      <ref name="attribute-roles"/>
--	    </attribute>
--	  </optional>
- 	  <choice>
- 	    <attribute name="domain"><data type="IDREF"/></attribute>
- 	    <group>
-diff --git a/xml/constraints-1.2.rng b/xml/constraints-1.2.rng
-index f3af61f..221140c 100644
---- a/xml/constraints-1.2.rng
-+++ b/xml/constraints-1.2.rng
-@@ -20,6 +20,11 @@
-     <element name="rsc_location">
-       <attribute name="id"><data type="ID"/></attribute>
-       <attribute name="rsc"><data type="IDREF"/></attribute>
-+      <optional>
-+	<attribute name="role">
-+	  <ref name="attribute-roles"/>
-+	</attribute>
-+      </optional>
-       <choice>
- 	<group>
- 	  <externalRef href="score.rng"/>
diff --git a/SOURCES/bz902407-pcmk-pe_location_constraints_with_role_started_should_prevent_masters_from_running_at_all.patch b/SOURCES/bz902407-pcmk-pe_location_constraints_with_role_started_should_prevent_masters_from_running_at_all.patch
deleted file mode 100644
index 6cb28fa..0000000
--- a/SOURCES/bz902407-pcmk-pe_location_constraints_with_role_started_should_prevent_masters_from_running_at_all.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-commit fbb822a3f83a180380d16be59d8eb9e38abbdce3
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Tue Oct 1 15:20:25 2013 +1000
-
-    Fix: PE: Location constraints with role=Started should prevent masters from running at all
-    
-    (cherry picked from commit b4c34e06f5f355f5cf6ee721b4bff1ce455e114e)
-
-diff --git a/pengine/constraints.c b/pengine/constraints.c
-index 9fc52d9..594d630 100644
---- a/pengine/constraints.c
-+++ b/pengine/constraints.c
-@@ -402,13 +402,17 @@ unpack_rsc_location(xmlNode * xml_obj, pe_working_set_t * data_set)
-             return FALSE;
- 
-         } else {
--            location->role_filter = text2role(role);
--            if (location->role_filter == RSC_ROLE_SLAVE) {
--                /* Fold slave back into Started for simplicity
--                 * At the point Slave location constraints are evaluated,
--                 * all resources are still either stopped or started
--                 */
--                location->role_filter = RSC_ROLE_STARTED;
-+            enum rsc_role_e r = text2role(role);
-+            switch(r) {
-+                case RSC_ROLE_UNKNOWN:
-+                case RSC_ROLE_STARTED:
-+                case RSC_ROLE_SLAVE:
-+                    /* Applies to all */
-+                    location->role_filter = RSC_ROLE_UNKNOWN;
-+                    break;
-+                default:
-+                    location->role_filter = r;
-+                    break;
-             }
-         }
-     }
diff --git a/SOURCES/bz902407-pcmk-provide_a_meaningful_error_if_master_is_used_for_primitives_and_groups.patch b/SOURCES/bz902407-pcmk-provide_a_meaningful_error_if_master_is_used_for_primitives_and_groups.patch
deleted file mode 100644
index 4c79da2..0000000
--- a/SOURCES/bz902407-pcmk-provide_a_meaningful_error_if_master_is_used_for_primitives_and_groups.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-commit 4cc5bf3a67cae9b17c49cd73d840b5388500ad13
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Tue Sep 17 14:06:41 2013 +1000
-
-    Fix: crm_resource: Provide a meaningful error if --master is used for primitives and groups
-
-diff --git a/tools/crm_resource.c b/tools/crm_resource.c
-index 69470d7..b63b9ae 100644
---- a/tools/crm_resource.c
-+++ b/tools/crm_resource.c
-@@ -1942,6 +1942,17 @@ main(int argc, char **argv)
-         } else if (rsc->variant < pe_clone && g_list_length(rsc->running_on) > 1) {
-             CMD_ERR("Resource '%s' not moved: active on multiple nodes\n", rsc_id);
-             goto bail;
-+
-+        } else if (rsc->variant < pe_clone && scope_master) {
-+            resource_t *p = uber_parent(rsc);
-+            if(p->variant == pe_master) {
-+                CMD_ERR("Resource '%s' not moved: The --master option is not a valid for %s resources."
-+                        "  Did you mean '%s'?\n", rsc_id, get_resource_typename(rsc->variant), p->id);
-+            } else {
-+                CMD_ERR("Resource '%s' not moved: The --master option is not a valid for %s resources.\n",
-+                        rsc_id, get_resource_typename(rsc->variant));
-+            }
-+            goto bail;
-         }
- 
-         if(dest == NULL) {
diff --git a/SOURCES/bz996576-pcmk-crm_report_correctly_redirect_error_message_to_dev_null.patch b/SOURCES/bz996576-pcmk-crm_report_correctly_redirect_error_message_to_dev_null.patch
deleted file mode 100644
index 86a9f9e..0000000
--- a/SOURCES/bz996576-pcmk-crm_report_correctly_redirect_error_message_to_dev_null.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-commit e3410ecf4c13dba52d11981b371f4f9c81b369be
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Sep 25 12:44:58 2013 +1000
-
-    Fix: crm_report: Correctly redirect error message to /dev/null
-    
-    (cherry picked from commit 2a977cb7a338fdb1e845c5403485c606b8c9eb2f)
-    
-    Conflicts:
-    	tools/report.collector
-
-diff --git a/tools/report.collector b/tools/report.collector
-index 00bd319..1667364 100644
---- a/tools/report.collector
-+++ b/tools/report.collector
-@@ -711,6 +711,13 @@ for l in $logfiles $EXTRA_LOGS; do
-     cat $b | grep -f $pattfile >> $ANALYSIS_F
- done
- 
-+which journalctl > /dev/null 2>&1
-+if [ $? = 0 ]; then
-+   log "Including segment [$LOG_START-$LOG_END] from journald"
-+   journalctl --since "$start" --until "$end" > journal.log
-+   cat journal.log | grep -f $pattfile >> $ANALYSIS_F
-+fi
-+
- rm -f $pattfile
- trap "" 0
- 
diff --git a/SOURCES/bz996576-pcmk-observe_pcmk_host_list_during_automatic_unfencing.patch b/SOURCES/bz996576-pcmk-observe_pcmk_host_list_during_automatic_unfencing.patch
deleted file mode 100644
index 5f58a19..0000000
--- a/SOURCES/bz996576-pcmk-observe_pcmk_host_list_during_automatic_unfencing.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-commit dde47a0eca301ca97dbe03fc9a1f6328e3b127a3
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Mon Sep 23 09:23:45 2013 +1000
-
-    Fix: Fencing: Observe pcmk_host_list during automatic unfencing
-
-diff --git a/fencing/commands.c b/fencing/commands.c
-index 73a7fc1..7d04952 100644
---- a/fencing/commands.c
-+++ b/fencing/commands.c
-@@ -665,7 +665,7 @@ schedule_internal_command(const char *origin,
-     schedule_stonith_command(cmd, device);
- }
- 
--static gboolean
-+gboolean
- string_in_list(GListPtr list, const char *item)
- {
-     int lpc = 0;
-diff --git a/fencing/internal.h b/fencing/internal.h
-index 9a8b096..11a8c58 100644
---- a/fencing/internal.h
-+++ b/fencing/internal.h
-@@ -164,6 +164,8 @@ int stonith_manual_ack(xmlNode * msg, remote_fencing_op_t * op);
- 
- void unfence_cb(GPid pid, int rc, const char *output, gpointer user_data);
- 
-+gboolean string_in_list(GListPtr list, const char *item);
-+
- void
- schedule_internal_command(const char *origin,
-                           stonith_device_t * device,
-diff --git a/fencing/main.c b/fencing/main.c
-index 6401f2f..a90c43b 100644
---- a/fencing/main.c
-+++ b/fencing/main.c
-@@ -669,12 +669,24 @@ static void cib_device_update(resource_t *rsc, pe_working_set_t *data_set)
-         if(have_fence_scsi == FALSE && safe_str_eq(agent, "fence_scsi")) {
-             stonith_device_t *device = g_hash_table_lookup(device_list, rsc->id);
- 
--            if(device) {
--                have_fence_scsi = TRUE;
--                crm_notice("Unfencing ourselves with %s (%s)", agent, device->id);
--                schedule_internal_command(__FUNCTION__, device, "on", stonith_our_uname, 0, NULL, unfence_cb);
-+            if(stonith_our_uname == NULL) {
-+                crm_trace("Cannot unfence ourselves: no local host name");
-+
-+            } else if(device == NULL) {
-+                crm_err("Cannot unfence ourselves: no such device '%s'", rsc->id);
-+
-             } else {
--                crm_err("Device %s does not exist", rsc->id);
-+                const char *alias = g_hash_table_lookup(device->aliases, stonith_our_uname);
-+
-+                if (!alias) {
-+                    alias = stonith_our_uname;
-+                }
-+
-+                if (device->targets && string_in_list(device->targets, alias)) {
-+                    have_fence_scsi = TRUE;
-+                    crm_notice("Unfencing ourselves with %s (%s)", agent, device->id);
-+                    schedule_internal_command(__FUNCTION__, device, "on", stonith_our_uname, 0, NULL, unfence_cb);
-+                }
-             }
-         }
- 
diff --git a/SOURCES/bz996850-pcmk-log_crmd_supply_arguments_in_the_correct_order.patch b/SOURCES/bz996850-pcmk-log_crmd_supply_arguments_in_the_correct_order.patch
deleted file mode 100644
index 93f07e0..0000000
--- a/SOURCES/bz996850-pcmk-log_crmd_supply_arguments_in_the_correct_order.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-commit d5875e38412739155a6e3480cd5797d86fdda301
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Mon Sep 23 15:37:18 2013 +1000
-
-    Log: crmd: Supply arguments in the correct order
-    
-    (cherry picked from commit 6cbe8c46fa82ab908d8b0731ad4995cc19b34cc4)
-
-diff --git a/crmd/lrm.c b/crmd/lrm.c
-index 2e17488..0254a9f 100644
---- a/crmd/lrm.c
-+++ b/crmd/lrm.c
-@@ -353,7 +353,7 @@ lrm_state_verify_stopped(lrm_state_t * lrm_state, enum crmd_fsa_state cur_state,
-             lrm_state->pending_ops, stop_recurring_actions, lrm_state);
- 
-         crm_notice("Stopped %u recurring operations at %s (%u ops remaining)",
--                   g_hash_table_size(lrm_state->pending_ops), when, removed);
-+                   removed, when, g_hash_table_size(lrm_state->pending_ops));
-     }
- 
-     if (lrm_state->pending_ops) {
diff --git a/SOURCES/pacemaker-094c0ea-to-d9a51c6.patch b/SOURCES/pacemaker-094c0ea-to-d9a51c6.patch
new file mode 100644
index 0000000..d166559
--- /dev/null
+++ b/SOURCES/pacemaker-094c0ea-to-d9a51c6.patch
@@ -0,0 +1,8513 @@
+diff --git a/crmd/crmd_lrm.h b/crmd/crmd_lrm.h
+index 46cddc2..3a08392 100644
+--- a/crmd/crmd_lrm.h
++++ b/crmd/crmd_lrm.h
+@@ -71,6 +71,12 @@ struct pending_deletion_op_s {
+ xmlNode *do_lrm_query_internal(lrm_state_t * lrm_state, gboolean is_replace);
+ 
+ /*!
++ * \brief Is this the local ipc connection to the lrmd
++ */
++gboolean
++lrm_state_is_local(lrm_state_t *lrm_state);
++
++/*!
+  * \brief Clear all state information from a single state entry.
+  * \note This does not close the lrmd connection
+  */
+diff --git a/crmd/lrm.c b/crmd/lrm.c
+index b68f657..5bff4d5 100644
+--- a/crmd/lrm.c
++++ b/crmd/lrm.c
+@@ -1163,7 +1163,12 @@ get_lrm_resource(lrm_state_t * lrm_state, xmlNode * resource, xmlNode * op_msg,
+             fsa_data_t *msg_data = NULL;
+ 
+             crm_err("Could not add resource %s to LRM %s", id, lrm_state->node_name);
+-            register_fsa_error(C_FSA_INTERNAL, I_FAIL, NULL);
++            /* only register this as a internal error if this involves the local
++             * lrmd. Otherwise we're likely dealing with an unresponsive remote-node
++             * which is not a FSA failure. */
++            if (lrm_state_is_local(lrm_state) == TRUE) {
++                register_fsa_error(C_FSA_INTERNAL, I_FAIL, NULL);
++            }
+         }
+     }
+ 
+@@ -1211,6 +1216,28 @@ delete_resource(lrm_state_t * lrm_state,
+     delete_rsc_entry(lrm_state, request, id, gIter, rc, user);
+ }
+ 
++static int
++get_fake_call_id(lrm_state_t *lrm_state, const char *rsc_id)
++{
++    int call_id = 0;
++    rsc_history_t *entry = NULL;
++
++    entry = g_hash_table_lookup(lrm_state->resource_history, rsc_id);
++
++    /* Make sure the call id is greater than the last successful operation,
++     * otherwise the failure will not result in a possible recovery of the resource
++     * as it could appear the failure occurred before the successful start */
++    if (entry) {
++        call_id = entry->last_callid + 1;
++    }
++
++    if (call_id < 0) {
++        call_id = 1;
++    }
++    return call_id;
++}
++
++
+ /*	 A_LRM_INVOKE	*/
+ void
+ do_lrm_invoke(long long action,
+@@ -1272,7 +1299,6 @@ do_lrm_invoke(long long action,
+         operation = CRM_OP_LRM_REFRESH;
+ 
+     } else if (safe_str_eq(crm_op, CRM_OP_LRM_FAIL)) {
+-        rsc_history_t *entry = NULL;
+         lrmd_event_data_t *op = NULL;
+         lrmd_rsc_info_t *rsc = NULL;
+         xmlNode *xml_rsc = find_xml_node(input->xml, XML_CIB_TAG_RESOURCE, TRUE);
+@@ -1293,16 +1319,7 @@ do_lrm_invoke(long long action,
+ 
+         free((char *)op->user_data);
+         op->user_data = NULL;
+-        entry = g_hash_table_lookup(lrm_state->resource_history, op->rsc_id);
+-        /* Make sure the call id is greater than the last successful operation,
+-         * otherwise the failure will not result in a possible recovery of the resource
+-         * as it could appear the failure occurred before the successful start */
+-        if (entry) {
+-            op->call_id = entry->last_callid + 1;
+-            if (op->call_id < 0) {
+-                op->call_id = 1;
+-            }
+-        }
++        op->call_id = get_fake_call_id(lrm_state, op->rsc_id);
+         op->interval = 0;
+         op->op_status = PCMK_LRM_OP_DONE;
+         op->rc = PCMK_OCF_UNKNOWN_ERROR;
+@@ -1430,6 +1447,21 @@ do_lrm_invoke(long long action,
+         rsc = get_lrm_resource(lrm_state, xml_rsc, input->xml, create_rsc);
+ 
+         if (rsc == NULL && create_rsc) {
++            lrmd_event_data_t *op = NULL;
++
++            /* if the operation couldn't complete because we can't register
++             * the resource, return a generic error */
++            op = construct_op(lrm_state, input->xml, ID(xml_rsc), operation);
++            CRM_ASSERT(op != NULL);
++
++            op->op_status = PCMK_LRM_OP_DONE;
++            op->rc = PCMK_OCF_UNKNOWN_ERROR;
++            op->t_run = time(NULL);
++            op->t_rcchange = op->t_run;
++
++            send_direct_ack(from_host, from_sys, NULL, op, ID(xml_rsc));
++            lrmd_free_event(op);
++
+             crm_err("Invalid resource definition");
+             crm_log_xml_warn(input->msg, "bad input");
+ 
+@@ -1767,6 +1799,7 @@ do_lrm_rsc_op(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, const char *operat
+     lrmd_key_value_t *params = NULL;
+     fsa_data_t *msg_data = NULL;
+     const char *transition = NULL;
++    gboolean stop_recurring = FALSE;
+ 
+     CRM_CHECK(rsc != NULL, return);
+     CRM_CHECK(operation != NULL, return);
+@@ -1781,10 +1814,25 @@ do_lrm_rsc_op(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, const char *operat
+     op = construct_op(lrm_state, msg, rsc->id, operation);
+     CRM_CHECK(op != NULL, return);
+ 
+-    /* stop any previous monitor operations before changing the resource state */
+-    if (op->interval == 0
++    if (is_remote_lrmd_ra(NULL, NULL, rsc->id)
++        && op->interval == 0
++        && strcmp(operation, CRMD_ACTION_MIGRATE) == 0) {
++
++        /* pcmk remote connections are a special use case.
++         * We never ever want to stop monitoring a connection resource until
++         * the entire migration has completed. If the connection is ever unexpected
++         * severed, even during a migration, this is an event we must detect.*/
++        stop_recurring = FALSE;
++
++    } else if (op->interval == 0
+         && strcmp(operation, CRMD_ACTION_STATUS) != 0
+         && strcmp(operation, CRMD_ACTION_NOTIFY) != 0) {
++
++        /* stop any previous monitor operations before changing the resource state */
++        stop_recurring = TRUE;
++    }
++
++    if (stop_recurring == TRUE) {
+         guint removed = 0;
+         struct stop_recurring_action_s data;
+ 
+@@ -1837,10 +1885,20 @@ do_lrm_rsc_op(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, const char *operat
+                              op->op_type,
+                              op->user_data, op->interval, op->timeout, op->start_delay, params);
+ 
+-    if (call_id <= 0) {
++    if (call_id <= 0 && lrm_state_is_local(lrm_state)) {
+         crm_err("Operation %s on %s failed: %d", operation, rsc->id, call_id);
+         register_fsa_error(C_FSA_INTERNAL, I_FAIL, NULL);
+ 
++    } else if (call_id <= 0) {
++
++        crm_err("Operation %s on resource %s failed to execute on remote node %s: %d", operation, rsc->id, lrm_state->node_name, call_id);
++        op->call_id = get_fake_call_id(lrm_state, rsc->id);
++        op->op_status = PCMK_LRM_OP_DONE;
++        op->rc = PCMK_OCF_UNKNOWN_ERROR;
++        op->t_run = time(NULL);
++        op->t_rcchange = op->t_run;
++        process_lrm_event(lrm_state, op);
++
+     } else {
+         /* record all operations so we can wait
+          * for them to complete during shutdown
+diff --git a/crmd/lrm_state.c b/crmd/lrm_state.c
+index 72f66c7..efd061c 100644
+--- a/crmd/lrm_state.c
++++ b/crmd/lrm_state.c
+@@ -90,6 +90,21 @@ free_recurring_op(gpointer value)
+     free(op);
+ }
+ 
++gboolean
++lrm_state_is_local(lrm_state_t *lrm_state)
++{
++    if (lrm_state == NULL || fsa_our_uname == NULL) {
++        return FALSE;
++    }
++    
++    if (strcmp(lrm_state->node_name, fsa_our_uname) != 0) {
++        return FALSE;
++    }
++
++    return TRUE;
++
++}
++
+ lrm_state_t *
+ lrm_state_create(const char *node_name)
+ {
+diff --git a/crmd/remote_lrmd_ra.c b/crmd/remote_lrmd_ra.c
+index 2f658ee..ae59070 100644
+--- a/crmd/remote_lrmd_ra.c
++++ b/crmd/remote_lrmd_ra.c
+@@ -231,7 +231,7 @@ retry_start_cmd_cb(gpointer data)
+         return FALSE;
+     }
+     cmd = ra_data->cur_cmd;
+-    if (safe_str_neq(cmd->action, "start")) {
++    if (safe_str_neq(cmd->action, "start") && safe_str_neq(cmd->action, "migrate_from")) {
+         return FALSE;
+     }
+     update_remaining_timeout(cmd);
+@@ -264,7 +264,7 @@ connection_takeover_timeout_cb(gpointer data)
+     lrm_state_t *lrm_state = NULL;
+     remote_ra_cmd_t *cmd = data;
+ 
+-    crm_debug("takeover event timed out for node %s", cmd->rsc_id);
++    crm_info("takeover event timed out for node %s", cmd->rsc_id);
+     cmd->takeover_timeout_id = 0;
+ 
+     lrm_state = lrm_state_find(cmd->rsc_id);
+@@ -281,7 +281,7 @@ monitor_timeout_cb(gpointer data)
+     lrm_state_t *lrm_state = NULL;
+     remote_ra_cmd_t *cmd = data;
+ 
+-    crm_debug("Poke async response timed out for node %s", cmd->rsc_id);
++    crm_info("Poke async response timed out for node %s", cmd->rsc_id);
+     cmd->monitor_timeout_id = 0;
+     cmd->op_status = PCMK_LRM_OP_TIMEOUT;
+     cmd->rc = PCMK_OCF_UNKNOWN_ERROR;
+diff --git a/include/crm/pengine/common.h b/include/crm/pengine/common.h
+index 33acc6e..0d853c0 100644
+--- a/include/crm/pengine/common.h
++++ b/include/crm/pengine/common.h
+@@ -34,7 +34,18 @@ enum action_fail_response {
+     action_fail_stop,
+     action_fail_standby,
+     action_fail_fence,
+-    action_fail_restart_container
++    action_fail_restart_container,
++    /* This is reserved for internal use for baremetal remote node connection
++     * resources. This fail action means
++     * 1. If stonith is enabled, fence the baremetal remote node
++     * 2. stonith not enabled, attempt to recover the connection resources
++     *
++     * This response value gives us control of saying types of
++     * connection resource failures result in fencing the remote node.
++     * Example: recurring monitors failure should result in fencing.
++     */
++    action_fail_reset_remote,
++
+ };
+ 
+ /* the "done" action must be the "pre" action +1 */
+diff --git a/include/crm/pengine/status.h b/include/crm/pengine/status.h
+index f08a910..da20f64 100644
+--- a/include/crm/pengine/status.h
++++ b/include/crm/pengine/status.h
+@@ -138,6 +138,8 @@ struct node_shared_s {
+     gboolean is_dc;
+     gboolean rsc_discovery_enabled;
+ 
++    gboolean remote_requires_reset;
++
+     int num_resources;
+     GListPtr running_rsc;       /* resource_t* */
+     GListPtr allocated_rsc;     /* resource_t* */
+diff --git a/lib/common/ipc.c b/lib/common/ipc.c
+index f26225f..1b8558d 100644
+--- a/lib/common/ipc.c
++++ b/lib/common/ipc.c
+@@ -1144,7 +1144,7 @@ crm_ipc_send(crm_ipc_t * client, xmlNode * message, enum crm_ipc_flags flags, in
+ 
+     id++;
+     CRM_LOG_ASSERT(id != 0); /* Crude wrap-around detection */
+-    rc = crm_ipc_prepare(id, message, &iov, ipc_buffer_max);
++    rc = crm_ipc_prepare(id, message, &iov, client->max_buf_size);
+     if(rc < 0) {
+         return rc;
+     }
+@@ -1158,10 +1158,10 @@ crm_ipc_send(crm_ipc_t * client, xmlNode * message, enum crm_ipc_flags flags, in
+     }
+ 
+     if(header->size_compressed) {
+-        if(factor < 10 && (ipc_buffer_max / 10) < (rc / factor)) {
++        if(factor < 10 && (client->max_buf_size / 10) < (rc / factor)) {
+             crm_notice("Compressed message exceeds %d0%% of the configured ipc limit (%d bytes), "
+                        "consider setting PCMK_ipc_buffer to %d or higher",
+-                       factor, ipc_buffer_max, 2*ipc_buffer_max);
++                       factor, client->max_buf_size, 2*client->max_buf_size);
+             factor++;
+         }
+     }
+diff --git a/lib/lrmd/lrmd_client.c b/lib/lrmd/lrmd_client.c
+index b8c5d23..74bd692 100644
+--- a/lib/lrmd/lrmd_client.c
++++ b/lib/lrmd/lrmd_client.c
+@@ -604,12 +604,18 @@ lrmd_tls_recv_reply(lrmd_t * lrmd, int total_timeout, int expected_reply_id, int
+                 remaining_timeout = total_timeout;
+             }
+             if (remaining_timeout <= 0) {
++                crm_err("Never received the expected reply during the timeout period, disconnecting.");
++                *disconnected = TRUE;
+                 return NULL;
+             }
+ 
+             crm_remote_recv(native->remote, remaining_timeout, disconnected);
+             xml = crm_remote_parse_buffer(native->remote);
+-            if (!xml || *disconnected) {
++            if (!xml) {
++                crm_err("Unable to receive expected reply, disconnecting.");
++                *disconnected = TRUE;
++                return NULL;
++            } else if (*disconnected) {
+                 return NULL;
+             }
+         }
+diff --git a/lib/pengine/common.c b/lib/pengine/common.c
+index e5e4ea7..42eda33 100644
+--- a/lib/pengine/common.c
++++ b/lib/pengine/common.c
+@@ -214,6 +214,9 @@ fail2text(enum action_fail_response fail)
+         case action_fail_restart_container:
+             result = "restart-container";
+             break;
++        case action_fail_reset_remote:
++            result = "reset-remote";
++            break;
+     }
+     return result;
+ }
+diff --git a/lib/pengine/unpack.c b/lib/pengine/unpack.c
+index a19bdff..bdd6450 100644
+--- a/lib/pengine/unpack.c
++++ b/lib/pengine/unpack.c
+@@ -80,6 +80,15 @@ pe_fence_node(pe_working_set_t * data_set, node_t * node, const char *reason)
+                   node->details->uname, reason);
+         set_bit(node->details->remote_rsc->flags, pe_rsc_failed);
+ 
++    } else if (is_baremetal_remote_node(node)) {
++        if(pe_can_fence(data_set, node)) {
++            crm_warn("Node %s will be fenced %s", node->details->uname, reason);
++        } else {
++            crm_warn("Node %s is unclean %s", node->details->uname, reason);
++        }
++        node->details->unclean = TRUE;
++        node->details->remote_requires_reset = TRUE;
++
+     } else if (node->details->unclean == FALSE) {
+         if(pe_can_fence(data_set, node)) {
+             crm_warn("Node %s will be fenced %s", node->details->uname, reason);
+@@ -1143,8 +1152,10 @@ unpack_remote_status(xmlNode * status, pe_working_set_t * data_set)
+         }
+         crm_trace("Processing remote node id=%s, uname=%s", id, uname);
+ 
+-        this_node->details->unclean = FALSE;
+-        this_node->details->unseen = FALSE;
++        if (this_node->details->remote_requires_reset == FALSE) {
++            this_node->details->unclean = FALSE;
++            this_node->details->unseen = FALSE;
++        }
+         attrs = find_xml_node(state, XML_TAG_TRANSIENT_NODEATTRS, FALSE);
+         add_node_attrs(attrs, this_node, TRUE, data_set);
+ 
+@@ -1777,6 +1788,7 @@ process_rsc_state(resource_t * rsc, node_t * node,
+                   enum action_fail_response on_fail,
+                   xmlNode * migrate_op, pe_working_set_t * data_set)
+ {
++    node_t *tmpnode = NULL;
+     CRM_ASSERT(rsc);
+     pe_rsc_trace(rsc, "Resource %s is %s on %s: on_fail=%s",
+                  rsc->id, role2text(rsc->role), node->details->uname, fail2text(on_fail));
+@@ -1817,7 +1829,7 @@ process_rsc_state(resource_t * rsc, node_t * node,
+             should_fence = TRUE;
+         } else if (is_set(data_set->flags, pe_flag_stonith_enabled)) {
+             if (is_baremetal_remote_node(node) && is_not_set(node->details->remote_rsc->flags, pe_rsc_failed)) {
+-                /* setting unceen = true means that fencing of the remote node will
++                /* setting unseen = true means that fencing of the remote node will
+                  * only occur if the connection resource is not going to start somewhere.
+                  * This allows connection resources on a failed cluster-node to move to
+                  * another node without requiring the baremetal remote nodes to be fenced
+@@ -1892,7 +1904,20 @@ process_rsc_state(resource_t * rsc, node_t * node,
+ 
+             if (rsc->container) {
+                 stop_action(rsc->container, node, FALSE);
+-
++            } else if (rsc->role != RSC_ROLE_STOPPED && rsc->role != RSC_ROLE_UNKNOWN) {
++                stop_action(rsc, node, FALSE);
++            }
++            break;
++        case action_fail_reset_remote:
++            set_bit(rsc->flags, pe_rsc_failed);
++            tmpnode = NULL;
++            if (rsc->is_remote_node) {
++                tmpnode = pe_find_node(data_set->nodes, rsc->id);
++            }
++            if (tmpnode && is_baremetal_remote_node(tmpnode)) {
++                /* connection resource to baremetal resource failed in a way that
++                 * should result in fencing the remote-node. */
++                pe_fence_node(data_set, tmpnode, "because of connection failure(s)");
+             } else if (rsc->role != RSC_ROLE_STOPPED && rsc->role != RSC_ROLE_UNKNOWN) {
+                 stop_action(rsc, node, FALSE);
+             }
+@@ -1904,7 +1929,7 @@ process_rsc_state(resource_t * rsc, node_t * node,
+      * result in a fencing operation regardless if we're going to attempt to 
+      * reconnect to the remote-node in this transition or not. */
+     if (is_set(rsc->flags, pe_rsc_failed) && rsc->is_remote_node) {
+-        node_t *tmpnode = pe_find_node(data_set->nodes, rsc->id);
++        tmpnode = pe_find_node(data_set->nodes, rsc->id);
+         if (tmpnode && tmpnode->details->unclean) {
+             tmpnode->details->unseen = FALSE;
+         }
+@@ -2510,10 +2535,9 @@ unpack_rsc_op_failure(resource_t *rsc, node_t *node, int rc, xmlNode *xml_op, en
+ 
+     action = custom_action(rsc, strdup(key), task, NULL, TRUE, FALSE, data_set);
+     if ((action->on_fail <= action_fail_fence && *on_fail < action->on_fail) ||
+-        (action->on_fail == action_fail_restart_container
+-         && *on_fail <= action_fail_recover) || (*on_fail == action_fail_restart_container
+-                                                 && action->on_fail >=
+-                                                 action_fail_migrate)) {
++        (action->on_fail == action_fail_reset_remote && *on_fail <= action_fail_recover) ||
++        (action->on_fail == action_fail_restart_container && *on_fail <= action_fail_recover) ||
++        (*on_fail == action_fail_restart_container && action->on_fail >= action_fail_migrate)) {
+         pe_rsc_trace(rsc, "on-fail %s -> %s for %s (%s)", fail2text(*on_fail),
+                      fail2text(action->on_fail), action->uuid, key);
+         *on_fail = action->on_fail;
+@@ -2881,13 +2905,11 @@ update_resource_state(resource_t *rsc, node_t * node, xmlNode * xml_op, const ch
+             case action_fail_block:
+             case action_fail_ignore:
+             case action_fail_recover:
+-                *on_fail = action_fail_ignore;
+-                rsc->next_role = RSC_ROLE_UNKNOWN;
+-                break;
+-
+             case action_fail_restart_container:
++            case action_fail_reset_remote:
+                 *on_fail = action_fail_ignore;
+                 rsc->next_role = RSC_ROLE_UNKNOWN;
++                break;
+         }
+     }
+ }
+diff --git a/lib/pengine/utils.c b/lib/pengine/utils.c
+index baf6cb9..a40de60 100644
+--- a/lib/pengine/utils.c
++++ b/lib/pengine/utils.c
+@@ -35,6 +35,7 @@ void unpack_operation(action_t * action, xmlNode * xml_obj, resource_t * contain
+                       pe_working_set_t * data_set);
+ static xmlNode *find_rsc_op_entry_helper(resource_t * rsc, const char *key,
+                                          gboolean include_disabled);
++static gboolean is_rsc_baremetal_remote_node(resource_t *rsc, pe_working_set_t * data_set);
+ 
+ bool pe_can_fence(pe_working_set_t * data_set, node_t *node)
+ {
+@@ -686,6 +687,19 @@ unpack_operation(action_t * action, xmlNode * xml_obj, resource_t * container,
+                                NULL, action->meta, NULL, FALSE, data_set->now);
+     g_hash_table_remove(action->meta, "id");
+ 
++    field = XML_LRM_ATTR_INTERVAL;
++    value = g_hash_table_lookup(action->meta, field);
++    if (value != NULL) {
++        interval = crm_get_interval(value);
++        if (interval > 0) {
++            value_ms = crm_itoa(interval);
++            g_hash_table_replace(action->meta, strdup(field), value_ms);
++
++        } else {
++            g_hash_table_remove(action->meta, field);
++        }
++    }
++
+     /* Begin compatability code */
+     value = g_hash_table_lookup(action->meta, "requires");
+ 
+@@ -789,6 +803,22 @@ unpack_operation(action_t * action, xmlNode * xml_obj, resource_t * container,
+         action->on_fail = action_fail_restart_container;
+         value = "restart container (and possibly migrate) (default)";
+ 
++    /* for baremetal remote nodes, ensure that a recurring monitor operation failure
++     * defaults to either fencing the remote-node for recovery, or at least
++     * attempting to recover the the connection when fencing is disabled. */
++    } else if (value == NULL &&
++               is_rsc_baremetal_remote_node(action->rsc, data_set) &&
++               safe_str_eq(action->task, CRMD_ACTION_STATUS) &&
++               interval > 0) {
++
++        if (is_set(data_set->flags, pe_flag_stonith_enabled)) {
++            action->on_fail = action_fail_reset_remote;
++            value = "fence baremetal remote node (default)";
++        } else {
++            action->on_fail = action_fail_recover;
++            value = "recover baremetal remote node connection (default)";
++        }
++
+     } else if (value == NULL && safe_str_eq(action->task, CRMD_ACTION_STOP)) {
+         if (is_set(data_set->flags, pe_flag_stonith_enabled)) {
+             action->on_fail = action_fail_fence;
+@@ -824,19 +854,6 @@ unpack_operation(action_t * action, xmlNode * xml_obj, resource_t * container,
+     pe_rsc_trace(action->rsc, "\t%s failure results in: %s", action->task,
+                  role2text(action->fail_role));
+ 
+-    field = XML_LRM_ATTR_INTERVAL;
+-    value = g_hash_table_lookup(action->meta, field);
+-    if (value != NULL) {
+-        interval = crm_get_interval(value);
+-        if (interval > 0) {
+-            value_ms = crm_itoa(interval);
+-            g_hash_table_replace(action->meta, strdup(field), value_ms);
+-
+-        } else {
+-            g_hash_table_remove(action->meta, field);
+-        }
+-    }
+-
+     field = XML_OP_ATTR_START_DELAY;
+     value = g_hash_table_lookup(action->meta, field);
+     if (value != NULL) {
+@@ -1939,6 +1956,25 @@ const char *rsc_printable_id(resource_t *rsc)
+ }
+ 
+ gboolean
++is_rsc_baremetal_remote_node(resource_t *rsc, pe_working_set_t * data_set)
++{
++    node_t *node;
++
++    if (rsc == NULL) {
++        return FALSE;
++    } else if (rsc->is_remote_node == FALSE) {
++        return FALSE;
++    }
++
++    node = pe_find_node(data_set->nodes, rsc->id);
++    if (node == NULL) {
++        return FALSE;
++    }
++
++    return is_baremetal_remote_node(node);
++}
++
++gboolean
+ is_baremetal_remote_node(node_t *node)
+ {
+     if (is_remote_node(node) && (node->details->remote_rsc == FALSE || node->details->remote_rsc->container == FALSE)) {
+diff --git a/pengine/allocate.c b/pengine/allocate.c
+index 45e2212..9c3cb60 100644
+--- a/pengine/allocate.c
++++ b/pengine/allocate.c
+@@ -1191,7 +1191,10 @@ allocate_resources(pe_working_set_t * data_set)
+                 continue;
+             }
+             pe_rsc_trace(rsc, "Allocating: %s", rsc->id);
+-            rsc->cmds->allocate(rsc, NULL, data_set);
++            /* for remote node connection resources, always prefer the partial migration
++             * target during resource allocation if the rsc is in the middle of a
++             * migration */ 
++            rsc->cmds->allocate(rsc, rsc->partial_migration_target, data_set);
+         }
+     }
+ 
+@@ -1716,9 +1719,18 @@ apply_remote_node_ordering(pe_working_set_t *data_set)
+                 node_t *cluster_node = remote_rsc->running_on ? remote_rsc->running_on->data : NULL;
+ 
+                 /* if the current cluster node a baremetal connection resource
+-                 * is residing on is unclean, we can't process any operations on that
+-                 * remote node until after it starts somewhere else. */
+-                if (cluster_node && cluster_node->details->unclean == TRUE) {
++                 * is residing on is unclean or went offline we can't process any
++                 * operations on that remote node until after it starts somewhere else. */
++                if (cluster_node == NULL ||
++                    cluster_node->details->unclean == TRUE ||
++                    cluster_node->details->online == FALSE) {
++                    after_start = TRUE;
++                } else if (g_list_length(remote_rsc->running_on) > 1 &&
++                           remote_rsc->partial_migration_source &&
++                            remote_rsc->partial_migration_target) {
++                    /* if we're caught in the middle of migrating a connection resource,
++                     * then we have to wait until after the resource migrates before performing
++                     * any actions. */
+                     after_start = TRUE;
+                 }
+             }
+diff --git a/pengine/native.c b/pengine/native.c
+index 6d62010..62639d0 100644
+--- a/pengine/native.c
++++ b/pengine/native.c
+@@ -1137,12 +1137,18 @@ handle_migration_actions(resource_t * rsc, node_t *current, node_t *chosen, pe_w
+     if (migrate_to) {
+         add_hash_param(migrate_to->meta, XML_LRM_ATTR_MIGRATE_SOURCE, current->details->uname);
+         add_hash_param(migrate_to->meta, XML_LRM_ATTR_MIGRATE_TARGET, chosen->details->uname);
+-        /* migrate_to takes place on the source node, but can 
+-         * have an effect on the target node depending on how
+-         * the agent is written. Because of this, we have to maintain
+-         * a record that the migrate_to occurred incase the source node 
+-         * loses membership while the migrate_to action is still in-flight. */
+-        add_hash_param(migrate_to->meta, XML_OP_ATTR_PENDING, "true");
++
++        /* pcmk remote connections don't require pending to be recorded in cib.
++         * We can optimize cib writes by only setting PENDING for non pcmk remote
++         * connection resources */
++        if (rsc->is_remote_node == FALSE) {
++            /* migrate_to takes place on the source node, but can 
++             * have an effect on the target node depending on how
++             * the agent is written. Because of this, we have to maintain
++             * a record that the migrate_to occurred incase the source node 
++             * loses membership while the migrate_to action is still in-flight. */
++            add_hash_param(migrate_to->meta, XML_OP_ATTR_PENDING, "true");
++        }
+     }
+ 
+     if (migrate_from) {
+diff --git a/pengine/regression.sh b/pengine/regression.sh
+index aa03b18..3a244d7 100755
+--- a/pengine/regression.sh
++++ b/pengine/regression.sh
+@@ -769,6 +769,11 @@ do_test remote-disable         "Disable a baremetal remote-node"
+ do_test remote-orphaned        "Properly shutdown orphaned connection resource"
+ do_test remote-recover         "Recover connection resource after cluster-node fails."
+ do_test remote-stale-node-entry "Make sure we properly handle leftover remote-node entries in the node section"
++do_test remote-partial-migrate  "Make sure partial migrations are handled before ops on the remote node."
++do_test remote-partial-migrate2 "Make sure partial migration target is prefered for remote connection."
++do_test remote-recover-fail     "Make sure start failure causes fencing if rsc are active on remote."
++do_test remote-start-fail       "Make sure a start failure does not result in fencing if no active resources are on remote."
++do_test remote-unclean2         "Make monitor failure always results in fencing, even if no rsc are active on remote."
+ 
+ echo ""
+ do_test resource-discovery      "Exercises resource-discovery location constraint option."
+diff --git a/pengine/test10/remote-fence-unclean.exp b/pengine/test10/remote-fence-unclean.exp
+index 9b1e327..b8c90f2 100644
+--- a/pengine/test10/remote-fence-unclean.exp
++++ b/pengine/test10/remote-fence-unclean.exp
+@@ -8,7 +8,7 @@
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="5" operation="stop" operation_key="remote1_stop_0" on_node="18node1" on_node_uuid="1"/>
++        <rsc_op id="14" operation="stop" operation_key="remote1_stop_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+       <trigger>
+         <pseudo_event id="27" operation="stonith_complete" operation_key="stonith_complete"/>
+@@ -17,7 +17,7 @@
+   </synapse>
+   <synapse id="1">
+     <action_set>
+-      <rsc_op id="5" operation="stop" operation_key="remote1_stop_0" on_node="18node1" on_node_uuid="1">
++      <rsc_op id="14" operation="stop" operation_key="remote1_stop_0" on_node="18node1" on_node_uuid="1">
+         <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
+         <attributes CRM_meta_timeout="20000" />
+       </rsc_op>
+@@ -176,13 +176,13 @@
+   </synapse>
+   <synapse id="14">
+     <action_set>
+-      <pseudo_event id="7" operation="all_stopped" operation_key="all_stopped">
++      <pseudo_event id="6" operation="all_stopped" operation_key="all_stopped">
+         <attributes />
+       </pseudo_event>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="5" operation="stop" operation_key="remote1_stop_0" on_node="18node1" on_node_uuid="1"/>
++        <rsc_op id="14" operation="stop" operation_key="remote1_stop_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+       <trigger>
+         <pseudo_event id="18" operation="stop" operation_key="FAKE2_stop_0"/>
+diff --git a/pengine/test10/remote-move.exp b/pengine/test10/remote-move.exp
+index 6724679..6287daa 100644
+--- a/pengine/test10/remote-move.exp
++++ b/pengine/test10/remote-move.exp
+@@ -51,7 +51,7 @@
+     <action_set>
+       <rsc_op id="20" operation="migrate_to" operation_key="remote1_migrate_to_0" on_node="18builder" on_node_uuid="5">
+         <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
+-        <attributes CRM_meta_migrate_source="18builder" CRM_meta_migrate_target="18node1" CRM_meta_record_pending="true" CRM_meta_timeout="20000" />
++        <attributes CRM_meta_migrate_source="18builder" CRM_meta_migrate_target="18node1" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs/>
+diff --git a/pengine/test10/remote-partial-migrate.dot b/pengine/test10/remote-partial-migrate.dot
+new file mode 100644
+index 0000000..8d776dc
+--- /dev/null
++++ b/pengine/test10/remote-partial-migrate.dot
+@@ -0,0 +1,86 @@
++ digraph "g" {
++"FAKE10_monitor_10000 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE10_start_0 pcmk1" -> "FAKE10_monitor_10000 pcmk1" [ style = bold]
++"FAKE10_start_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE13_monitor_10000 pcmk2" [ style=bold color="green" fontcolor="black"]
++"FAKE13_start_0 pcmk2" -> "FAKE13_monitor_10000 pcmk2" [ style = bold]
++"FAKE13_start_0 pcmk2" [ style=bold color="green" fontcolor="black"]
++"FAKE15_monitor_10000 pcmk3" [ style=bold color="green" fontcolor="black"]
++"FAKE15_start_0 pcmk3" -> "FAKE15_monitor_10000 pcmk3" [ style = bold]
++"FAKE15_start_0 pcmk3" [ style=bold color="green" fontcolor="black"]
++"FAKE16_monitor_10000 pcmk_remote3" [ style=bold color="green" fontcolor="black"]
++"FAKE16_start_0 pcmk_remote3" -> "FAKE16_monitor_10000 pcmk_remote3" [ style = bold]
++"FAKE16_start_0 pcmk_remote3" [ style=bold color="green" fontcolor="black"]
++"FAKE16_stop_0 pcmk1" -> "FAKE16_start_0 pcmk_remote3" [ style = bold]
++"FAKE16_stop_0 pcmk1" -> "all_stopped" [ style = bold]
++"FAKE16_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE22_monitor_10000 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE22_start_0 pcmk1" -> "FAKE22_monitor_10000 pcmk1" [ style = bold]
++"FAKE22_start_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE23_monitor_10000 pcmk_remote1" [ style=bold color="green" fontcolor="black"]
++"FAKE23_start_0 pcmk_remote1" -> "FAKE23_monitor_10000 pcmk_remote1" [ style = bold]
++"FAKE23_start_0 pcmk_remote1" [ style=bold color="green" fontcolor="black"]
++"FAKE23_stop_0 pcmk1" -> "FAKE23_start_0 pcmk_remote1" [ style = bold]
++"FAKE23_stop_0 pcmk1" -> "all_stopped" [ style = bold]
++"FAKE23_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE26_monitor_10000 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE26_start_0 pcmk1" -> "FAKE26_monitor_10000 pcmk1" [ style = bold]
++"FAKE26_start_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE29_monitor_10000 pcmk2" [ style=bold color="green" fontcolor="black"]
++"FAKE29_start_0 pcmk2" -> "FAKE29_monitor_10000 pcmk2" [ style = bold]
++"FAKE29_start_0 pcmk2" [ style=bold color="green" fontcolor="black"]
++"FAKE30_monitor_10000 pcmk_remote2" [ style=bold color="green" fontcolor="black"]
++"FAKE30_start_0 pcmk_remote2" -> "FAKE30_monitor_10000 pcmk_remote2" [ style = bold]
++"FAKE30_start_0 pcmk_remote2" [ style=bold color="green" fontcolor="black"]
++"FAKE30_stop_0 pcmk1" -> "FAKE30_start_0 pcmk_remote2" [ style = bold]
++"FAKE30_stop_0 pcmk1" -> "all_stopped" [ style = bold]
++"FAKE30_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE36_monitor_10000 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE36_start_0 pcmk1" -> "FAKE36_monitor_10000 pcmk1" [ style = bold]
++"FAKE36_start_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE37_monitor_10000 pcmk2" [ style=bold color="green" fontcolor="black"]
++"FAKE37_start_0 pcmk2" -> "FAKE37_monitor_10000 pcmk2" [ style = bold]
++"FAKE37_start_0 pcmk2" [ style=bold color="green" fontcolor="black"]
++"FAKE37_stop_0 pcmk1" -> "FAKE37_start_0 pcmk2" [ style = bold]
++"FAKE37_stop_0 pcmk1" -> "all_stopped" [ style = bold]
++"FAKE37_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE43_monitor_10000 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE43_start_0 pcmk1" -> "FAKE43_monitor_10000 pcmk1" [ style = bold]
++"FAKE43_start_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE44_monitor_10000 pcmk2" [ style=bold color="green" fontcolor="black"]
++"FAKE44_start_0 pcmk2" -> "FAKE44_monitor_10000 pcmk2" [ style = bold]
++"FAKE44_start_0 pcmk2" [ style=bold color="green" fontcolor="black"]
++"FAKE44_stop_0 pcmk1" -> "FAKE44_start_0 pcmk2" [ style = bold]
++"FAKE44_stop_0 pcmk1" -> "all_stopped" [ style = bold]
++"FAKE44_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE4_monitor_10000 pcmk_remote3" [ style=bold color="green" fontcolor="black"]
++"FAKE4_start_0 pcmk_remote3" -> "FAKE4_monitor_10000 pcmk_remote3" [ style = bold]
++"FAKE4_start_0 pcmk_remote3" [ style=bold color="green" fontcolor="black"]
++"FAKE50_monitor_10000 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE50_start_0 pcmk1" -> "FAKE50_monitor_10000 pcmk1" [ style = bold]
++"FAKE50_start_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE9_monitor_10000 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE9_start_0 pcmk1" -> "FAKE9_monitor_10000 pcmk1" [ style = bold]
++"FAKE9_start_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE9_stop_0 pcmk_remote3" -> "FAKE9_start_0 pcmk1" [ style = bold]
++"FAKE9_stop_0 pcmk_remote3" -> "all_stopped" [ style = bold]
++"FAKE9_stop_0 pcmk_remote3" [ style=bold color="green" fontcolor="black"]
++"all_stopped" [ style=bold color="green" fontcolor="orange"]
++"pcmk_remote3_migrate_from_0 pcmk2" -> "pcmk_remote3_start_0 pcmk2" [ style = bold]
++"pcmk_remote3_migrate_from_0 pcmk2" -> "pcmk_remote3_stop_0 pcmk1" [ style = bold]
++"pcmk_remote3_migrate_from_0 pcmk2" [ style=bold color="green" fontcolor="black"]
++"pcmk_remote3_monitor_60000 pcmk2" [ style=bold color="green" fontcolor="black"]
++"pcmk_remote3_start_0 pcmk2" -> "FAKE16_monitor_10000 pcmk_remote3" [ style = bold]
++"pcmk_remote3_start_0 pcmk2" -> "FAKE16_start_0 pcmk_remote3" [ style = bold]
++"pcmk_remote3_start_0 pcmk2" -> "FAKE4_monitor_10000 pcmk_remote3" [ style = bold]
++"pcmk_remote3_start_0 pcmk2" -> "FAKE4_start_0 pcmk_remote3" [ style = bold]
++"pcmk_remote3_start_0 pcmk2" -> "FAKE9_stop_0 pcmk_remote3" [ style = bold]
++"pcmk_remote3_start_0 pcmk2" -> "pcmk_remote3_monitor_60000 pcmk2" [ style = bold]
++"pcmk_remote3_start_0 pcmk2" [ style=bold color="green" fontcolor="orange"]
++"pcmk_remote3_stop_0 pcmk1" -> "all_stopped" [ style = bold]
++"pcmk_remote3_stop_0 pcmk1" -> "pcmk_remote3_start_0 pcmk2" [ style = bold]
++"pcmk_remote3_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"probe_complete pcmk_remote1" [ style=bold color="green" fontcolor="black"]
++"probe_complete pcmk_remote2" [ style=bold color="green" fontcolor="black"]
++"probe_complete pcmk_remote4" [ style=bold color="green" fontcolor="black"]
++}
+diff --git a/pengine/test10/remote-partial-migrate.exp b/pengine/test10/remote-partial-migrate.exp
+new file mode 100644
+index 0000000..0a531df
+--- /dev/null
++++ b/pengine/test10/remote-partial-migrate.exp
+@@ -0,0 +1,553 @@
++<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
++  <synapse id="0">
++    <action_set>
++      <rsc_op id="65" operation="migrate_from" operation_key="pcmk_remote3_migrate_from_0" on_node="pcmk2" on_node_uuid="2">
++        <primitive id="pcmk_remote3" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_migrate_source="pcmk1" CRM_meta_migrate_target="pcmk2" CRM_meta_timeout="20000"  server="172.17.201.3"/>
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="1">
++    <action_set>
++      <rsc_op id="64" operation="monitor" operation_key="pcmk_remote3_monitor_60000" on_node="pcmk2" on_node_uuid="2">
++        <primitive id="pcmk_remote3" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="30000"  server="172.17.201.3"/>
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="63" operation="start" operation_key="pcmk_remote3_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="2">
++    <action_set>
++      <pseudo_event id="63" operation="start" operation_key="pcmk_remote3_start_0">
++        <attributes CRM_meta_name="start" CRM_meta_timeout="10000"  server="172.17.201.3"/>
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="62" operation="stop" operation_key="pcmk_remote3_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="65" operation="migrate_from" operation_key="pcmk_remote3_migrate_from_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="3">
++    <action_set>
++      <rsc_op id="62" operation="stop" operation_key="pcmk_remote3_stop_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="pcmk_remote3" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="60000"  server="172.17.201.3"/>
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="65" operation="migrate_from" operation_key="pcmk_remote3_migrate_from_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="4">
++    <action_set>
++      <rsc_op id="75" operation="monitor" operation_key="FAKE4_monitor_10000" on_node="pcmk_remote3" on_node_uuid="pcmk_remote3" router_node="pcmk2">
++        <primitive id="FAKE4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="63" operation="start" operation_key="pcmk_remote3_start_0"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="74" operation="start" operation_key="FAKE4_start_0" on_node="pcmk_remote3" on_node_uuid="pcmk_remote3" router_node="pcmk2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="5">
++    <action_set>
++      <rsc_op id="74" operation="start" operation_key="FAKE4_start_0" on_node="pcmk_remote3" on_node_uuid="pcmk_remote3" router_node="pcmk2">
++        <primitive id="FAKE4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="63" operation="start" operation_key="pcmk_remote3_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="6">
++    <action_set>
++      <rsc_op id="86" operation="monitor" operation_key="FAKE9_monitor_10000" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE9" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="85" operation="start" operation_key="FAKE9_start_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="7">
++    <action_set>
++      <rsc_op id="85" operation="start" operation_key="FAKE9_start_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE9" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="84" operation="stop" operation_key="FAKE9_stop_0" on_node="pcmk_remote3" on_node_uuid="pcmk_remote3" router_node="pcmk2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="8">
++    <action_set>
++      <rsc_op id="84" operation="stop" operation_key="FAKE9_stop_0" on_node="pcmk_remote3" on_node_uuid="pcmk_remote3" router_node="pcmk2">
++        <primitive id="FAKE9" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="63" operation="start" operation_key="pcmk_remote3_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="9">
++    <action_set>
++      <rsc_op id="88" operation="monitor" operation_key="FAKE10_monitor_10000" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE10" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="87" operation="start" operation_key="FAKE10_start_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="10">
++    <action_set>
++      <rsc_op id="87" operation="start" operation_key="FAKE10_start_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE10" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="11">
++    <action_set>
++      <rsc_op id="94" operation="monitor" operation_key="FAKE13_monitor_10000" on_node="pcmk2" on_node_uuid="2">
++        <primitive id="FAKE13" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="93" operation="start" operation_key="FAKE13_start_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="12">
++    <action_set>
++      <rsc_op id="93" operation="start" operation_key="FAKE13_start_0" on_node="pcmk2" on_node_uuid="2">
++        <primitive id="FAKE13" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="13">
++    <action_set>
++      <rsc_op id="98" operation="monitor" operation_key="FAKE15_monitor_10000" on_node="pcmk3" on_node_uuid="3">
++        <primitive id="FAKE15" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="97" operation="start" operation_key="FAKE15_start_0" on_node="pcmk3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="14">
++    <action_set>
++      <rsc_op id="97" operation="start" operation_key="FAKE15_start_0" on_node="pcmk3" on_node_uuid="3">
++        <primitive id="FAKE15" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="15">
++    <action_set>
++      <rsc_op id="101" operation="monitor" operation_key="FAKE16_monitor_10000" on_node="pcmk_remote3" on_node_uuid="pcmk_remote3" router_node="pcmk2">
++        <primitive id="FAKE16" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="63" operation="start" operation_key="pcmk_remote3_start_0"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="100" operation="start" operation_key="FAKE16_start_0" on_node="pcmk_remote3" on_node_uuid="pcmk_remote3" router_node="pcmk2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="16">
++    <action_set>
++      <rsc_op id="100" operation="start" operation_key="FAKE16_start_0" on_node="pcmk_remote3" on_node_uuid="pcmk_remote3" router_node="pcmk2">
++        <primitive id="FAKE16" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="63" operation="start" operation_key="pcmk_remote3_start_0"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="99" operation="stop" operation_key="FAKE16_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="17">
++    <action_set>
++      <rsc_op id="99" operation="stop" operation_key="FAKE16_stop_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE16" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="18">
++    <action_set>
++      <rsc_op id="113" operation="monitor" operation_key="FAKE22_monitor_10000" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE22" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="112" operation="start" operation_key="FAKE22_start_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="19">
++    <action_set>
++      <rsc_op id="112" operation="start" operation_key="FAKE22_start_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE22" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="20">
++    <action_set>
++      <rsc_op id="116" operation="monitor" operation_key="FAKE23_monitor_10000" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1">
++        <primitive id="FAKE23" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="115" operation="start" operation_key="FAKE23_start_0" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="21">
++    <action_set>
++      <rsc_op id="115" operation="start" operation_key="FAKE23_start_0" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1">
++        <primitive id="FAKE23" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="114" operation="stop" operation_key="FAKE23_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="22">
++    <action_set>
++      <rsc_op id="114" operation="stop" operation_key="FAKE23_stop_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE23" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="23">
++    <action_set>
++      <rsc_op id="122" operation="monitor" operation_key="FAKE26_monitor_10000" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE26" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="121" operation="start" operation_key="FAKE26_start_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="24">
++    <action_set>
++      <rsc_op id="121" operation="start" operation_key="FAKE26_start_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE26" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="25">
++    <action_set>
++      <rsc_op id="128" operation="monitor" operation_key="FAKE29_monitor_10000" on_node="pcmk2" on_node_uuid="2">
++        <primitive id="FAKE29" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="127" operation="start" operation_key="FAKE29_start_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="26">
++    <action_set>
++      <rsc_op id="127" operation="start" operation_key="FAKE29_start_0" on_node="pcmk2" on_node_uuid="2">
++        <primitive id="FAKE29" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="27">
++    <action_set>
++      <rsc_op id="131" operation="monitor" operation_key="FAKE30_monitor_10000" on_node="pcmk_remote2" on_node_uuid="pcmk_remote2" router_node="pcmk3">
++        <primitive id="FAKE30" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="130" operation="start" operation_key="FAKE30_start_0" on_node="pcmk_remote2" on_node_uuid="pcmk_remote2" router_node="pcmk3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="28">
++    <action_set>
++      <rsc_op id="130" operation="start" operation_key="FAKE30_start_0" on_node="pcmk_remote2" on_node_uuid="pcmk_remote2" router_node="pcmk3">
++        <primitive id="FAKE30" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="129" operation="stop" operation_key="FAKE30_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="29">
++    <action_set>
++      <rsc_op id="129" operation="stop" operation_key="FAKE30_stop_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE30" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="30">
++    <action_set>
++      <rsc_op id="143" operation="monitor" operation_key="FAKE36_monitor_10000" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE36" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="142" operation="start" operation_key="FAKE36_start_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="31">
++    <action_set>
++      <rsc_op id="142" operation="start" operation_key="FAKE36_start_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE36" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="32">
++    <action_set>
++      <rsc_op id="146" operation="monitor" operation_key="FAKE37_monitor_10000" on_node="pcmk2" on_node_uuid="2">
++        <primitive id="FAKE37" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="145" operation="start" operation_key="FAKE37_start_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="33">
++    <action_set>
++      <rsc_op id="145" operation="start" operation_key="FAKE37_start_0" on_node="pcmk2" on_node_uuid="2">
++        <primitive id="FAKE37" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="144" operation="stop" operation_key="FAKE37_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="34">
++    <action_set>
++      <rsc_op id="144" operation="stop" operation_key="FAKE37_stop_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE37" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="35">
++    <action_set>
++      <rsc_op id="158" operation="monitor" operation_key="FAKE43_monitor_10000" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE43" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="157" operation="start" operation_key="FAKE43_start_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="36">
++    <action_set>
++      <rsc_op id="157" operation="start" operation_key="FAKE43_start_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE43" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="37">
++    <action_set>
++      <rsc_op id="161" operation="monitor" operation_key="FAKE44_monitor_10000" on_node="pcmk2" on_node_uuid="2">
++        <primitive id="FAKE44" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="160" operation="start" operation_key="FAKE44_start_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="38">
++    <action_set>
++      <rsc_op id="160" operation="start" operation_key="FAKE44_start_0" on_node="pcmk2" on_node_uuid="2">
++        <primitive id="FAKE44" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="159" operation="stop" operation_key="FAKE44_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="39">
++    <action_set>
++      <rsc_op id="159" operation="stop" operation_key="FAKE44_stop_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE44" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="40">
++    <action_set>
++      <rsc_op id="173" operation="monitor" operation_key="FAKE50_monitor_10000" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE50" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="172" operation="start" operation_key="FAKE50_start_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="41">
++    <action_set>
++      <rsc_op id="172" operation="start" operation_key="FAKE50_start_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE50" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="42" priority="1000000">
++    <action_set>
++      <rsc_op id="55" operation="probe_complete" operation_key="probe_complete-pcmk_remote4" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk3">
++        <attributes CRM_meta_op_no_wait="true" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="43" priority="1000000">
++    <action_set>
++      <rsc_op id="53" operation="probe_complete" operation_key="probe_complete-pcmk_remote2" on_node="pcmk_remote2" on_node_uuid="pcmk_remote2" router_node="pcmk3">
++        <attributes CRM_meta_op_no_wait="true" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="44" priority="1000000">
++    <action_set>
++      <rsc_op id="52" operation="probe_complete" operation_key="probe_complete-pcmk_remote1" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1">
++        <attributes CRM_meta_op_no_wait="true" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="45">
++    <action_set>
++      <pseudo_event id="46" operation="all_stopped" operation_key="all_stopped">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="62" operation="stop" operation_key="pcmk_remote3_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="84" operation="stop" operation_key="FAKE9_stop_0" on_node="pcmk_remote3" on_node_uuid="pcmk_remote3" router_node="pcmk2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="99" operation="stop" operation_key="FAKE16_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="114" operation="stop" operation_key="FAKE23_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="129" operation="stop" operation_key="FAKE30_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="144" operation="stop" operation_key="FAKE37_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="159" operation="stop" operation_key="FAKE44_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++</transition_graph>
+diff --git a/pengine/test10/remote-partial-migrate.scores b/pengine/test10/remote-partial-migrate.scores
+new file mode 100644
+index 0000000..a81602d
+--- /dev/null
++++ b/pengine/test10/remote-partial-migrate.scores
+@@ -0,0 +1,449 @@
++Allocation scores:
++native_color: FAKE1 allocation score on pcmk1: 0
++native_color: FAKE1 allocation score on pcmk2: 0
++native_color: FAKE1 allocation score on pcmk3: 0
++native_color: FAKE1 allocation score on pcmk_remote1: 0
++native_color: FAKE1 allocation score on pcmk_remote2: 0
++native_color: FAKE1 allocation score on pcmk_remote3: 0
++native_color: FAKE1 allocation score on pcmk_remote4: 0
++native_color: FAKE1 allocation score on pcmk_remote5: 0
++native_color: FAKE10 allocation score on pcmk1: 0
++native_color: FAKE10 allocation score on pcmk2: 0
++native_color: FAKE10 allocation score on pcmk3: 0
++native_color: FAKE10 allocation score on pcmk_remote1: 0
++native_color: FAKE10 allocation score on pcmk_remote2: 0
++native_color: FAKE10 allocation score on pcmk_remote3: 0
++native_color: FAKE10 allocation score on pcmk_remote4: 0
++native_color: FAKE10 allocation score on pcmk_remote5: 0
++native_color: FAKE11 allocation score on pcmk1: 0
++native_color: FAKE11 allocation score on pcmk2: 0
++native_color: FAKE11 allocation score on pcmk3: 0
++native_color: FAKE11 allocation score on pcmk_remote1: 0
++native_color: FAKE11 allocation score on pcmk_remote2: 0
++native_color: FAKE11 allocation score on pcmk_remote3: 0
++native_color: FAKE11 allocation score on pcmk_remote4: 0
++native_color: FAKE11 allocation score on pcmk_remote5: 0
++native_color: FAKE12 allocation score on pcmk1: 0
++native_color: FAKE12 allocation score on pcmk2: 0
++native_color: FAKE12 allocation score on pcmk3: 0
++native_color: FAKE12 allocation score on pcmk_remote1: 0
++native_color: FAKE12 allocation score on pcmk_remote2: 0
++native_color: FAKE12 allocation score on pcmk_remote3: 0
++native_color: FAKE12 allocation score on pcmk_remote4: 0
++native_color: FAKE12 allocation score on pcmk_remote5: 0
++native_color: FAKE13 allocation score on pcmk1: 0
++native_color: FAKE13 allocation score on pcmk2: 0
++native_color: FAKE13 allocation score on pcmk3: 0
++native_color: FAKE13 allocation score on pcmk_remote1: 0
++native_color: FAKE13 allocation score on pcmk_remote2: 0
++native_color: FAKE13 allocation score on pcmk_remote3: 0
++native_color: FAKE13 allocation score on pcmk_remote4: 0
++native_color: FAKE13 allocation score on pcmk_remote5: 0
++native_color: FAKE14 allocation score on pcmk1: 0
++native_color: FAKE14 allocation score on pcmk2: 0
++native_color: FAKE14 allocation score on pcmk3: 0
++native_color: FAKE14 allocation score on pcmk_remote1: 0
++native_color: FAKE14 allocation score on pcmk_remote2: 0
++native_color: FAKE14 allocation score on pcmk_remote3: 0
++native_color: FAKE14 allocation score on pcmk_remote4: 0
++native_color: FAKE14 allocation score on pcmk_remote5: 0
++native_color: FAKE15 allocation score on pcmk1: 0
++native_color: FAKE15 allocation score on pcmk2: 0
++native_color: FAKE15 allocation score on pcmk3: 0
++native_color: FAKE15 allocation score on pcmk_remote1: 0
++native_color: FAKE15 allocation score on pcmk_remote2: 0
++native_color: FAKE15 allocation score on pcmk_remote3: 0
++native_color: FAKE15 allocation score on pcmk_remote4: 0
++native_color: FAKE15 allocation score on pcmk_remote5: 0
++native_color: FAKE16 allocation score on pcmk1: 0
++native_color: FAKE16 allocation score on pcmk2: 0
++native_color: FAKE16 allocation score on pcmk3: 0
++native_color: FAKE16 allocation score on pcmk_remote1: 0
++native_color: FAKE16 allocation score on pcmk_remote2: 0
++native_color: FAKE16 allocation score on pcmk_remote3: 0
++native_color: FAKE16 allocation score on pcmk_remote4: 0
++native_color: FAKE16 allocation score on pcmk_remote5: 0
++native_color: FAKE17 allocation score on pcmk1: 0
++native_color: FAKE17 allocation score on pcmk2: 0
++native_color: FAKE17 allocation score on pcmk3: 0
++native_color: FAKE17 allocation score on pcmk_remote1: 0
++native_color: FAKE17 allocation score on pcmk_remote2: 0
++native_color: FAKE17 allocation score on pcmk_remote3: 0
++native_color: FAKE17 allocation score on pcmk_remote4: 0
++native_color: FAKE17 allocation score on pcmk_remote5: 0
++native_color: FAKE18 allocation score on pcmk1: 0
++native_color: FAKE18 allocation score on pcmk2: 0
++native_color: FAKE18 allocation score on pcmk3: 0
++native_color: FAKE18 allocation score on pcmk_remote1: 0
++native_color: FAKE18 allocation score on pcmk_remote2: 0
++native_color: FAKE18 allocation score on pcmk_remote3: 0
++native_color: FAKE18 allocation score on pcmk_remote4: 0
++native_color: FAKE18 allocation score on pcmk_remote5: 0
++native_color: FAKE19 allocation score on pcmk1: 0
++native_color: FAKE19 allocation score on pcmk2: 0
++native_color: FAKE19 allocation score on pcmk3: 0
++native_color: FAKE19 allocation score on pcmk_remote1: 0
++native_color: FAKE19 allocation score on pcmk_remote2: 0
++native_color: FAKE19 allocation score on pcmk_remote3: 0
++native_color: FAKE19 allocation score on pcmk_remote4: 0
++native_color: FAKE19 allocation score on pcmk_remote5: 0
++native_color: FAKE2 allocation score on pcmk1: 0
++native_color: FAKE2 allocation score on pcmk2: 0
++native_color: FAKE2 allocation score on pcmk3: 0
++native_color: FAKE2 allocation score on pcmk_remote1: 0
++native_color: FAKE2 allocation score on pcmk_remote2: 0
++native_color: FAKE2 allocation score on pcmk_remote3: 0
++native_color: FAKE2 allocation score on pcmk_remote4: 0
++native_color: FAKE2 allocation score on pcmk_remote5: 0
++native_color: FAKE20 allocation score on pcmk1: 0
++native_color: FAKE20 allocation score on pcmk2: 0
++native_color: FAKE20 allocation score on pcmk3: 0
++native_color: FAKE20 allocation score on pcmk_remote1: 0
++native_color: FAKE20 allocation score on pcmk_remote2: 0
++native_color: FAKE20 allocation score on pcmk_remote3: 0
++native_color: FAKE20 allocation score on pcmk_remote4: 0
++native_color: FAKE20 allocation score on pcmk_remote5: 0
++native_color: FAKE21 allocation score on pcmk1: 0
++native_color: FAKE21 allocation score on pcmk2: 0
++native_color: FAKE21 allocation score on pcmk3: 0
++native_color: FAKE21 allocation score on pcmk_remote1: 0
++native_color: FAKE21 allocation score on pcmk_remote2: 0
++native_color: FAKE21 allocation score on pcmk_remote3: 0
++native_color: FAKE21 allocation score on pcmk_remote4: 0
++native_color: FAKE21 allocation score on pcmk_remote5: 0
++native_color: FAKE22 allocation score on pcmk1: 0
++native_color: FAKE22 allocation score on pcmk2: 0
++native_color: FAKE22 allocation score on pcmk3: 0
++native_color: FAKE22 allocation score on pcmk_remote1: 0
++native_color: FAKE22 allocation score on pcmk_remote2: 0
++native_color: FAKE22 allocation score on pcmk_remote3: 0
++native_color: FAKE22 allocation score on pcmk_remote4: 0
++native_color: FAKE22 allocation score on pcmk_remote5: 0
++native_color: FAKE23 allocation score on pcmk1: 0
++native_color: FAKE23 allocation score on pcmk2: 0
++native_color: FAKE23 allocation score on pcmk3: 0
++native_color: FAKE23 allocation score on pcmk_remote1: 0
++native_color: FAKE23 allocation score on pcmk_remote2: 0
++native_color: FAKE23 allocation score on pcmk_remote3: 0
++native_color: FAKE23 allocation score on pcmk_remote4: 0
++native_color: FAKE23 allocation score on pcmk_remote5: 0
++native_color: FAKE24 allocation score on pcmk1: 0
++native_color: FAKE24 allocation score on pcmk2: 0
++native_color: FAKE24 allocation score on pcmk3: 0
++native_color: FAKE24 allocation score on pcmk_remote1: 0
++native_color: FAKE24 allocation score on pcmk_remote2: 0
++native_color: FAKE24 allocation score on pcmk_remote3: 0
++native_color: FAKE24 allocation score on pcmk_remote4: 0
++native_color: FAKE24 allocation score on pcmk_remote5: 0
++native_color: FAKE25 allocation score on pcmk1: 0
++native_color: FAKE25 allocation score on pcmk2: 0
++native_color: FAKE25 allocation score on pcmk3: 0
++native_color: FAKE25 allocation score on pcmk_remote1: 0
++native_color: FAKE25 allocation score on pcmk_remote2: 0
++native_color: FAKE25 allocation score on pcmk_remote3: 0
++native_color: FAKE25 allocation score on pcmk_remote4: 0
++native_color: FAKE25 allocation score on pcmk_remote5: 0
++native_color: FAKE26 allocation score on pcmk1: 0
++native_color: FAKE26 allocation score on pcmk2: 0
++native_color: FAKE26 allocation score on pcmk3: 0
++native_color: FAKE26 allocation score on pcmk_remote1: 0
++native_color: FAKE26 allocation score on pcmk_remote2: 0
++native_color: FAKE26 allocation score on pcmk_remote3: 0
++native_color: FAKE26 allocation score on pcmk_remote4: 0
++native_color: FAKE26 allocation score on pcmk_remote5: 0
++native_color: FAKE27 allocation score on pcmk1: 0
++native_color: FAKE27 allocation score on pcmk2: 0
++native_color: FAKE27 allocation score on pcmk3: 0
++native_color: FAKE27 allocation score on pcmk_remote1: 0
++native_color: FAKE27 allocation score on pcmk_remote2: 0
++native_color: FAKE27 allocation score on pcmk_remote3: 0
++native_color: FAKE27 allocation score on pcmk_remote4: 0
++native_color: FAKE27 allocation score on pcmk_remote5: 0
++native_color: FAKE28 allocation score on pcmk1: 0
++native_color: FAKE28 allocation score on pcmk2: 0
++native_color: FAKE28 allocation score on pcmk3: 0
++native_color: FAKE28 allocation score on pcmk_remote1: 0
++native_color: FAKE28 allocation score on pcmk_remote2: 0
++native_color: FAKE28 allocation score on pcmk_remote3: 0
++native_color: FAKE28 allocation score on pcmk_remote4: 0
++native_color: FAKE28 allocation score on pcmk_remote5: 0
++native_color: FAKE29 allocation score on pcmk1: 0
++native_color: FAKE29 allocation score on pcmk2: 0
++native_color: FAKE29 allocation score on pcmk3: 0
++native_color: FAKE29 allocation score on pcmk_remote1: 0
++native_color: FAKE29 allocation score on pcmk_remote2: 0
++native_color: FAKE29 allocation score on pcmk_remote3: 0
++native_color: FAKE29 allocation score on pcmk_remote4: 0
++native_color: FAKE29 allocation score on pcmk_remote5: 0
++native_color: FAKE3 allocation score on pcmk1: 0
++native_color: FAKE3 allocation score on pcmk2: 0
++native_color: FAKE3 allocation score on pcmk3: 0
++native_color: FAKE3 allocation score on pcmk_remote1: 0
++native_color: FAKE3 allocation score on pcmk_remote2: 0
++native_color: FAKE3 allocation score on pcmk_remote3: 0
++native_color: FAKE3 allocation score on pcmk_remote4: 0
++native_color: FAKE3 allocation score on pcmk_remote5: 0
++native_color: FAKE30 allocation score on pcmk1: 0
++native_color: FAKE30 allocation score on pcmk2: 0
++native_color: FAKE30 allocation score on pcmk3: 0
++native_color: FAKE30 allocation score on pcmk_remote1: 0
++native_color: FAKE30 allocation score on pcmk_remote2: 0
++native_color: FAKE30 allocation score on pcmk_remote3: 0
++native_color: FAKE30 allocation score on pcmk_remote4: 0
++native_color: FAKE30 allocation score on pcmk_remote5: 0
++native_color: FAKE31 allocation score on pcmk1: 0
++native_color: FAKE31 allocation score on pcmk2: 0
++native_color: FAKE31 allocation score on pcmk3: 0
++native_color: FAKE31 allocation score on pcmk_remote1: 0
++native_color: FAKE31 allocation score on pcmk_remote2: 0
++native_color: FAKE31 allocation score on pcmk_remote3: 0
++native_color: FAKE31 allocation score on pcmk_remote4: 0
++native_color: FAKE31 allocation score on pcmk_remote5: 0
++native_color: FAKE32 allocation score on pcmk1: 0
++native_color: FAKE32 allocation score on pcmk2: 0
++native_color: FAKE32 allocation score on pcmk3: 0
++native_color: FAKE32 allocation score on pcmk_remote1: 0
++native_color: FAKE32 allocation score on pcmk_remote2: 0
++native_color: FAKE32 allocation score on pcmk_remote3: 0
++native_color: FAKE32 allocation score on pcmk_remote4: 0
++native_color: FAKE32 allocation score on pcmk_remote5: 0
++native_color: FAKE33 allocation score on pcmk1: 0
++native_color: FAKE33 allocation score on pcmk2: 0
++native_color: FAKE33 allocation score on pcmk3: 0
++native_color: FAKE33 allocation score on pcmk_remote1: 0
++native_color: FAKE33 allocation score on pcmk_remote2: 0
++native_color: FAKE33 allocation score on pcmk_remote3: 0
++native_color: FAKE33 allocation score on pcmk_remote4: 0
++native_color: FAKE33 allocation score on pcmk_remote5: 0
++native_color: FAKE34 allocation score on pcmk1: 0
++native_color: FAKE34 allocation score on pcmk2: 0
++native_color: FAKE34 allocation score on pcmk3: 0
++native_color: FAKE34 allocation score on pcmk_remote1: 0
++native_color: FAKE34 allocation score on pcmk_remote2: 0
++native_color: FAKE34 allocation score on pcmk_remote3: 0
++native_color: FAKE34 allocation score on pcmk_remote4: 0
++native_color: FAKE34 allocation score on pcmk_remote5: 0
++native_color: FAKE35 allocation score on pcmk1: 0
++native_color: FAKE35 allocation score on pcmk2: 0
++native_color: FAKE35 allocation score on pcmk3: 0
++native_color: FAKE35 allocation score on pcmk_remote1: 0
++native_color: FAKE35 allocation score on pcmk_remote2: 0
++native_color: FAKE35 allocation score on pcmk_remote3: 0
++native_color: FAKE35 allocation score on pcmk_remote4: 0
++native_color: FAKE35 allocation score on pcmk_remote5: 0
++native_color: FAKE36 allocation score on pcmk1: 0
++native_color: FAKE36 allocation score on pcmk2: 0
++native_color: FAKE36 allocation score on pcmk3: 0
++native_color: FAKE36 allocation score on pcmk_remote1: 0
++native_color: FAKE36 allocation score on pcmk_remote2: 0
++native_color: FAKE36 allocation score on pcmk_remote3: 0
++native_color: FAKE36 allocation score on pcmk_remote4: 0
++native_color: FAKE36 allocation score on pcmk_remote5: 0
++native_color: FAKE37 allocation score on pcmk1: 0
++native_color: FAKE37 allocation score on pcmk2: 0
++native_color: FAKE37 allocation score on pcmk3: 0
++native_color: FAKE37 allocation score on pcmk_remote1: 0
++native_color: FAKE37 allocation score on pcmk_remote2: 0
++native_color: FAKE37 allocation score on pcmk_remote3: 0
++native_color: FAKE37 allocation score on pcmk_remote4: 0
++native_color: FAKE37 allocation score on pcmk_remote5: 0
++native_color: FAKE38 allocation score on pcmk1: 0
++native_color: FAKE38 allocation score on pcmk2: 0
++native_color: FAKE38 allocation score on pcmk3: 0
++native_color: FAKE38 allocation score on pcmk_remote1: 0
++native_color: FAKE38 allocation score on pcmk_remote2: 0
++native_color: FAKE38 allocation score on pcmk_remote3: 0
++native_color: FAKE38 allocation score on pcmk_remote4: 0
++native_color: FAKE38 allocation score on pcmk_remote5: 0
++native_color: FAKE39 allocation score on pcmk1: 0
++native_color: FAKE39 allocation score on pcmk2: 0
++native_color: FAKE39 allocation score on pcmk3: 0
++native_color: FAKE39 allocation score on pcmk_remote1: 0
++native_color: FAKE39 allocation score on pcmk_remote2: 0
++native_color: FAKE39 allocation score on pcmk_remote3: 0
++native_color: FAKE39 allocation score on pcmk_remote4: 0
++native_color: FAKE39 allocation score on pcmk_remote5: 0
++native_color: FAKE4 allocation score on pcmk1: 0
++native_color: FAKE4 allocation score on pcmk2: 0
++native_color: FAKE4 allocation score on pcmk3: 0
++native_color: FAKE4 allocation score on pcmk_remote1: 0
++native_color: FAKE4 allocation score on pcmk_remote2: 0
++native_color: FAKE4 allocation score on pcmk_remote3: 0
++native_color: FAKE4 allocation score on pcmk_remote4: 0
++native_color: FAKE4 allocation score on pcmk_remote5: 0
++native_color: FAKE40 allocation score on pcmk1: 0
++native_color: FAKE40 allocation score on pcmk2: 0
++native_color: FAKE40 allocation score on pcmk3: 0
++native_color: FAKE40 allocation score on pcmk_remote1: 0
++native_color: FAKE40 allocation score on pcmk_remote2: 0
++native_color: FAKE40 allocation score on pcmk_remote3: 0
++native_color: FAKE40 allocation score on pcmk_remote4: 0
++native_color: FAKE40 allocation score on pcmk_remote5: 0
++native_color: FAKE41 allocation score on pcmk1: 0
++native_color: FAKE41 allocation score on pcmk2: 0
++native_color: FAKE41 allocation score on pcmk3: 0
++native_color: FAKE41 allocation score on pcmk_remote1: 0
++native_color: FAKE41 allocation score on pcmk_remote2: 0
++native_color: FAKE41 allocation score on pcmk_remote3: 0
++native_color: FAKE41 allocation score on pcmk_remote4: 0
++native_color: FAKE41 allocation score on pcmk_remote5: 0
++native_color: FAKE42 allocation score on pcmk1: 0
++native_color: FAKE42 allocation score on pcmk2: 0
++native_color: FAKE42 allocation score on pcmk3: 0
++native_color: FAKE42 allocation score on pcmk_remote1: 0
++native_color: FAKE42 allocation score on pcmk_remote2: 0
++native_color: FAKE42 allocation score on pcmk_remote3: 0
++native_color: FAKE42 allocation score on pcmk_remote4: 0
++native_color: FAKE42 allocation score on pcmk_remote5: 0
++native_color: FAKE43 allocation score on pcmk1: 0
++native_color: FAKE43 allocation score on pcmk2: 0
++native_color: FAKE43 allocation score on pcmk3: 0
++native_color: FAKE43 allocation score on pcmk_remote1: 0
++native_color: FAKE43 allocation score on pcmk_remote2: 0
++native_color: FAKE43 allocation score on pcmk_remote3: 0
++native_color: FAKE43 allocation score on pcmk_remote4: 0
++native_color: FAKE43 allocation score on pcmk_remote5: 0
++native_color: FAKE44 allocation score on pcmk1: 0
++native_color: FAKE44 allocation score on pcmk2: 0
++native_color: FAKE44 allocation score on pcmk3: 0
++native_color: FAKE44 allocation score on pcmk_remote1: 0
++native_color: FAKE44 allocation score on pcmk_remote2: 0
++native_color: FAKE44 allocation score on pcmk_remote3: 0
++native_color: FAKE44 allocation score on pcmk_remote4: 0
++native_color: FAKE44 allocation score on pcmk_remote5: 0
++native_color: FAKE45 allocation score on pcmk1: 0
++native_color: FAKE45 allocation score on pcmk2: 0
++native_color: FAKE45 allocation score on pcmk3: 0
++native_color: FAKE45 allocation score on pcmk_remote1: 0
++native_color: FAKE45 allocation score on pcmk_remote2: 0
++native_color: FAKE45 allocation score on pcmk_remote3: 0
++native_color: FAKE45 allocation score on pcmk_remote4: 0
++native_color: FAKE45 allocation score on pcmk_remote5: 0
++native_color: FAKE46 allocation score on pcmk1: 0
++native_color: FAKE46 allocation score on pcmk2: 0
++native_color: FAKE46 allocation score on pcmk3: 0
++native_color: FAKE46 allocation score on pcmk_remote1: 0
++native_color: FAKE46 allocation score on pcmk_remote2: 0
++native_color: FAKE46 allocation score on pcmk_remote3: 0
++native_color: FAKE46 allocation score on pcmk_remote4: 0
++native_color: FAKE46 allocation score on pcmk_remote5: 0
++native_color: FAKE47 allocation score on pcmk1: 0
++native_color: FAKE47 allocation score on pcmk2: 0
++native_color: FAKE47 allocation score on pcmk3: 0
++native_color: FAKE47 allocation score on pcmk_remote1: 0
++native_color: FAKE47 allocation score on pcmk_remote2: 0
++native_color: FAKE47 allocation score on pcmk_remote3: 0
++native_color: FAKE47 allocation score on pcmk_remote4: 0
++native_color: FAKE47 allocation score on pcmk_remote5: 0
++native_color: FAKE48 allocation score on pcmk1: 0
++native_color: FAKE48 allocation score on pcmk2: 0
++native_color: FAKE48 allocation score on pcmk3: 0
++native_color: FAKE48 allocation score on pcmk_remote1: 0
++native_color: FAKE48 allocation score on pcmk_remote2: 0
++native_color: FAKE48 allocation score on pcmk_remote3: 0
++native_color: FAKE48 allocation score on pcmk_remote4: 0
++native_color: FAKE48 allocation score on pcmk_remote5: 0
++native_color: FAKE49 allocation score on pcmk1: 0
++native_color: FAKE49 allocation score on pcmk2: 0
++native_color: FAKE49 allocation score on pcmk3: 0
++native_color: FAKE49 allocation score on pcmk_remote1: 0
++native_color: FAKE49 allocation score on pcmk_remote2: 0
++native_color: FAKE49 allocation score on pcmk_remote3: 0
++native_color: FAKE49 allocation score on pcmk_remote4: 0
++native_color: FAKE49 allocation score on pcmk_remote5: 0
++native_color: FAKE5 allocation score on pcmk1: 0
++native_color: FAKE5 allocation score on pcmk2: 0
++native_color: FAKE5 allocation score on pcmk3: 0
++native_color: FAKE5 allocation score on pcmk_remote1: 0
++native_color: FAKE5 allocation score on pcmk_remote2: 0
++native_color: FAKE5 allocation score on pcmk_remote3: 0
++native_color: FAKE5 allocation score on pcmk_remote4: 0
++native_color: FAKE5 allocation score on pcmk_remote5: 0
++native_color: FAKE50 allocation score on pcmk1: 0
++native_color: FAKE50 allocation score on pcmk2: 0
++native_color: FAKE50 allocation score on pcmk3: 0
++native_color: FAKE50 allocation score on pcmk_remote1: 0
++native_color: FAKE50 allocation score on pcmk_remote2: 0
++native_color: FAKE50 allocation score on pcmk_remote3: 0
++native_color: FAKE50 allocation score on pcmk_remote4: 0
++native_color: FAKE50 allocation score on pcmk_remote5: 0
++native_color: FAKE6 allocation score on pcmk1: 0
++native_color: FAKE6 allocation score on pcmk2: 0
++native_color: FAKE6 allocation score on pcmk3: 0
++native_color: FAKE6 allocation score on pcmk_remote1: 0
++native_color: FAKE6 allocation score on pcmk_remote2: 0
++native_color: FAKE6 allocation score on pcmk_remote3: 0
++native_color: FAKE6 allocation score on pcmk_remote4: 0
++native_color: FAKE6 allocation score on pcmk_remote5: 0
++native_color: FAKE7 allocation score on pcmk1: 0
++native_color: FAKE7 allocation score on pcmk2: 0
++native_color: FAKE7 allocation score on pcmk3: 0
++native_color: FAKE7 allocation score on pcmk_remote1: 0
++native_color: FAKE7 allocation score on pcmk_remote2: 0
++native_color: FAKE7 allocation score on pcmk_remote3: 0
++native_color: FAKE7 allocation score on pcmk_remote4: 0
++native_color: FAKE7 allocation score on pcmk_remote5: 0
++native_color: FAKE8 allocation score on pcmk1: 0
++native_color: FAKE8 allocation score on pcmk2: 0
++native_color: FAKE8 allocation score on pcmk3: 0
++native_color: FAKE8 allocation score on pcmk_remote1: 0
++native_color: FAKE8 allocation score on pcmk_remote2: 0
++native_color: FAKE8 allocation score on pcmk_remote3: 0
++native_color: FAKE8 allocation score on pcmk_remote4: 0
++native_color: FAKE8 allocation score on pcmk_remote5: 0
++native_color: FAKE9 allocation score on pcmk1: 0
++native_color: FAKE9 allocation score on pcmk2: -INFINITY
++native_color: FAKE9 allocation score on pcmk3: 0
++native_color: FAKE9 allocation score on pcmk_remote1: 0
++native_color: FAKE9 allocation score on pcmk_remote2: 0
++native_color: FAKE9 allocation score on pcmk_remote3: 0
++native_color: FAKE9 allocation score on pcmk_remote4: 0
++native_color: FAKE9 allocation score on pcmk_remote5: 0
++native_color: pcmk_remote1 allocation score on pcmk1: 0
++native_color: pcmk_remote1 allocation score on pcmk2: 0
++native_color: pcmk_remote1 allocation score on pcmk3: 0
++native_color: pcmk_remote1 allocation score on pcmk_remote1: -INFINITY
++native_color: pcmk_remote1 allocation score on pcmk_remote2: -INFINITY
++native_color: pcmk_remote1 allocation score on pcmk_remote3: -INFINITY
++native_color: pcmk_remote1 allocation score on pcmk_remote4: -INFINITY
++native_color: pcmk_remote1 allocation score on pcmk_remote5: -INFINITY
++native_color: pcmk_remote2 allocation score on pcmk1: 0
++native_color: pcmk_remote2 allocation score on pcmk2: 0
++native_color: pcmk_remote2 allocation score on pcmk3: 0
++native_color: pcmk_remote2 allocation score on pcmk_remote1: -INFINITY
++native_color: pcmk_remote2 allocation score on pcmk_remote2: -INFINITY
++native_color: pcmk_remote2 allocation score on pcmk_remote3: -INFINITY
++native_color: pcmk_remote2 allocation score on pcmk_remote4: -INFINITY
++native_color: pcmk_remote2 allocation score on pcmk_remote5: -INFINITY
++native_color: pcmk_remote3 allocation score on pcmk1: 0
++native_color: pcmk_remote3 allocation score on pcmk2: 0
++native_color: pcmk_remote3 allocation score on pcmk3: 0
++native_color: pcmk_remote3 allocation score on pcmk_remote1: -INFINITY
++native_color: pcmk_remote3 allocation score on pcmk_remote2: -INFINITY
++native_color: pcmk_remote3 allocation score on pcmk_remote3: -INFINITY
++native_color: pcmk_remote3 allocation score on pcmk_remote4: -INFINITY
++native_color: pcmk_remote3 allocation score on pcmk_remote5: -INFINITY
++native_color: pcmk_remote4 allocation score on pcmk1: 0
++native_color: pcmk_remote4 allocation score on pcmk2: 0
++native_color: pcmk_remote4 allocation score on pcmk3: 0
++native_color: pcmk_remote4 allocation score on pcmk_remote1: -INFINITY
++native_color: pcmk_remote4 allocation score on pcmk_remote2: -INFINITY
++native_color: pcmk_remote4 allocation score on pcmk_remote3: -INFINITY
++native_color: pcmk_remote4 allocation score on pcmk_remote4: -INFINITY
++native_color: pcmk_remote4 allocation score on pcmk_remote5: -INFINITY
++native_color: pcmk_remote5 allocation score on pcmk1: -INFINITY
++native_color: pcmk_remote5 allocation score on pcmk2: -INFINITY
++native_color: pcmk_remote5 allocation score on pcmk3: -INFINITY
++native_color: pcmk_remote5 allocation score on pcmk_remote1: -INFINITY
++native_color: pcmk_remote5 allocation score on pcmk_remote2: -INFINITY
++native_color: pcmk_remote5 allocation score on pcmk_remote3: -INFINITY
++native_color: pcmk_remote5 allocation score on pcmk_remote4: -INFINITY
++native_color: pcmk_remote5 allocation score on pcmk_remote5: -INFINITY
++native_color: shooter allocation score on pcmk1: 0
++native_color: shooter allocation score on pcmk2: 0
++native_color: shooter allocation score on pcmk3: 0
++native_color: shooter allocation score on pcmk_remote1: -INFINITY
++native_color: shooter allocation score on pcmk_remote2: -INFINITY
++native_color: shooter allocation score on pcmk_remote3: -INFINITY
++native_color: shooter allocation score on pcmk_remote4: -INFINITY
++native_color: shooter allocation score on pcmk_remote5: -INFINITY
+diff --git a/pengine/test10/remote-partial-migrate.summary b/pengine/test10/remote-partial-migrate.summary
+new file mode 100644
+index 0000000..e8abf92
+--- /dev/null
++++ b/pengine/test10/remote-partial-migrate.summary
+@@ -0,0 +1,189 @@
++
++Current cluster status:
++Online: [ pcmk1 pcmk2 pcmk3 ]
++RemoteOnline: [ pcmk_remote1 pcmk_remote2 pcmk_remote3 pcmk_remote4 ]
++RemoteOFFLINE: [ pcmk_remote5 ]
++
++ shooter	(stonith:fence_docker_cts):	Started pcmk2 
++ pcmk_remote1	(ocf::pacemaker:remote):	Started pcmk1 
++ pcmk_remote2	(ocf::pacemaker:remote):	Started pcmk3 
++ pcmk_remote3	(ocf::pacemaker:remote):	Started [ pcmk2 pcmk1 ]
++ pcmk_remote4	(ocf::pacemaker:remote):	Started pcmk3 
++ pcmk_remote5	(ocf::pacemaker:remote):	Stopped 
++ FAKE1	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE2	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE3	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE4	(ocf::heartbeat:Dummy):	Stopped 
++ FAKE5	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE6	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE7	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE8	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE9	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE10	(ocf::heartbeat:Dummy):	Stopped 
++ FAKE11	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE12	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE13	(ocf::heartbeat:Dummy):	Stopped 
++ FAKE14	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE15	(ocf::heartbeat:Dummy):	Stopped 
++ FAKE16	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE17	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE18	(ocf::heartbeat:Dummy):	Started pcmk2 
++ FAKE19	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE20	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE21	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE22	(ocf::heartbeat:Dummy):	Stopped 
++ FAKE23	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE24	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE25	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE26	(ocf::heartbeat:Dummy):	Stopped 
++ FAKE27	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE28	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE29	(ocf::heartbeat:Dummy):	Stopped 
++ FAKE30	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE31	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE32	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE33	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE34	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE35	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE36	(ocf::heartbeat:Dummy):	Stopped 
++ FAKE37	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE38	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE39	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE40	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE41	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE42	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE43	(ocf::heartbeat:Dummy):	Stopped 
++ FAKE44	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE45	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE46	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE47	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE48	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE49	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE50	(ocf::heartbeat:Dummy):	Stopped 
++
++Transition Summary:
++ * Migrate pcmk_remote3	(Started pcmk1 -> pcmk2)
++ * Start   FAKE4	(pcmk_remote3)
++ * Move    FAKE9	(Started pcmk_remote3 -> pcmk1)
++ * Start   FAKE10	(pcmk1)
++ * Start   FAKE13	(pcmk2)
++ * Start   FAKE15	(pcmk3)
++ * Move    FAKE16	(Started pcmk1 -> pcmk_remote3)
++ * Start   FAKE22	(pcmk1)
++ * Move    FAKE23	(Started pcmk1 -> pcmk_remote1)
++ * Start   FAKE26	(pcmk1)
++ * Start   FAKE29	(pcmk2)
++ * Move    FAKE30	(Started pcmk1 -> pcmk_remote2)
++ * Start   FAKE36	(pcmk1)
++ * Move    FAKE37	(Started pcmk1 -> pcmk2)
++ * Start   FAKE43	(pcmk1)
++ * Move    FAKE44	(Started pcmk1 -> pcmk2)
++ * Start   FAKE50	(pcmk1)
++
++Executing cluster transition:
++ * Resource action: pcmk_remote3    migrate_from on pcmk2
++ * Resource action: pcmk_remote3    stop on pcmk1
++ * Resource action: FAKE10          start on pcmk1
++ * Resource action: FAKE13          start on pcmk2
++ * Resource action: FAKE15          start on pcmk3
++ * Resource action: FAKE16          stop on pcmk1
++ * Resource action: FAKE22          start on pcmk1
++ * Resource action: FAKE23          stop on pcmk1
++ * Resource action: FAKE26          start on pcmk1
++ * Resource action: FAKE29          start on pcmk2
++ * Resource action: FAKE30          stop on pcmk1
++ * Resource action: FAKE36          start on pcmk1
++ * Resource action: FAKE37          stop on pcmk1
++ * Resource action: FAKE43          start on pcmk1
++ * Resource action: FAKE44          stop on pcmk1
++ * Resource action: FAKE50          start on pcmk1
++ * Pseudo action:   pcmk_remote3_start_0
++ * Resource action: FAKE4           start on pcmk_remote3
++ * Resource action: FAKE9           stop on pcmk_remote3
++ * Resource action: FAKE10          monitor=10000 on pcmk1
++ * Resource action: FAKE13          monitor=10000 on pcmk2
++ * Resource action: FAKE15          monitor=10000 on pcmk3
++ * Resource action: FAKE16          start on pcmk_remote3
++ * Resource action: FAKE22          monitor=10000 on pcmk1
++ * Resource action: FAKE23          start on pcmk_remote1
++ * Resource action: FAKE26          monitor=10000 on pcmk1
++ * Resource action: FAKE29          monitor=10000 on pcmk2
++ * Resource action: FAKE30          start on pcmk_remote2
++ * Resource action: FAKE36          monitor=10000 on pcmk1
++ * Resource action: FAKE37          start on pcmk2
++ * Resource action: FAKE43          monitor=10000 on pcmk1
++ * Resource action: FAKE44          start on pcmk2
++ * Resource action: FAKE50          monitor=10000 on pcmk1
++ * Pseudo action:   all_stopped
++ * Resource action: pcmk_remote3    monitor=60000 on pcmk2
++ * Resource action: FAKE4           monitor=10000 on pcmk_remote3
++ * Resource action: FAKE9           start on pcmk1
++ * Resource action: FAKE16          monitor=10000 on pcmk_remote3
++ * Resource action: FAKE23          monitor=10000 on pcmk_remote1
++ * Resource action: FAKE30          monitor=10000 on pcmk_remote2
++ * Resource action: FAKE37          monitor=10000 on pcmk2
++ * Resource action: FAKE44          monitor=10000 on pcmk2
++ * Resource action: FAKE9           monitor=10000 on pcmk1
++
++Revised cluster status:
++Online: [ pcmk1 pcmk2 pcmk3 ]
++RemoteOnline: [ pcmk_remote1 pcmk_remote2 pcmk_remote3 pcmk_remote4 ]
++RemoteOFFLINE: [ pcmk_remote5 ]
++
++ shooter	(stonith:fence_docker_cts):	Started pcmk2 
++ pcmk_remote1	(ocf::pacemaker:remote):	Started pcmk1 
++ pcmk_remote2	(ocf::pacemaker:remote):	Started pcmk3 
++ pcmk_remote3	(ocf::pacemaker:remote):	Started pcmk2 
++ pcmk_remote4	(ocf::pacemaker:remote):	Started pcmk3 
++ pcmk_remote5	(ocf::pacemaker:remote):	Stopped 
++ FAKE1	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE2	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE3	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE4	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE5	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE6	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE7	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE8	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE9	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE10	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE11	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE12	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE13	(ocf::heartbeat:Dummy):	Started pcmk2 
++ FAKE14	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE15	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE16	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE17	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE18	(ocf::heartbeat:Dummy):	Started pcmk2 
++ FAKE19	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE20	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE21	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE22	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE23	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE24	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE25	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE26	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE27	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE28	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE29	(ocf::heartbeat:Dummy):	Started pcmk2 
++ FAKE30	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE31	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE32	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE33	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE34	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE35	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE36	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE37	(ocf::heartbeat:Dummy):	Started pcmk2 
++ FAKE38	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE39	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE40	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE41	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE42	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE43	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE44	(ocf::heartbeat:Dummy):	Started pcmk2 
++ FAKE45	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE46	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE47	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE48	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE49	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE50	(ocf::heartbeat:Dummy):	Started pcmk1 
++
+diff --git a/pengine/test10/remote-partial-migrate.xml b/pengine/test10/remote-partial-migrate.xml
+new file mode 100644
+index 0000000..e71f029
+--- /dev/null
++++ b/pengine/test10/remote-partial-migrate.xml
+@@ -0,0 +1,1734 @@
++<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.2" epoch="154" num_updates="1682" admin_epoch="0" cib-last-written="Wed Dec 10 20:33:26 2014" have-quorum="1" dc-uuid="1">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
++        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-6b19349"/>
++        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
++        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="mycluster"/>
++        <nvpair id="cib-bootstrap-options-last-lrm-refresh" name="last-lrm-refresh" value="1418243606"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes>
++      <node id="3" uname="pcmk3"/>
++      <node id="1" uname="pcmk1"/>
++      <node id="2" uname="pcmk2"/>
++    </nodes>
++    <resources>
++      <primitive class="stonith" id="shooter" type="fence_docker_cts">
++        <instance_attributes id="shooter-instance_attributes"/>
++        <operations>
++          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="pcmk_remote1" provider="pacemaker" type="remote">
++        <instance_attributes id="pcmk_remote1-instance_attributes">
++          <nvpair id="pcmk_remote1-instance_attributes-server" name="server" value="172.17.201.1"/>
++        </instance_attributes>
++        <operations>
++          <op id="pcmk_remote1-stop-timeout-60" interval="0s" name="stop" timeout="60"/>
++          <op id="pcmk_remote1-monitor-timeout-30" interval="60s" name="monitor" timeout="30"/>
++          <op id="pcmk_remote1-start-timeout-10s" interval="0s" name="start" timeout="10s"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="pcmk_remote2" provider="pacemaker" type="remote">
++        <instance_attributes id="pcmk_remote2-instance_attributes">
++          <nvpair id="pcmk_remote2-instance_attributes-server" name="server" value="172.17.201.2"/>
++        </instance_attributes>
++        <operations>
++          <op id="pcmk_remote2-stop-timeout-60" interval="0s" name="stop" timeout="60"/>
++          <op id="pcmk_remote2-monitor-timeout-30" interval="60s" name="monitor" timeout="30"/>
++          <op id="pcmk_remote2-start-timeout-10s" interval="0s" name="start" timeout="10s"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="pcmk_remote3" provider="pacemaker" type="remote">
++        <instance_attributes id="pcmk_remote3-instance_attributes">
++          <nvpair id="pcmk_remote3-instance_attributes-server" name="server" value="172.17.201.3"/>
++        </instance_attributes>
++        <operations>
++          <op id="pcmk_remote3-stop-timeout-60" interval="0s" name="stop" timeout="60"/>
++          <op id="pcmk_remote3-monitor-timeout-30" interval="60s" name="monitor" timeout="30"/>
++          <op id="pcmk_remote3-start-timeout-10s" interval="0s" name="start" timeout="10s"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="pcmk_remote4" provider="pacemaker" type="remote">
++        <instance_attributes id="pcmk_remote4-instance_attributes">
++          <nvpair id="pcmk_remote4-instance_attributes-server" name="server" value="172.17.201.4"/>
++        </instance_attributes>
++        <operations>
++          <op id="pcmk_remote4-stop-timeout-60" interval="0s" name="stop" timeout="60"/>
++          <op id="pcmk_remote4-monitor-timeout-30" interval="60s" name="monitor" timeout="30"/>
++          <op id="pcmk_remote4-start-timeout-10s" interval="0s" name="start" timeout="10s"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="pcmk_remote5" provider="pacemaker" type="remote">
++        <instance_attributes id="pcmk_remote5-instance_attributes">
++          <nvpair id="pcmk_remote5-instance_attributes-server" name="server" value="172.17.201.5"/>
++        </instance_attributes>
++        <operations>
++          <op id="pcmk_remote5-stop-timeout-60" interval="0s" name="stop" timeout="60"/>
++          <op id="pcmk_remote5-monitor-timeout-30" interval="60s" name="monitor" timeout="30"/>
++          <op id="pcmk_remote5-start-timeout-10s" interval="0s" name="start" timeout="10s"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE1" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE1-instance_attributes"/>
++        <operations>
++          <op id="FAKE1-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE1-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE1-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE2" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE2-instance_attributes"/>
++        <operations>
++          <op id="FAKE2-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE2-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE2-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE3" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE3-instance_attributes"/>
++        <operations>
++          <op id="FAKE3-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE3-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE3-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE4" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE4-instance_attributes"/>
++        <operations>
++          <op id="FAKE4-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE4-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE4-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE5" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE5-instance_attributes"/>
++        <operations>
++          <op id="FAKE5-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE5-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE5-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE6" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE6-instance_attributes"/>
++        <operations>
++          <op id="FAKE6-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE6-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE6-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE7" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE7-instance_attributes"/>
++        <operations>
++          <op id="FAKE7-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE7-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE7-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE8" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE8-instance_attributes"/>
++        <operations>
++          <op id="FAKE8-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE8-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE8-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE9" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE9-instance_attributes"/>
++        <operations>
++          <op id="FAKE9-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE9-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE9-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE10" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE10-instance_attributes"/>
++        <operations>
++          <op id="FAKE10-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE10-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE10-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE11" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE11-instance_attributes"/>
++        <operations>
++          <op id="FAKE11-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE11-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE11-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE12" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE12-instance_attributes"/>
++        <operations>
++          <op id="FAKE12-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE12-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE12-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE13" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE13-instance_attributes"/>
++        <operations>
++          <op id="FAKE13-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE13-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE13-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE14" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE14-instance_attributes"/>
++        <operations>
++          <op id="FAKE14-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE14-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE14-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE15" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE15-instance_attributes"/>
++        <operations>
++          <op id="FAKE15-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE15-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE15-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE16" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE16-instance_attributes"/>
++        <operations>
++          <op id="FAKE16-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE16-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE16-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE17" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE17-instance_attributes"/>
++        <operations>
++          <op id="FAKE17-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE17-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE17-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE18" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE18-instance_attributes"/>
++        <operations>
++          <op id="FAKE18-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE18-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE18-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE19" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE19-instance_attributes"/>
++        <operations>
++          <op id="FAKE19-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE19-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE19-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE20" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE20-instance_attributes"/>
++        <operations>
++          <op id="FAKE20-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE20-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE20-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE21" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE21-instance_attributes"/>
++        <operations>
++          <op id="FAKE21-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE21-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE21-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE22" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE22-instance_attributes"/>
++        <operations>
++          <op id="FAKE22-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE22-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE22-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE23" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE23-instance_attributes"/>
++        <operations>
++          <op id="FAKE23-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE23-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE23-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE24" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE24-instance_attributes"/>
++        <operations>
++          <op id="FAKE24-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE24-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE24-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE25" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE25-instance_attributes"/>
++        <operations>
++          <op id="FAKE25-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE25-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE25-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE26" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE26-instance_attributes"/>
++        <operations>
++          <op id="FAKE26-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE26-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE26-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE27" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE27-instance_attributes"/>
++        <operations>
++          <op id="FAKE27-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE27-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE27-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE28" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE28-instance_attributes"/>
++        <operations>
++          <op id="FAKE28-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE28-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE28-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE29" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE29-instance_attributes"/>
++        <operations>
++          <op id="FAKE29-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE29-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE29-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE30" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE30-instance_attributes"/>
++        <operations>
++          <op id="FAKE30-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE30-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE30-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE31" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE31-instance_attributes"/>
++        <operations>
++          <op id="FAKE31-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE31-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE31-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE32" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE32-instance_attributes"/>
++        <operations>
++          <op id="FAKE32-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE32-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE32-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE33" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE33-instance_attributes"/>
++        <operations>
++          <op id="FAKE33-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE33-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE33-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE34" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE34-instance_attributes"/>
++        <operations>
++          <op id="FAKE34-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE34-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE34-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE35" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE35-instance_attributes"/>
++        <operations>
++          <op id="FAKE35-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE35-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE35-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE36" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE36-instance_attributes"/>
++        <operations>
++          <op id="FAKE36-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE36-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE36-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE37" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE37-instance_attributes"/>
++        <operations>
++          <op id="FAKE37-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE37-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE37-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE38" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE38-instance_attributes"/>
++        <operations>
++          <op id="FAKE38-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE38-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE38-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE39" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE39-instance_attributes"/>
++        <operations>
++          <op id="FAKE39-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE39-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE39-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE40" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE40-instance_attributes"/>
++        <operations>
++          <op id="FAKE40-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE40-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE40-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE41" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE41-instance_attributes"/>
++        <operations>
++          <op id="FAKE41-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE41-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE41-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE42" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE42-instance_attributes"/>
++        <operations>
++          <op id="FAKE42-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE42-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE42-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE43" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE43-instance_attributes"/>
++        <operations>
++          <op id="FAKE43-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE43-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE43-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE44" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE44-instance_attributes"/>
++        <operations>
++          <op id="FAKE44-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE44-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE44-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE45" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE45-instance_attributes"/>
++        <operations>
++          <op id="FAKE45-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE45-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE45-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE46" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE46-instance_attributes"/>
++        <operations>
++          <op id="FAKE46-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE46-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE46-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE47" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE47-instance_attributes"/>
++        <operations>
++          <op id="FAKE47-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE47-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE47-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE48" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE48-instance_attributes"/>
++        <operations>
++          <op id="FAKE48-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE48-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE48-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE49" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE49-instance_attributes"/>
++        <operations>
++          <op id="FAKE49-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE49-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE49-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE50" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE50-instance_attributes"/>
++        <operations>
++          <op id="FAKE50-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE50-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE50-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++    </resources>
++    <constraints/>
++  </configuration>
++  <status>
++    <node_state id="2" uname="pcmk2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <lrm id="2">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_docker_cts" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="67:41:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;67:41:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="211" rc-code="0" op-status="0" interval="0" last-run="1418243795" last-rc-change="1418243795" exec-time="182" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="68:41:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;68:41:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="212" rc-code="0" op-status="0" interval="60000" last-rc-change="1418243795" exec-time="1068" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote1" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote1_last_0" operation_key="pcmk_remote1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="63:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;63:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="1" rc-code="7" op-status="0" interval="0" last-run="1418243793" last-rc-change="1418243793" exec-time="0" queue-time="0" op-digest="ef8bb6d8fee23eeb10cda8633b3634da" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote2" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote2_last_0" operation_key="pcmk_remote2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="64:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;64:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="2" rc-code="7" op-status="0" interval="0" last-run="1418243793" last-rc-change="1418243793" exec-time="0" queue-time="0" op-digest="6ba25fc444142a68b950347505d00b3e" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote3" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote3_last_0" operation_key="pcmk_remote3_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="65:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;65:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="3" rc-code="7" op-status="0" interval="0" last-run="1418243793" last-rc-change="1418243793" exec-time="0" queue-time="0" op-digest="1d3716b912f4312b45dbe3ca420f177a" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote4" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote4_last_0" operation_key="pcmk_remote4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="66:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;66:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="4" rc-code="7" op-status="0" interval="0" last-run="1418243793" last-rc-change="1418243793" exec-time="0" queue-time="0" op-digest="26ba620744979fe6eb89940dac6aa339" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote5" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote5_last_0" operation_key="pcmk_remote5_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="2:47:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;2:47:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="7" rc-code="0" op-status="0" interval="0" last-run="1418243824" last-rc-change="1418243824" exec-time="0" queue-time="0" op-digest="ea8522d25650e62ca6ecefe8d7b2fe8a" on_node="pcmk2"/>
++            <lrm_rsc_op id="pcmk_remote5_last_failure_0" operation_key="pcmk_remote5_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="121:45:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="2:1;121:45:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="6" rc-code="1" op-status="2" interval="0" last-run="1418243814" last-rc-change="1418243814" exec-time="0" queue-time="0" op-digest="ea8522d25650e62ca6ecefe8d7b2fe8a"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="68:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;68:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="14" rc-code="7" op-status="0" interval="0" last-run="1418243793" last-rc-change="1418243793" exec-time="36" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="69:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;69:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="18" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="20" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="70:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;70:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="22" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="31" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="71:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;71:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="26" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE5" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE5_last_0" operation_key="FAKE5_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="72:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;72:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="30" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE6" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE6_last_0" operation_key="FAKE6_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="73:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;73:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="34" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="29" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE7" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE7_last_0" operation_key="FAKE7_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="74:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;74:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="38" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="25" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE8" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE8_last_0" operation_key="FAKE8_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="75:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;75:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="42" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="25" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE9" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE9_last_0" operation_key="FAKE9_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="76:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;76:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="46" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE10" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE10_last_0" operation_key="FAKE10_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="77:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;77:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="50" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE11" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE11_last_0" operation_key="FAKE11_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="78:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;78:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="54" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE12" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE12_last_0" operation_key="FAKE12_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="79:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;79:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="58" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="18" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE13" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE13_last_0" operation_key="FAKE13_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="80:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;80:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="62" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE14" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE14_last_0" operation_key="FAKE14_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="81:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;81:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="66" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE15" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE15_last_0" operation_key="FAKE15_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="82:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;82:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="70" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE16" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE16_last_0" operation_key="FAKE16_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="83:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;83:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="74" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE17" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE17_last_0" operation_key="FAKE17_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="84:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;84:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="78" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE18" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE18_last_0" operation_key="FAKE18_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="117:41:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;117:41:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="213" rc-code="0" op-status="0" interval="0" last-run="1418243797" last-rc-change="1418243797" exec-time="75" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE18_monitor_10000" operation_key="FAKE18_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="118:41:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;118:41:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="214" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243797" exec-time="50" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE19" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE19_last_0" operation_key="FAKE19_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="86:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;86:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="86" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE20" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE20_last_0" operation_key="FAKE20_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="87:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;87:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="90" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE21" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE21_last_0" operation_key="FAKE21_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="88:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;88:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="94" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE22" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE22_last_0" operation_key="FAKE22_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="89:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;89:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="98" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="20" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE23" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE23_last_0" operation_key="FAKE23_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="90:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;90:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="102" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE24" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE24_last_0" operation_key="FAKE24_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="91:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;91:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="106" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE25" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE25_last_0" operation_key="FAKE25_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="92:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;92:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="110" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE26" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE26_last_0" operation_key="FAKE26_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="93:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;93:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="114" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE27" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE27_last_0" operation_key="FAKE27_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="94:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;94:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="118" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE28" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE28_last_0" operation_key="FAKE28_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="95:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;95:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="122" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE29" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE29_last_0" operation_key="FAKE29_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="96:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;96:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="126" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE30" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE30_last_0" operation_key="FAKE30_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="97:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;97:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="130" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="17" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE31" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE31_last_0" operation_key="FAKE31_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="98:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;98:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="134" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE32" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE32_last_0" operation_key="FAKE32_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="99:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;99:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="138" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE33" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE33_last_0" operation_key="FAKE33_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="100:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;100:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="142" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE34" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE34_last_0" operation_key="FAKE34_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="101:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;101:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="146" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE35" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE35_last_0" operation_key="FAKE35_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="102:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;102:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="150" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="16" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE36" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE36_last_0" operation_key="FAKE36_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="103:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;103:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="154" rc-code="7" op-status="0" interval="0" last-run="1418243794" last-rc-change="1418243794" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE37" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE37_last_0" operation_key="FAKE37_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="104:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;104:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="158" rc-code="7" op-status="0" interval="0" last-run="1418243795" last-rc-change="1418243795" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE38" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE38_last_0" operation_key="FAKE38_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="105:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;105:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="162" rc-code="7" op-status="0" interval="0" last-run="1418243795" last-rc-change="1418243795" exec-time="14" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE39" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE39_last_0" operation_key="FAKE39_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="106:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;106:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="166" rc-code="7" op-status="0" interval="0" last-run="1418243795" last-rc-change="1418243795" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE40" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE40_last_0" operation_key="FAKE40_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="107:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;107:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="170" rc-code="7" op-status="0" interval="0" last-run="1418243795" last-rc-change="1418243795" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE41" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE41_last_0" operation_key="FAKE41_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="108:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;108:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="174" rc-code="7" op-status="0" interval="0" last-run="1418243795" last-rc-change="1418243795" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE42" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE42_last_0" operation_key="FAKE42_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="109:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;109:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="178" rc-code="7" op-status="0" interval="0" last-run="1418243795" last-rc-change="1418243795" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE43" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE43_last_0" operation_key="FAKE43_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="110:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;110:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="182" rc-code="7" op-status="0" interval="0" last-run="1418243795" last-rc-change="1418243795" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE44" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE44_last_0" operation_key="FAKE44_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="111:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;111:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="186" rc-code="7" op-status="0" interval="0" last-run="1418243795" last-rc-change="1418243795" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE45" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE45_last_0" operation_key="FAKE45_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="112:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;112:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="190" rc-code="7" op-status="0" interval="0" last-run="1418243795" last-rc-change="1418243795" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE46" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE46_last_0" operation_key="FAKE46_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="113:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;113:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="194" rc-code="7" op-status="0" interval="0" last-run="1418243795" last-rc-change="1418243795" exec-time="14" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE47" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE47_last_0" operation_key="FAKE47_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="114:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;114:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="198" rc-code="7" op-status="0" interval="0" last-run="1418243795" last-rc-change="1418243795" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE48" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE48_last_0" operation_key="FAKE48_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="115:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;115:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="202" rc-code="7" op-status="0" interval="0" last-run="1418243795" last-rc-change="1418243795" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE49" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE49_last_0" operation_key="FAKE49_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="116:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;116:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="206" rc-code="7" op-status="0" interval="0" last-run="1418243795" last-rc-change="1418243795" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE50" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE50_last_0" operation_key="FAKE50_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="117:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;117:40:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="210" rc-code="7" op-status="0" interval="0" last-run="1418243795" last-rc-change="1418243795" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="2">
++        <instance_attributes id="status-2">
++          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
++          <nvpair id="status-2-fail-count-pcmk_remote5" name="fail-count-pcmk_remote5" value="INFINITY"/>
++          <nvpair id="status-2-last-failure-pcmk_remote5" name="last-failure-pcmk_remote5" value="1418243823"/>
++          <nvpair id="status-2-fail-count-FAKE9" name="fail-count-FAKE9" value="INFINITY"/>
++          <nvpair id="status-2-last-failure-FAKE9" name="last-failure-FAKE9" value="1418244719"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state id="3" uname="pcmk3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <lrm id="3">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_docker_cts" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="124:40:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;124:40:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="224" rc-code="0" op-status="0" interval="0" last-run="1418243795" last-rc-change="1418243795" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="68:20:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;68:20:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="212" rc-code="0" op-status="0" interval="60000" last-rc-change="1418243741" exec-time="1166" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote1" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote1_last_0" operation_key="pcmk_remote1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="64:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;64:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="1" rc-code="7" op-status="0" interval="0" last-run="1418243738" last-rc-change="1418243738" exec-time="0" queue-time="0" op-digest="ef8bb6d8fee23eeb10cda8633b3634da" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote2" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote2_last_0" operation_key="pcmk_remote2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="65:21:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;65:21:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1418243749" last-rc-change="1418243749" exec-time="0" queue-time="0" op-digest="6ba25fc444142a68b950347505d00b3e" on_node="pcmk3"/>
++            <lrm_rsc_op id="pcmk_remote2_monitor_60000" operation_key="pcmk_remote2_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="100:22:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;100:22:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1418243750" exec-time="0" queue-time="0" op-digest="39ddc1db1343360514ad499c03600074" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote3" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote3_last_0" operation_key="pcmk_remote3_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="66:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;66:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="3" rc-code="7" op-status="0" interval="0" last-run="1418243738" last-rc-change="1418243738" exec-time="0" queue-time="0" op-digest="1d3716b912f4312b45dbe3ca420f177a" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote4" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote4_last_0" operation_key="pcmk_remote4_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="103:22:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;103:22:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="8" rc-code="0" op-status="0" interval="0" last-run="1418243750" last-rc-change="1418243750" exec-time="0" queue-time="0" op-digest="26ba620744979fe6eb89940dac6aa339" on_node="pcmk3"/>
++            <lrm_rsc_op id="pcmk_remote4_monitor_60000" operation_key="pcmk_remote4_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="155:23:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;155:23:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="9" rc-code="0" op-status="0" interval="60000" last-rc-change="1418243752" exec-time="0" queue-time="0" op-digest="bd07c2deb2e92be7c37c1532a12b386b" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote5" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote5_last_0" operation_key="pcmk_remote5_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="5:49:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;5:49:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="11" rc-code="0" op-status="0" interval="0" last-run="1418243834" last-rc-change="1418243834" exec-time="0" queue-time="0" op-digest="ea8522d25650e62ca6ecefe8d7b2fe8a" on_node="pcmk3"/>
++            <lrm_rsc_op id="pcmk_remote5_last_failure_0" operation_key="pcmk_remote5_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="120:47:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="2:1;120:47:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="10" rc-code="1" op-status="2" interval="0" last-run="1418243824" last-rc-change="1418243824" exec-time="0" queue-time="0" op-digest="ea8522d25650e62ca6ecefe8d7b2fe8a"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="69:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;69:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="14" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="61" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="70:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;70:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="18" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="59" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="71:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;71:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="22" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="46" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="72:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;72:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="26" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE5" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE5_last_0" operation_key="FAKE5_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="73:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;73:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="30" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE6" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE6_last_0" operation_key="FAKE6_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="74:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;74:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="34" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE7" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE7_last_0" operation_key="FAKE7_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="75:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;75:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="38" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE8" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE8_last_0" operation_key="FAKE8_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="76:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;76:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="42" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE9" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE9_last_0" operation_key="FAKE9_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="77:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;77:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="46" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE10" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE10_last_0" operation_key="FAKE10_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="78:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;78:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="50" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE11" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE11_last_0" operation_key="FAKE11_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="79:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;79:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="54" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="16" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE12" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE12_last_0" operation_key="FAKE12_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="80:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;80:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="58" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE13" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE13_last_0" operation_key="FAKE13_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="81:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;81:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="62" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE14" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE14_last_0" operation_key="FAKE14_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="82:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;82:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="66" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE15" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE15_last_0" operation_key="FAKE15_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="83:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;83:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="70" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE16" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE16_last_0" operation_key="FAKE16_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="84:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;84:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="74" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE17" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE17_last_0" operation_key="FAKE17_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="158:30:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;158:30:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="213" rc-code="0" op-status="0" interval="0" last-run="1418243761" last-rc-change="1418243761" exec-time="75" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE17_monitor_10000" operation_key="FAKE17_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="159:30:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;159:30:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="214" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243761" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE18" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE18_last_0" operation_key="FAKE18_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="86:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;86:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="82" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE19" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE19_last_0" operation_key="FAKE19_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="87:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;87:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="86" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE20" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE20_last_0" operation_key="FAKE20_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="88:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;88:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="90" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE21" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE21_last_0" operation_key="FAKE21_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="89:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;89:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="94" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE22" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE22_last_0" operation_key="FAKE22_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="90:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;90:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="98" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE23" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE23_last_0" operation_key="FAKE23_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="91:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;91:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="102" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE24" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE24_last_0" operation_key="FAKE24_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="161:32:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;161:32:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="215" rc-code="0" op-status="0" interval="0" last-run="1418243764" last-rc-change="1418243764" exec-time="49" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE24_monitor_10000" operation_key="FAKE24_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="162:32:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;162:32:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="216" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243764" exec-time="59" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE25" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE25_last_0" operation_key="FAKE25_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="93:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;93:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="110" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE26" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE26_last_0" operation_key="FAKE26_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="94:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;94:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="114" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE27" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE27_last_0" operation_key="FAKE27_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="95:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;95:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="118" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE28" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE28_last_0" operation_key="FAKE28_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="96:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;96:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="122" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="18" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE29" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE29_last_0" operation_key="FAKE29_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="97:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;97:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="126" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE30" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE30_last_0" operation_key="FAKE30_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="98:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;98:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="130" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE31" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE31_last_0" operation_key="FAKE31_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="164:34:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;164:34:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="217" rc-code="0" op-status="0" interval="0" last-run="1418243767" last-rc-change="1418243767" exec-time="53" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE31_monitor_10000" operation_key="FAKE31_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="165:34:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;165:34:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="218" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243767" exec-time="37" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE32" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE32_last_0" operation_key="FAKE32_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="100:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;100:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="138" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE33" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE33_last_0" operation_key="FAKE33_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="101:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;101:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="142" rc-code="7" op-status="0" interval="0" last-run="1418243739" last-rc-change="1418243739" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE34" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE34_last_0" operation_key="FAKE34_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="102:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;102:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="146" rc-code="7" op-status="0" interval="0" last-run="1418243740" last-rc-change="1418243740" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE35" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE35_last_0" operation_key="FAKE35_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="103:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;103:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="150" rc-code="7" op-status="0" interval="0" last-run="1418243740" last-rc-change="1418243740" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE36" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE36_last_0" operation_key="FAKE36_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="104:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;104:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="154" rc-code="7" op-status="0" interval="0" last-run="1418243740" last-rc-change="1418243740" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE37" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE37_last_0" operation_key="FAKE37_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="105:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;105:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="158" rc-code="7" op-status="0" interval="0" last-run="1418243740" last-rc-change="1418243740" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE38" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE38_last_0" operation_key="FAKE38_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="167:36:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;167:36:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="219" rc-code="0" op-status="0" interval="0" last-run="1418243771" last-rc-change="1418243771" exec-time="42" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE38_monitor_10000" operation_key="FAKE38_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="168:36:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;168:36:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="220" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243771" exec-time="17" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE39" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE39_last_0" operation_key="FAKE39_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="107:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;107:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="166" rc-code="7" op-status="0" interval="0" last-run="1418243740" last-rc-change="1418243740" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE40" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE40_last_0" operation_key="FAKE40_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="108:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;108:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="170" rc-code="7" op-status="0" interval="0" last-run="1418243740" last-rc-change="1418243740" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE41" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE41_last_0" operation_key="FAKE41_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="109:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;109:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="174" rc-code="7" op-status="0" interval="0" last-run="1418243740" last-rc-change="1418243740" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE42" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE42_last_0" operation_key="FAKE42_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="110:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;110:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="178" rc-code="7" op-status="0" interval="0" last-run="1418243740" last-rc-change="1418243740" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE43" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE43_last_0" operation_key="FAKE43_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="111:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;111:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="182" rc-code="7" op-status="0" interval="0" last-run="1418243740" last-rc-change="1418243740" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE44" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE44_last_0" operation_key="FAKE44_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="112:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;112:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="186" rc-code="7" op-status="0" interval="0" last-run="1418243740" last-rc-change="1418243740" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE45" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE45_last_0" operation_key="FAKE45_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="170:38:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;170:38:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="221" rc-code="0" op-status="0" interval="0" last-run="1418243774" last-rc-change="1418243774" exec-time="47" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE45_monitor_10000" operation_key="FAKE45_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="171:38:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;171:38:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="222" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243774" exec-time="36" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE46" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE46_last_0" operation_key="FAKE46_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="114:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;114:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="194" rc-code="7" op-status="0" interval="0" last-run="1418243740" last-rc-change="1418243740" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE47" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE47_last_0" operation_key="FAKE47_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="115:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;115:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="198" rc-code="7" op-status="0" interval="0" last-run="1418243740" last-rc-change="1418243740" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE48" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE48_last_0" operation_key="FAKE48_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="116:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;116:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="202" rc-code="7" op-status="0" interval="0" last-run="1418243740" last-rc-change="1418243740" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE49" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE49_last_0" operation_key="FAKE49_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="117:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;117:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="206" rc-code="7" op-status="0" interval="0" last-run="1418243740" last-rc-change="1418243740" exec-time="16" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE50" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE50_last_0" operation_key="FAKE50_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="118:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;118:19:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="210" rc-code="7" op-status="0" interval="0" last-run="1418243740" last-rc-change="1418243740" exec-time="19" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="3">
++        <instance_attributes id="status-3">
++          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
++          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-3-fail-count-pcmk_remote5" name="fail-count-pcmk_remote5" value="INFINITY"/>
++          <nvpair id="status-3-last-failure-pcmk_remote5" name="last-failure-pcmk_remote5" value="1418243833"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state id="1" uname="pcmk1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="1">
++        <instance_attributes id="status-1">
++          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
++          <nvpair id="status-1-last-failure-pcmk_remote3" name="last-failure-pcmk_remote3" value="1418243568"/>
++          <nvpair id="status-1-fail-count-pcmk_remote5" name="fail-count-pcmk_remote5" value="INFINITY"/>
++          <nvpair id="status-1-last-failure-pcmk_remote5" name="last-failure-pcmk_remote5" value="1418243813"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="1">
++        <lrm_resources>
++          <lrm_resource id="FAKE19" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE19_last_0" operation_key="FAKE19_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="85:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;85:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="86" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE36" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE36_last_0" operation_key="FAKE36_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="102:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;102:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="154" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE37" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE37_last_0" operation_key="FAKE37_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="143:36:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;143:36:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="219" rc-code="0" op-status="0" interval="0" last-run="1418243592" last-rc-change="1418243592" exec-time="18" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE37_monitor_10000" operation_key="FAKE37_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="144:36:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;144:36:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="220" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243592" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE34" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE34_last_0" operation_key="FAKE34_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="100:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;100:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="146" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE35" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE35_last_0" operation_key="FAKE35_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="101:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;101:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="150" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE31" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE31_last_0" operation_key="FAKE31_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="97:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;97:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="134" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="16" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE38" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE38_last_0" operation_key="FAKE38_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="104:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;104:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="162" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="14" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE39" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE39_last_0" operation_key="FAKE39_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="105:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;105:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="166" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="19" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="67:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;67:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="14" rc-code="7" op-status="0" interval="0" last-run="1418243548" last-rc-change="1418243548" exec-time="36" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="68:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;68:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="18" rc-code="7" op-status="0" interval="0" last-run="1418243548" last-rc-change="1418243548" exec-time="35" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="69:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;69:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="22" rc-code="7" op-status="0" interval="0" last-run="1418243548" last-rc-change="1418243548" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="70:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;70:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="26" rc-code="7" op-status="0" interval="0" last-run="1418243548" last-rc-change="1418243548" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE5" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE5_last_0" operation_key="FAKE5_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="71:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;71:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="30" rc-code="7" op-status="0" interval="0" last-run="1418243548" last-rc-change="1418243548" exec-time="30" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE6" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE6_last_0" operation_key="FAKE6_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="72:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;72:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="34" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE7" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE7_last_0" operation_key="FAKE7_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="73:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;73:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="38" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE8" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE8_last_0" operation_key="FAKE8_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="74:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;74:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="42" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="33" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE9" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE9_last_0" operation_key="FAKE9_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="75:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;75:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="46" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE50" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE50_last_0" operation_key="FAKE50_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="116:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;116:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="210" rc-code="7" op-status="0" interval="0" last-run="1418243550" last-rc-change="1418243550" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote1" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote1_last_0" operation_key="pcmk_remote1_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="44:41:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;44:41:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="13" rc-code="0" op-status="0" interval="0" last-run="1418243637" last-rc-change="1418243637" exec-time="0" queue-time="0" op-digest="ef8bb6d8fee23eeb10cda8633b3634da" on_node="pcmk1"/>
++            <lrm_rsc_op id="pcmk_remote1_monitor_60000" operation_key="pcmk_remote1_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="97:42:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;97:42:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="14" rc-code="0" op-status="0" interval="60000" last-rc-change="1418243639" exec-time="0" queue-time="0" op-digest="38e994d2ee0156aa833adf6eafbdbbbd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote2" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote2_last_0" operation_key="pcmk_remote2_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="63:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;63:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="2" rc-code="7" op-status="0" interval="0" last-run="1418243548" last-rc-change="1418243548" exec-time="0" queue-time="0" op-digest="6ba25fc444142a68b950347505d00b3e" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote3" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote3_last_0" operation_key="pcmk_remote3_migrate_to_0" operation="migrate_to" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="67:42:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;67:42:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="20" rc-code="0" op-status="0" interval="0" last-run="1418243802" last-rc-change="1418243802" exec-time="0" queue-time="0" op-digest="1d3716b912f4312b45dbe3ca420f177a" on_node="pcmk1" migrate_source="pcmk1" migrate_target="pcmk2"/>
++            <lrm_rsc_op id="pcmk_remote3_monitor_60000" operation_key="pcmk_remote3_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="127:39:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;127:39:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="12" rc-code="0" op-status="0" interval="60000" last-rc-change="1418243608" exec-time="0" queue-time="0" op-digest="6d8c9ca142238d41ca7db26324753a2f" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE20" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE20_last_0" operation_key="FAKE20_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="86:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;86:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="90" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="30" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE21" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE21_last_0" operation_key="FAKE21_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="87:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;87:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="94" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="16" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE22" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE22_last_0" operation_key="FAKE22_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="88:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;88:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="98" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE23" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE23_last_0" operation_key="FAKE23_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="115:36:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;115:36:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="215" rc-code="0" op-status="0" interval="0" last-run="1418243592" last-rc-change="1418243592" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE23_monitor_10000" operation_key="FAKE23_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="116:36:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;116:36:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="216" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243592" exec-time="47" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE24" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE24_last_0" operation_key="FAKE24_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="90:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;90:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="106" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE25" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE25_last_0" operation_key="FAKE25_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="91:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;91:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="110" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote4" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote4_last_0" operation_key="pcmk_remote4_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="102:42:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;102:42:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="16" rc-code="0" op-status="0" interval="0" last-run="1418243639" last-rc-change="1418243639" exec-time="0" queue-time="0" op-digest="26ba620744979fe6eb89940dac6aa339" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote5" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote5_last_0" operation_key="pcmk_remote5_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="14:45:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;14:45:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="22" rc-code="0" op-status="0" interval="0" last-run="1418243814" last-rc-change="1418243814" exec-time="0" queue-time="0" op-digest="ea8522d25650e62ca6ecefe8d7b2fe8a" on_node="pcmk1"/>
++            <lrm_rsc_op id="pcmk_remote5_monitor_60000" operation_key="pcmk_remote5_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="156:44:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;156:44:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="18" rc-code="0" op-status="0" interval="60000" last-rc-change="1418243641" exec-time="0" queue-time="0" op-digest="097ac821a75a8a47ff3e1489f58e3bd3" on_node="pcmk1"/>
++            <lrm_rsc_op id="pcmk_remote5_last_failure_0" operation_key="pcmk_remote5_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="119:43:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="2:1;119:43:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="21" rc-code="1" op-status="2" interval="0" last-rc-change="1418243803" exec-time="0" queue-time="0" op-digest="ea8522d25650e62ca6ecefe8d7b2fe8a" on_node="pcmk1" last-run="1418243803"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE27" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE27_last_0" operation_key="FAKE27_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="93:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;93:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="118" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="14" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE26" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE26_last_0" operation_key="FAKE26_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="92:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;92:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="114" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE29" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE29_last_0" operation_key="FAKE29_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="95:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;95:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="126" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="14" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE28" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE28_last_0" operation_key="FAKE28_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="94:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;94:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="122" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE41" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE41_last_0" operation_key="FAKE41_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="107:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;107:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="174" rc-code="7" op-status="0" interval="0" last-run="1418243550" last-rc-change="1418243550" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE42" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE42_last_0" operation_key="FAKE42_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="108:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;108:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="178" rc-code="7" op-status="0" interval="0" last-run="1418243550" last-rc-change="1418243550" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE43" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE43_last_0" operation_key="FAKE43_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="109:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;109:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="182" rc-code="7" op-status="0" interval="0" last-run="1418243550" last-rc-change="1418243550" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE44" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE44_last_0" operation_key="FAKE44_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="157:36:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;157:36:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="221" rc-code="0" op-status="0" interval="0" last-run="1418243592" last-rc-change="1418243592" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE44_monitor_10000" operation_key="FAKE44_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="158:36:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;158:36:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="222" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243592" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="shooter" type="fence_docker_cts" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="100:40:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;100:40:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="224" rc-code="0" op-status="0" interval="0" last-run="1418243634" last-rc-change="1418243634" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE46" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE46_last_0" operation_key="FAKE46_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="112:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;112:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="194" rc-code="7" op-status="0" interval="0" last-run="1418243550" last-rc-change="1418243550" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE47" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE47_last_0" operation_key="FAKE47_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="113:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;113:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="198" rc-code="7" op-status="0" interval="0" last-run="1418243550" last-rc-change="1418243550" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE48" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE48_last_0" operation_key="FAKE48_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="114:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;114:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="202" rc-code="7" op-status="0" interval="0" last-run="1418243550" last-rc-change="1418243550" exec-time="16" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE49" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE49_last_0" operation_key="FAKE49_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="115:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;115:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="206" rc-code="7" op-status="0" interval="0" last-run="1418243550" last-rc-change="1418243550" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE45" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE45_last_0" operation_key="FAKE45_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="111:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;111:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="190" rc-code="7" op-status="0" interval="0" last-run="1418243550" last-rc-change="1418243550" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE40" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE40_last_0" operation_key="FAKE40_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="106:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;106:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="170" rc-code="7" op-status="0" interval="0" last-run="1418243550" last-rc-change="1418243550" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE10" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE10_last_0" operation_key="FAKE10_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="76:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;76:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="50" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE11" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE11_last_0" operation_key="FAKE11_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="77:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;77:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="54" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="31" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE12" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE12_last_0" operation_key="FAKE12_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="78:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;78:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="58" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE13" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE13_last_0" operation_key="FAKE13_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="99:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;99:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="228" rc-code="0" op-status="0" interval="0" last-run="1418243665" last-rc-change="1418243665" exec-time="45" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE14" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE14_last_0" operation_key="FAKE14_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="80:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;80:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="66" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE15" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE15_last_0" operation_key="FAKE15_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="81:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;81:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="70" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE16" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE16_last_0" operation_key="FAKE16_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="155:9:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;155:9:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="231" rc-code="0" op-status="0" interval="0" last-run="1418243708" last-rc-change="1418243708" exec-time="64" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE16_monitor_10000" operation_key="FAKE16_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="156:9:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;156:9:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="232" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243708" exec-time="85" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE17" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE17_last_0" operation_key="FAKE17_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="107:0:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;107:0:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="230" rc-code="0" op-status="0" interval="0" last-run="1418243692" last-rc-change="1418243692" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE18" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE18_last_0" operation_key="FAKE18_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="84:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;84:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="82" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE32" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE32_last_0" operation_key="FAKE32_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="98:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;98:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="138" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE33" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE33_last_0" operation_key="FAKE33_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="99:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;99:28:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="142" rc-code="7" op-status="0" interval="0" last-run="1418243549" last-rc-change="1418243549" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE30" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE30_last_0" operation_key="FAKE30_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="129:36:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;129:36:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="217" rc-code="0" op-status="0" interval="0" last-run="1418243592" last-rc-change="1418243592" exec-time="41" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE30_monitor_10000" operation_key="FAKE30_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="130:36:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;130:36:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="218" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243592" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state remote_node="true" id="pcmk_remote1" uname="pcmk_remote1" crm-debug-origin="do_update_resource">
++      <lrm id="pcmk_remote1">
++        <lrm_resources>
++          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="39:44:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;39:44:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="362" rc-code="7" op-status="0" interval="0" last-run="1418243641" last-rc-change="1418243641" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_failure_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="40:44:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;40:44:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="364" rc-code="0" op-status="0" interval="0" last-run="1418243641" last-rc-change="1418243641" exec-time="33" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="40:44:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;40:44:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="364" rc-code="0" op-status="0" interval="0" last-run="1418243641" last-rc-change="1418243641" exec-time="33" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE2_monitor_10000" operation_key="FAKE2_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="157:45:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;157:45:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="365" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243642" exec-time="55" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="41:45:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;41:45:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="367" rc-code="7" op-status="0" interval="0" last-run="1418243642" last-rc-change="1418243642" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="42:46:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;42:46:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="369" rc-code="7" op-status="0" interval="0" last-run="1418243643" last-rc-change="1418243643" exec-time="21" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE5" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE5_last_0" operation_key="FAKE5_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="43:47:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;43:47:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="371" rc-code="7" op-status="0" interval="0" last-run="1418243643" last-rc-change="1418243643" exec-time="19" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE6" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE6_last_0" operation_key="FAKE6_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="44:47:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;44:47:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="373" rc-code="7" op-status="0" interval="0" last-run="1418243644" last-rc-change="1418243644" exec-time="131" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE7" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE7_last_failure_0" operation_key="FAKE7_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="45:47:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;45:47:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="375" rc-code="0" op-status="0" interval="0" last-run="1418243644" last-rc-change="1418243644" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE7_last_0" operation_key="FAKE7_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="45:47:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;45:47:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="375" rc-code="0" op-status="0" interval="0" last-run="1418243644" last-rc-change="1418243644" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE7_monitor_10000" operation_key="FAKE7_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="160:48:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;160:48:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="376" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243645" exec-time="43" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE8" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE8_last_0" operation_key="FAKE8_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="43:48:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;43:48:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="378" rc-code="7" op-status="0" interval="0" last-run="1418243645" last-rc-change="1418243645" exec-time="18" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE9" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE9_last_0" operation_key="FAKE9_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="44:48:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;44:48:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="380" rc-code="7" op-status="0" interval="0" last-run="1418243645" last-rc-change="1418243645" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE10" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE10_last_0" operation_key="FAKE10_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="44:49:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;44:49:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="382" rc-code="7" op-status="0" interval="0" last-run="1418243646" last-rc-change="1418243646" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE11" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE11_last_failure_0" operation_key="FAKE11_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="45:49:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;45:49:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="384" rc-code="0" op-status="0" interval="0" last-run="1418243646" last-rc-change="1418243646" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE11_last_0" operation_key="FAKE11_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="45:49:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;45:49:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="384" rc-code="0" op-status="0" interval="0" last-run="1418243646" last-rc-change="1418243646" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE11_monitor_10000" operation_key="FAKE11_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="163:50:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;163:50:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="385" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243647" exec-time="121" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE12" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE12_last_0" operation_key="FAKE12_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="45:50:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;45:50:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="387" rc-code="7" op-status="0" interval="0" last-run="1418243647" last-rc-change="1418243647" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE13" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE13_last_0" operation_key="FAKE13_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="46:50:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;46:50:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="389" rc-code="7" op-status="0" interval="0" last-run="1418243647" last-rc-change="1418243647" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE14" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE14_last_0" operation_key="FAKE14_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="47:50:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;47:50:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="391" rc-code="7" op-status="0" interval="0" last-run="1418243647" last-rc-change="1418243647" exec-time="45" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE15" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE15_last_0" operation_key="FAKE15_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="48:50:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;48:50:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="393" rc-code="7" op-status="0" interval="0" last-run="1418243648" last-rc-change="1418243648" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE16" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE16_last_0" operation_key="FAKE16_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="49:50:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;49:50:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="395" rc-code="7" op-status="0" interval="0" last-run="1418243648" last-rc-change="1418243648" exec-time="28" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE17" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE17_last_0" operation_key="FAKE17_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="50:50:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;50:50:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="397" rc-code="7" op-status="0" interval="0" last-run="1418243648" last-rc-change="1418243648" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE18" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE18_last_0" operation_key="FAKE18_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="116:41:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;116:41:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="482" rc-code="0" op-status="0" interval="0" last-run="1418243796" last-rc-change="1418243796" exec-time="120" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE18_monitor_10000" operation_key="FAKE18_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="112:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;112:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="465" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243666" exec-time="15" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE19" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE19_last_failure_0" operation_key="FAKE19_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="52:50:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;52:50:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="401" rc-code="0" op-status="0" interval="0" last-run="1418243649" last-rc-change="1418243649" exec-time="34" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE19_last_0" operation_key="FAKE19_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="113:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;113:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="466" rc-code="0" op-status="0" interval="0" last-run="1418243666" last-rc-change="1418243666" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE20" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE20_last_0" operation_key="FAKE20_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="46:51:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;46:51:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="403" rc-code="7" op-status="0" interval="0" last-run="1418243650" last-rc-change="1418243650" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE21" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE21_last_0" operation_key="FAKE21_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="47:51:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;47:51:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="405" rc-code="7" op-status="0" interval="0" last-run="1418243650" last-rc-change="1418243650" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE22" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE22_last_0" operation_key="FAKE22_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="48:52:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;48:52:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="407" rc-code="7" op-status="0" interval="0" last-run="1418243651" last-rc-change="1418243651" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE23" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE23_last_0" operation_key="FAKE23_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="49:52:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;49:52:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="409" rc-code="7" op-status="0" interval="0" last-run="1418243651" last-rc-change="1418243651" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE24" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE24_last_0" operation_key="FAKE24_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="50:52:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;50:52:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="411" rc-code="7" op-status="0" interval="0" last-run="1418243651" last-rc-change="1418243651" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE25" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE25_last_0" operation_key="FAKE25_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="128:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;128:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="467" rc-code="0" op-status="0" interval="0" last-run="1418243667" last-rc-change="1418243667" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE25_monitor_10000" operation_key="FAKE25_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="129:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;129:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="468" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243667" exec-time="71" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE26" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE26_last_failure_0" operation_key="FAKE26_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="52:52:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;52:52:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="415" rc-code="0" op-status="0" interval="0" last-run="1418243652" last-rc-change="1418243652" exec-time="52" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE26_last_0" operation_key="FAKE26_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="130:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;130:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="469" rc-code="0" op-status="0" interval="0" last-run="1418243667" last-rc-change="1418243667" exec-time="54" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE27" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE27_last_0" operation_key="FAKE27_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="49:53:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;49:53:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="417" rc-code="7" op-status="0" interval="0" last-run="1418243653" last-rc-change="1418243653" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE28" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE28_last_0" operation_key="FAKE28_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="50:53:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;50:53:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="419" rc-code="7" op-status="0" interval="0" last-run="1418243653" last-rc-change="1418243653" exec-time="16" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE29" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE29_last_0" operation_key="FAKE29_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="50:54:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;50:54:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="421" rc-code="7" op-status="0" interval="0" last-run="1418243654" last-rc-change="1418243654" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE30" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE30_last_0" operation_key="FAKE30_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="51:54:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;51:54:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="423" rc-code="7" op-status="0" interval="0" last-run="1418243655" last-rc-change="1418243655" exec-time="128" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE31" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE31_last_0" operation_key="FAKE31_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="52:54:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;52:54:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="425" rc-code="7" op-status="0" interval="0" last-run="1418243655" last-rc-change="1418243655" exec-time="20" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE32" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE32_last_0" operation_key="FAKE32_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="145:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;145:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="470" rc-code="0" op-status="0" interval="0" last-run="1418243668" last-rc-change="1418243668" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE32_monitor_10000" operation_key="FAKE32_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="146:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;146:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="471" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243668" exec-time="72" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE33" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE33_last_failure_0" operation_key="FAKE33_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="54:54:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;54:54:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="429" rc-code="0" op-status="0" interval="0" last-run="1418243656" last-rc-change="1418243656" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE33_last_0" operation_key="FAKE33_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="147:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;147:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="472" rc-code="0" op-status="0" interval="0" last-run="1418243668" last-rc-change="1418243668" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE34" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE34_last_0" operation_key="FAKE34_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="51:55:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;51:55:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="431" rc-code="7" op-status="0" interval="0" last-run="1418243657" last-rc-change="1418243657" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE35" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE35_last_0" operation_key="FAKE35_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="52:55:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;52:55:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="433" rc-code="7" op-status="0" interval="0" last-run="1418243657" last-rc-change="1418243657" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE36" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE36_last_0" operation_key="FAKE36_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="52:56:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;52:56:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="435" rc-code="7" op-status="0" interval="0" last-run="1418243658" last-rc-change="1418243658" exec-time="22" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE37" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE37_last_0" operation_key="FAKE37_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="53:56:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;53:56:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="437" rc-code="7" op-status="0" interval="0" last-run="1418243658" last-rc-change="1418243658" exec-time="32" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE38" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE38_last_0" operation_key="FAKE38_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="54:56:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;54:56:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="439" rc-code="7" op-status="0" interval="0" last-run="1418243658" last-rc-change="1418243658" exec-time="22" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE39" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE39_last_0" operation_key="FAKE39_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="162:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;162:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="473" rc-code="0" op-status="0" interval="0" last-run="1418243668" last-rc-change="1418243668" exec-time="38" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE39_monitor_10000" operation_key="FAKE39_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="163:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;163:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="474" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243669" exec-time="24" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE40" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE40_last_failure_0" operation_key="FAKE40_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="56:56:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;56:56:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="443" rc-code="0" op-status="0" interval="0" last-run="1418243659" last-rc-change="1418243659" exec-time="34" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE40_last_0" operation_key="FAKE40_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="164:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;164:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="475" rc-code="0" op-status="0" interval="0" last-run="1418243669" last-rc-change="1418243669" exec-time="25" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE41" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE41_last_0" operation_key="FAKE41_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="53:57:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;53:57:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="445" rc-code="7" op-status="0" interval="0" last-run="1418243660" last-rc-change="1418243660" exec-time="20" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE42" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE42_last_0" operation_key="FAKE42_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="54:57:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;54:57:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="447" rc-code="7" op-status="0" interval="0" last-run="1418243660" last-rc-change="1418243660" exec-time="47" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE43" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE43_last_0" operation_key="FAKE43_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="54:58:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;54:58:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="449" rc-code="7" op-status="0" interval="0" last-run="1418243661" last-rc-change="1418243661" exec-time="18" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE44" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE44_last_0" operation_key="FAKE44_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="55:58:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;55:58:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="451" rc-code="7" op-status="0" interval="0" last-run="1418243661" last-rc-change="1418243661" exec-time="37" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE45" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE45_last_0" operation_key="FAKE45_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="56:58:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;56:58:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="453" rc-code="7" op-status="0" interval="0" last-run="1418243662" last-rc-change="1418243662" exec-time="25" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE46" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE46_last_0" operation_key="FAKE46_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="179:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;179:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="476" rc-code="0" op-status="0" interval="0" last-run="1418243669" last-rc-change="1418243669" exec-time="30" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE46_monitor_10000" operation_key="FAKE46_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="180:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;180:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="477" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243669" exec-time="35" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE47" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE47_last_failure_0" operation_key="FAKE47_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="58:58:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;58:58:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="457" rc-code="0" op-status="0" interval="0" last-run="1418243662" last-rc-change="1418243662" exec-time="34" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE47_last_0" operation_key="FAKE47_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="181:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;181:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="478" rc-code="0" op-status="0" interval="0" last-run="1418243670" last-rc-change="1418243670" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE48" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE48_last_0" operation_key="FAKE48_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="55:59:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;55:59:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="459" rc-code="7" op-status="0" interval="0" last-run="1418243663" last-rc-change="1418243663" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE49" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE49_last_0" operation_key="FAKE49_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="56:59:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;56:59:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="461" rc-code="7" op-status="0" interval="0" last-run="1418243664" last-rc-change="1418243664" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE50" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE50_last_0" operation_key="FAKE50_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="56:61:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;56:61:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="463" rc-code="7" op-status="0" interval="0" last-run="1418243665" last-rc-change="1418243665" exec-time="20" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state remote_node="true" id="pcmk_remote2" uname="pcmk_remote2" crm-debug-origin="do_update_resource">
++      <lrm id="pcmk_remote2">
++        <lrm_resources>
++          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE1_last_failure_0" operation_key="FAKE1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="42:23:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;42:23:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="546" rc-code="0" op-status="0" interval="0" last-run="1418243752" last-rc-change="1418243752" exec-time="22" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="42:23:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;42:23:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="546" rc-code="0" op-status="0" interval="0" last-run="1418243752" last-rc-change="1418243752" exec-time="22" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE1_monitor_10000" operation_key="FAKE1_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="158:24:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;158:24:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="547" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243753" exec-time="174" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="43:24:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;43:24:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="549" rc-code="7" op-status="0" interval="0" last-run="1418243753" last-rc-change="1418243753" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="44:25:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;44:25:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="551" rc-code="7" op-status="0" interval="0" last-run="1418243754" last-rc-change="1418243754" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="45:25:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;45:25:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="553" rc-code="7" op-status="0" interval="0" last-run="1418243754" last-rc-change="1418243754" exec-time="33" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE5" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE5_last_0" operation_key="FAKE5_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="46:25:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;46:25:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="555" rc-code="7" op-status="0" interval="0" last-run="1418243754" last-rc-change="1418243754" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE6" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE6_last_failure_0" operation_key="FAKE6_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="47:25:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;47:25:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="557" rc-code="0" op-status="0" interval="0" last-run="1418243755" last-rc-change="1418243755" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE6_last_0" operation_key="FAKE6_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="47:25:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;47:25:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="557" rc-code="0" op-status="0" interval="0" last-run="1418243755" last-rc-change="1418243755" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE6_monitor_10000" operation_key="FAKE6_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="160:26:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;160:26:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="558" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243755" exec-time="102" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE7" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE7_last_0" operation_key="FAKE7_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="45:26:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;45:26:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="560" rc-code="7" op-status="0" interval="0" last-run="1418243755" last-rc-change="1418243755" exec-time="30" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE8" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE8_last_0" operation_key="FAKE8_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="46:27:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;46:27:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="562" rc-code="7" op-status="0" interval="0" last-run="1418243756" last-rc-change="1418243756" exec-time="23" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE9" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE9_last_0" operation_key="FAKE9_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="47:27:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;47:27:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="564" rc-code="7" op-status="0" interval="0" last-run="1418243757" last-rc-change="1418243757" exec-time="22" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE10" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE10_last_0" operation_key="FAKE10_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="48:27:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;48:27:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="566" rc-code="7" op-status="0" interval="0" last-run="1418243757" last-rc-change="1418243757" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE11" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE11_last_0" operation_key="FAKE11_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="49:27:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;49:27:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="568" rc-code="7" op-status="0" interval="0" last-run="1418243757" last-rc-change="1418243757" exec-time="29" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE12" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE12_last_failure_0" operation_key="FAKE12_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="50:27:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;50:27:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="570" rc-code="0" op-status="0" interval="0" last-run="1418243757" last-rc-change="1418243757" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE12_last_0" operation_key="FAKE12_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="50:27:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;50:27:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="570" rc-code="0" op-status="0" interval="0" last-run="1418243757" last-rc-change="1418243757" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE12_monitor_10000" operation_key="FAKE12_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="162:28:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;162:28:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="571" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243758" exec-time="100" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE13" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE13_last_0" operation_key="FAKE13_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="47:28:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;47:28:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="573" rc-code="7" op-status="0" interval="0" last-run="1418243758" last-rc-change="1418243758" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE14" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE14_last_0" operation_key="FAKE14_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="48:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;48:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="575" rc-code="7" op-status="0" interval="0" last-run="1418243759" last-rc-change="1418243759" exec-time="18" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE15" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE15_last_0" operation_key="FAKE15_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="49:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;49:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="577" rc-code="7" op-status="0" interval="0" last-run="1418243759" last-rc-change="1418243759" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE16" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE16_last_0" operation_key="FAKE16_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="50:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;50:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="579" rc-code="7" op-status="0" interval="0" last-run="1418243759" last-rc-change="1418243759" exec-time="47" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE17" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE17_last_0" operation_key="FAKE17_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="51:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;51:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="581" rc-code="7" op-status="0" interval="0" last-run="1418243760" last-rc-change="1418243760" exec-time="34" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE18" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE18_last_0" operation_key="FAKE18_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="52:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;52:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="583" rc-code="7" op-status="0" interval="0" last-run="1418243760" last-rc-change="1418243760" exec-time="28" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE19" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE19_last_failure_0" operation_key="FAKE19_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="53:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;53:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="585" rc-code="0" op-status="0" interval="0" last-run="1418243760" last-rc-change="1418243760" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE19_last_0" operation_key="FAKE19_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="53:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;53:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="585" rc-code="0" op-status="0" interval="0" last-run="1418243760" last-rc-change="1418243760" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE19_monitor_10000" operation_key="FAKE19_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="164:30:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;164:30:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="586" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243761" exec-time="11" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE20" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE20_last_0" operation_key="FAKE20_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="49:30:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;49:30:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="588" rc-code="7" op-status="0" interval="0" last-run="1418243761" last-rc-change="1418243761" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE21" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE21_last_0" operation_key="FAKE21_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="51:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;51:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="590" rc-code="7" op-status="0" interval="0" last-run="1418243762" last-rc-change="1418243762" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE22" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE22_last_0" operation_key="FAKE22_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="52:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;52:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="592" rc-code="7" op-status="0" interval="0" last-run="1418243762" last-rc-change="1418243762" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE23" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE23_last_0" operation_key="FAKE23_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="53:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;53:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="594" rc-code="7" op-status="0" interval="0" last-run="1418243763" last-rc-change="1418243763" exec-time="47" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE24" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE24_last_0" operation_key="FAKE24_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="54:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;54:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="596" rc-code="7" op-status="0" interval="0" last-run="1418243763" last-rc-change="1418243763" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE25" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE25_last_0" operation_key="FAKE25_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="55:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;55:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="598" rc-code="7" op-status="0" interval="0" last-run="1418243763" last-rc-change="1418243763" exec-time="38" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE26" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE26_last_failure_0" operation_key="FAKE26_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="56:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;56:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="600" rc-code="0" op-status="0" interval="0" last-run="1418243763" last-rc-change="1418243763" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE26_last_0" operation_key="FAKE26_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="133:41:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;133:41:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="654" rc-code="0" op-status="0" interval="0" last-run="1418243797" last-rc-change="1418243797" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE26_monitor_10000" operation_key="FAKE26_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="167:32:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;167:32:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="601" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243764" exec-time="48" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE27" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE27_last_0" operation_key="FAKE27_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="52:32:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;52:32:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="603" rc-code="7" op-status="0" interval="0" last-run="1418243764" last-rc-change="1418243764" exec-time="25" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE28" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE28_last_0" operation_key="FAKE28_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="54:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;54:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="605" rc-code="7" op-status="0" interval="0" last-run="1418243765" last-rc-change="1418243765" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE29" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE29_last_0" operation_key="FAKE29_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="55:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;55:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="607" rc-code="7" op-status="0" interval="0" last-run="1418243766" last-rc-change="1418243766" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE30" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE30_last_0" operation_key="FAKE30_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="56:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;56:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="609" rc-code="7" op-status="0" interval="0" last-run="1418243766" last-rc-change="1418243766" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE31" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE31_last_0" operation_key="FAKE31_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="57:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;57:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="611" rc-code="7" op-status="0" interval="0" last-run="1418243766" last-rc-change="1418243766" exec-time="60" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE32" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE32_last_0" operation_key="FAKE32_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="58:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;58:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="613" rc-code="7" op-status="0" interval="0" last-run="1418243766" last-rc-change="1418243766" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE33" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE33_last_failure_0" operation_key="FAKE33_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="59:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;59:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="615" rc-code="0" op-status="0" interval="0" last-run="1418243767" last-rc-change="1418243767" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE33_last_0" operation_key="FAKE33_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="59:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;59:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="615" rc-code="0" op-status="0" interval="0" last-run="1418243767" last-rc-change="1418243767" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE33_monitor_10000" operation_key="FAKE33_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="170:34:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;170:34:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="616" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243768" exec-time="10" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE34" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE34_last_0" operation_key="FAKE34_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="55:34:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;55:34:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="618" rc-code="7" op-status="0" interval="0" last-run="1418243768" last-rc-change="1418243768" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE35" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE35_last_0" operation_key="FAKE35_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="57:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;57:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="620" rc-code="7" op-status="0" interval="0" last-run="1418243769" last-rc-change="1418243769" exec-time="20" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE36" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE36_last_0" operation_key="FAKE36_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="58:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;58:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="622" rc-code="7" op-status="0" interval="0" last-run="1418243769" last-rc-change="1418243769" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE37" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE37_last_0" operation_key="FAKE37_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="59:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;59:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="624" rc-code="7" op-status="0" interval="0" last-run="1418243769" last-rc-change="1418243769" exec-time="86" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE38" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE38_last_0" operation_key="FAKE38_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="60:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;60:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="626" rc-code="7" op-status="0" interval="0" last-run="1418243770" last-rc-change="1418243770" exec-time="29" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE39" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE39_last_0" operation_key="FAKE39_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="61:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;61:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="628" rc-code="7" op-status="0" interval="0" last-run="1418243770" last-rc-change="1418243770" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE40" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE40_last_failure_0" operation_key="FAKE40_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="62:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;62:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="630" rc-code="0" op-status="0" interval="0" last-run="1418243770" last-rc-change="1418243770" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE40_last_0" operation_key="FAKE40_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="62:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;62:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="630" rc-code="0" op-status="0" interval="0" last-run="1418243770" last-rc-change="1418243770" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE40_monitor_10000" operation_key="FAKE40_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="173:36:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;173:36:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="631" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243771" exec-time="11" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE41" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE41_last_0" operation_key="FAKE41_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="58:36:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;58:36:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="633" rc-code="7" op-status="0" interval="0" last-run="1418243771" last-rc-change="1418243771" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE42" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE42_last_0" operation_key="FAKE42_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="60:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;60:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="635" rc-code="7" op-status="0" interval="0" last-run="1418243772" last-rc-change="1418243772" exec-time="22" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE43" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE43_last_0" operation_key="FAKE43_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="61:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;61:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="637" rc-code="7" op-status="0" interval="0" last-run="1418243773" last-rc-change="1418243773" exec-time="22" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE44" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE44_last_0" operation_key="FAKE44_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="62:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;62:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="639" rc-code="7" op-status="0" interval="0" last-run="1418243773" last-rc-change="1418243773" exec-time="52" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE45" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE45_last_0" operation_key="FAKE45_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="63:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;63:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="641" rc-code="7" op-status="0" interval="0" last-run="1418243773" last-rc-change="1418243773" exec-time="31" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE46" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE46_last_0" operation_key="FAKE46_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="64:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;64:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="643" rc-code="7" op-status="0" interval="0" last-run="1418243773" last-rc-change="1418243773" exec-time="25" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE47" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE47_last_failure_0" operation_key="FAKE47_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="65:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;65:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="645" rc-code="0" op-status="0" interval="0" last-run="1418243774" last-rc-change="1418243774" exec-time="29" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE47_last_0" operation_key="FAKE47_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="65:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;65:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="645" rc-code="0" op-status="0" interval="0" last-run="1418243774" last-rc-change="1418243774" exec-time="29" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE47_monitor_10000" operation_key="FAKE47_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="176:38:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;176:38:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="646" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243774" exec-time="11" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE48" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE48_last_0" operation_key="FAKE48_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="61:38:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;61:38:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="648" rc-code="7" op-status="0" interval="0" last-run="1418243775" last-rc-change="1418243775" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE49" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE49_last_0" operation_key="FAKE49_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="63:39:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;63:39:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="650" rc-code="7" op-status="0" interval="0" last-run="1418243776" last-rc-change="1418243776" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE50" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE50_last_0" operation_key="FAKE50_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="64:39:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;64:39:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="652" rc-code="7" op-status="0" interval="0" last-run="1418243776" last-rc-change="1418243776" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state remote_node="true" id="pcmk_remote3" uname="pcmk_remote3" crm-debug-origin="do_update_resource">
++      <lrm id="pcmk_remote3">
++        <lrm_resources>
++          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="67:39:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;67:39:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="6" rc-code="7" op-status="0" interval="0" last-run="1418243608" last-rc-change="1418243608" exec-time="37" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="68:39:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;68:39:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="10" rc-code="7" op-status="0" interval="0" last-run="1418243609" last-rc-change="1418243609" exec-time="34" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="69:39:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;69:39:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="14" rc-code="7" op-status="0" interval="0" last-run="1418243609" last-rc-change="1418243609" exec-time="67" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="70:39:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;70:39:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="18" rc-code="7" op-status="0" interval="0" last-run="1418243609" last-rc-change="1418243609" exec-time="33" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE5" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE5_last_0" operation_key="FAKE5_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="82:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;82:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="203" rc-code="0" op-status="0" interval="0" last-run="1418243665" last-rc-change="1418243665" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE5_monitor_10000" operation_key="FAKE5_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="83:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;83:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="204" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243665" exec-time="55" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE6" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE6_last_0" operation_key="FAKE6_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="72:39:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;72:39:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="26" rc-code="7" op-status="0" interval="0" last-run="1418243610" last-rc-change="1418243610" exec-time="66" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE7" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE7_last_0" operation_key="FAKE7_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="73:39:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;73:39:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="30" rc-code="7" op-status="0" interval="0" last-run="1418243610" last-rc-change="1418243610" exec-time="57" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE8" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE8_last_0" operation_key="FAKE8_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="74:39:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;74:39:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="34" rc-code="7" op-status="0" interval="0" last-run="1418243611" last-rc-change="1418243611" exec-time="114" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE9" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE9_last_0" operation_key="FAKE9_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="91:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;91:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="205" rc-code="0" op-status="0" interval="0" last-run="1418243665" last-rc-change="1418243665" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE9_monitor_10000" operation_key="FAKE9_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="92:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;92:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="206" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243665" exec-time="52" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE10" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE10_last_0" operation_key="FAKE10_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="57:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;57:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="42" rc-code="7" op-status="0" interval="0" last-run="1418243616" last-rc-change="1418243616" exec-time="14" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE11" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE11_last_0" operation_key="FAKE11_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="58:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;58:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="46" rc-code="7" op-status="0" interval="0" last-run="1418243616" last-rc-change="1418243616" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE12" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE12_last_0" operation_key="FAKE12_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="59:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;59:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="50" rc-code="7" op-status="0" interval="0" last-run="1418243616" last-rc-change="1418243616" exec-time="106" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE13" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE13_last_0" operation_key="FAKE13_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="99:42:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;99:42:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="223" rc-code="0" op-status="0" interval="0" last-run="1418243797" last-rc-change="1418243797" exec-time="10" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE13_monitor_10000" operation_key="FAKE13_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="101:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;101:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="208" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243666" exec-time="130" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE14" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE14_last_0" operation_key="FAKE14_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="61:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;61:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="58" rc-code="7" op-status="0" interval="0" last-run="1418243617" last-rc-change="1418243617" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE15" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE15_last_0" operation_key="FAKE15_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="62:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;62:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="62" rc-code="7" op-status="0" interval="0" last-run="1418243617" last-rc-change="1418243617" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE16" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE16_last_0" operation_key="FAKE16_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="63:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;63:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="66" rc-code="7" op-status="0" interval="0" last-run="1418243618" last-rc-change="1418243618" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE17" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE17_last_0" operation_key="FAKE17_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="64:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;64:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="70" rc-code="7" op-status="0" interval="0" last-run="1418243618" last-rc-change="1418243618" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE18" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE18_last_0" operation_key="FAKE18_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="65:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;65:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="74" rc-code="7" op-status="0" interval="0" last-run="1418243618" last-rc-change="1418243618" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE19" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE19_last_0" operation_key="FAKE19_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="66:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;66:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="78" rc-code="7" op-status="0" interval="0" last-run="1418243619" last-rc-change="1418243619" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE20" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE20_last_0" operation_key="FAKE20_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="117:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;117:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="209" rc-code="0" op-status="0" interval="0" last-run="1418243666" last-rc-change="1418243666" exec-time="28" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE20_monitor_10000" operation_key="FAKE20_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="118:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;118:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="210" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243667" exec-time="24" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE21" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE21_last_0" operation_key="FAKE21_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="68:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;68:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="86" rc-code="7" op-status="0" interval="0" last-run="1418243619" last-rc-change="1418243619" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE22" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE22_last_0" operation_key="FAKE22_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="69:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;69:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="90" rc-code="7" op-status="0" interval="0" last-run="1418243620" last-rc-change="1418243620" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE23" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE23_last_0" operation_key="FAKE23_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="70:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;70:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="94" rc-code="7" op-status="0" interval="0" last-run="1418243620" last-rc-change="1418243620" exec-time="36" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE24" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE24_last_0" operation_key="FAKE24_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="71:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;71:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="98" rc-code="7" op-status="0" interval="0" last-run="1418243620" last-rc-change="1418243620" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE25" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE25_last_0" operation_key="FAKE25_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="72:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;72:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="102" rc-code="7" op-status="0" interval="0" last-run="1418243621" last-rc-change="1418243621" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE26" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE26_last_0" operation_key="FAKE26_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="73:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;73:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="106" rc-code="7" op-status="0" interval="0" last-run="1418243621" last-rc-change="1418243621" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE27" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE27_last_0" operation_key="FAKE27_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="134:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;134:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="211" rc-code="0" op-status="0" interval="0" last-run="1418243667" last-rc-change="1418243667" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE27_monitor_10000" operation_key="FAKE27_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="135:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;135:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="212" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243667" exec-time="27" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE28" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE28_last_0" operation_key="FAKE28_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="75:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;75:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="114" rc-code="7" op-status="0" interval="0" last-run="1418243622" last-rc-change="1418243622" exec-time="94" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE29" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE29_last_0" operation_key="FAKE29_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="76:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;76:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="118" rc-code="7" op-status="0" interval="0" last-run="1418243622" last-rc-change="1418243622" exec-time="37" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE30" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE30_last_0" operation_key="FAKE30_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="77:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;77:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="122" rc-code="7" op-status="0" interval="0" last-run="1418243623" last-rc-change="1418243623" exec-time="25" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE31" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE31_last_0" operation_key="FAKE31_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="78:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;78:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="126" rc-code="7" op-status="0" interval="0" last-run="1418243623" last-rc-change="1418243623" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE32" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE32_last_0" operation_key="FAKE32_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="79:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;79:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="130" rc-code="7" op-status="0" interval="0" last-run="1418243623" last-rc-change="1418243623" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE33" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE33_last_0" operation_key="FAKE33_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="80:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;80:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="134" rc-code="7" op-status="0" interval="0" last-run="1418243624" last-rc-change="1418243624" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE34" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE34_last_0" operation_key="FAKE34_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="151:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;151:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="214" rc-code="0" op-status="0" interval="0" last-run="1418243668" last-rc-change="1418243668" exec-time="49" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE34_monitor_10000" operation_key="FAKE34_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="152:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;152:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="215" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243668" exec-time="27" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE35" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE35_last_0" operation_key="FAKE35_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="82:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;82:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="142" rc-code="7" op-status="0" interval="0" last-run="1418243624" last-rc-change="1418243624" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE36" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE36_last_0" operation_key="FAKE36_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="83:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;83:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="146" rc-code="7" op-status="0" interval="0" last-run="1418243625" last-rc-change="1418243625" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE37" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE37_last_0" operation_key="FAKE37_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="84:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;84:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="150" rc-code="7" op-status="0" interval="0" last-run="1418243625" last-rc-change="1418243625" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE38" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE38_last_0" operation_key="FAKE38_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="85:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;85:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="154" rc-code="7" op-status="0" interval="0" last-run="1418243625" last-rc-change="1418243625" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE39" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE39_last_0" operation_key="FAKE39_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="86:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;86:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="158" rc-code="7" op-status="0" interval="0" last-run="1418243626" last-rc-change="1418243626" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE40" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE40_last_0" operation_key="FAKE40_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="87:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;87:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="162" rc-code="7" op-status="0" interval="0" last-run="1418243626" last-rc-change="1418243626" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE41" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE41_last_0" operation_key="FAKE41_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="168:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;168:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="216" rc-code="0" op-status="0" interval="0" last-run="1418243669" last-rc-change="1418243669" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE41_monitor_10000" operation_key="FAKE41_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="169:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;169:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="217" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243669" exec-time="34" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE42" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE42_last_0" operation_key="FAKE42_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="89:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;89:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="170" rc-code="7" op-status="0" interval="0" last-run="1418243627" last-rc-change="1418243627" exec-time="53" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE43" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE43_last_0" operation_key="FAKE43_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="90:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;90:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="174" rc-code="7" op-status="0" interval="0" last-run="1418243627" last-rc-change="1418243627" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE44" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE44_last_0" operation_key="FAKE44_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="91:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;91:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="178" rc-code="7" op-status="0" interval="0" last-run="1418243627" last-rc-change="1418243627" exec-time="106" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE45" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE45_last_0" operation_key="FAKE45_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="92:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;92:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="182" rc-code="7" op-status="0" interval="0" last-run="1418243628" last-rc-change="1418243628" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE46" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE46_last_0" operation_key="FAKE46_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="93:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;93:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="186" rc-code="7" op-status="0" interval="0" last-run="1418243628" last-rc-change="1418243628" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE47" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE47_last_0" operation_key="FAKE47_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="94:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;94:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="190" rc-code="7" op-status="0" interval="0" last-run="1418243628" last-rc-change="1418243628" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE48" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE48_last_0" operation_key="FAKE48_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="185:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;185:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="218" rc-code="0" op-status="0" interval="0" last-run="1418243670" last-rc-change="1418243670" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE48_monitor_10000" operation_key="FAKE48_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="186:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:0;186:61:0:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="219" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243670" exec-time="34" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE49" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE49_last_0" operation_key="FAKE49_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="96:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;96:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="198" rc-code="7" op-status="0" interval="0" last-run="1418243629" last-rc-change="1418243629" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE50" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE50_last_0" operation_key="FAKE50_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="97:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" transition-magic="0:7;97:40:7:0c7a516d-5245-48f4-9bef-c40fca3df9d8" call-id="202" rc-code="7" op-status="0" interval="0" last-run="1418243629" last-rc-change="1418243629" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="pcmk_remote3">
++        <instance_attributes id="status-pcmk_remote3">
++          <nvpair id="status-pcmk_remote3-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state remote_node="true" id="pcmk_remote4" uname="pcmk_remote4" crm-debug-origin="do_state_transition">
++      <lrm id="pcmk_remote4">
++        <lrm_resources>
++          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="94:23:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;94:23:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="584" rc-code="7" op-status="0" interval="0" last-run="1418243752" last-rc-change="1418243752" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="94:24:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;94:24:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="586" rc-code="7" op-status="0" interval="0" last-run="1418243753" last-rc-change="1418243753" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_failure_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="95:24:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;95:24:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="588" rc-code="0" op-status="0" interval="0" last-run="1418243753" last-rc-change="1418243753" exec-time="14" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="95:24:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;95:24:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="588" rc-code="0" op-status="0" interval="0" last-run="1418243753" last-rc-change="1418243753" exec-time="14" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE3_monitor_10000" operation_key="FAKE3_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="160:25:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;160:25:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="589" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243754" exec-time="104" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="94:25:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;94:25:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="591" rc-code="7" op-status="0" interval="0" last-run="1418243754" last-rc-change="1418243754" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE5" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE5_last_0" operation_key="FAKE5_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="95:25:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;95:25:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="593" rc-code="7" op-status="0" interval="0" last-run="1418243754" last-rc-change="1418243754" exec-time="31" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE6" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE6_last_0" operation_key="FAKE6_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="96:25:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;96:25:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="595" rc-code="7" op-status="0" interval="0" last-run="1418243754" last-rc-change="1418243754" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE7" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE7_last_0" operation_key="FAKE7_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="91:26:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;91:26:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="597" rc-code="7" op-status="0" interval="0" last-run="1418243755" last-rc-change="1418243755" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE8" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE8_last_failure_0" operation_key="FAKE8_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="92:26:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;92:26:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="599" rc-code="0" op-status="0" interval="0" last-run="1418243756" last-rc-change="1418243756" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE8_last_0" operation_key="FAKE8_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="92:26:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;92:26:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="599" rc-code="0" op-status="0" interval="0" last-run="1418243756" last-rc-change="1418243756" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE8_monitor_10000" operation_key="FAKE8_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="162:27:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;162:27:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="600" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243756" exec-time="103" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE9" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE9_last_0" operation_key="FAKE9_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="91:27:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;91:27:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="602" rc-code="7" op-status="0" interval="0" last-run="1418243756" last-rc-change="1418243756" exec-time="22" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE10" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE10_last_0" operation_key="FAKE10_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="92:27:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;92:27:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="604" rc-code="7" op-status="0" interval="0" last-run="1418243757" last-rc-change="1418243757" exec-time="57" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE11" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE11_last_0" operation_key="FAKE11_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="93:27:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;93:27:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="606" rc-code="7" op-status="0" interval="0" last-run="1418243757" last-rc-change="1418243757" exec-time="35" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE12" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE12_last_0" operation_key="FAKE12_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="94:27:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;94:27:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="608" rc-code="7" op-status="0" interval="0" last-run="1418243757" last-rc-change="1418243757" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE13" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE13_last_0" operation_key="FAKE13_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="87:28:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;87:28:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="610" rc-code="7" op-status="0" interval="0" last-run="1418243758" last-rc-change="1418243758" exec-time="96" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE14" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE14_last_failure_0" operation_key="FAKE14_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="88:28:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;88:28:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="612" rc-code="0" op-status="0" interval="0" last-run="1418243759" last-rc-change="1418243759" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE14_last_0" operation_key="FAKE14_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="88:28:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;88:28:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="612" rc-code="0" op-status="0" interval="0" last-run="1418243759" last-rc-change="1418243759" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE14_monitor_10000" operation_key="FAKE14_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="164:29:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;164:29:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="613" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243759" exec-time="24" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE15" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE15_last_0" operation_key="FAKE15_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="87:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;87:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="615" rc-code="7" op-status="0" interval="0" last-run="1418243759" last-rc-change="1418243759" exec-time="14" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE16" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE16_last_0" operation_key="FAKE16_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="88:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;88:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="617" rc-code="7" op-status="0" interval="0" last-run="1418243759" last-rc-change="1418243759" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE17" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE17_last_0" operation_key="FAKE17_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="89:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;89:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="619" rc-code="7" op-status="0" interval="0" last-run="1418243760" last-rc-change="1418243760" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE18" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE18_last_0" operation_key="FAKE18_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="90:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;90:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="621" rc-code="7" op-status="0" interval="0" last-run="1418243760" last-rc-change="1418243760" exec-time="34" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE19" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE19_last_0" operation_key="FAKE19_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="91:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;91:29:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="623" rc-code="7" op-status="0" interval="0" last-run="1418243760" last-rc-change="1418243760" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE20" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE20_last_0" operation_key="FAKE20_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="82:30:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;82:30:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="625" rc-code="7" op-status="0" interval="0" last-run="1418243761" last-rc-change="1418243761" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE21" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE21_last_failure_0" operation_key="FAKE21_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="83:30:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;83:30:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="627" rc-code="0" op-status="0" interval="0" last-run="1418243761" last-rc-change="1418243761" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE21_last_0" operation_key="FAKE21_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="83:30:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;83:30:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="627" rc-code="0" op-status="0" interval="0" last-run="1418243761" last-rc-change="1418243761" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE21_monitor_10000" operation_key="FAKE21_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="167:31:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;167:31:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="628" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243762" exec-time="61" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE22" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE22_last_0" operation_key="FAKE22_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="83:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;83:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="630" rc-code="7" op-status="0" interval="0" last-run="1418243762" last-rc-change="1418243762" exec-time="14" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE23" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE23_last_0" operation_key="FAKE23_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="84:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;84:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="632" rc-code="7" op-status="0" interval="0" last-run="1418243762" last-rc-change="1418243762" exec-time="32" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE24" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE24_last_0" operation_key="FAKE24_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="85:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;85:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="634" rc-code="7" op-status="0" interval="0" last-run="1418243763" last-rc-change="1418243763" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE25" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE25_last_0" operation_key="FAKE25_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="86:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;86:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="636" rc-code="7" op-status="0" interval="0" last-run="1418243763" last-rc-change="1418243763" exec-time="70" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE26" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE26_last_0" operation_key="FAKE26_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="87:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;87:31:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="638" rc-code="7" op-status="0" interval="0" last-run="1418243763" last-rc-change="1418243763" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE27" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE27_last_0" operation_key="FAKE27_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="78:32:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;78:32:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="640" rc-code="7" op-status="0" interval="0" last-run="1418243764" last-rc-change="1418243764" exec-time="28" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE28" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE28_last_failure_0" operation_key="FAKE28_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="79:32:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;79:32:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="642" rc-code="0" op-status="0" interval="0" last-run="1418243765" last-rc-change="1418243765" exec-time="22" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE28_last_0" operation_key="FAKE28_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="79:32:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;79:32:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="642" rc-code="0" op-status="0" interval="0" last-run="1418243765" last-rc-change="1418243765" exec-time="22" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE28_monitor_10000" operation_key="FAKE28_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="170:33:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;170:33:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="643" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243765" exec-time="161" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE29" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE29_last_0" operation_key="FAKE29_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="79:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;79:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="645" rc-code="7" op-status="0" interval="0" last-run="1418243766" last-rc-change="1418243766" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE30" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE30_last_0" operation_key="FAKE30_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="80:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;80:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="647" rc-code="7" op-status="0" interval="0" last-run="1418243766" last-rc-change="1418243766" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE31" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE31_last_0" operation_key="FAKE31_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="81:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;81:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="649" rc-code="7" op-status="0" interval="0" last-run="1418243766" last-rc-change="1418243766" exec-time="61" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE32" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE32_last_0" operation_key="FAKE32_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="82:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;82:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="651" rc-code="7" op-status="0" interval="0" last-run="1418243766" last-rc-change="1418243766" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE33" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE33_last_0" operation_key="FAKE33_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="83:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;83:33:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="653" rc-code="7" op-status="0" interval="0" last-run="1418243767" last-rc-change="1418243767" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE34" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE34_last_0" operation_key="FAKE34_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="74:34:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;74:34:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="655" rc-code="7" op-status="0" interval="0" last-run="1418243768" last-rc-change="1418243768" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE35" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE35_last_failure_0" operation_key="FAKE35_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="75:34:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;75:34:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="657" rc-code="0" op-status="0" interval="0" last-run="1418243768" last-rc-change="1418243768" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE35_last_0" operation_key="FAKE35_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="75:34:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;75:34:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="657" rc-code="0" op-status="0" interval="0" last-run="1418243768" last-rc-change="1418243768" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE35_monitor_10000" operation_key="FAKE35_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="173:35:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;173:35:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="658" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243768" exec-time="94" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE36" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE36_last_0" operation_key="FAKE36_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="75:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;75:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="660" rc-code="7" op-status="0" interval="0" last-run="1418243769" last-rc-change="1418243769" exec-time="88" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE37" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE37_last_0" operation_key="FAKE37_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="76:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;76:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="662" rc-code="7" op-status="0" interval="0" last-run="1418243769" last-rc-change="1418243769" exec-time="22" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE38" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE38_last_0" operation_key="FAKE38_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="77:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;77:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="664" rc-code="7" op-status="0" interval="0" last-run="1418243770" last-rc-change="1418243770" exec-time="123" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE39" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE39_last_0" operation_key="FAKE39_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="78:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;78:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="666" rc-code="7" op-status="0" interval="0" last-run="1418243770" last-rc-change="1418243770" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE40" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE40_last_0" operation_key="FAKE40_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="79:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;79:35:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="668" rc-code="7" op-status="0" interval="0" last-run="1418243770" last-rc-change="1418243770" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE41" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE41_last_0" operation_key="FAKE41_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="70:36:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;70:36:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="670" rc-code="7" op-status="0" interval="0" last-run="1418243771" last-rc-change="1418243771" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE42" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE42_last_failure_0" operation_key="FAKE42_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="71:36:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;71:36:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="672" rc-code="0" op-status="0" interval="0" last-run="1418243771" last-rc-change="1418243771" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE42_last_0" operation_key="FAKE42_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="71:36:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;71:36:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="672" rc-code="0" op-status="0" interval="0" last-run="1418243771" last-rc-change="1418243771" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE42_monitor_10000" operation_key="FAKE42_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="176:37:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;176:37:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="673" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243772" exec-time="105" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE43" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE43_last_0" operation_key="FAKE43_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="71:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;71:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="675" rc-code="7" op-status="0" interval="0" last-run="1418243772" last-rc-change="1418243772" exec-time="56" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE44" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE44_last_0" operation_key="FAKE44_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="72:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;72:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="677" rc-code="7" op-status="0" interval="0" last-run="1418243773" last-rc-change="1418243773" exec-time="22" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE45" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE45_last_0" operation_key="FAKE45_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="73:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;73:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="679" rc-code="7" op-status="0" interval="0" last-run="1418243773" last-rc-change="1418243773" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE46" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE46_last_0" operation_key="FAKE46_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="74:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;74:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="681" rc-code="7" op-status="0" interval="0" last-run="1418243773" last-rc-change="1418243773" exec-time="28" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE47" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE47_last_0" operation_key="FAKE47_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="75:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;75:37:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="683" rc-code="7" op-status="0" interval="0" last-run="1418243774" last-rc-change="1418243774" exec-time="34" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE48" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE48_last_0" operation_key="FAKE48_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="66:38:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;66:38:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="685" rc-code="7" op-status="0" interval="0" last-run="1418243775" last-rc-change="1418243775" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE49" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE49_last_failure_0" operation_key="FAKE49_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="67:38:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;67:38:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="687" rc-code="0" op-status="0" interval="0" last-run="1418243775" last-rc-change="1418243775" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE49_last_0" operation_key="FAKE49_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="67:38:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;67:38:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="687" rc-code="0" op-status="0" interval="0" last-run="1418243775" last-rc-change="1418243775" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE49_monitor_10000" operation_key="FAKE49_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="179:39:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:0;179:39:0:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="688" rc-code="0" op-status="0" interval="10000" last-rc-change="1418243775" exec-time="22" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE50" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE50_last_0" operation_key="FAKE50_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="67:39:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" transition-magic="0:7;67:39:7:4a1ee24c-df85-4a70-af44-e7160ceadcc4" call-id="690" rc-code="7" op-status="0" interval="0" last-run="1418243776" last-rc-change="1418243776" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state remote_node="true" id="pcmk_remote5" uname="pcmk_remote5" crm-debug-origin="send_stonith_update"/>
++  </status>
++</cib>
+diff --git a/pengine/test10/remote-partial-migrate2.dot b/pengine/test10/remote-partial-migrate2.dot
+new file mode 100644
+index 0000000..a8bf29b
+--- /dev/null
++++ b/pengine/test10/remote-partial-migrate2.dot
+@@ -0,0 +1,159 @@
++ digraph "g" {
++"FAKE12_monitor_10000 pcmk2" [ style=bold color="green" fontcolor="black"]
++"FAKE12_start_0 pcmk2" -> "FAKE12_monitor_10000 pcmk2" [ style = bold]
++"FAKE12_start_0 pcmk2" [ style=bold color="green" fontcolor="black"]
++"FAKE12_stop_0 pcmk1" -> "FAKE12_start_0 pcmk2" [ style = bold]
++"FAKE12_stop_0 pcmk1" -> "all_stopped" [ style = bold]
++"FAKE12_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE14_monitor_10000 pcmk_remote1" [ style=bold color="green" fontcolor="black"]
++"FAKE14_start_0 pcmk_remote1" -> "FAKE14_monitor_10000 pcmk_remote1" [ style = bold]
++"FAKE14_start_0 pcmk_remote1" [ style=bold color="green" fontcolor="black"]
++"FAKE14_stop_0 pcmk2" -> "FAKE14_start_0 pcmk_remote1" [ style = bold]
++"FAKE14_stop_0 pcmk2" -> "all_stopped" [ style = bold]
++"FAKE14_stop_0 pcmk2" [ style=bold color="green" fontcolor="black"]
++"FAKE17_monitor_10000 pcmk_remote4" [ style=bold color="green" fontcolor="black"]
++"FAKE17_start_0 pcmk_remote4" -> "FAKE17_monitor_10000 pcmk_remote4" [ style = bold]
++"FAKE17_start_0 pcmk_remote4" [ style=bold color="green" fontcolor="black"]
++"FAKE17_stop_0 pcmk_remote1" -> "FAKE17_start_0 pcmk_remote4" [ style = bold]
++"FAKE17_stop_0 pcmk_remote1" -> "all_stopped" [ style = bold]
++"FAKE17_stop_0 pcmk_remote1" [ style=bold color="green" fontcolor="black"]
++"FAKE25_monitor_10000 pcmk_remote4" [ style=bold color="green" fontcolor="black"]
++"FAKE25_start_0 pcmk_remote4" -> "FAKE25_monitor_10000 pcmk_remote4" [ style = bold]
++"FAKE25_start_0 pcmk_remote4" [ style=bold color="green" fontcolor="black"]
++"FAKE25_stop_0 pcmk_remote1" -> "FAKE25_start_0 pcmk_remote4" [ style = bold]
++"FAKE25_stop_0 pcmk_remote1" -> "all_stopped" [ style = bold]
++"FAKE25_stop_0 pcmk_remote1" [ style=bold color="green" fontcolor="black"]
++"FAKE28_monitor_10000 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE28_start_0 pcmk1" -> "FAKE28_monitor_10000 pcmk1" [ style = bold]
++"FAKE28_start_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE28_stop_0 pcmk3" -> "FAKE28_start_0 pcmk1" [ style = bold]
++"FAKE28_stop_0 pcmk3" -> "all_stopped" [ style = bold]
++"FAKE28_stop_0 pcmk3" [ style=bold color="green" fontcolor="black"]
++"FAKE30_monitor_10000 pcmk_remote1" [ style=bold color="green" fontcolor="black"]
++"FAKE30_start_0 pcmk_remote1" -> "FAKE30_monitor_10000 pcmk_remote1" [ style = bold]
++"FAKE30_start_0 pcmk_remote1" [ style=bold color="green" fontcolor="black"]
++"FAKE30_stop_0 pcmk1" -> "FAKE30_start_0 pcmk_remote1" [ style = bold]
++"FAKE30_stop_0 pcmk1" -> "all_stopped" [ style = bold]
++"FAKE30_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE33_monitor_10000 pcmk_remote4" [ style=bold color="green" fontcolor="black"]
++"FAKE33_start_0 pcmk_remote4" -> "FAKE33_monitor_10000 pcmk_remote4" [ style = bold]
++"FAKE33_start_0 pcmk_remote4" [ style=bold color="green" fontcolor="black"]
++"FAKE33_stop_0 pcmk_remote1" -> "FAKE33_start_0 pcmk_remote4" [ style = bold]
++"FAKE33_stop_0 pcmk_remote1" -> "all_stopped" [ style = bold]
++"FAKE33_stop_0 pcmk_remote1" [ style=bold color="green" fontcolor="black"]
++"FAKE38_monitor_10000 pcmk_remote1" [ style=bold color="green" fontcolor="black"]
++"FAKE38_start_0 pcmk_remote1" -> "FAKE38_monitor_10000 pcmk_remote1" [ style = bold]
++"FAKE38_start_0 pcmk_remote1" [ style=bold color="green" fontcolor="black"]
++"FAKE38_stop_0 pcmk2" -> "FAKE38_start_0 pcmk_remote1" [ style = bold]
++"FAKE38_stop_0 pcmk2" -> "all_stopped" [ style = bold]
++"FAKE38_stop_0 pcmk2" [ style=bold color="green" fontcolor="black"]
++"FAKE39_monitor_10000 pcmk_remote2" [ style=bold color="green" fontcolor="black"]
++"FAKE39_start_0 pcmk_remote2" -> "FAKE39_monitor_10000 pcmk_remote2" [ style = bold]
++"FAKE39_start_0 pcmk_remote2" [ style=bold color="green" fontcolor="black"]
++"FAKE39_stop_0 pcmk1" -> "FAKE39_start_0 pcmk_remote2" [ style = bold]
++"FAKE39_stop_0 pcmk1" -> "all_stopped" [ style = bold]
++"FAKE39_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE41_monitor_10000 pcmk_remote4" [ style=bold color="green" fontcolor="black"]
++"FAKE41_start_0 pcmk_remote4" -> "FAKE41_monitor_10000 pcmk_remote4" [ style = bold]
++"FAKE41_start_0 pcmk_remote4" [ style=bold color="green" fontcolor="black"]
++"FAKE41_stop_0 pcmk_remote2" -> "FAKE41_start_0 pcmk_remote4" [ style = bold]
++"FAKE41_stop_0 pcmk_remote2" -> "all_stopped" [ style = bold]
++"FAKE41_stop_0 pcmk_remote2" [ style=bold color="green" fontcolor="black"]
++"FAKE47_monitor_10000 pcmk_remote2" [ style=bold color="green" fontcolor="black"]
++"FAKE47_start_0 pcmk_remote2" -> "FAKE47_monitor_10000 pcmk_remote2" [ style = bold]
++"FAKE47_start_0 pcmk_remote2" [ style=bold color="green" fontcolor="black"]
++"FAKE47_stop_0 pcmk_remote1" -> "FAKE47_start_0 pcmk_remote2" [ style = bold]
++"FAKE47_stop_0 pcmk_remote1" -> "all_stopped" [ style = bold]
++"FAKE47_stop_0 pcmk_remote1" [ style=bold color="green" fontcolor="black"]
++"FAKE48_monitor_10000 pcmk_remote3" [ style=bold color="green" fontcolor="black"]
++"FAKE48_start_0 pcmk_remote3" -> "FAKE48_monitor_10000 pcmk_remote3" [ style = bold]
++"FAKE48_start_0 pcmk_remote3" [ style=bold color="green" fontcolor="black"]
++"FAKE48_stop_0 pcmk1" -> "FAKE48_start_0 pcmk_remote3" [ style = bold]
++"FAKE48_stop_0 pcmk1" -> "all_stopped" [ style = bold]
++"FAKE48_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE49_monitor_10000 pcmk_remote4" [ style=bold color="green" fontcolor="black"]
++"FAKE49_start_0 pcmk_remote4" -> "FAKE49_monitor_10000 pcmk_remote4" [ style = bold]
++"FAKE49_start_0 pcmk_remote4" [ style=bold color="green" fontcolor="black"]
++"FAKE49_stop_0 pcmk_remote3" -> "FAKE49_start_0 pcmk_remote4" [ style = bold]
++"FAKE49_stop_0 pcmk_remote3" -> "all_stopped" [ style = bold]
++"FAKE49_stop_0 pcmk_remote3" [ style=bold color="green" fontcolor="black"]
++"FAKE5_monitor_10000 pcmk_remote4" [ style=bold color="green" fontcolor="black"]
++"FAKE5_start_0 pcmk_remote4" -> "FAKE5_monitor_10000 pcmk_remote4" [ style = bold]
++"FAKE5_start_0 pcmk_remote4" [ style=bold color="green" fontcolor="black"]
++"FAKE5_stop_0 pcmk1" -> "FAKE5_start_0 pcmk_remote4" [ style = bold]
++"FAKE5_stop_0 pcmk1" -> "all_stopped" [ style = bold]
++"FAKE5_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"FAKE9_monitor_10000 pcmk_remote4" [ style=bold color="green" fontcolor="black"]
++"FAKE9_start_0 pcmk_remote4" -> "FAKE9_monitor_10000 pcmk_remote4" [ style = bold]
++"FAKE9_start_0 pcmk_remote4" [ style=bold color="green" fontcolor="black"]
++"FAKE9_stop_0 pcmk2" -> "FAKE9_start_0 pcmk_remote4" [ style = bold]
++"FAKE9_stop_0 pcmk2" -> "all_stopped" [ style = bold]
++"FAKE9_stop_0 pcmk2" [ style=bold color="green" fontcolor="black"]
++"all_stopped" [ style=bold color="green" fontcolor="orange"]
++"pcmk_remote2_migrate_from_0 pcmk1" -> "pcmk_remote2_start_0 pcmk1" [ style = bold]
++"pcmk_remote2_migrate_from_0 pcmk1" -> "pcmk_remote2_stop_0 pcmk3" [ style = bold]
++"pcmk_remote2_migrate_from_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"pcmk_remote2_monitor_60000 pcmk1" [ style=bold color="green" fontcolor="black"]
++"pcmk_remote2_start_0 pcmk1" -> "FAKE39_monitor_10000 pcmk_remote2" [ style = bold]
++"pcmk_remote2_start_0 pcmk1" -> "FAKE39_start_0 pcmk_remote2" [ style = bold]
++"pcmk_remote2_start_0 pcmk1" -> "FAKE41_stop_0 pcmk_remote2" [ style = bold]
++"pcmk_remote2_start_0 pcmk1" -> "FAKE47_monitor_10000 pcmk_remote2" [ style = bold]
++"pcmk_remote2_start_0 pcmk1" -> "FAKE47_start_0 pcmk_remote2" [ style = bold]
++"pcmk_remote2_start_0 pcmk1" -> "pcmk_remote2_monitor_60000 pcmk1" [ style = bold]
++"pcmk_remote2_start_0 pcmk1" [ style=bold color="green" fontcolor="orange"]
++"pcmk_remote2_stop_0 pcmk3" -> "all_stopped" [ style = bold]
++"pcmk_remote2_stop_0 pcmk3" -> "pcmk_remote2_start_0 pcmk1" [ style = bold]
++"pcmk_remote2_stop_0 pcmk3" [ style=bold color="green" fontcolor="black"]
++"pcmk_remote4_monitor_60000 pcmk2" [ style=bold color="green" fontcolor="black"]
++"pcmk_remote4_start_0 pcmk2" -> "FAKE17_monitor_10000 pcmk_remote4" [ style = bold]
++"pcmk_remote4_start_0 pcmk2" -> "FAKE17_start_0 pcmk_remote4" [ style = bold]
++"pcmk_remote4_start_0 pcmk2" -> "FAKE25_monitor_10000 pcmk_remote4" [ style = bold]
++"pcmk_remote4_start_0 pcmk2" -> "FAKE25_start_0 pcmk_remote4" [ style = bold]
++"pcmk_remote4_start_0 pcmk2" -> "FAKE33_monitor_10000 pcmk_remote4" [ style = bold]
++"pcmk_remote4_start_0 pcmk2" -> "FAKE33_start_0 pcmk_remote4" [ style = bold]
++"pcmk_remote4_start_0 pcmk2" -> "FAKE41_monitor_10000 pcmk_remote4" [ style = bold]
++"pcmk_remote4_start_0 pcmk2" -> "FAKE41_start_0 pcmk_remote4" [ style = bold]
++"pcmk_remote4_start_0 pcmk2" -> "FAKE49_monitor_10000 pcmk_remote4" [ style = bold]
++"pcmk_remote4_start_0 pcmk2" -> "FAKE49_start_0 pcmk_remote4" [ style = bold]
++"pcmk_remote4_start_0 pcmk2" -> "FAKE5_monitor_10000 pcmk_remote4" [ style = bold]
++"pcmk_remote4_start_0 pcmk2" -> "FAKE5_start_0 pcmk_remote4" [ style = bold]
++"pcmk_remote4_start_0 pcmk2" -> "FAKE9_monitor_10000 pcmk_remote4" [ style = bold]
++"pcmk_remote4_start_0 pcmk2" -> "FAKE9_start_0 pcmk_remote4" [ style = bold]
++"pcmk_remote4_start_0 pcmk2" -> "pcmk_remote4_monitor_60000 pcmk2" [ style = bold]
++"pcmk_remote4_start_0 pcmk2" [ style=bold color="green" fontcolor="black"]
++"pcmk_remote5_migrate_from_0 pcmk2" -> "pcmk_remote5_start_0 pcmk2" [ style = bold]
++"pcmk_remote5_migrate_from_0 pcmk2" -> "pcmk_remote5_stop_0 pcmk1" [ style = bold]
++"pcmk_remote5_migrate_from_0 pcmk2" [ style=bold color="green" fontcolor="black"]
++"pcmk_remote5_migrate_to_0 pcmk1" -> "pcmk_remote5_migrate_from_0 pcmk2" [ style = bold]
++"pcmk_remote5_migrate_to_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"pcmk_remote5_monitor_60000 pcmk2" [ style=bold color="green" fontcolor="black"]
++"pcmk_remote5_start_0 pcmk2" -> "pcmk_remote5_monitor_60000 pcmk2" [ style = bold]
++"pcmk_remote5_start_0 pcmk2" [ style=bold color="green" fontcolor="orange"]
++"pcmk_remote5_stop_0 pcmk1" -> "all_stopped" [ style = bold]
++"pcmk_remote5_stop_0 pcmk1" -> "pcmk_remote5_start_0 pcmk2" [ style = bold]
++"pcmk_remote5_stop_0 pcmk1" [ style=bold color="green" fontcolor="black"]
++"stonith 'reboot' pcmk4" -> "stonith_complete" [ style = bold]
++"stonith 'reboot' pcmk4" [ style=bold color="green" fontcolor="black"]
++"stonith_complete" -> "FAKE12_start_0 pcmk2" [ style = bold]
++"stonith_complete" -> "FAKE14_start_0 pcmk_remote1" [ style = bold]
++"stonith_complete" -> "FAKE17_start_0 pcmk_remote4" [ style = bold]
++"stonith_complete" -> "FAKE25_start_0 pcmk_remote4" [ style = bold]
++"stonith_complete" -> "FAKE28_start_0 pcmk1" [ style = bold]
++"stonith_complete" -> "FAKE30_start_0 pcmk_remote1" [ style = bold]
++"stonith_complete" -> "FAKE33_start_0 pcmk_remote4" [ style = bold]
++"stonith_complete" -> "FAKE38_start_0 pcmk_remote1" [ style = bold]
++"stonith_complete" -> "FAKE39_start_0 pcmk_remote2" [ style = bold]
++"stonith_complete" -> "FAKE41_start_0 pcmk_remote4" [ style = bold]
++"stonith_complete" -> "FAKE47_start_0 pcmk_remote2" [ style = bold]
++"stonith_complete" -> "FAKE48_start_0 pcmk_remote3" [ style = bold]
++"stonith_complete" -> "FAKE49_start_0 pcmk_remote4" [ style = bold]
++"stonith_complete" -> "FAKE5_start_0 pcmk_remote4" [ style = bold]
++"stonith_complete" -> "FAKE9_start_0 pcmk_remote4" [ style = bold]
++"stonith_complete" -> "all_stopped" [ style = bold]
++"stonith_complete" -> "pcmk_remote2_migrate_from_0 pcmk1" [ style = bold]
++"stonith_complete" -> "pcmk_remote2_start_0 pcmk1" [ style = bold]
++"stonith_complete" -> "pcmk_remote4_start_0 pcmk2" [ style = bold]
++"stonith_complete" -> "pcmk_remote5_migrate_to_0 pcmk1" [ style = bold]
++"stonith_complete" -> "pcmk_remote5_start_0 pcmk2" [ style = bold]
++"stonith_complete" [ style=bold color="green" fontcolor="orange"]
++}
+diff --git a/pengine/test10/remote-partial-migrate2.exp b/pengine/test10/remote-partial-migrate2.exp
+new file mode 100644
+index 0000000..e3d7495
+--- /dev/null
++++ b/pengine/test10/remote-partial-migrate2.exp
+@@ -0,0 +1,866 @@
++<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
++  <synapse id="0">
++    <action_set>
++      <rsc_op id="73" operation="migrate_from" operation_key="pcmk_remote2_migrate_from_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="pcmk_remote2" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_migrate_source="pcmk3" CRM_meta_migrate_target="pcmk1" CRM_meta_timeout="20000"  server="172.17.201.2"/>
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="1">
++    <action_set>
++      <rsc_op id="72" operation="monitor" operation_key="pcmk_remote2_monitor_60000" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="pcmk_remote2" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="30000"  server="172.17.201.2"/>
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="71" operation="start" operation_key="pcmk_remote2_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="2">
++    <action_set>
++      <pseudo_event id="71" operation="start" operation_key="pcmk_remote2_start_0">
++        <attributes CRM_meta_name="start" CRM_meta_timeout="10000"  server="172.17.201.2"/>
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="70" operation="stop" operation_key="pcmk_remote2_stop_0" on_node="pcmk3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="73" operation="migrate_from" operation_key="pcmk_remote2_migrate_from_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="3">
++    <action_set>
++      <rsc_op id="70" operation="stop" operation_key="pcmk_remote2_stop_0" on_node="pcmk3" on_node_uuid="3">
++        <primitive id="pcmk_remote2" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="60000"  server="172.17.201.2"/>
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="73" operation="migrate_from" operation_key="pcmk_remote2_migrate_from_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="4">
++    <action_set>
++      <rsc_op id="77" operation="monitor" operation_key="pcmk_remote4_monitor_60000" on_node="pcmk2" on_node_uuid="2">
++        <primitive id="pcmk_remote4" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="30000"  server="172.17.201.4"/>
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="76" operation="start" operation_key="pcmk_remote4_start_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="5">
++    <action_set>
++      <rsc_op id="76" operation="start" operation_key="pcmk_remote4_start_0" on_node="pcmk2" on_node_uuid="2">
++        <primitive id="pcmk_remote4" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="10000"  server="172.17.201.4"/>
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="6">
++    <action_set>
++      <rsc_op id="82" operation="migrate_from" operation_key="pcmk_remote5_migrate_from_0" on_node="pcmk2" on_node_uuid="2">
++        <primitive id="pcmk_remote5" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_migrate_source="pcmk1" CRM_meta_migrate_target="pcmk2" CRM_meta_timeout="20000"  server="172.17.201.5"/>
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="81" operation="migrate_to" operation_key="pcmk_remote5_migrate_to_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="7">
++    <action_set>
++      <rsc_op id="81" operation="migrate_to" operation_key="pcmk_remote5_migrate_to_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="pcmk_remote5" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_migrate_source="pcmk1" CRM_meta_migrate_target="pcmk2" CRM_meta_timeout="20000"  server="172.17.201.5"/>
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="8">
++    <action_set>
++      <rsc_op id="80" operation="monitor" operation_key="pcmk_remote5_monitor_60000" on_node="pcmk2" on_node_uuid="2">
++        <primitive id="pcmk_remote5" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="30000"  server="172.17.201.5"/>
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="79" operation="start" operation_key="pcmk_remote5_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="9">
++    <action_set>
++      <pseudo_event id="79" operation="start" operation_key="pcmk_remote5_start_0">
++        <attributes CRM_meta_name="start" CRM_meta_timeout="10000"  server="172.17.201.5"/>
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="78" operation="stop" operation_key="pcmk_remote5_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="82" operation="migrate_from" operation_key="pcmk_remote5_migrate_from_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="10">
++    <action_set>
++      <rsc_op id="78" operation="stop" operation_key="pcmk_remote5_stop_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="pcmk_remote5" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="60000"  server="172.17.201.5"/>
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="82" operation="migrate_from" operation_key="pcmk_remote5_migrate_from_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="11">
++    <action_set>
++      <rsc_op id="93" operation="monitor" operation_key="FAKE5_monitor_10000" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk2">
++        <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="76" operation="start" operation_key="pcmk_remote4_start_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="92" operation="start" operation_key="FAKE5_start_0" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="12">
++    <action_set>
++      <rsc_op id="92" operation="start" operation_key="FAKE5_start_0" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk2">
++        <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="76" operation="start" operation_key="pcmk_remote4_start_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="91" operation="stop" operation_key="FAKE5_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="13">
++    <action_set>
++      <rsc_op id="91" operation="stop" operation_key="FAKE5_stop_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="14">
++    <action_set>
++      <rsc_op id="102" operation="monitor" operation_key="FAKE9_monitor_10000" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk2">
++        <primitive id="FAKE9" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="76" operation="start" operation_key="pcmk_remote4_start_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="101" operation="start" operation_key="FAKE9_start_0" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="15">
++    <action_set>
++      <rsc_op id="101" operation="start" operation_key="FAKE9_start_0" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk2">
++        <primitive id="FAKE9" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="76" operation="start" operation_key="pcmk_remote4_start_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="100" operation="stop" operation_key="FAKE9_stop_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="16">
++    <action_set>
++      <rsc_op id="100" operation="stop" operation_key="FAKE9_stop_0" on_node="pcmk2" on_node_uuid="2">
++        <primitive id="FAKE9" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="17">
++    <action_set>
++      <rsc_op id="109" operation="monitor" operation_key="FAKE12_monitor_10000" on_node="pcmk2" on_node_uuid="2">
++        <primitive id="FAKE12" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="108" operation="start" operation_key="FAKE12_start_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="18">
++    <action_set>
++      <rsc_op id="108" operation="start" operation_key="FAKE12_start_0" on_node="pcmk2" on_node_uuid="2">
++        <primitive id="FAKE12" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="107" operation="stop" operation_key="FAKE12_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="19">
++    <action_set>
++      <rsc_op id="107" operation="stop" operation_key="FAKE12_stop_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE12" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="20">
++    <action_set>
++      <rsc_op id="114" operation="monitor" operation_key="FAKE14_monitor_10000" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1">
++        <primitive id="FAKE14" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="113" operation="start" operation_key="FAKE14_start_0" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="21">
++    <action_set>
++      <rsc_op id="113" operation="start" operation_key="FAKE14_start_0" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1">
++        <primitive id="FAKE14" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="112" operation="stop" operation_key="FAKE14_stop_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="22">
++    <action_set>
++      <rsc_op id="112" operation="stop" operation_key="FAKE14_stop_0" on_node="pcmk2" on_node_uuid="2">
++        <primitive id="FAKE14" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="23">
++    <action_set>
++      <rsc_op id="121" operation="monitor" operation_key="FAKE17_monitor_10000" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk2">
++        <primitive id="FAKE17" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="76" operation="start" operation_key="pcmk_remote4_start_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="120" operation="start" operation_key="FAKE17_start_0" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="24">
++    <action_set>
++      <rsc_op id="120" operation="start" operation_key="FAKE17_start_0" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk2">
++        <primitive id="FAKE17" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="76" operation="start" operation_key="pcmk_remote4_start_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="119" operation="stop" operation_key="FAKE17_stop_0" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="25">
++    <action_set>
++      <rsc_op id="119" operation="stop" operation_key="FAKE17_stop_0" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1">
++        <primitive id="FAKE17" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="26">
++    <action_set>
++      <rsc_op id="138" operation="monitor" operation_key="FAKE25_monitor_10000" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk2">
++        <primitive id="FAKE25" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="76" operation="start" operation_key="pcmk_remote4_start_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="137" operation="start" operation_key="FAKE25_start_0" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="27">
++    <action_set>
++      <rsc_op id="137" operation="start" operation_key="FAKE25_start_0" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk2">
++        <primitive id="FAKE25" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="76" operation="start" operation_key="pcmk_remote4_start_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="136" operation="stop" operation_key="FAKE25_stop_0" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="28">
++    <action_set>
++      <rsc_op id="136" operation="stop" operation_key="FAKE25_stop_0" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1">
++        <primitive id="FAKE25" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="29">
++    <action_set>
++      <rsc_op id="145" operation="monitor" operation_key="FAKE28_monitor_10000" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE28" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="144" operation="start" operation_key="FAKE28_start_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="30">
++    <action_set>
++      <rsc_op id="144" operation="start" operation_key="FAKE28_start_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE28" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="143" operation="stop" operation_key="FAKE28_stop_0" on_node="pcmk3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="31">
++    <action_set>
++      <rsc_op id="143" operation="stop" operation_key="FAKE28_stop_0" on_node="pcmk3" on_node_uuid="3">
++        <primitive id="FAKE28" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="32">
++    <action_set>
++      <rsc_op id="150" operation="monitor" operation_key="FAKE30_monitor_10000" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1">
++        <primitive id="FAKE30" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="149" operation="start" operation_key="FAKE30_start_0" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="33">
++    <action_set>
++      <rsc_op id="149" operation="start" operation_key="FAKE30_start_0" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1">
++        <primitive id="FAKE30" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="148" operation="stop" operation_key="FAKE30_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="34">
++    <action_set>
++      <rsc_op id="148" operation="stop" operation_key="FAKE30_stop_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE30" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="35">
++    <action_set>
++      <rsc_op id="157" operation="monitor" operation_key="FAKE33_monitor_10000" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk2">
++        <primitive id="FAKE33" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="76" operation="start" operation_key="pcmk_remote4_start_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="156" operation="start" operation_key="FAKE33_start_0" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="36">
++    <action_set>
++      <rsc_op id="156" operation="start" operation_key="FAKE33_start_0" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk2">
++        <primitive id="FAKE33" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="76" operation="start" operation_key="pcmk_remote4_start_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="155" operation="stop" operation_key="FAKE33_stop_0" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="37">
++    <action_set>
++      <rsc_op id="155" operation="stop" operation_key="FAKE33_stop_0" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1">
++        <primitive id="FAKE33" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="38">
++    <action_set>
++      <rsc_op id="168" operation="monitor" operation_key="FAKE38_monitor_10000" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1">
++        <primitive id="FAKE38" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="167" operation="start" operation_key="FAKE38_start_0" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="39">
++    <action_set>
++      <rsc_op id="167" operation="start" operation_key="FAKE38_start_0" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1">
++        <primitive id="FAKE38" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="166" operation="stop" operation_key="FAKE38_stop_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="40">
++    <action_set>
++      <rsc_op id="166" operation="stop" operation_key="FAKE38_stop_0" on_node="pcmk2" on_node_uuid="2">
++        <primitive id="FAKE38" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="41">
++    <action_set>
++      <rsc_op id="171" operation="monitor" operation_key="FAKE39_monitor_10000" on_node="pcmk_remote2" on_node_uuid="pcmk_remote2" router_node="pcmk1">
++        <primitive id="FAKE39" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="71" operation="start" operation_key="pcmk_remote2_start_0"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="170" operation="start" operation_key="FAKE39_start_0" on_node="pcmk_remote2" on_node_uuid="pcmk_remote2" router_node="pcmk1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="42">
++    <action_set>
++      <rsc_op id="170" operation="start" operation_key="FAKE39_start_0" on_node="pcmk_remote2" on_node_uuid="pcmk_remote2" router_node="pcmk1">
++        <primitive id="FAKE39" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="71" operation="start" operation_key="pcmk_remote2_start_0"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="169" operation="stop" operation_key="FAKE39_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="43">
++    <action_set>
++      <rsc_op id="169" operation="stop" operation_key="FAKE39_stop_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE39" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="44">
++    <action_set>
++      <rsc_op id="176" operation="monitor" operation_key="FAKE41_monitor_10000" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk2">
++        <primitive id="FAKE41" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="76" operation="start" operation_key="pcmk_remote4_start_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="175" operation="start" operation_key="FAKE41_start_0" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="45">
++    <action_set>
++      <rsc_op id="175" operation="start" operation_key="FAKE41_start_0" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk2">
++        <primitive id="FAKE41" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="76" operation="start" operation_key="pcmk_remote4_start_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="174" operation="stop" operation_key="FAKE41_stop_0" on_node="pcmk_remote2" on_node_uuid="pcmk_remote2" router_node="pcmk1"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="46">
++    <action_set>
++      <rsc_op id="174" operation="stop" operation_key="FAKE41_stop_0" on_node="pcmk_remote2" on_node_uuid="pcmk_remote2" router_node="pcmk1">
++        <primitive id="FAKE41" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="71" operation="start" operation_key="pcmk_remote2_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="47">
++    <action_set>
++      <rsc_op id="189" operation="monitor" operation_key="FAKE47_monitor_10000" on_node="pcmk_remote2" on_node_uuid="pcmk_remote2" router_node="pcmk1">
++        <primitive id="FAKE47" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="71" operation="start" operation_key="pcmk_remote2_start_0"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="188" operation="start" operation_key="FAKE47_start_0" on_node="pcmk_remote2" on_node_uuid="pcmk_remote2" router_node="pcmk1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="48">
++    <action_set>
++      <rsc_op id="188" operation="start" operation_key="FAKE47_start_0" on_node="pcmk_remote2" on_node_uuid="pcmk_remote2" router_node="pcmk1">
++        <primitive id="FAKE47" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="71" operation="start" operation_key="pcmk_remote2_start_0"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="187" operation="stop" operation_key="FAKE47_stop_0" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="49">
++    <action_set>
++      <rsc_op id="187" operation="stop" operation_key="FAKE47_stop_0" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1">
++        <primitive id="FAKE47" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="50">
++    <action_set>
++      <rsc_op id="192" operation="monitor" operation_key="FAKE48_monitor_10000" on_node="pcmk_remote3" on_node_uuid="pcmk_remote3" router_node="pcmk3">
++        <primitive id="FAKE48" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="191" operation="start" operation_key="FAKE48_start_0" on_node="pcmk_remote3" on_node_uuid="pcmk_remote3" router_node="pcmk3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="51">
++    <action_set>
++      <rsc_op id="191" operation="start" operation_key="FAKE48_start_0" on_node="pcmk_remote3" on_node_uuid="pcmk_remote3" router_node="pcmk3">
++        <primitive id="FAKE48" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="190" operation="stop" operation_key="FAKE48_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="52">
++    <action_set>
++      <rsc_op id="190" operation="stop" operation_key="FAKE48_stop_0" on_node="pcmk1" on_node_uuid="1">
++        <primitive id="FAKE48" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="53">
++    <action_set>
++      <rsc_op id="195" operation="monitor" operation_key="FAKE49_monitor_10000" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk2">
++        <primitive id="FAKE49" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="76" operation="start" operation_key="pcmk_remote4_start_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="194" operation="start" operation_key="FAKE49_start_0" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="54">
++    <action_set>
++      <rsc_op id="194" operation="start" operation_key="FAKE49_start_0" on_node="pcmk_remote4" on_node_uuid="pcmk_remote4" router_node="pcmk2">
++        <primitive id="FAKE49" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="76" operation="start" operation_key="pcmk_remote4_start_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="193" operation="stop" operation_key="FAKE49_stop_0" on_node="pcmk_remote3" on_node_uuid="pcmk_remote3" router_node="pcmk3"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="55">
++    <action_set>
++      <rsc_op id="193" operation="stop" operation_key="FAKE49_stop_0" on_node="pcmk_remote3" on_node_uuid="pcmk_remote3" router_node="pcmk3">
++        <primitive id="FAKE49" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="56">
++    <action_set>
++      <crm_event id="199" operation="stonith" operation_key="stonith-pcmk4-reboot" on_node="pcmk4" on_node_uuid="4">
++        <attributes CRM_meta_on_node="pcmk4" CRM_meta_on_node_uuid="4" CRM_meta_stonith_action="reboot" />
++      </crm_event>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="57">
++    <action_set>
++      <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <crm_event id="199" operation="stonith" operation_key="stonith-pcmk4-reboot" on_node="pcmk4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="58">
++    <action_set>
++      <pseudo_event id="55" operation="all_stopped" operation_key="all_stopped">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="70" operation="stop" operation_key="pcmk_remote2_stop_0" on_node="pcmk3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="78" operation="stop" operation_key="pcmk_remote5_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="91" operation="stop" operation_key="FAKE5_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="100" operation="stop" operation_key="FAKE9_stop_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="107" operation="stop" operation_key="FAKE12_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="112" operation="stop" operation_key="FAKE14_stop_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="119" operation="stop" operation_key="FAKE17_stop_0" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="136" operation="stop" operation_key="FAKE25_stop_0" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="143" operation="stop" operation_key="FAKE28_stop_0" on_node="pcmk3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="148" operation="stop" operation_key="FAKE30_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="155" operation="stop" operation_key="FAKE33_stop_0" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="166" operation="stop" operation_key="FAKE38_stop_0" on_node="pcmk2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="169" operation="stop" operation_key="FAKE39_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="174" operation="stop" operation_key="FAKE41_stop_0" on_node="pcmk_remote2" on_node_uuid="pcmk_remote2" router_node="pcmk1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="187" operation="stop" operation_key="FAKE47_stop_0" on_node="pcmk_remote1" on_node_uuid="pcmk_remote1" router_node="pcmk1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="190" operation="stop" operation_key="FAKE48_stop_0" on_node="pcmk1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="193" operation="stop" operation_key="FAKE49_stop_0" on_node="pcmk_remote3" on_node_uuid="pcmk_remote3" router_node="pcmk3"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="198" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++</transition_graph>
+diff --git a/pengine/test10/remote-partial-migrate2.scores b/pengine/test10/remote-partial-migrate2.scores
+new file mode 100644
+index 0000000..6965507
+--- /dev/null
++++ b/pengine/test10/remote-partial-migrate2.scores
+@@ -0,0 +1,505 @@
++Allocation scores:
++native_color: FAKE1 allocation score on pcmk1: -INFINITY
++native_color: FAKE1 allocation score on pcmk2: 0
++native_color: FAKE1 allocation score on pcmk3: 0
++native_color: FAKE1 allocation score on pcmk4: 0
++native_color: FAKE1 allocation score on pcmk_remote1: 0
++native_color: FAKE1 allocation score on pcmk_remote2: 0
++native_color: FAKE1 allocation score on pcmk_remote3: 0
++native_color: FAKE1 allocation score on pcmk_remote4: 0
++native_color: FAKE1 allocation score on pcmk_remote5: 0
++native_color: FAKE10 allocation score on pcmk1: 0
++native_color: FAKE10 allocation score on pcmk2: 0
++native_color: FAKE10 allocation score on pcmk3: 0
++native_color: FAKE10 allocation score on pcmk4: 0
++native_color: FAKE10 allocation score on pcmk_remote1: 0
++native_color: FAKE10 allocation score on pcmk_remote2: 0
++native_color: FAKE10 allocation score on pcmk_remote3: 0
++native_color: FAKE10 allocation score on pcmk_remote4: 0
++native_color: FAKE10 allocation score on pcmk_remote5: 0
++native_color: FAKE11 allocation score on pcmk1: 0
++native_color: FAKE11 allocation score on pcmk2: 0
++native_color: FAKE11 allocation score on pcmk3: 0
++native_color: FAKE11 allocation score on pcmk4: 0
++native_color: FAKE11 allocation score on pcmk_remote1: 0
++native_color: FAKE11 allocation score on pcmk_remote2: 0
++native_color: FAKE11 allocation score on pcmk_remote3: 0
++native_color: FAKE11 allocation score on pcmk_remote4: 0
++native_color: FAKE11 allocation score on pcmk_remote5: 0
++native_color: FAKE12 allocation score on pcmk1: 0
++native_color: FAKE12 allocation score on pcmk2: 0
++native_color: FAKE12 allocation score on pcmk3: 0
++native_color: FAKE12 allocation score on pcmk4: 0
++native_color: FAKE12 allocation score on pcmk_remote1: 0
++native_color: FAKE12 allocation score on pcmk_remote2: 0
++native_color: FAKE12 allocation score on pcmk_remote3: 0
++native_color: FAKE12 allocation score on pcmk_remote4: 0
++native_color: FAKE12 allocation score on pcmk_remote5: 0
++native_color: FAKE13 allocation score on pcmk1: 0
++native_color: FAKE13 allocation score on pcmk2: 0
++native_color: FAKE13 allocation score on pcmk3: 0
++native_color: FAKE13 allocation score on pcmk4: 0
++native_color: FAKE13 allocation score on pcmk_remote1: 0
++native_color: FAKE13 allocation score on pcmk_remote2: 0
++native_color: FAKE13 allocation score on pcmk_remote3: 0
++native_color: FAKE13 allocation score on pcmk_remote4: 0
++native_color: FAKE13 allocation score on pcmk_remote5: 0
++native_color: FAKE14 allocation score on pcmk1: 0
++native_color: FAKE14 allocation score on pcmk2: 0
++native_color: FAKE14 allocation score on pcmk3: 0
++native_color: FAKE14 allocation score on pcmk4: 0
++native_color: FAKE14 allocation score on pcmk_remote1: 0
++native_color: FAKE14 allocation score on pcmk_remote2: 0
++native_color: FAKE14 allocation score on pcmk_remote3: 0
++native_color: FAKE14 allocation score on pcmk_remote4: 0
++native_color: FAKE14 allocation score on pcmk_remote5: 0
++native_color: FAKE15 allocation score on pcmk1: 0
++native_color: FAKE15 allocation score on pcmk2: 0
++native_color: FAKE15 allocation score on pcmk3: 0
++native_color: FAKE15 allocation score on pcmk4: 0
++native_color: FAKE15 allocation score on pcmk_remote1: 0
++native_color: FAKE15 allocation score on pcmk_remote2: 0
++native_color: FAKE15 allocation score on pcmk_remote3: 0
++native_color: FAKE15 allocation score on pcmk_remote4: 0
++native_color: FAKE15 allocation score on pcmk_remote5: 0
++native_color: FAKE16 allocation score on pcmk1: 0
++native_color: FAKE16 allocation score on pcmk2: 0
++native_color: FAKE16 allocation score on pcmk3: 0
++native_color: FAKE16 allocation score on pcmk4: 0
++native_color: FAKE16 allocation score on pcmk_remote1: 0
++native_color: FAKE16 allocation score on pcmk_remote2: 0
++native_color: FAKE16 allocation score on pcmk_remote3: 0
++native_color: FAKE16 allocation score on pcmk_remote4: 0
++native_color: FAKE16 allocation score on pcmk_remote5: 0
++native_color: FAKE17 allocation score on pcmk1: 0
++native_color: FAKE17 allocation score on pcmk2: 0
++native_color: FAKE17 allocation score on pcmk3: 0
++native_color: FAKE17 allocation score on pcmk4: 0
++native_color: FAKE17 allocation score on pcmk_remote1: 0
++native_color: FAKE17 allocation score on pcmk_remote2: 0
++native_color: FAKE17 allocation score on pcmk_remote3: 0
++native_color: FAKE17 allocation score on pcmk_remote4: 0
++native_color: FAKE17 allocation score on pcmk_remote5: 0
++native_color: FAKE18 allocation score on pcmk1: 0
++native_color: FAKE18 allocation score on pcmk2: 0
++native_color: FAKE18 allocation score on pcmk3: 0
++native_color: FAKE18 allocation score on pcmk4: 0
++native_color: FAKE18 allocation score on pcmk_remote1: 0
++native_color: FAKE18 allocation score on pcmk_remote2: 0
++native_color: FAKE18 allocation score on pcmk_remote3: 0
++native_color: FAKE18 allocation score on pcmk_remote4: 0
++native_color: FAKE18 allocation score on pcmk_remote5: 0
++native_color: FAKE19 allocation score on pcmk1: 0
++native_color: FAKE19 allocation score on pcmk2: 0
++native_color: FAKE19 allocation score on pcmk3: 0
++native_color: FAKE19 allocation score on pcmk4: 0
++native_color: FAKE19 allocation score on pcmk_remote1: 0
++native_color: FAKE19 allocation score on pcmk_remote2: 0
++native_color: FAKE19 allocation score on pcmk_remote3: 0
++native_color: FAKE19 allocation score on pcmk_remote4: 0
++native_color: FAKE19 allocation score on pcmk_remote5: 0
++native_color: FAKE2 allocation score on pcmk1: 0
++native_color: FAKE2 allocation score on pcmk2: 0
++native_color: FAKE2 allocation score on pcmk3: 0
++native_color: FAKE2 allocation score on pcmk4: 0
++native_color: FAKE2 allocation score on pcmk_remote1: 0
++native_color: FAKE2 allocation score on pcmk_remote2: 0
++native_color: FAKE2 allocation score on pcmk_remote3: 0
++native_color: FAKE2 allocation score on pcmk_remote4: 0
++native_color: FAKE2 allocation score on pcmk_remote5: 0
++native_color: FAKE20 allocation score on pcmk1: 0
++native_color: FAKE20 allocation score on pcmk2: 0
++native_color: FAKE20 allocation score on pcmk3: 0
++native_color: FAKE20 allocation score on pcmk4: 0
++native_color: FAKE20 allocation score on pcmk_remote1: 0
++native_color: FAKE20 allocation score on pcmk_remote2: 0
++native_color: FAKE20 allocation score on pcmk_remote3: 0
++native_color: FAKE20 allocation score on pcmk_remote4: 0
++native_color: FAKE20 allocation score on pcmk_remote5: 0
++native_color: FAKE21 allocation score on pcmk1: 0
++native_color: FAKE21 allocation score on pcmk2: 0
++native_color: FAKE21 allocation score on pcmk3: 0
++native_color: FAKE21 allocation score on pcmk4: 0
++native_color: FAKE21 allocation score on pcmk_remote1: 0
++native_color: FAKE21 allocation score on pcmk_remote2: 0
++native_color: FAKE21 allocation score on pcmk_remote3: 0
++native_color: FAKE21 allocation score on pcmk_remote4: 0
++native_color: FAKE21 allocation score on pcmk_remote5: 0
++native_color: FAKE22 allocation score on pcmk1: 0
++native_color: FAKE22 allocation score on pcmk2: 0
++native_color: FAKE22 allocation score on pcmk3: 0
++native_color: FAKE22 allocation score on pcmk4: 0
++native_color: FAKE22 allocation score on pcmk_remote1: 0
++native_color: FAKE22 allocation score on pcmk_remote2: 0
++native_color: FAKE22 allocation score on pcmk_remote3: 0
++native_color: FAKE22 allocation score on pcmk_remote4: 0
++native_color: FAKE22 allocation score on pcmk_remote5: 0
++native_color: FAKE23 allocation score on pcmk1: 0
++native_color: FAKE23 allocation score on pcmk2: 0
++native_color: FAKE23 allocation score on pcmk3: 0
++native_color: FAKE23 allocation score on pcmk4: 0
++native_color: FAKE23 allocation score on pcmk_remote1: 0
++native_color: FAKE23 allocation score on pcmk_remote2: 0
++native_color: FAKE23 allocation score on pcmk_remote3: 0
++native_color: FAKE23 allocation score on pcmk_remote4: 0
++native_color: FAKE23 allocation score on pcmk_remote5: 0
++native_color: FAKE24 allocation score on pcmk1: 0
++native_color: FAKE24 allocation score on pcmk2: 0
++native_color: FAKE24 allocation score on pcmk3: 0
++native_color: FAKE24 allocation score on pcmk4: 0
++native_color: FAKE24 allocation score on pcmk_remote1: 0
++native_color: FAKE24 allocation score on pcmk_remote2: 0
++native_color: FAKE24 allocation score on pcmk_remote3: 0
++native_color: FAKE24 allocation score on pcmk_remote4: 0
++native_color: FAKE24 allocation score on pcmk_remote5: 0
++native_color: FAKE25 allocation score on pcmk1: 0
++native_color: FAKE25 allocation score on pcmk2: 0
++native_color: FAKE25 allocation score on pcmk3: 0
++native_color: FAKE25 allocation score on pcmk4: 0
++native_color: FAKE25 allocation score on pcmk_remote1: 0
++native_color: FAKE25 allocation score on pcmk_remote2: 0
++native_color: FAKE25 allocation score on pcmk_remote3: 0
++native_color: FAKE25 allocation score on pcmk_remote4: 0
++native_color: FAKE25 allocation score on pcmk_remote5: 0
++native_color: FAKE26 allocation score on pcmk1: 0
++native_color: FAKE26 allocation score on pcmk2: 0
++native_color: FAKE26 allocation score on pcmk3: 0
++native_color: FAKE26 allocation score on pcmk4: 0
++native_color: FAKE26 allocation score on pcmk_remote1: 0
++native_color: FAKE26 allocation score on pcmk_remote2: 0
++native_color: FAKE26 allocation score on pcmk_remote3: 0
++native_color: FAKE26 allocation score on pcmk_remote4: 0
++native_color: FAKE26 allocation score on pcmk_remote5: 0
++native_color: FAKE27 allocation score on pcmk1: 0
++native_color: FAKE27 allocation score on pcmk2: 0
++native_color: FAKE27 allocation score on pcmk3: 0
++native_color: FAKE27 allocation score on pcmk4: 0
++native_color: FAKE27 allocation score on pcmk_remote1: 0
++native_color: FAKE27 allocation score on pcmk_remote2: 0
++native_color: FAKE27 allocation score on pcmk_remote3: 0
++native_color: FAKE27 allocation score on pcmk_remote4: 0
++native_color: FAKE27 allocation score on pcmk_remote5: 0
++native_color: FAKE28 allocation score on pcmk1: 0
++native_color: FAKE28 allocation score on pcmk2: 0
++native_color: FAKE28 allocation score on pcmk3: 0
++native_color: FAKE28 allocation score on pcmk4: 0
++native_color: FAKE28 allocation score on pcmk_remote1: 0
++native_color: FAKE28 allocation score on pcmk_remote2: 0
++native_color: FAKE28 allocation score on pcmk_remote3: 0
++native_color: FAKE28 allocation score on pcmk_remote4: 0
++native_color: FAKE28 allocation score on pcmk_remote5: 0
++native_color: FAKE29 allocation score on pcmk1: 0
++native_color: FAKE29 allocation score on pcmk2: 0
++native_color: FAKE29 allocation score on pcmk3: 0
++native_color: FAKE29 allocation score on pcmk4: 0
++native_color: FAKE29 allocation score on pcmk_remote1: 0
++native_color: FAKE29 allocation score on pcmk_remote2: 0
++native_color: FAKE29 allocation score on pcmk_remote3: 0
++native_color: FAKE29 allocation score on pcmk_remote4: 0
++native_color: FAKE29 allocation score on pcmk_remote5: 0
++native_color: FAKE3 allocation score on pcmk1: 0
++native_color: FAKE3 allocation score on pcmk2: 0
++native_color: FAKE3 allocation score on pcmk3: 0
++native_color: FAKE3 allocation score on pcmk4: 0
++native_color: FAKE3 allocation score on pcmk_remote1: 0
++native_color: FAKE3 allocation score on pcmk_remote2: 0
++native_color: FAKE3 allocation score on pcmk_remote3: 0
++native_color: FAKE3 allocation score on pcmk_remote4: 0
++native_color: FAKE3 allocation score on pcmk_remote5: 0
++native_color: FAKE30 allocation score on pcmk1: 0
++native_color: FAKE30 allocation score on pcmk2: 0
++native_color: FAKE30 allocation score on pcmk3: 0
++native_color: FAKE30 allocation score on pcmk4: 0
++native_color: FAKE30 allocation score on pcmk_remote1: 0
++native_color: FAKE30 allocation score on pcmk_remote2: 0
++native_color: FAKE30 allocation score on pcmk_remote3: 0
++native_color: FAKE30 allocation score on pcmk_remote4: 0
++native_color: FAKE30 allocation score on pcmk_remote5: 0
++native_color: FAKE31 allocation score on pcmk1: 0
++native_color: FAKE31 allocation score on pcmk2: 0
++native_color: FAKE31 allocation score on pcmk3: 0
++native_color: FAKE31 allocation score on pcmk4: 0
++native_color: FAKE31 allocation score on pcmk_remote1: 0
++native_color: FAKE31 allocation score on pcmk_remote2: 0
++native_color: FAKE31 allocation score on pcmk_remote3: 0
++native_color: FAKE31 allocation score on pcmk_remote4: 0
++native_color: FAKE31 allocation score on pcmk_remote5: 0
++native_color: FAKE32 allocation score on pcmk1: 0
++native_color: FAKE32 allocation score on pcmk2: 0
++native_color: FAKE32 allocation score on pcmk3: 0
++native_color: FAKE32 allocation score on pcmk4: 0
++native_color: FAKE32 allocation score on pcmk_remote1: 0
++native_color: FAKE32 allocation score on pcmk_remote2: 0
++native_color: FAKE32 allocation score on pcmk_remote3: 0
++native_color: FAKE32 allocation score on pcmk_remote4: 0
++native_color: FAKE32 allocation score on pcmk_remote5: 0
++native_color: FAKE33 allocation score on pcmk1: 0
++native_color: FAKE33 allocation score on pcmk2: 0
++native_color: FAKE33 allocation score on pcmk3: 0
++native_color: FAKE33 allocation score on pcmk4: 0
++native_color: FAKE33 allocation score on pcmk_remote1: 0
++native_color: FAKE33 allocation score on pcmk_remote2: 0
++native_color: FAKE33 allocation score on pcmk_remote3: 0
++native_color: FAKE33 allocation score on pcmk_remote4: 0
++native_color: FAKE33 allocation score on pcmk_remote5: 0
++native_color: FAKE34 allocation score on pcmk1: 0
++native_color: FAKE34 allocation score on pcmk2: 0
++native_color: FAKE34 allocation score on pcmk3: 0
++native_color: FAKE34 allocation score on pcmk4: 0
++native_color: FAKE34 allocation score on pcmk_remote1: 0
++native_color: FAKE34 allocation score on pcmk_remote2: 0
++native_color: FAKE34 allocation score on pcmk_remote3: 0
++native_color: FAKE34 allocation score on pcmk_remote4: 0
++native_color: FAKE34 allocation score on pcmk_remote5: 0
++native_color: FAKE35 allocation score on pcmk1: 0
++native_color: FAKE35 allocation score on pcmk2: 0
++native_color: FAKE35 allocation score on pcmk3: 0
++native_color: FAKE35 allocation score on pcmk4: 0
++native_color: FAKE35 allocation score on pcmk_remote1: 0
++native_color: FAKE35 allocation score on pcmk_remote2: 0
++native_color: FAKE35 allocation score on pcmk_remote3: 0
++native_color: FAKE35 allocation score on pcmk_remote4: 0
++native_color: FAKE35 allocation score on pcmk_remote5: 0
++native_color: FAKE36 allocation score on pcmk1: 0
++native_color: FAKE36 allocation score on pcmk2: 0
++native_color: FAKE36 allocation score on pcmk3: 0
++native_color: FAKE36 allocation score on pcmk4: 0
++native_color: FAKE36 allocation score on pcmk_remote1: 0
++native_color: FAKE36 allocation score on pcmk_remote2: 0
++native_color: FAKE36 allocation score on pcmk_remote3: 0
++native_color: FAKE36 allocation score on pcmk_remote4: 0
++native_color: FAKE36 allocation score on pcmk_remote5: 0
++native_color: FAKE37 allocation score on pcmk1: 0
++native_color: FAKE37 allocation score on pcmk2: 0
++native_color: FAKE37 allocation score on pcmk3: 0
++native_color: FAKE37 allocation score on pcmk4: 0
++native_color: FAKE37 allocation score on pcmk_remote1: 0
++native_color: FAKE37 allocation score on pcmk_remote2: 0
++native_color: FAKE37 allocation score on pcmk_remote3: 0
++native_color: FAKE37 allocation score on pcmk_remote4: 0
++native_color: FAKE37 allocation score on pcmk_remote5: 0
++native_color: FAKE38 allocation score on pcmk1: 0
++native_color: FAKE38 allocation score on pcmk2: 0
++native_color: FAKE38 allocation score on pcmk3: 0
++native_color: FAKE38 allocation score on pcmk4: 0
++native_color: FAKE38 allocation score on pcmk_remote1: 0
++native_color: FAKE38 allocation score on pcmk_remote2: 0
++native_color: FAKE38 allocation score on pcmk_remote3: 0
++native_color: FAKE38 allocation score on pcmk_remote4: 0
++native_color: FAKE38 allocation score on pcmk_remote5: 0
++native_color: FAKE39 allocation score on pcmk1: 0
++native_color: FAKE39 allocation score on pcmk2: 0
++native_color: FAKE39 allocation score on pcmk3: 0
++native_color: FAKE39 allocation score on pcmk4: 0
++native_color: FAKE39 allocation score on pcmk_remote1: 0
++native_color: FAKE39 allocation score on pcmk_remote2: 0
++native_color: FAKE39 allocation score on pcmk_remote3: 0
++native_color: FAKE39 allocation score on pcmk_remote4: 0
++native_color: FAKE39 allocation score on pcmk_remote5: 0
++native_color: FAKE4 allocation score on pcmk1: 0
++native_color: FAKE4 allocation score on pcmk2: 0
++native_color: FAKE4 allocation score on pcmk3: 0
++native_color: FAKE4 allocation score on pcmk4: 0
++native_color: FAKE4 allocation score on pcmk_remote1: 0
++native_color: FAKE4 allocation score on pcmk_remote2: 0
++native_color: FAKE4 allocation score on pcmk_remote3: 0
++native_color: FAKE4 allocation score on pcmk_remote4: 0
++native_color: FAKE4 allocation score on pcmk_remote5: 0
++native_color: FAKE40 allocation score on pcmk1: 0
++native_color: FAKE40 allocation score on pcmk2: 0
++native_color: FAKE40 allocation score on pcmk3: 0
++native_color: FAKE40 allocation score on pcmk4: 0
++native_color: FAKE40 allocation score on pcmk_remote1: 0
++native_color: FAKE40 allocation score on pcmk_remote2: 0
++native_color: FAKE40 allocation score on pcmk_remote3: 0
++native_color: FAKE40 allocation score on pcmk_remote4: 0
++native_color: FAKE40 allocation score on pcmk_remote5: 0
++native_color: FAKE41 allocation score on pcmk1: 0
++native_color: FAKE41 allocation score on pcmk2: 0
++native_color: FAKE41 allocation score on pcmk3: 0
++native_color: FAKE41 allocation score on pcmk4: 0
++native_color: FAKE41 allocation score on pcmk_remote1: 0
++native_color: FAKE41 allocation score on pcmk_remote2: 0
++native_color: FAKE41 allocation score on pcmk_remote3: 0
++native_color: FAKE41 allocation score on pcmk_remote4: 0
++native_color: FAKE41 allocation score on pcmk_remote5: 0
++native_color: FAKE42 allocation score on pcmk1: 0
++native_color: FAKE42 allocation score on pcmk2: 0
++native_color: FAKE42 allocation score on pcmk3: 0
++native_color: FAKE42 allocation score on pcmk4: 0
++native_color: FAKE42 allocation score on pcmk_remote1: 0
++native_color: FAKE42 allocation score on pcmk_remote2: 0
++native_color: FAKE42 allocation score on pcmk_remote3: 0
++native_color: FAKE42 allocation score on pcmk_remote4: 0
++native_color: FAKE42 allocation score on pcmk_remote5: 0
++native_color: FAKE43 allocation score on pcmk1: 0
++native_color: FAKE43 allocation score on pcmk2: 0
++native_color: FAKE43 allocation score on pcmk3: 0
++native_color: FAKE43 allocation score on pcmk4: 0
++native_color: FAKE43 allocation score on pcmk_remote1: 0
++native_color: FAKE43 allocation score on pcmk_remote2: 0
++native_color: FAKE43 allocation score on pcmk_remote3: 0
++native_color: FAKE43 allocation score on pcmk_remote4: 0
++native_color: FAKE43 allocation score on pcmk_remote5: 0
++native_color: FAKE44 allocation score on pcmk1: 0
++native_color: FAKE44 allocation score on pcmk2: 0
++native_color: FAKE44 allocation score on pcmk3: 0
++native_color: FAKE44 allocation score on pcmk4: 0
++native_color: FAKE44 allocation score on pcmk_remote1: 0
++native_color: FAKE44 allocation score on pcmk_remote2: 0
++native_color: FAKE44 allocation score on pcmk_remote3: 0
++native_color: FAKE44 allocation score on pcmk_remote4: 0
++native_color: FAKE44 allocation score on pcmk_remote5: 0
++native_color: FAKE45 allocation score on pcmk1: 0
++native_color: FAKE45 allocation score on pcmk2: 0
++native_color: FAKE45 allocation score on pcmk3: 0
++native_color: FAKE45 allocation score on pcmk4: 0
++native_color: FAKE45 allocation score on pcmk_remote1: 0
++native_color: FAKE45 allocation score on pcmk_remote2: 0
++native_color: FAKE45 allocation score on pcmk_remote3: 0
++native_color: FAKE45 allocation score on pcmk_remote4: 0
++native_color: FAKE45 allocation score on pcmk_remote5: 0
++native_color: FAKE46 allocation score on pcmk1: 0
++native_color: FAKE46 allocation score on pcmk2: 0
++native_color: FAKE46 allocation score on pcmk3: 0
++native_color: FAKE46 allocation score on pcmk4: 0
++native_color: FAKE46 allocation score on pcmk_remote1: 0
++native_color: FAKE46 allocation score on pcmk_remote2: 0
++native_color: FAKE46 allocation score on pcmk_remote3: 0
++native_color: FAKE46 allocation score on pcmk_remote4: 0
++native_color: FAKE46 allocation score on pcmk_remote5: 0
++native_color: FAKE47 allocation score on pcmk1: 0
++native_color: FAKE47 allocation score on pcmk2: 0
++native_color: FAKE47 allocation score on pcmk3: 0
++native_color: FAKE47 allocation score on pcmk4: 0
++native_color: FAKE47 allocation score on pcmk_remote1: 0
++native_color: FAKE47 allocation score on pcmk_remote2: 0
++native_color: FAKE47 allocation score on pcmk_remote3: 0
++native_color: FAKE47 allocation score on pcmk_remote4: 0
++native_color: FAKE47 allocation score on pcmk_remote5: 0
++native_color: FAKE48 allocation score on pcmk1: 0
++native_color: FAKE48 allocation score on pcmk2: 0
++native_color: FAKE48 allocation score on pcmk3: 0
++native_color: FAKE48 allocation score on pcmk4: 0
++native_color: FAKE48 allocation score on pcmk_remote1: 0
++native_color: FAKE48 allocation score on pcmk_remote2: 0
++native_color: FAKE48 allocation score on pcmk_remote3: 0
++native_color: FAKE48 allocation score on pcmk_remote4: 0
++native_color: FAKE48 allocation score on pcmk_remote5: 0
++native_color: FAKE49 allocation score on pcmk1: 0
++native_color: FAKE49 allocation score on pcmk2: 0
++native_color: FAKE49 allocation score on pcmk3: 0
++native_color: FAKE49 allocation score on pcmk4: 0
++native_color: FAKE49 allocation score on pcmk_remote1: 0
++native_color: FAKE49 allocation score on pcmk_remote2: 0
++native_color: FAKE49 allocation score on pcmk_remote3: 0
++native_color: FAKE49 allocation score on pcmk_remote4: 0
++native_color: FAKE49 allocation score on pcmk_remote5: 0
++native_color: FAKE5 allocation score on pcmk1: 0
++native_color: FAKE5 allocation score on pcmk2: 0
++native_color: FAKE5 allocation score on pcmk3: 0
++native_color: FAKE5 allocation score on pcmk4: 0
++native_color: FAKE5 allocation score on pcmk_remote1: 0
++native_color: FAKE5 allocation score on pcmk_remote2: 0
++native_color: FAKE5 allocation score on pcmk_remote3: 0
++native_color: FAKE5 allocation score on pcmk_remote4: 0
++native_color: FAKE5 allocation score on pcmk_remote5: 0
++native_color: FAKE50 allocation score on pcmk1: 0
++native_color: FAKE50 allocation score on pcmk2: 0
++native_color: FAKE50 allocation score on pcmk3: 0
++native_color: FAKE50 allocation score on pcmk4: 0
++native_color: FAKE50 allocation score on pcmk_remote1: 0
++native_color: FAKE50 allocation score on pcmk_remote2: 0
++native_color: FAKE50 allocation score on pcmk_remote3: 0
++native_color: FAKE50 allocation score on pcmk_remote4: 0
++native_color: FAKE50 allocation score on pcmk_remote5: 0
++native_color: FAKE6 allocation score on pcmk1: 0
++native_color: FAKE6 allocation score on pcmk2: 0
++native_color: FAKE6 allocation score on pcmk3: 0
++native_color: FAKE6 allocation score on pcmk4: 0
++native_color: FAKE6 allocation score on pcmk_remote1: 0
++native_color: FAKE6 allocation score on pcmk_remote2: 0
++native_color: FAKE6 allocation score on pcmk_remote3: 0
++native_color: FAKE6 allocation score on pcmk_remote4: 0
++native_color: FAKE6 allocation score on pcmk_remote5: 0
++native_color: FAKE7 allocation score on pcmk1: 0
++native_color: FAKE7 allocation score on pcmk2: 0
++native_color: FAKE7 allocation score on pcmk3: 0
++native_color: FAKE7 allocation score on pcmk4: 0
++native_color: FAKE7 allocation score on pcmk_remote1: 0
++native_color: FAKE7 allocation score on pcmk_remote2: 0
++native_color: FAKE7 allocation score on pcmk_remote3: 0
++native_color: FAKE7 allocation score on pcmk_remote4: 0
++native_color: FAKE7 allocation score on pcmk_remote5: 0
++native_color: FAKE8 allocation score on pcmk1: 0
++native_color: FAKE8 allocation score on pcmk2: 0
++native_color: FAKE8 allocation score on pcmk3: 0
++native_color: FAKE8 allocation score on pcmk4: 0
++native_color: FAKE8 allocation score on pcmk_remote1: 0
++native_color: FAKE8 allocation score on pcmk_remote2: 0
++native_color: FAKE8 allocation score on pcmk_remote3: 0
++native_color: FAKE8 allocation score on pcmk_remote4: 0
++native_color: FAKE8 allocation score on pcmk_remote5: 0
++native_color: FAKE9 allocation score on pcmk1: 0
++native_color: FAKE9 allocation score on pcmk2: 0
++native_color: FAKE9 allocation score on pcmk3: 0
++native_color: FAKE9 allocation score on pcmk4: 0
++native_color: FAKE9 allocation score on pcmk_remote1: 0
++native_color: FAKE9 allocation score on pcmk_remote2: 0
++native_color: FAKE9 allocation score on pcmk_remote3: 0
++native_color: FAKE9 allocation score on pcmk_remote4: 0
++native_color: FAKE9 allocation score on pcmk_remote5: 0
++native_color: pcmk_remote1 allocation score on pcmk1: 0
++native_color: pcmk_remote1 allocation score on pcmk2: 0
++native_color: pcmk_remote1 allocation score on pcmk3: 0
++native_color: pcmk_remote1 allocation score on pcmk4: 0
++native_color: pcmk_remote1 allocation score on pcmk_remote1: -INFINITY
++native_color: pcmk_remote1 allocation score on pcmk_remote2: -INFINITY
++native_color: pcmk_remote1 allocation score on pcmk_remote3: -INFINITY
++native_color: pcmk_remote1 allocation score on pcmk_remote4: -INFINITY
++native_color: pcmk_remote1 allocation score on pcmk_remote5: -INFINITY
++native_color: pcmk_remote2 allocation score on pcmk1: 0
++native_color: pcmk_remote2 allocation score on pcmk2: 0
++native_color: pcmk_remote2 allocation score on pcmk3: 0
++native_color: pcmk_remote2 allocation score on pcmk4: 0
++native_color: pcmk_remote2 allocation score on pcmk_remote1: -INFINITY
++native_color: pcmk_remote2 allocation score on pcmk_remote2: -INFINITY
++native_color: pcmk_remote2 allocation score on pcmk_remote3: -INFINITY
++native_color: pcmk_remote2 allocation score on pcmk_remote4: -INFINITY
++native_color: pcmk_remote2 allocation score on pcmk_remote5: -INFINITY
++native_color: pcmk_remote3 allocation score on pcmk1: 0
++native_color: pcmk_remote3 allocation score on pcmk2: 0
++native_color: pcmk_remote3 allocation score on pcmk3: 0
++native_color: pcmk_remote3 allocation score on pcmk4: 0
++native_color: pcmk_remote3 allocation score on pcmk_remote1: -INFINITY
++native_color: pcmk_remote3 allocation score on pcmk_remote2: -INFINITY
++native_color: pcmk_remote3 allocation score on pcmk_remote3: -INFINITY
++native_color: pcmk_remote3 allocation score on pcmk_remote4: -INFINITY
++native_color: pcmk_remote3 allocation score on pcmk_remote5: -INFINITY
++native_color: pcmk_remote4 allocation score on pcmk1: 0
++native_color: pcmk_remote4 allocation score on pcmk2: 0
++native_color: pcmk_remote4 allocation score on pcmk3: 0
++native_color: pcmk_remote4 allocation score on pcmk4: 0
++native_color: pcmk_remote4 allocation score on pcmk_remote1: -INFINITY
++native_color: pcmk_remote4 allocation score on pcmk_remote2: -INFINITY
++native_color: pcmk_remote4 allocation score on pcmk_remote3: -INFINITY
++native_color: pcmk_remote4 allocation score on pcmk_remote4: -INFINITY
++native_color: pcmk_remote4 allocation score on pcmk_remote5: -INFINITY
++native_color: pcmk_remote5 allocation score on pcmk1: 0
++native_color: pcmk_remote5 allocation score on pcmk2: 0
++native_color: pcmk_remote5 allocation score on pcmk3: 0
++native_color: pcmk_remote5 allocation score on pcmk4: 0
++native_color: pcmk_remote5 allocation score on pcmk_remote1: -INFINITY
++native_color: pcmk_remote5 allocation score on pcmk_remote2: -INFINITY
++native_color: pcmk_remote5 allocation score on pcmk_remote3: -INFINITY
++native_color: pcmk_remote5 allocation score on pcmk_remote4: -INFINITY
++native_color: pcmk_remote5 allocation score on pcmk_remote5: -INFINITY
++native_color: shooter allocation score on pcmk1: 0
++native_color: shooter allocation score on pcmk2: 0
++native_color: shooter allocation score on pcmk3: 0
++native_color: shooter allocation score on pcmk4: 0
++native_color: shooter allocation score on pcmk_remote1: -INFINITY
++native_color: shooter allocation score on pcmk_remote2: -INFINITY
++native_color: shooter allocation score on pcmk_remote3: -INFINITY
++native_color: shooter allocation score on pcmk_remote4: -INFINITY
++native_color: shooter allocation score on pcmk_remote5: -INFINITY
+diff --git a/pengine/test10/remote-partial-migrate2.summary b/pengine/test10/remote-partial-migrate2.summary
+new file mode 100644
+index 0000000..6a65975
+--- /dev/null
++++ b/pengine/test10/remote-partial-migrate2.summary
+@@ -0,0 +1,207 @@
++
++Current cluster status:
++Node pcmk4 (4): UNCLEAN (offline)
++Online: [ pcmk1 pcmk2 pcmk3 ]
++RemoteOnline: [ pcmk_remote1 pcmk_remote2 pcmk_remote3 pcmk_remote5 ]
++RemoteOFFLINE: [ pcmk_remote4 ]
++
++ shooter	(stonith:fence_docker_cts):	Started pcmk3 
++ pcmk_remote1	(ocf::pacemaker:remote):	Started pcmk1 
++ pcmk_remote2	(ocf::pacemaker:remote):	Started [ pcmk1 pcmk3 ]
++ pcmk_remote3	(ocf::pacemaker:remote):	Started pcmk3 
++ pcmk_remote4	(ocf::pacemaker:remote):	Stopped 
++ pcmk_remote5	(ocf::pacemaker:remote):	Started pcmk1 
++ FAKE1	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE2	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE3	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE4	(ocf::heartbeat:Dummy):	Started pcmk_remote5 
++ FAKE5	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE6	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE7	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE8	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE9	(ocf::heartbeat:Dummy):	Started pcmk2 
++ FAKE10	(ocf::heartbeat:Dummy):	Started pcmk_remote5 
++ FAKE11	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE12	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE13	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE14	(ocf::heartbeat:Dummy):	Started pcmk2 
++ FAKE15	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE16	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE17	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE18	(ocf::heartbeat:Dummy):	Started pcmk_remote5 
++ FAKE19	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE20	(ocf::heartbeat:Dummy):	Started pcmk2 
++ FAKE21	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE22	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE23	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE24	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE25	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE26	(ocf::heartbeat:Dummy):	Started pcmk_remote5 
++ FAKE27	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE28	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE29	(ocf::heartbeat:Dummy):	Started pcmk2 
++ FAKE30	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE31	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE32	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE33	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE34	(ocf::heartbeat:Dummy):	Started pcmk_remote5 
++ FAKE35	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE36	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE37	(ocf::heartbeat:Dummy):	Started pcmk2 
++ FAKE38	(ocf::heartbeat:Dummy):	Started pcmk2 
++ FAKE39	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE40	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE41	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE42	(ocf::heartbeat:Dummy):	Started pcmk_remote5 
++ FAKE43	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE44	(ocf::heartbeat:Dummy):	Started pcmk2 
++ FAKE45	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE46	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE47	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE48	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE49	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE50	(ocf::heartbeat:Dummy):	Started pcmk_remote5 
++
++Transition Summary:
++ * Migrate pcmk_remote2	(Started pcmk3 -> pcmk1)
++ * Start   pcmk_remote4	(pcmk2)
++ * Migrate pcmk_remote5	(Started pcmk1 -> pcmk2)
++ * Move    FAKE5	(Started pcmk1 -> pcmk_remote4)
++ * Move    FAKE9	(Started pcmk2 -> pcmk_remote4)
++ * Move    FAKE12	(Started pcmk1 -> pcmk2)
++ * Move    FAKE14	(Started pcmk2 -> pcmk_remote1)
++ * Move    FAKE17	(Started pcmk_remote1 -> pcmk_remote4)
++ * Move    FAKE25	(Started pcmk_remote1 -> pcmk_remote4)
++ * Move    FAKE28	(Started pcmk3 -> pcmk1)
++ * Move    FAKE30	(Started pcmk1 -> pcmk_remote1)
++ * Move    FAKE33	(Started pcmk_remote1 -> pcmk_remote4)
++ * Move    FAKE38	(Started pcmk2 -> pcmk_remote1)
++ * Move    FAKE39	(Started pcmk1 -> pcmk_remote2)
++ * Move    FAKE41	(Started pcmk_remote2 -> pcmk_remote4)
++ * Move    FAKE47	(Started pcmk_remote1 -> pcmk_remote2)
++ * Move    FAKE48	(Started pcmk1 -> pcmk_remote3)
++ * Move    FAKE49	(Started pcmk_remote3 -> pcmk_remote4)
++
++Executing cluster transition:
++ * Resource action: FAKE5           stop on pcmk1
++ * Resource action: FAKE9           stop on pcmk2
++ * Resource action: FAKE12          stop on pcmk1
++ * Resource action: FAKE14          stop on pcmk2
++ * Resource action: FAKE17          stop on pcmk_remote1
++ * Resource action: FAKE25          stop on pcmk_remote1
++ * Resource action: FAKE28          stop on pcmk3
++ * Resource action: FAKE30          stop on pcmk1
++ * Resource action: FAKE33          stop on pcmk_remote1
++ * Resource action: FAKE38          stop on pcmk2
++ * Resource action: FAKE39          stop on pcmk1
++ * Resource action: FAKE47          stop on pcmk_remote1
++ * Resource action: FAKE48          stop on pcmk1
++ * Resource action: FAKE49          stop on pcmk_remote3
++ * Fencing pcmk4 (reboot)
++ * Pseudo action:   stonith_complete
++ * Resource action: pcmk_remote2    migrate_from on pcmk1
++ * Resource action: pcmk_remote2    stop on pcmk3
++ * Resource action: pcmk_remote4    start on pcmk2
++ * Resource action: pcmk_remote5    migrate_to on pcmk1
++ * Resource action: FAKE5           start on pcmk_remote4
++ * Resource action: FAKE9           start on pcmk_remote4
++ * Resource action: FAKE12          start on pcmk2
++ * Resource action: FAKE14          start on pcmk_remote1
++ * Resource action: FAKE17          start on pcmk_remote4
++ * Resource action: FAKE25          start on pcmk_remote4
++ * Resource action: FAKE28          start on pcmk1
++ * Resource action: FAKE30          start on pcmk_remote1
++ * Resource action: FAKE33          start on pcmk_remote4
++ * Resource action: FAKE38          start on pcmk_remote1
++ * Resource action: FAKE48          start on pcmk_remote3
++ * Resource action: FAKE49          start on pcmk_remote4
++ * Pseudo action:   pcmk_remote2_start_0
++ * Resource action: pcmk_remote4    monitor=60000 on pcmk2
++ * Resource action: pcmk_remote5    migrate_from on pcmk2
++ * Resource action: pcmk_remote5    stop on pcmk1
++ * Resource action: FAKE5           monitor=10000 on pcmk_remote4
++ * Resource action: FAKE9           monitor=10000 on pcmk_remote4
++ * Resource action: FAKE12          monitor=10000 on pcmk2
++ * Resource action: FAKE14          monitor=10000 on pcmk_remote1
++ * Resource action: FAKE17          monitor=10000 on pcmk_remote4
++ * Resource action: FAKE25          monitor=10000 on pcmk_remote4
++ * Resource action: FAKE28          monitor=10000 on pcmk1
++ * Resource action: FAKE30          monitor=10000 on pcmk_remote1
++ * Resource action: FAKE33          monitor=10000 on pcmk_remote4
++ * Resource action: FAKE38          monitor=10000 on pcmk_remote1
++ * Resource action: FAKE39          start on pcmk_remote2
++ * Resource action: FAKE41          stop on pcmk_remote2
++ * Resource action: FAKE47          start on pcmk_remote2
++ * Resource action: FAKE48          monitor=10000 on pcmk_remote3
++ * Resource action: FAKE49          monitor=10000 on pcmk_remote4
++ * Pseudo action:   all_stopped
++ * Resource action: pcmk_remote2    monitor=60000 on pcmk1
++ * Pseudo action:   pcmk_remote5_start_0
++ * Resource action: FAKE39          monitor=10000 on pcmk_remote2
++ * Resource action: FAKE41          start on pcmk_remote4
++ * Resource action: FAKE47          monitor=10000 on pcmk_remote2
++ * Resource action: pcmk_remote5    monitor=60000 on pcmk2
++ * Resource action: FAKE41          monitor=10000 on pcmk_remote4
++
++Revised cluster status:
++Online: [ pcmk1 pcmk2 pcmk3 ]
++OFFLINE: [ pcmk4 ]
++RemoteOnline: [ pcmk_remote1 pcmk_remote2 pcmk_remote3 pcmk_remote4 pcmk_remote5 ]
++
++ shooter	(stonith:fence_docker_cts):	Started pcmk3 
++ pcmk_remote1	(ocf::pacemaker:remote):	Started pcmk1 
++ pcmk_remote2	(ocf::pacemaker:remote):	Started pcmk1 
++ pcmk_remote3	(ocf::pacemaker:remote):	Started pcmk3 
++ pcmk_remote4	(ocf::pacemaker:remote):	Started pcmk2 
++ pcmk_remote5	(ocf::pacemaker:remote):	Started pcmk2 
++ FAKE1	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE2	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE3	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE4	(ocf::heartbeat:Dummy):	Started pcmk_remote5 
++ FAKE5	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE6	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE7	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE8	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE9	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE10	(ocf::heartbeat:Dummy):	Started pcmk_remote5 
++ FAKE11	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE12	(ocf::heartbeat:Dummy):	Started pcmk2 
++ FAKE13	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE14	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE15	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE16	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE17	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE18	(ocf::heartbeat:Dummy):	Started pcmk_remote5 
++ FAKE19	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE20	(ocf::heartbeat:Dummy):	Started pcmk2 
++ FAKE21	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE22	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE23	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE24	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE25	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE26	(ocf::heartbeat:Dummy):	Started pcmk_remote5 
++ FAKE27	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE28	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE29	(ocf::heartbeat:Dummy):	Started pcmk2 
++ FAKE30	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE31	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE32	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE33	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE34	(ocf::heartbeat:Dummy):	Started pcmk_remote5 
++ FAKE35	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE36	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE37	(ocf::heartbeat:Dummy):	Started pcmk2 
++ FAKE38	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE39	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE40	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE41	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE42	(ocf::heartbeat:Dummy):	Started pcmk_remote5 
++ FAKE43	(ocf::heartbeat:Dummy):	Started pcmk_remote1 
++ FAKE44	(ocf::heartbeat:Dummy):	Started pcmk2 
++ FAKE45	(ocf::heartbeat:Dummy):	Started pcmk3 
++ FAKE46	(ocf::heartbeat:Dummy):	Started pcmk1 
++ FAKE47	(ocf::heartbeat:Dummy):	Started pcmk_remote2 
++ FAKE48	(ocf::heartbeat:Dummy):	Started pcmk_remote3 
++ FAKE49	(ocf::heartbeat:Dummy):	Started pcmk_remote4 
++ FAKE50	(ocf::heartbeat:Dummy):	Started pcmk_remote5 
++
+diff --git a/pengine/test10/remote-partial-migrate2.xml b/pengine/test10/remote-partial-migrate2.xml
+new file mode 100644
+index 0000000..ed9299b
+--- /dev/null
++++ b/pengine/test10/remote-partial-migrate2.xml
+@@ -0,0 +1,1947 @@
++<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.2" epoch="328" num_updates="54336" admin_epoch="0" cib-last-written="Fri Dec 12 03:38:23 2014" have-quorum="1" dc-uuid="1">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
++        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-34341bd"/>
++        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
++        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="mycluster"/>
++        <nvpair id="cib-bootstrap-options-last-lrm-refresh" name="last-lrm-refresh" value="1418355503"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes>
++      <node id="3" uname="pcmk3"/>
++      <node id="1" uname="pcmk1"/>
++      <node id="4" uname="pcmk4"/>
++      <node id="2" uname="pcmk2"/>
++    </nodes>
++    <resources>
++      <primitive class="stonith" id="shooter" type="fence_docker_cts">
++        <instance_attributes id="shooter-instance_attributes"/>
++        <operations>
++          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="pcmk_remote1" provider="pacemaker" type="remote">
++        <instance_attributes id="pcmk_remote1-instance_attributes">
++          <nvpair id="pcmk_remote1-instance_attributes-server" name="server" value="172.17.201.1"/>
++        </instance_attributes>
++        <operations>
++          <op id="pcmk_remote1-stop-timeout-60" interval="0s" name="stop" timeout="60"/>
++          <op id="pcmk_remote1-monitor-timeout-30" interval="60s" name="monitor" timeout="30"/>
++          <op id="pcmk_remote1-start-timeout-10s" interval="0s" name="start" timeout="10s"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="pcmk_remote2" provider="pacemaker" type="remote">
++        <instance_attributes id="pcmk_remote2-instance_attributes">
++          <nvpair id="pcmk_remote2-instance_attributes-server" name="server" value="172.17.201.2"/>
++        </instance_attributes>
++        <operations>
++          <op id="pcmk_remote2-stop-timeout-60" interval="0s" name="stop" timeout="60"/>
++          <op id="pcmk_remote2-monitor-timeout-30" interval="60s" name="monitor" timeout="30"/>
++          <op id="pcmk_remote2-start-timeout-10s" interval="0s" name="start" timeout="10s"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="pcmk_remote3" provider="pacemaker" type="remote">
++        <instance_attributes id="pcmk_remote3-instance_attributes">
++          <nvpair id="pcmk_remote3-instance_attributes-server" name="server" value="172.17.201.3"/>
++        </instance_attributes>
++        <operations>
++          <op id="pcmk_remote3-stop-timeout-60" interval="0s" name="stop" timeout="60"/>
++          <op id="pcmk_remote3-monitor-timeout-30" interval="60s" name="monitor" timeout="30"/>
++          <op id="pcmk_remote3-start-timeout-10s" interval="0s" name="start" timeout="10s"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="pcmk_remote4" provider="pacemaker" type="remote">
++        <instance_attributes id="pcmk_remote4-instance_attributes">
++          <nvpair id="pcmk_remote4-instance_attributes-server" name="server" value="172.17.201.4"/>
++        </instance_attributes>
++        <operations>
++          <op id="pcmk_remote4-stop-timeout-60" interval="0s" name="stop" timeout="60"/>
++          <op id="pcmk_remote4-monitor-timeout-30" interval="60s" name="monitor" timeout="30"/>
++          <op id="pcmk_remote4-start-timeout-10s" interval="0s" name="start" timeout="10s"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="pcmk_remote5" provider="pacemaker" type="remote">
++        <instance_attributes id="pcmk_remote5-instance_attributes">
++          <nvpair id="pcmk_remote5-instance_attributes-server" name="server" value="172.17.201.5"/>
++        </instance_attributes>
++        <operations>
++          <op id="pcmk_remote5-stop-timeout-60" interval="0s" name="stop" timeout="60"/>
++          <op id="pcmk_remote5-monitor-timeout-30" interval="60s" name="monitor" timeout="30"/>
++          <op id="pcmk_remote5-start-timeout-10s" interval="0s" name="start" timeout="10s"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE1" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE1-instance_attributes"/>
++        <operations>
++          <op id="FAKE1-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE1-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE1-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE2" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE2-instance_attributes"/>
++        <operations>
++          <op id="FAKE2-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE2-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE2-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE3" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE3-instance_attributes"/>
++        <operations>
++          <op id="FAKE3-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE3-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE3-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE4" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE4-instance_attributes"/>
++        <operations>
++          <op id="FAKE4-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE4-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE4-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE5" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE5-instance_attributes"/>
++        <operations>
++          <op id="FAKE5-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE5-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE5-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE6" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE6-instance_attributes"/>
++        <operations>
++          <op id="FAKE6-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE6-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE6-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE7" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE7-instance_attributes"/>
++        <operations>
++          <op id="FAKE7-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE7-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE7-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE8" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE8-instance_attributes"/>
++        <operations>
++          <op id="FAKE8-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE8-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE8-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE9" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE9-instance_attributes"/>
++        <operations>
++          <op id="FAKE9-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE9-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE9-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE10" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE10-instance_attributes"/>
++        <operations>
++          <op id="FAKE10-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE10-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE10-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE11" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE11-instance_attributes"/>
++        <operations>
++          <op id="FAKE11-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE11-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE11-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE12" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE12-instance_attributes"/>
++        <operations>
++          <op id="FAKE12-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE12-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE12-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE13" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE13-instance_attributes"/>
++        <operations>
++          <op id="FAKE13-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE13-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE13-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE14" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE14-instance_attributes"/>
++        <operations>
++          <op id="FAKE14-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE14-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE14-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE15" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE15-instance_attributes"/>
++        <operations>
++          <op id="FAKE15-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE15-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE15-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE16" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE16-instance_attributes"/>
++        <operations>
++          <op id="FAKE16-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE16-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE16-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE17" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE17-instance_attributes"/>
++        <operations>
++          <op id="FAKE17-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE17-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE17-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE18" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE18-instance_attributes"/>
++        <operations>
++          <op id="FAKE18-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE18-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE18-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE19" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE19-instance_attributes"/>
++        <operations>
++          <op id="FAKE19-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE19-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE19-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE20" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE20-instance_attributes"/>
++        <operations>
++          <op id="FAKE20-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE20-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE20-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE21" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE21-instance_attributes"/>
++        <operations>
++          <op id="FAKE21-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE21-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE21-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE22" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE22-instance_attributes"/>
++        <operations>
++          <op id="FAKE22-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE22-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE22-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE23" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE23-instance_attributes"/>
++        <operations>
++          <op id="FAKE23-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE23-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE23-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE24" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE24-instance_attributes"/>
++        <operations>
++          <op id="FAKE24-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE24-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE24-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE25" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE25-instance_attributes"/>
++        <operations>
++          <op id="FAKE25-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE25-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE25-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE26" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE26-instance_attributes"/>
++        <operations>
++          <op id="FAKE26-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE26-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE26-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE27" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE27-instance_attributes"/>
++        <operations>
++          <op id="FAKE27-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE27-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE27-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE28" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE28-instance_attributes"/>
++        <operations>
++          <op id="FAKE28-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE28-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE28-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE29" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE29-instance_attributes"/>
++        <operations>
++          <op id="FAKE29-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE29-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE29-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE30" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE30-instance_attributes"/>
++        <operations>
++          <op id="FAKE30-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE30-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE30-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE31" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE31-instance_attributes"/>
++        <operations>
++          <op id="FAKE31-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE31-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE31-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE32" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE32-instance_attributes"/>
++        <operations>
++          <op id="FAKE32-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE32-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE32-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE33" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE33-instance_attributes"/>
++        <operations>
++          <op id="FAKE33-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE33-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE33-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE34" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE34-instance_attributes"/>
++        <operations>
++          <op id="FAKE34-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE34-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE34-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE35" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE35-instance_attributes"/>
++        <operations>
++          <op id="FAKE35-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE35-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE35-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE36" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE36-instance_attributes"/>
++        <operations>
++          <op id="FAKE36-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE36-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE36-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE37" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE37-instance_attributes"/>
++        <operations>
++          <op id="FAKE37-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE37-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE37-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE38" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE38-instance_attributes"/>
++        <operations>
++          <op id="FAKE38-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE38-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE38-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE39" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE39-instance_attributes"/>
++        <operations>
++          <op id="FAKE39-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE39-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE39-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE40" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE40-instance_attributes"/>
++        <operations>
++          <op id="FAKE40-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE40-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE40-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE41" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE41-instance_attributes"/>
++        <operations>
++          <op id="FAKE41-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE41-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE41-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE42" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE42-instance_attributes"/>
++        <operations>
++          <op id="FAKE42-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE42-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE42-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE43" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE43-instance_attributes"/>
++        <operations>
++          <op id="FAKE43-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE43-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE43-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE44" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE44-instance_attributes"/>
++        <operations>
++          <op id="FAKE44-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE44-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE44-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE45" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE45-instance_attributes"/>
++        <operations>
++          <op id="FAKE45-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE45-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE45-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE46" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE46-instance_attributes"/>
++        <operations>
++          <op id="FAKE46-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE46-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE46-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE47" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE47-instance_attributes"/>
++        <operations>
++          <op id="FAKE47-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE47-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE47-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE48" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE48-instance_attributes"/>
++        <operations>
++          <op id="FAKE48-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE48-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE48-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE49" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE49-instance_attributes"/>
++        <operations>
++          <op id="FAKE49-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE49-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE49-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE50" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE50-instance_attributes"/>
++        <operations>
++          <op id="FAKE50-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE50-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE50-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++    </resources>
++    <constraints/>
++  </configuration>
++  <status>
++    <node_state id="2" uname="pcmk2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="2">
++        <instance_attributes id="status-2">
++          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
++          <nvpair id="status-2-last-failure-pcmk_remote4" name="last-failure-pcmk_remote4" value="1418355450"/>
++          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="2">
++        <lrm_resources>
++          <lrm_resource id="FAKE19" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE19_last_0" operation_key="FAKE19_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="64:194:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;64:194:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="88" rc-code="7" op-status="0" interval="0" last-run="1418355410" last-rc-change="1418355410" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE36" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE36_last_0" operation_key="FAKE36_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="72:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;72:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="164" rc-code="7" op-status="0" interval="0" last-run="1418355411" last-rc-change="1418355411" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE37" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE37_last_0" operation_key="FAKE37_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="167:7:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;167:7:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="231" rc-code="0" op-status="0" interval="0" last-run="1418355550" last-rc-change="1418355550" exec-time="75" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE37_monitor_10000" operation_key="FAKE37_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="168:7:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;168:7:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="232" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355550" exec-time="19" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE34" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE34_last_0" operation_key="FAKE34_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="70:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;70:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="156" rc-code="7" op-status="0" interval="0" last-run="1418355411" last-rc-change="1418355411" exec-time="49" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE35" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE35_last_0" operation_key="FAKE35_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="71:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;71:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="160" rc-code="7" op-status="0" interval="0" last-run="1418355411" last-rc-change="1418355411" exec-time="57" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE31" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE31_last_0" operation_key="FAKE31_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="67:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;67:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="144" rc-code="7" op-status="0" interval="0" last-run="1418355411" last-rc-change="1418355411" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE38" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE38_last_failure_0" operation_key="FAKE38_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="74:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;74:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="174" rc-code="0" op-status="0" interval="0" last-run="1418355412" last-rc-change="1418355412" exec-time="33" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE38_last_0" operation_key="FAKE38_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="185:195:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;185:195:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="172" rc-code="0" op-status="0" interval="0" last-run="1418355411" last-rc-change="1418355411" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE38_monitor_10000" operation_key="FAKE38_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="186:195:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;186:195:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="173" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355411" exec-time="38" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE39" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE39_last_0" operation_key="FAKE39_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="57:196:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;57:196:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="178" rc-code="7" op-status="0" interval="0" last-run="1418355412" last-rc-change="1418355412" exec-time="44" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="68:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;68:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="14" rc-code="7" op-status="0" interval="0" last-run="1418355408" last-rc-change="1418355408" exec-time="41" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="69:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;69:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="18" rc-code="7" op-status="0" interval="0" last-run="1418355408" last-rc-change="1418355408" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="70:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;70:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="22" rc-code="7" op-status="0" interval="0" last-run="1418355408" last-rc-change="1418355408" exec-time="33" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="71:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;71:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="26" rc-code="7" op-status="0" interval="0" last-run="1418355408" last-rc-change="1418355408" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE5" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE5_last_0" operation_key="FAKE5_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="72:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;72:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="30" rc-code="7" op-status="0" interval="0" last-run="1418355408" last-rc-change="1418355408" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE6" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE6_last_0" operation_key="FAKE6_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="73:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;73:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="34" rc-code="7" op-status="0" interval="0" last-run="1418355408" last-rc-change="1418355408" exec-time="34" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE7" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE7_last_0" operation_key="FAKE7_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="74:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;74:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="38" rc-code="7" op-status="0" interval="0" last-run="1418355408" last-rc-change="1418355408" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE8" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE8_last_0" operation_key="FAKE8_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="75:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;75:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="42" rc-code="7" op-status="0" interval="0" last-run="1418355409" last-rc-change="1418355409" exec-time="79" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE9" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE9_last_0" operation_key="FAKE9_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="87:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;87:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="225" rc-code="0" op-status="0" interval="0" last-run="1418355484" last-rc-change="1418355484" exec-time="89" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE9_monitor_10000" operation_key="FAKE9_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="88:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;88:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="226" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355484" exec-time="44" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE50" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE50_last_0" operation_key="FAKE50_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="57:198:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;57:198:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="224" rc-code="7" op-status="0" interval="0" last-run="1418355425" last-rc-change="1418355425" exec-time="33" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote1" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote1_last_0" operation_key="pcmk_remote1_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="63:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;63:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="1" rc-code="7" op-status="0" interval="0" last-run="1418355407" last-rc-change="1418355407" exec-time="0" queue-time="0" op-digest="ef8bb6d8fee23eeb10cda8633b3634da" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote2" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote2_last_0" operation_key="pcmk_remote2_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="64:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;64:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="2" rc-code="7" op-status="0" interval="0" last-run="1418355407" last-rc-change="1418355407" exec-time="0" queue-time="0" op-digest="6ba25fc444142a68b950347505d00b3e" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote3" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote3_last_0" operation_key="pcmk_remote3_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="65:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;65:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="3" rc-code="7" op-status="0" interval="0" last-run="1418355407" last-rc-change="1418355407" exec-time="0" queue-time="0" op-digest="1d3716b912f4312b45dbe3ca420f177a" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE20" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE20_last_failure_0" operation_key="FAKE20_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="65:194:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;65:194:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="94" rc-code="0" op-status="0" interval="0" last-run="1418355410" last-rc-change="1418355410" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE20_last_0" operation_key="FAKE20_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="155:194:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;155:194:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="92" rc-code="0" op-status="0" interval="0" last-run="1418355410" last-rc-change="1418355410" exec-time="11" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE20_monitor_10000" operation_key="FAKE20_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="156:194:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;156:194:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="93" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355410" exec-time="11" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE21" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE21_last_0" operation_key="FAKE21_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="57:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;57:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="98" rc-code="7" op-status="0" interval="0" last-run="1418355410" last-rc-change="1418355410" exec-time="44" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE22" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE22_last_0" operation_key="FAKE22_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="58:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;58:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="102" rc-code="7" op-status="0" interval="0" last-run="1418355410" last-rc-change="1418355410" exec-time="53" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE23" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE23_last_0" operation_key="FAKE23_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="59:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;59:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="106" rc-code="7" op-status="0" interval="0" last-run="1418355410" last-rc-change="1418355410" exec-time="31" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE24" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE24_last_0" operation_key="FAKE24_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="60:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;60:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="110" rc-code="7" op-status="0" interval="0" last-run="1418355410" last-rc-change="1418355410" exec-time="28" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE25" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE25_last_0" operation_key="FAKE25_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="61:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;61:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="114" rc-code="7" op-status="0" interval="0" last-run="1418355410" last-rc-change="1418355410" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote4" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote4_last_0" operation_key="pcmk_remote4_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="77:46:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;77:46:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1418355577" last-rc-change="1418355577" exec-time="0" queue-time="0" op-digest="26ba620744979fe6eb89940dac6aa339" on_node="pcmk2" migrate_source="pcmk2" migrate_target="pcmk4"/>
++            <lrm_rsc_op id="pcmk_remote4_monitor_60000" operation_key="pcmk_remote4_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="131:212:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;131:212:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="17" rc-code="0" op-status="0" interval="60000" last-rc-change="1418355506" exec-time="0" queue-time="0" op-digest="bd07c2deb2e92be7c37c1532a12b386b" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote5" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote5_last_0" operation_key="pcmk_remote5_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="116:1:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;116:1:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1418355538" last-rc-change="1418355538" exec-time="0" queue-time="0" migrate_source="pcmk2" migrate_target="pcmk1" op-digest="ea8522d25650e62ca6ecefe8d7b2fe8a" on_node="pcmk2"/>
++            <lrm_rsc_op id="pcmk_remote5_monitor_60000" operation_key="pcmk_remote5_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="123:203:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;123:203:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="14" rc-code="0" op-status="0" interval="60000" last-rc-change="1418355452" exec-time="0" queue-time="0" op-digest="097ac821a75a8a47ff3e1489f58e3bd3" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE27" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE27_last_0" operation_key="FAKE27_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="63:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;63:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="122" rc-code="7" op-status="0" interval="0" last-run="1418355410" last-rc-change="1418355410" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE26" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE26_last_0" operation_key="FAKE26_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="62:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;62:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="118" rc-code="7" op-status="0" interval="0" last-run="1418355410" last-rc-change="1418355410" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE29" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE29_last_0" operation_key="FAKE29_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="167:195:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;167:195:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="139" rc-code="0" op-status="0" interval="0" last-run="1418355411" last-rc-change="1418355411" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE29_monitor_10000" operation_key="FAKE29_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="168:195:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;168:195:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="140" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355411" exec-time="11" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE28" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE28_last_0" operation_key="FAKE28_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="64:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;64:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="126" rc-code="7" op-status="0" interval="0" last-run="1418355410" last-rc-change="1418355410" exec-time="38" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE41" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE41_last_0" operation_key="FAKE41_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="59:196:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;59:196:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="186" rc-code="7" op-status="0" interval="0" last-run="1418355412" last-rc-change="1418355412" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE42" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE42_last_0" operation_key="FAKE42_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="60:196:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;60:196:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="190" rc-code="7" op-status="0" interval="0" last-run="1418355412" last-rc-change="1418355412" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE43" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE43_last_0" operation_key="FAKE43_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="61:196:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;61:196:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="194" rc-code="7" op-status="0" interval="0" last-run="1418355412" last-rc-change="1418355412" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE44" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE44_last_failure_0" operation_key="FAKE44_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="62:196:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;62:196:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="200" rc-code="0" op-status="0" interval="0" last-run="1418355412" last-rc-change="1418355412" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE44_last_0" operation_key="FAKE44_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="176:196:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;176:196:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="198" rc-code="0" op-status="0" interval="0" last-run="1418355412" last-rc-change="1418355412" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE44_monitor_10000" operation_key="FAKE44_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="177:196:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;177:196:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="199" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355412" exec-time="11" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="shooter" type="fence_docker_cts" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="62:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;62:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1418355406" last-rc-change="1418355406" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE46" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE46_last_0" operation_key="FAKE46_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="58:197:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;58:197:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="208" rc-code="7" op-status="0" interval="0" last-run="1418355413" last-rc-change="1418355413" exec-time="46" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE47" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE47_last_0" operation_key="FAKE47_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="59:197:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;59:197:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="212" rc-code="7" op-status="0" interval="0" last-run="1418355413" last-rc-change="1418355413" exec-time="31" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE48" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE48_last_0" operation_key="FAKE48_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="55:198:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;55:198:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="216" rc-code="7" op-status="0" interval="0" last-run="1418355424" last-rc-change="1418355424" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE49" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE49_last_0" operation_key="FAKE49_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="56:198:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;56:198:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="220" rc-code="7" op-status="0" interval="0" last-run="1418355424" last-rc-change="1418355424" exec-time="28" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE45" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE45_last_0" operation_key="FAKE45_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="57:197:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;57:197:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="204" rc-code="7" op-status="0" interval="0" last-run="1418355413" last-rc-change="1418355413" exec-time="41" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE40" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE40_last_0" operation_key="FAKE40_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="58:196:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;58:196:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="182" rc-code="7" op-status="0" interval="0" last-run="1418355412" last-rc-change="1418355412" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE10" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE10_last_0" operation_key="FAKE10_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="77:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;77:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="50" rc-code="7" op-status="0" interval="0" last-run="1418355409" last-rc-change="1418355409" exec-time="16" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE11" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE11_last_0" operation_key="FAKE11_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="91:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;91:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="228" rc-code="0" op-status="0" interval="0" last-run="1418355484" last-rc-change="1418355484" exec-time="43" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE12" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE12_last_failure_0" operation_key="FAKE12_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="79:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;79:193:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="60" rc-code="0" op-status="0" interval="0" last-run="1418355409" last-rc-change="1418355409" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE12_last_0" operation_key="FAKE12_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="132:195:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;132:195:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="136" rc-code="0" op-status="0" interval="0" last-run="1418355411" last-rc-change="1418355411" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE13" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE13_last_0" operation_key="FAKE13_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="58:194:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;58:194:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="64" rc-code="7" op-status="0" interval="0" last-run="1418355409" last-rc-change="1418355409" exec-time="47" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE14" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE14_last_0" operation_key="FAKE14_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="98:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;98:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="229" rc-code="0" op-status="0" interval="0" last-run="1418355484" last-rc-change="1418355484" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE14_monitor_10000" operation_key="FAKE14_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="99:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;99:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="230" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355484" exec-time="26" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE15" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE15_last_0" operation_key="FAKE15_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="60:194:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;60:194:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="72" rc-code="7" op-status="0" interval="0" last-run="1418355410" last-rc-change="1418355410" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE16" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE16_last_0" operation_key="FAKE16_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="61:194:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;61:194:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="76" rc-code="7" op-status="0" interval="0" last-run="1418355410" last-rc-change="1418355410" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE17" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE17_last_0" operation_key="FAKE17_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="62:194:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;62:194:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="80" rc-code="7" op-status="0" interval="0" last-run="1418355410" last-rc-change="1418355410" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE18" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE18_last_0" operation_key="FAKE18_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="63:194:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;63:194:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="84" rc-code="7" op-status="0" interval="0" last-run="1418355410" last-rc-change="1418355410" exec-time="38" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE32" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE32_last_0" operation_key="FAKE32_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="68:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;68:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="148" rc-code="7" op-status="0" interval="0" last-run="1418355411" last-rc-change="1418355411" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE33" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE33_last_0" operation_key="FAKE33_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="69:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;69:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="152" rc-code="7" op-status="0" interval="0" last-run="1418355411" last-rc-change="1418355411" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE30" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE30_last_0" operation_key="FAKE30_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="66:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;66:195:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="134" rc-code="7" op-status="0" interval="0" last-run="1418355411" last-rc-change="1418355411" exec-time="40" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="3" uname="pcmk3" in_ccm="true" crmd="online" crm-debug-origin="post_cache_update" join="member" expected="member">
++      <transient_attributes id="3">
++        <instance_attributes id="status-3">
++          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
++          <nvpair id="status-3-last-failure-pcmk_remote5" name="last-failure-pcmk_remote5" value="1418354884"/>
++          <nvpair id="status-3-last-failure-pcmk_remote4" name="last-failure-pcmk_remote4" value="1418355472"/>
++          <nvpair id="status-3-last-failure-pcmk_remote1" name="last-failure-pcmk_remote1" value="1418355294"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="3">
++        <lrm_resources>
++          <lrm_resource id="FAKE19" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE19_last_0" operation_key="FAKE19_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="111:171:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;111:171:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="301" rc-code="0" op-status="0" interval="0" last-run="1418355307" last-rc-change="1418355307" exec-time="20" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE19_monitor_10000" operation_key="FAKE19_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="112:171:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;112:171:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="302" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355307" exec-time="25" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE36" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE36_last_0" operation_key="FAKE36_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="151:8:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;151:8:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="237" rc-code="0" op-status="0" interval="0" last-run="1418354425" last-rc-change="1418354425" exec-time="44" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE36_monitor_10000" operation_key="FAKE36_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="152:8:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;152:8:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="238" rc-code="0" op-status="0" interval="10000" last-rc-change="1418354425" exec-time="39" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE37" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE37_last_failure_0" operation_key="FAKE37_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="72:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:0;72:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="174" rc-code="0" op-status="0" interval="0" last-run="1418354378" last-rc-change="1418354378" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE37_last_0" operation_key="FAKE37_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="153:0:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;153:0:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="232" rc-code="0" op-status="0" interval="0" last-run="1418354403" last-rc-change="1418354403" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE34" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE34_last_0" operation_key="FAKE34_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="69:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;69:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="160" rc-code="7" op-status="0" interval="0" last-run="1418354377" last-rc-change="1418354377" exec-time="29" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE35" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE35_last_0" operation_key="FAKE35_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="70:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;70:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="164" rc-code="7" op-status="0" interval="0" last-run="1418354377" last-rc-change="1418354377" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE31" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE31_last_0" operation_key="FAKE31_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="66:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;66:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="138" rc-code="7" op-status="0" interval="0" last-run="1418354377" last-rc-change="1418354377" exec-time="35" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE38" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE38_last_0" operation_key="FAKE38_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="58:31:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;58:31:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="178" rc-code="7" op-status="0" interval="0" last-run="1418354378" last-rc-change="1418354378" exec-time="37" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE39" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE39_last_0" operation_key="FAKE39_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="59:31:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;59:31:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="182" rc-code="7" op-status="0" interval="0" last-run="1418354378" last-rc-change="1418354378" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="69:28:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;69:28:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="14" rc-code="7" op-status="0" interval="0" last-run="1418354374" last-rc-change="1418354374" exec-time="66" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="70:28:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;70:28:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="18" rc-code="7" op-status="0" interval="0" last-run="1418354374" last-rc-change="1418354374" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="71:28:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;71:28:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="22" rc-code="7" op-status="0" interval="0" last-run="1418354374" last-rc-change="1418354374" exec-time="33" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="72:28:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;72:28:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="26" rc-code="7" op-status="0" interval="0" last-run="1418354374" last-rc-change="1418354374" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE5" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE5_last_0" operation_key="FAKE5_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="73:28:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;73:28:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="30" rc-code="7" op-status="0" interval="0" last-run="1418354374" last-rc-change="1418354374" exec-time="36" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE6" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE6_last_0" operation_key="FAKE6_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="93:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;93:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="266" rc-code="0" op-status="0" interval="0" last-run="1418354956" last-rc-change="1418354956" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE7" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE7_last_0" operation_key="FAKE7_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="75:28:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;75:28:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="38" rc-code="7" op-status="0" interval="0" last-run="1418354374" last-rc-change="1418354374" exec-time="38" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE8" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE8_last_0" operation_key="FAKE8_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="76:28:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;76:28:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="42" rc-code="7" op-status="0" interval="0" last-run="1418354374" last-rc-change="1418354374" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE9" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE9_last_0" operation_key="FAKE9_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="92:53:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;92:53:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="258" rc-code="0" op-status="0" interval="0" last-run="1418354676" last-rc-change="1418354676" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE50" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE50_last_0" operation_key="FAKE50_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="57:33:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;57:33:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="228" rc-code="7" op-status="0" interval="0" last-run="1418354391" last-rc-change="1418354391" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote1" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote1_last_0" operation_key="pcmk_remote1_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="64:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;64:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="56" rc-code="7" op-status="0" interval="0" last-run="1418355327" last-rc-change="1418355327" exec-time="0" queue-time="0" op-digest="ef8bb6d8fee23eeb10cda8633b3634da" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote2" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote2_last_0" operation_key="pcmk_remote2_migrate_to_0" operation="migrate_to" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="115:167:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;115:167:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="51" rc-code="0" op-status="0" interval="0" last-run="1418355284" last-rc-change="1418355284" exec-time="0" queue-time="0" migrate_source="pcmk3" migrate_target="pcmk1" op-digest="6ba25fc444142a68b950347505d00b3e" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote3" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote3_last_0" operation_key="pcmk_remote3_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="105:0:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;105:0:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="60" rc-code="0" op-status="0" interval="0" last-run="1418355536" last-rc-change="1418355536" exec-time="0" queue-time="0" op-digest="1d3716b912f4312b45dbe3ca420f177a" on_node="pcmk3"/>
++            <lrm_rsc_op id="pcmk_remote3_monitor_60000" operation_key="pcmk_remote3_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="113:1:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;113:1:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="61" rc-code="0" op-status="0" interval="60000" last-rc-change="1418355537" exec-time="0" queue-time="0" op-digest="6d8c9ca142238d41ca7db26324753a2f" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE20" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE20_last_0" operation_key="FAKE20_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="118:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;118:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="306" rc-code="0" op-status="0" interval="0" last-run="1418355389" last-rc-change="1418355389" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE21" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE21_last_failure_0" operation_key="FAKE21_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="67:29:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:0;67:29:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="98" rc-code="0" op-status="0" interval="0" last-run="1418354376" last-rc-change="1418354376" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE21_last_0" operation_key="FAKE21_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="151:155:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;151:155:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="296" rc-code="0" op-status="0" interval="0" last-run="1418355234" last-rc-change="1418355234" exec-time="45" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE22" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE22_last_0" operation_key="FAKE22_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="57:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;57:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="102" rc-code="7" op-status="0" interval="0" last-run="1418354376" last-rc-change="1418354376" exec-time="47" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE23" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE23_last_0" operation_key="FAKE23_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="58:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;58:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="106" rc-code="7" op-status="0" interval="0" last-run="1418354376" last-rc-change="1418354376" exec-time="55" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE24" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE24_last_0" operation_key="FAKE24_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="59:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;59:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="110" rc-code="7" op-status="0" interval="0" last-run="1418354376" last-rc-change="1418354376" exec-time="46" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE25" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE25_last_0" operation_key="FAKE25_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="131:152:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;131:152:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="292" rc-code="0" op-status="0" interval="0" last-run="1418355210" last-rc-change="1418355210" exec-time="17" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote4" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote4_last_0" operation_key="pcmk_remote4_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="64:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;64:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="59" rc-code="7" op-status="0" interval="0" last-run="1418355505" last-rc-change="1418355505" exec-time="0" queue-time="0" op-digest="26ba620744979fe6eb89940dac6aa339" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote5" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote5_last_0" operation_key="pcmk_remote5_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="68:171:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;68:171:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="55" rc-code="0" op-status="0" interval="0" last-run="1418355307" last-rc-change="1418355307" exec-time="0" queue-time="0" op-digest="ea8522d25650e62ca6ecefe8d7b2fe8a" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE27" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE27_last_0" operation_key="FAKE27_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="125:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;125:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="309" rc-code="0" op-status="0" interval="0" last-run="1418355484" last-rc-change="1418355484" exec-time="44" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE27_monitor_10000" operation_key="FAKE27_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="126:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;126:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="310" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355485" exec-time="35" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE26" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE26_last_0" operation_key="FAKE26_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="61:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;61:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="118" rc-code="7" op-status="0" interval="0" last-run="1418354377" last-rc-change="1418354377" exec-time="17" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE29" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE29_last_0" operation_key="FAKE29_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="135:0:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;135:0:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="230" rc-code="0" op-status="0" interval="0" last-run="1418354403" last-rc-change="1418354403" exec-time="20" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE28" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE28_last_0" operation_key="FAKE28_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="140:7:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;140:7:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="235" rc-code="0" op-status="0" interval="0" last-run="1418354423" last-rc-change="1418354423" exec-time="43" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE28_monitor_10000" operation_key="FAKE28_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="141:7:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;141:7:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="236" rc-code="0" op-status="0" interval="10000" last-rc-change="1418354423" exec-time="39" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE41" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE41_last_0" operation_key="FAKE41_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="61:31:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;61:31:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="190" rc-code="7" op-status="0" interval="0" last-run="1418354378" last-rc-change="1418354378" exec-time="17" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE42" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE42_last_0" operation_key="FAKE42_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="62:31:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;62:31:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="194" rc-code="7" op-status="0" interval="0" last-run="1418354378" last-rc-change="1418354378" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE43" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE43_last_0" operation_key="FAKE43_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="63:31:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;63:31:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="198" rc-code="7" op-status="0" interval="0" last-run="1418354378" last-rc-change="1418354378" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE44" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE44_last_0" operation_key="FAKE44_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="64:31:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;64:31:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="202" rc-code="7" op-status="0" interval="0" last-run="1418354378" last-rc-change="1418354378" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="shooter" type="fence_docker_cts" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="46:176:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;46:176:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="303" rc-code="0" op-status="0" interval="0" last-run="1418355357" last-rc-change="1418355357" exec-time="1161" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="47:176:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;47:176:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="304" rc-code="0" op-status="0" interval="60000" last-rc-change="1418355360" exec-time="1194" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE46" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE46_last_0" operation_key="FAKE46_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="66:31:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;66:31:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="210" rc-code="7" op-status="0" interval="0" last-run="1418354378" last-rc-change="1418354378" exec-time="14" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE47" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE47_last_failure_0" operation_key="FAKE47_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="67:31:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:0;67:31:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="216" rc-code="0" op-status="0" interval="0" last-run="1418354378" last-rc-change="1418354378" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE47_last_0" operation_key="FAKE47_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="178:0:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;178:0:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="234" rc-code="0" op-status="0" interval="0" last-run="1418354403" last-rc-change="1418354403" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE48" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE48_last_0" operation_key="FAKE48_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="58:32:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;58:32:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="220" rc-code="7" op-status="0" interval="0" last-run="1418354379" last-rc-change="1418354379" exec-time="43" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE49" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE49_last_0" operation_key="FAKE49_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="56:33:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;56:33:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="224" rc-code="7" op-status="0" interval="0" last-run="1418354390" last-rc-change="1418354390" exec-time="33" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE45" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE45_last_0" operation_key="FAKE45_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="163:10:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;163:10:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="239" rc-code="0" op-status="0" interval="0" last-run="1418354429" last-rc-change="1418354429" exec-time="14" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE45_monitor_10000" operation_key="FAKE45_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="164:10:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;164:10:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="240" rc-code="0" op-status="0" interval="10000" last-rc-change="1418354429" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE40" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE40_last_0" operation_key="FAKE40_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="60:31:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;60:31:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="186" rc-code="7" op-status="0" interval="0" last-run="1418354378" last-rc-change="1418354378" exec-time="18" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE10" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE10_last_0" operation_key="FAKE10_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="90:41:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;90:41:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="248" rc-code="0" op-status="0" interval="0" last-run="1418354596" last-rc-change="1418354596" exec-time="58" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE11" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE11_last_0" operation_key="FAKE11_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="160:193:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;160:193:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="308" rc-code="0" op-status="0" interval="0" last-run="1418355406" last-rc-change="1418355406" exec-time="52" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE12" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE12_last_failure_0" operation_key="FAKE12_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="80:28:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:0;80:28:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="60" rc-code="0" op-status="0" interval="0" last-run="1418354374" last-rc-change="1418354374" exec-time="20" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE12_last_0" operation_key="FAKE12_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="130:30:0:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:0;130:30:0:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="144" rc-code="0" op-status="0" interval="0" last-run="1418354377" last-rc-change="1418354377" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE13" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE13_last_0" operation_key="FAKE13_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="131:4:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;131:4:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="311" rc-code="0" op-status="0" interval="0" last-run="1418355543" last-rc-change="1418355543" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE13_monitor_10000" operation_key="FAKE13_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="132:4:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;132:4:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="312" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355543" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE14" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE14_last_0" operation_key="FAKE14_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="107:113:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;107:113:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="276" rc-code="0" op-status="0" interval="0" last-run="1418355022" last-rc-change="1418355022" exec-time="28" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE15" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE15_last_0" operation_key="FAKE15_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="61:29:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;61:29:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="72" rc-code="7" op-status="0" interval="0" last-run="1418354375" last-rc-change="1418354375" exec-time="49" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE16" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE16_last_0" operation_key="FAKE16_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="62:29:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;62:29:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="76" rc-code="7" op-status="0" interval="0" last-run="1418354375" last-rc-change="1418354375" exec-time="45" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE17" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE17_last_0" operation_key="FAKE17_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="118:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;118:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="270" rc-code="0" op-status="0" interval="0" last-run="1418354956" last-rc-change="1418354956" exec-time="19" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE18" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE18_last_0" operation_key="FAKE18_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="113:53:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;113:53:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="260" rc-code="0" op-status="0" interval="0" last-run="1418354677" last-rc-change="1418354677" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE32" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE32_last_0" operation_key="FAKE32_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="67:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;67:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="142" rc-code="7" op-status="0" interval="0" last-run="1418354377" last-rc-change="1418354377" exec-time="43" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE33" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE33_last_0" operation_key="FAKE33_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="68:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;68:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="156" rc-code="7" op-status="0" interval="0" last-run="1418354377" last-rc-change="1418354377" exec-time="18" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE30" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE30_last_0" operation_key="FAKE30_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="65:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" transition-magic="0:7;65:30:7:d28aa942-47c3-42dd-bc84-7d5202f9016b" call-id="134" rc-code="7" op-status="0" interval="0" last-run="1418354377" last-rc-change="1418354377" exec-time="42" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="4" uname="pcmk4" in_ccm="false" crmd="offline" crm-debug-origin="post_cache_update" join="member" expected="member">
++      <lrm id="4">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_docker_cts" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="62:38:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;62:38:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1418355568" last-rc-change="1418355568" exec-time="3" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk4"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote1" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote1_last_0" operation_key="pcmk_remote1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="63:39:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;63:39:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="1" rc-code="7" op-status="0" interval="0" last-run="1418355570" last-rc-change="1418355570" exec-time="0" queue-time="0" op-digest="ef8bb6d8fee23eeb10cda8633b3634da" on_node="pcmk4"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote2" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote2_last_0" operation_key="pcmk_remote2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="63:40:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;63:40:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="2" rc-code="7" op-status="0" interval="0" last-run="1418355570" last-rc-change="1418355570" exec-time="0" queue-time="0" op-digest="6ba25fc444142a68b950347505d00b3e" on_node="pcmk4"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote3" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote3_last_0" operation_key="pcmk_remote3_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="63:41:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;63:41:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="3" rc-code="7" op-status="0" interval="0" last-run="1418355571" last-rc-change="1418355571" exec-time="0" queue-time="0" op-digest="1d3716b912f4312b45dbe3ca420f177a" on_node="pcmk4"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote4" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote4_last_0" operation_key="pcmk_remote4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="63:43:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;63:43:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="4" rc-code="7" op-status="0" interval="0" last-run="1418355572" last-rc-change="1418355572" exec-time="0" queue-time="0" op-digest="26ba620744979fe6eb89940dac6aa339" on_node="pcmk4"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="1" uname="pcmk1" in_ccm="true" crmd="online" crm-debug-origin="post_cache_update" join="member" expected="member">
++      <transient_attributes id="1">
++        <instance_attributes id="status-1">
++          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
++          <nvpair id="status-1-last-failure-pcmk_remote4" name="last-failure-pcmk_remote4" value="1418355461"/>
++          <nvpair id="status-1-last-failure-pcmk_remote1" name="last-failure-pcmk_remote1" value="1418355272"/>
++          <nvpair id="status-1-fail-count-FAKE1" name="fail-count-FAKE1" value="INFINITY"/>
++          <nvpair id="status-1-last-failure-FAKE1" name="last-failure-FAKE1" value="1418409729"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="1">
++        <lrm_resources>
++          <lrm_resource id="FAKE19" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE19_last_failure_0" operation_key="FAKE19_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="63:125:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;63:125:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="90" rc-code="0" op-status="0" interval="0" last-run="1418355068" last-rc-change="1418355068" exec-time="33" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE19_last_0" operation_key="FAKE19_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="145:155:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;145:155:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="292" rc-code="0" op-status="0" interval="0" last-run="1418355234" last-rc-change="1418355234" exec-time="41" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE36" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE36_last_0" operation_key="FAKE36_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="55:128:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;55:128:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="172" rc-code="7" op-status="0" interval="0" last-run="1418355080" last-rc-change="1418355080" exec-time="33" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE37" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE37_last_0" operation_key="FAKE37_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="56:128:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;56:128:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="176" rc-code="7" op-status="0" interval="0" last-run="1418355080" last-rc-change="1418355080" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE34" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE34_last_0" operation_key="FAKE34_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="53:128:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;53:128:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="164" rc-code="7" op-status="0" interval="0" last-run="1418355079" last-rc-change="1418355079" exec-time="55" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE35" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE35_last_0" operation_key="FAKE35_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="163:7:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;163:7:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="385" rc-code="0" op-status="0" interval="0" last-run="1418355550" last-rc-change="1418355550" exec-time="69" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE35_monitor_10000" operation_key="FAKE35_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="164:7:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;164:7:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="386" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355550" exec-time="64" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE31" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE31_last_0" operation_key="FAKE31_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="54:127:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;54:127:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="152" rc-code="7" op-status="0" interval="0" last-run="1418355071" last-rc-change="1418355071" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE38" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE38_last_0" operation_key="FAKE38_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="162:157:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;162:157:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="300" rc-code="0" op-status="0" interval="0" last-run="1418355237" last-rc-change="1418355237" exec-time="45" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE39" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE39_last_0" operation_key="FAKE39_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="150:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;150:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="377" rc-code="0" op-status="0" interval="0" last-run="1418355485" last-rc-change="1418355485" exec-time="48" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE39_monitor_10000" operation_key="FAKE39_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="151:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;151:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="378" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355485" exec-time="36" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="67:124:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;67:124:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="14" rc-code="7" op-status="0" interval="0" last-run="1418355066" last-rc-change="1418355066" exec-time="53" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="68:124:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;68:124:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="18" rc-code="7" op-status="0" interval="0" last-run="1418355066" last-rc-change="1418355066" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="69:124:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;69:124:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="22" rc-code="7" op-status="0" interval="0" last-run="1418355066" last-rc-change="1418355066" exec-time="33" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="70:124:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;70:124:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="26" rc-code="7" op-status="0" interval="0" last-run="1418355067" last-rc-change="1418355067" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE5" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE5_last_0" operation_key="FAKE5_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="83:201:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;83:201:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="365" rc-code="0" op-status="0" interval="0" last-run="1418355440" last-rc-change="1418355440" exec-time="296" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE5_monitor_10000" operation_key="FAKE5_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="80:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;80:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="366" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355484" exec-time="53" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE6" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE6_last_0" operation_key="FAKE6_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="89:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;89:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="332" rc-code="0" op-status="0" interval="0" last-run="1418355389" last-rc-change="1418355389" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE7" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE7_last_0" operation_key="FAKE7_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="73:124:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;73:124:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="38" rc-code="7" op-status="0" interval="0" last-run="1418355067" last-rc-change="1418355067" exec-time="64" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE8" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE8_last_0" operation_key="FAKE8_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="74:124:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;74:124:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="42" rc-code="7" op-status="0" interval="0" last-run="1418355067" last-rc-change="1418355067" exec-time="49" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE9" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE9_last_0" operation_key="FAKE9_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="91:201:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;91:201:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="362" rc-code="0" op-status="0" interval="0" last-run="1418355432" last-rc-change="1418355432" exec-time="84" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE50" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE50_last_0" operation_key="FAKE50_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="69:128:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;69:128:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="228" rc-code="7" op-status="0" interval="0" last-run="1418355083" last-rc-change="1418355083" exec-time="49" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote1" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote1_last_0" operation_key="pcmk_remote1_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="125:174:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;125:174:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="31" rc-code="0" op-status="0" interval="0" last-run="1418355327" last-rc-change="1418355327" exec-time="0" queue-time="0" op-digest="ef8bb6d8fee23eeb10cda8633b3634da" on_node="pcmk1"/>
++            <lrm_rsc_op id="pcmk_remote1_monitor_60000" operation_key="pcmk_remote1_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="126:174:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;126:174:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="32" rc-code="0" op-status="0" interval="60000" last-rc-change="1418355328" exec-time="0" queue-time="0" op-digest="38e994d2ee0156aa833adf6eafbdbbbd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote2" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote2_last_0" operation_key="pcmk_remote2_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="63:124:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;63:124:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="2" rc-code="7" op-status="0" interval="0" last-run="1418355065" last-rc-change="1418355065" exec-time="0" queue-time="0" op-digest="6ba25fc444142a68b950347505d00b3e" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote3" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote3_last_0" operation_key="pcmk_remote3_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="129:174:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;129:174:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="33" rc-code="0" op-status="0" interval="0" last-run="1418355328" last-rc-change="1418355328" exec-time="0" queue-time="0" op-digest="1d3716b912f4312b45dbe3ca420f177a" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE20" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE20_last_0" operation_key="FAKE20_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="180:193:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;180:193:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="348" rc-code="0" op-status="0" interval="0" last-run="1418355406" last-rc-change="1418355406" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE21" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE21_last_0" operation_key="FAKE21_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="112:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;112:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="369" rc-code="0" op-status="0" interval="0" last-run="1418355484" last-rc-change="1418355484" exec-time="40" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE21_monitor_10000" operation_key="FAKE21_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="113:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;113:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="370" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355484" exec-time="36" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE22" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE22_last_0" operation_key="FAKE22_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="123:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;123:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="336" rc-code="0" op-status="0" interval="0" last-run="1418355389" last-rc-change="1418355389" exec-time="19" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE23" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE23_last_0" operation_key="FAKE23_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="58:126:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;58:126:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="114" rc-code="7" op-status="0" interval="0" last-run="1418355070" last-rc-change="1418355070" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE24" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE24_last_0" operation_key="FAKE24_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="59:126:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;59:126:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="118" rc-code="7" op-status="0" interval="0" last-run="1418355070" last-rc-change="1418355070" exec-time="17" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE25" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE25_last_0" operation_key="FAKE25_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="128:163:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;128:163:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="312" rc-code="0" op-status="0" interval="0" last-run="1418355256" last-rc-change="1418355256" exec-time="31" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote4" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote4_last_0" operation_key="pcmk_remote4_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="60:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;60:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="40" rc-code="7" op-status="0" interval="0" last-run="1418355505" last-rc-change="1418355505" exec-time="0" queue-time="0" op-digest="26ba620744979fe6eb89940dac6aa339" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="pcmk_remote5" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="pcmk_remote5_last_0" operation_key="pcmk_remote5_migrate_from_0" operation="migrate_from" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="120:1:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;120:1:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="41" rc-code="0" op-status="0" interval="0" last-run="1418355537" last-rc-change="1418355537" exec-time="0" queue-time="0" migrate_source="pcmk2" migrate_target="pcmk1" op-digest="ea8522d25650e62ca6ecefe8d7b2fe8a" on_node="pcmk1"/>
++            <lrm_rsc_op id="pcmk_remote5_monitor_60000" operation_key="pcmk_remote5_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="118:1:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;118:1:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="42" rc-code="0" op-status="0" interval="60000" last-rc-change="1418355538" exec-time="0" queue-time="0" op-digest="097ac821a75a8a47ff3e1489f58e3bd3" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE27" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE27_last_0" operation_key="FAKE27_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="124:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;124:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="372" rc-code="0" op-status="0" interval="0" last-run="1418355484" last-rc-change="1418355484" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE26" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE26_last_0" operation_key="FAKE26_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="61:126:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;61:126:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="126" rc-code="7" op-status="0" interval="0" last-run="1418355070" last-rc-change="1418355070" exec-time="34" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE29" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE29_last_0" operation_key="FAKE29_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="200:193:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;200:193:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="352" rc-code="0" op-status="0" interval="0" last-run="1418355406" last-rc-change="1418355406" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE28" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE28_last_0" operation_key="FAKE28_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="63:126:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;63:126:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="134" rc-code="7" op-status="0" interval="0" last-run="1418355070" last-rc-change="1418355070" exec-time="54" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE41" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE41_last_0" operation_key="FAKE41_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="164:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;164:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="342" rc-code="0" op-status="0" interval="0" last-run="1418355390" last-rc-change="1418355390" exec-time="14" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE42" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE42_last_0" operation_key="FAKE42_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="61:128:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;61:128:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="196" rc-code="7" op-status="0" interval="0" last-run="1418355081" last-rc-change="1418355081" exec-time="25" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE43" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE43_last_0" operation_key="FAKE43_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="158:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;158:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="380" rc-code="0" op-status="0" interval="0" last-run="1418355485" last-rc-change="1418355485" exec-time="33" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE44" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE44_last_0" operation_key="FAKE44_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="233:193:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;233:193:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="356" rc-code="0" op-status="0" interval="0" last-run="1418355407" last-rc-change="1418355407" exec-time="56" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="shooter" type="fence_docker_cts" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="61:124:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;61:124:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1418355064" last-rc-change="1418355064" exec-time="2" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE46" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE46_last_0" operation_key="FAKE46_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="182:8:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;182:8:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="387" rc-code="0" op-status="0" interval="0" last-run="1418355552" last-rc-change="1418355552" exec-time="67" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE46_monitor_10000" operation_key="FAKE46_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="183:8:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;183:8:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="388" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355553" exec-time="28" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE47" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE47_last_0" operation_key="FAKE47_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="177:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;177:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="344" rc-code="0" op-status="0" interval="0" last-run="1418355390" last-rc-change="1418355390" exec-time="14" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE48" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE48_last_0" operation_key="FAKE48_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="169:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;169:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="381" rc-code="0" op-status="0" interval="0" last-run="1418355485" last-rc-change="1418355485" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE48_monitor_10000" operation_key="FAKE48_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="170:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;170:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="382" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355485" exec-time="11" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE49" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE49_last_0" operation_key="FAKE49_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="180:163:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;180:163:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="316" rc-code="0" op-status="0" interval="0" last-run="1418355256" last-rc-change="1418355256" exec-time="16" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE45" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE45_last_0" operation_key="FAKE45_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="64:128:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;64:128:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="208" rc-code="7" op-status="0" interval="0" last-run="1418355082" last-rc-change="1418355082" exec-time="55" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE40" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE40_last_0" operation_key="FAKE40_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="59:128:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;59:128:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="188" rc-code="7" op-status="0" interval="0" last-run="1418355081" last-rc-change="1418355081" exec-time="47" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE10" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE10_last_0" operation_key="FAKE10_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="76:124:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;76:124:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="50" rc-code="7" op-status="0" interval="0" last-run="1418355067" last-rc-change="1418355067" exec-time="33" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE11" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE11_last_0" operation_key="FAKE11_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="126:4:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;126:4:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="383" rc-code="0" op-status="0" interval="0" last-run="1418355543" last-rc-change="1418355543" exec-time="67" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE11_monitor_10000" operation_key="FAKE11_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="127:4:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;127:4:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="384" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355543" exec-time="14" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE12" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE12_last_failure_0" operation_key="FAKE12_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="78:124:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;78:124:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="60" rc-code="0" op-status="0" interval="0" last-run="1418355067" last-rc-change="1418355067" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE12_last_0" operation_key="FAKE12_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="94:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;94:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="367" rc-code="0" op-status="0" interval="0" last-run="1418355484" last-rc-change="1418355484" exec-time="62" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE12_monitor_10000" operation_key="FAKE12_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="95:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;95:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="368" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355484" exec-time="39" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE13" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE13_last_0" operation_key="FAKE13_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="57:125:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;57:125:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="64" rc-code="7" op-status="0" interval="0" last-run="1418355068" last-rc-change="1418355068" exec-time="91" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE14" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE14_last_0" operation_key="FAKE14_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="103:201:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;103:201:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="364" rc-code="0" op-status="0" interval="0" last-run="1418355432" last-rc-change="1418355432" exec-time="63" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE15" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE15_last_0" operation_key="FAKE15_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="59:125:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;59:125:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="72" rc-code="7" op-status="0" interval="0" last-run="1418355068" last-rc-change="1418355068" exec-time="28" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE16" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE16_last_0" operation_key="FAKE16_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="60:125:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;60:125:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="76" rc-code="7" op-status="0" interval="0" last-run="1418355068" last-rc-change="1418355068" exec-time="56" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE17" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE17_last_0" operation_key="FAKE17_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="110:163:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;110:163:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="310" rc-code="0" op-status="0" interval="0" last-run="1418355256" last-rc-change="1418355256" exec-time="54" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE18" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE18_last_0" operation_key="FAKE18_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="62:125:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;62:125:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="84" rc-code="7" op-status="0" interval="0" last-run="1418355068" last-rc-change="1418355068" exec-time="35" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE32" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE32_last_0" operation_key="FAKE32_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="51:128:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;51:128:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="156" rc-code="7" op-status="0" interval="0" last-run="1418355079" last-rc-change="1418355079" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE33" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE33_last_0" operation_key="FAKE33_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="147:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;147:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="340" rc-code="0" op-status="0" interval="0" last-run="1418355389" last-rc-change="1418355389" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE30" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE30_last_failure_0" operation_key="FAKE30_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="65:126:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;65:126:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="144" rc-code="0" op-status="0" interval="0" last-run="1418355070" last-rc-change="1418355070" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE30_last_0" operation_key="FAKE30_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="131:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;131:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="373" rc-code="0" op-status="0" interval="0" last-run="1418355484" last-rc-change="1418355484" exec-time="25" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE30_monitor_10000" operation_key="FAKE30_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="132:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;132:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="374" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355485" exec-time="16" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state remote_node="true" id="pcmk_remote2" uname="pcmk_remote2" crm-debug-origin="post_cache_update">
++      <lrm id="pcmk_remote2">
++        <lrm_resources>
++          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE1_last_failure_0" operation_key="FAKE1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="46:2:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;46:2:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="403" rc-code="0" op-status="0" interval="0" last-run="1418354414" last-rc-change="1418354414" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="46:2:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;46:2:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="403" rc-code="0" op-status="0" interval="0" last-run="1418354414" last-rc-change="1418354414" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE1_monitor_10000" operation_key="FAKE1_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="113:3:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;113:3:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="404" rc-code="0" op-status="0" interval="10000" last-rc-change="1418354414" exec-time="14" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="47:3:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;47:3:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="406" rc-code="7" op-status="0" interval="0" last-run="1418354415" last-rc-change="1418354415" exec-time="16" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="48:3:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;48:3:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="408" rc-code="7" op-status="0" interval="0" last-run="1418354415" last-rc-change="1418354415" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="49:3:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;49:3:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="410" rc-code="7" op-status="0" interval="0" last-run="1418354415" last-rc-change="1418354415" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE5" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE5_last_0" operation_key="FAKE5_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="50:3:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;50:3:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="412" rc-code="7" op-status="0" interval="0" last-run="1418354415" last-rc-change="1418354415" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE6" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE6_last_0" operation_key="FAKE6_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="51:3:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;51:3:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="414" rc-code="7" op-status="0" interval="0" last-run="1418354415" last-rc-change="1418354415" exec-time="34" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE7" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE7_last_failure_0" operation_key="FAKE7_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="52:3:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;52:3:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="416" rc-code="0" op-status="0" interval="0" last-run="1418354415" last-rc-change="1418354415" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE7_last_0" operation_key="FAKE7_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="52:3:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;52:3:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="416" rc-code="0" op-status="0" interval="0" last-run="1418354415" last-rc-change="1418354415" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE7_monitor_10000" operation_key="FAKE7_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="120:4:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;120:4:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="417" rc-code="0" op-status="0" interval="10000" last-rc-change="1418354416" exec-time="72" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE8" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE8_last_0" operation_key="FAKE8_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="48:4:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;48:4:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="419" rc-code="7" op-status="0" interval="0" last-run="1418354416" last-rc-change="1418354416" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE9" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE9_last_0" operation_key="FAKE9_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="49:4:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;49:4:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="421" rc-code="7" op-status="0" interval="0" last-run="1418354416" last-rc-change="1418354416" exec-time="14" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE10" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE10_last_0" operation_key="FAKE10_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="50:4:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;50:4:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="423" rc-code="7" op-status="0" interval="0" last-run="1418354417" last-rc-change="1418354417" exec-time="27" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE11" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE11_last_0" operation_key="FAKE11_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="51:4:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;51:4:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="425" rc-code="7" op-status="0" interval="0" last-run="1418354417" last-rc-change="1418354417" exec-time="48" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE12" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE12_last_0" operation_key="FAKE12_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="52:4:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;52:4:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="427" rc-code="7" op-status="0" interval="0" last-run="1418354417" last-rc-change="1418354417" exec-time="36" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE13" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE13_last_0" operation_key="FAKE13_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="53:4:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;53:4:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="429" rc-code="7" op-status="0" interval="0" last-run="1418354417" last-rc-change="1418354417" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE14" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE14_last_0" operation_key="FAKE14_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="54:4:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;54:4:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="431" rc-code="7" op-status="0" interval="0" last-run="1418354417" last-rc-change="1418354417" exec-time="34" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE15" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE15_last_failure_0" operation_key="FAKE15_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="55:4:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;55:4:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="433" rc-code="0" op-status="0" interval="0" last-run="1418354418" last-rc-change="1418354418" exec-time="37" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE15_last_0" operation_key="FAKE15_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="55:4:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;55:4:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="433" rc-code="0" op-status="0" interval="0" last-run="1418354418" last-rc-change="1418354418" exec-time="37" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE15_monitor_10000" operation_key="FAKE15_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="129:5:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;129:5:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="434" rc-code="0" op-status="0" interval="10000" last-rc-change="1418354418" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE16" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE16_last_0" operation_key="FAKE16_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="49:5:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;49:5:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="436" rc-code="7" op-status="0" interval="0" last-run="1418354419" last-rc-change="1418354419" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE17" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE17_last_0" operation_key="FAKE17_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="50:5:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;50:5:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="438" rc-code="7" op-status="0" interval="0" last-run="1418354419" last-rc-change="1418354419" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE18" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE18_last_0" operation_key="FAKE18_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="51:5:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;51:5:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="440" rc-code="7" op-status="0" interval="0" last-run="1418354419" last-rc-change="1418354419" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE19" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE19_last_0" operation_key="FAKE19_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="52:5:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;52:5:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="442" rc-code="7" op-status="0" interval="0" last-run="1418354419" last-rc-change="1418354419" exec-time="106" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE20" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE20_last_0" operation_key="FAKE20_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="53:5:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;53:5:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="444" rc-code="7" op-status="0" interval="0" last-run="1418354419" last-rc-change="1418354419" exec-time="117" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE21" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE21_last_0" operation_key="FAKE21_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="54:5:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;54:5:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="446" rc-code="7" op-status="0" interval="0" last-run="1418354420" last-rc-change="1418354420" exec-time="19" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE22" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE22_last_0" operation_key="FAKE22_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="55:5:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;55:5:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="448" rc-code="7" op-status="0" interval="0" last-run="1418354420" last-rc-change="1418354420" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE23" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE23_last_0" operation_key="FAKE23_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="133:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;133:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="536" rc-code="0" op-status="0" interval="0" last-run="1418354960" last-rc-change="1418354960" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE23_monitor_10000" operation_key="FAKE23_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="134:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;134:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="538" rc-code="0" op-status="0" interval="10000" last-rc-change="1418354961" exec-time="132" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE24" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE24_last_failure_0" operation_key="FAKE24_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="57:5:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;57:5:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="452" rc-code="0" op-status="0" interval="0" last-run="1418354420" last-rc-change="1418354420" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE24_last_0" operation_key="FAKE24_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="135:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;135:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="527" rc-code="0" op-status="0" interval="0" last-run="1418354957" last-rc-change="1418354957" exec-time="36" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE24_monitor_10000" operation_key="FAKE24_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="140:6:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;140:6:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="453" rc-code="0" op-status="0" interval="10000" last-rc-change="1418354421" exec-time="13" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE25" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE25_last_0" operation_key="FAKE25_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="51:6:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;51:6:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="455" rc-code="7" op-status="0" interval="0" last-run="1418354421" last-rc-change="1418354421" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE26" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE26_last_0" operation_key="FAKE26_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="52:6:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;52:6:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="457" rc-code="7" op-status="0" interval="0" last-run="1418354421" last-rc-change="1418354421" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE27" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE27_last_0" operation_key="FAKE27_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="53:6:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;53:6:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="459" rc-code="7" op-status="0" interval="0" last-run="1418354422" last-rc-change="1418354422" exec-time="35" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE28" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE28_last_0" operation_key="FAKE28_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="54:6:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;54:6:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="461" rc-code="7" op-status="0" interval="0" last-run="1418354422" last-rc-change="1418354422" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE29" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE29_last_0" operation_key="FAKE29_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="55:6:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;55:6:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="463" rc-code="7" op-status="0" interval="0" last-run="1418354422" last-rc-change="1418354422" exec-time="25" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE30" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE30_last_0" operation_key="FAKE30_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="56:6:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;56:6:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="465" rc-code="7" op-status="0" interval="0" last-run="1418354422" last-rc-change="1418354422" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE31" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE31_last_0" operation_key="FAKE31_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="153:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;153:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="540" rc-code="0" op-status="0" interval="0" last-run="1418354961" last-rc-change="1418354961" exec-time="201" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE31_monitor_10000" operation_key="FAKE31_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="154:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;154:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="541" rc-code="0" op-status="0" interval="10000" last-rc-change="1418354961" exec-time="11" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE32" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE32_last_failure_0" operation_key="FAKE32_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="58:6:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;58:6:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="469" rc-code="0" op-status="0" interval="0" last-run="1418354423" last-rc-change="1418354423" exec-time="48" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE32_last_0" operation_key="FAKE32_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="155:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;155:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="529" rc-code="0" op-status="0" interval="0" last-run="1418354958" last-rc-change="1418354958" exec-time="66" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE32_monitor_10000" operation_key="FAKE32_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="150:7:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;150:7:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="470" rc-code="0" op-status="0" interval="10000" last-rc-change="1418354423" exec-time="11" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE33" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE33_last_0" operation_key="FAKE33_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="53:7:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;53:7:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="472" rc-code="7" op-status="0" interval="0" last-run="1418354424" last-rc-change="1418354424" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE34" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE34_last_0" operation_key="FAKE34_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="54:7:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;54:7:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="474" rc-code="7" op-status="0" interval="0" last-run="1418354424" last-rc-change="1418354424" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE35" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE35_last_0" operation_key="FAKE35_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="55:7:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;55:7:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="476" rc-code="7" op-status="0" interval="0" last-run="1418354424" last-rc-change="1418354424" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE36" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE36_last_0" operation_key="FAKE36_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="56:7:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;56:7:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="478" rc-code="7" op-status="0" interval="0" last-run="1418354424" last-rc-change="1418354424" exec-time="68" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE37" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE37_last_0" operation_key="FAKE37_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="57:7:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;57:7:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="480" rc-code="7" op-status="0" interval="0" last-run="1418354424" last-rc-change="1418354424" exec-time="34" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE38" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE38_last_0" operation_key="FAKE38_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="58:7:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;58:7:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="482" rc-code="7" op-status="0" interval="0" last-run="1418354424" last-rc-change="1418354424" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE39" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE39_last_0" operation_key="FAKE39_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="222:153:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;222:153:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="566" rc-code="0" op-status="0" interval="0" last-run="1418355230" last-rc-change="1418355230" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE39_monitor_10000" operation_key="FAKE39_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="164:152:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;164:152:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="562" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355210" exec-time="25" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE40" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE40_last_failure_0" operation_key="FAKE40_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="60:7:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;60:7:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="486" rc-code="0" op-status="0" interval="0" last-run="1418354425" last-rc-change="1418354425" exec-time="62" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE40_last_0" operation_key="FAKE40_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="174:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;174:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="531" rc-code="0" op-status="0" interval="0" last-run="1418354959" last-rc-change="1418354959" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE40_monitor_10000" operation_key="FAKE40_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="161:8:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;161:8:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="487" rc-code="0" op-status="0" interval="10000" last-rc-change="1418354426" exec-time="23" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE41" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE41_last_0" operation_key="FAKE41_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="165:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;165:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="572" rc-code="0" op-status="0" interval="0" last-run="1418355390" last-rc-change="1418355390" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE41_monitor_10000" operation_key="FAKE41_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="166:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;166:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="573" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355390" exec-time="13" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE42" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE42_last_0" operation_key="FAKE42_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="57:8:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;57:8:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="491" rc-code="7" op-status="0" interval="0" last-run="1418354426" last-rc-change="1418354426" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE43" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE43_last_0" operation_key="FAKE43_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="230:193:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;230:193:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="577" rc-code="0" op-status="0" interval="0" last-run="1418355407" last-rc-change="1418355407" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE43_monitor_10000" operation_key="FAKE43_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="157:139:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;157:139:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="559" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355143" exec-time="29" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE44" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE44_last_0" operation_key="FAKE44_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="59:8:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;59:8:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="495" rc-code="7" op-status="0" interval="0" last-run="1418354426" last-rc-change="1418354426" exec-time="50" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE45" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE45_last_0" operation_key="FAKE45_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="60:8:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;60:8:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="497" rc-code="7" op-status="0" interval="0" last-run="1418354427" last-rc-change="1418354427" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE46" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE46_last_0" operation_key="FAKE46_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="61:8:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;61:8:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="499" rc-code="7" op-status="0" interval="0" last-run="1418354427" last-rc-change="1418354427" exec-time="27" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE47" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE47_last_0" operation_key="FAKE47_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="180:152:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;180:152:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="564" rc-code="0" op-status="0" interval="0" last-run="1418355211" last-rc-change="1418355211" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE47_monitor_10000" operation_key="FAKE47_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="192:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;192:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="547" rc-code="0" op-status="0" interval="10000" last-rc-change="1418354962" exec-time="25" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE48" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE48_last_0" operation_key="FAKE48_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="193:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;193:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="533" rc-code="0" op-status="0" interval="0" last-run="1418354960" last-rc-change="1418354960" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE48_monitor_10000" operation_key="FAKE48_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="178:53:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;178:53:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="517" rc-code="0" op-status="0" interval="10000" last-rc-change="1418354679" exec-time="31" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE49" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE49_last_0" operation_key="FAKE49_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="182:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;182:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="575" rc-code="0" op-status="0" interval="0" last-run="1418355390" last-rc-change="1418355390" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE49_monitor_10000" operation_key="FAKE49_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="173:171:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;173:171:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="570" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355307" exec-time="11" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE50" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE50_last_failure_0" operation_key="FAKE50_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="65:8:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;65:8:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="507" rc-code="0" op-status="0" interval="0" last-run="1418354428" last-rc-change="1418354428" exec-time="46" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE50_last_0" operation_key="FAKE50_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="181:53:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;181:53:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="519" rc-code="0" op-status="0" interval="0" last-run="1418354679" last-rc-change="1418354679" exec-time="19" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE50_monitor_10000" operation_key="FAKE50_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="175:10:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;175:10:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="508" rc-code="0" op-status="0" interval="10000" last-rc-change="1418354429" exec-time="11" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="pcmk_remote2">
++        <instance_attributes id="status-pcmk_remote2">
++          <nvpair id="status-pcmk_remote2-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state remote_node="true" id="pcmk_remote1" uname="pcmk_remote1" crm-debug-origin="post_cache_update">
++      <lrm id="pcmk_remote1">
++        <lrm_resources>
++          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="68:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;68:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="6" rc-code="7" op-status="0" interval="0" last-run="1418355329" last-rc-change="1418355329" exec-time="23" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="69:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;69:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="10" rc-code="7" op-status="0" interval="0" last-run="1418355329" last-rc-change="1418355329" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="112:195:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;112:195:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="220" rc-code="0" op-status="0" interval="0" last-run="1418355410" last-rc-change="1418355410" exec-time="149" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE3_monitor_10000" operation_key="FAKE3_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="113:195:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;113:195:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="221" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355410" exec-time="100" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="71:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;71:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="18" rc-code="7" op-status="0" interval="0" last-run="1418355330" last-rc-change="1418355330" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE5" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE5_last_0" operation_key="FAKE5_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="116:195:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;116:195:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="223" rc-code="0" op-status="0" interval="0" last-run="1418355411" last-rc-change="1418355411" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE5_monitor_10000" operation_key="FAKE5_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="88:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;88:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="211" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355389" exec-time="17" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE6" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE6_last_0" operation_key="FAKE6_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="90:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;90:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="212" rc-code="0" op-status="0" interval="0" last-run="1418355389" last-rc-change="1418355389" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE6_monitor_10000" operation_key="FAKE6_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="91:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;91:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="213" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355389" exec-time="11" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE7" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE7_last_0" operation_key="FAKE7_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="74:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;74:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="30" rc-code="7" op-status="0" interval="0" last-run="1418355331" last-rc-change="1418355331" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE8" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE8_last_0" operation_key="FAKE8_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="75:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;75:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="34" rc-code="7" op-status="0" interval="0" last-run="1418355331" last-rc-change="1418355331" exec-time="27" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE9" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE9_last_0" operation_key="FAKE9_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="76:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;76:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="38" rc-code="7" op-status="0" interval="0" last-run="1418355331" last-rc-change="1418355331" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE10" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE10_last_0" operation_key="FAKE10_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="77:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;77:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="42" rc-code="7" op-status="0" interval="0" last-run="1418355332" last-rc-change="1418355332" exec-time="28" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE11" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE11_last_0" operation_key="FAKE11_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="78:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;78:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="46" rc-code="7" op-status="0" interval="0" last-run="1418355332" last-rc-change="1418355332" exec-time="45" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE12" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE12_last_0" operation_key="FAKE12_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="79:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;79:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="50" rc-code="7" op-status="0" interval="0" last-run="1418355332" last-rc-change="1418355332" exec-time="44" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE13" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE13_last_0" operation_key="FAKE13_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="80:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;80:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="54" rc-code="7" op-status="0" interval="0" last-run="1418355333" last-rc-change="1418355333" exec-time="131" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE14" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE14_last_0" operation_key="FAKE14_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="81:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;81:174:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="58" rc-code="7" op-status="0" interval="0" last-run="1418355333" last-rc-change="1418355333" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE15" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE15_last_0" operation_key="FAKE15_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="56:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;56:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="62" rc-code="7" op-status="0" interval="0" last-run="1418355338" last-rc-change="1418355338" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE16" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE16_last_0" operation_key="FAKE16_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="57:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;57:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="66" rc-code="7" op-status="0" interval="0" last-run="1418355338" last-rc-change="1418355338" exec-time="76" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE17" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE17_last_0" operation_key="FAKE17_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="160:185:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;160:185:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="203" rc-code="0" op-status="0" interval="0" last-run="1418355374" last-rc-change="1418355374" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE17_monitor_10000" operation_key="FAKE17_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="161:185:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;161:185:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="204" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355374" exec-time="11" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE18" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE18_last_0" operation_key="FAKE18_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="59:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;59:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="74" rc-code="7" op-status="0" interval="0" last-run="1418355339" last-rc-change="1418355339" exec-time="35" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE19" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE19_last_0" operation_key="FAKE19_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="60:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;60:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="78" rc-code="7" op-status="0" interval="0" last-run="1418355339" last-rc-change="1418355339" exec-time="31" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE20" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE20_last_0" operation_key="FAKE20_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="61:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;61:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="82" rc-code="7" op-status="0" interval="0" last-run="1418355340" last-rc-change="1418355340" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE21" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE21_last_0" operation_key="FAKE21_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="62:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;62:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="86" rc-code="7" op-status="0" interval="0" last-run="1418355340" last-rc-change="1418355340" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE22" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE22_last_0" operation_key="FAKE22_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="146:5:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;146:5:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="228" rc-code="0" op-status="0" interval="0" last-run="1418355545" last-rc-change="1418355545" exec-time="80" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE22_monitor_10000" operation_key="FAKE22_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="147:5:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;147:5:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="229" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355545" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE23" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE23_last_0" operation_key="FAKE23_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="64:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;64:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="94" rc-code="7" op-status="0" interval="0" last-run="1418355341" last-rc-change="1418355341" exec-time="34" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE24" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE24_last_0" operation_key="FAKE24_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="65:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;65:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="98" rc-code="7" op-status="0" interval="0" last-run="1418355341" last-rc-change="1418355341" exec-time="35" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE25" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE25_last_0" operation_key="FAKE25_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="163:187:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;163:187:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="205" rc-code="0" op-status="0" interval="0" last-run="1418355379" last-rc-change="1418355379" exec-time="123" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE25_monitor_10000" operation_key="FAKE25_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="164:187:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;164:187:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="206" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355379" exec-time="11" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE26" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE26_last_0" operation_key="FAKE26_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="67:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;67:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="106" rc-code="7" op-status="0" interval="0" last-run="1418355342" last-rc-change="1418355342" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE27" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE27_last_0" operation_key="FAKE27_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="68:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;68:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="110" rc-code="7" op-status="0" interval="0" last-run="1418355342" last-rc-change="1418355342" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE28" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE28_last_0" operation_key="FAKE28_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="69:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;69:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="114" rc-code="7" op-status="0" interval="0" last-run="1418355343" last-rc-change="1418355343" exec-time="44" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE29" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE29_last_0" operation_key="FAKE29_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="70:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;70:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="118" rc-code="7" op-status="0" interval="0" last-run="1418355343" last-rc-change="1418355343" exec-time="25" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE30" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE30_last_0" operation_key="FAKE30_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="71:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;71:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="122" rc-code="7" op-status="0" interval="0" last-run="1418355343" last-rc-change="1418355343" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE31" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE31_last_0" operation_key="FAKE31_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="72:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;72:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="126" rc-code="7" op-status="0" interval="0" last-run="1418355344" last-rc-change="1418355344" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE32" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE32_last_0" operation_key="FAKE32_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="73:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;73:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="130" rc-code="7" op-status="0" interval="0" last-run="1418355344" last-rc-change="1418355344" exec-time="134" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE33" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE33_last_0" operation_key="FAKE33_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="148:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;148:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="214" rc-code="0" op-status="0" interval="0" last-run="1418355389" last-rc-change="1418355389" exec-time="13" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE33_monitor_10000" operation_key="FAKE33_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="149:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;149:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="215" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355390" exec-time="13" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE34" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE34_last_0" operation_key="FAKE34_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="75:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;75:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="138" rc-code="7" op-status="0" interval="0" last-run="1418355345" last-rc-change="1418355345" exec-time="63" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE35" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE35_last_0" operation_key="FAKE35_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="76:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;76:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="142" rc-code="7" op-status="0" interval="0" last-run="1418355345" last-rc-change="1418355345" exec-time="34" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE36" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE36_last_0" operation_key="FAKE36_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="77:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;77:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="146" rc-code="7" op-status="0" interval="0" last-run="1418355346" last-rc-change="1418355346" exec-time="35" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE37" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE37_last_0" operation_key="FAKE37_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="78:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;78:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="150" rc-code="7" op-status="0" interval="0" last-run="1418355346" last-rc-change="1418355346" exec-time="35" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE38" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE38_last_0" operation_key="FAKE38_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="219:193:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;219:193:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="219" rc-code="0" op-status="0" interval="0" last-run="1418355407" last-rc-change="1418355407" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE38_monitor_10000" operation_key="FAKE38_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="177:189:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;177:189:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="208" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355383" exec-time="16" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE39" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE39_last_0" operation_key="FAKE39_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="80:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;80:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="158" rc-code="7" op-status="0" interval="0" last-run="1418355347" last-rc-change="1418355347" exec-time="33" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE40" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE40_last_0" operation_key="FAKE40_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="81:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;81:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="162" rc-code="7" op-status="0" interval="0" last-run="1418355347" last-rc-change="1418355347" exec-time="37" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE41" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE41_last_0" operation_key="FAKE41_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="82:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;82:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="166" rc-code="7" op-status="0" interval="0" last-run="1418355347" last-rc-change="1418355347" exec-time="56" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE42" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE42_last_0" operation_key="FAKE42_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="83:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;83:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="170" rc-code="7" op-status="0" interval="0" last-run="1418355348" last-rc-change="1418355348" exec-time="35" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE43" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE43_last_0" operation_key="FAKE43_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="159:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;159:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="225" rc-code="0" op-status="0" interval="0" last-run="1418355485" last-rc-change="1418355485" exec-time="11" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE43_monitor_10000" operation_key="FAKE43_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="160:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;160:209:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="226" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355485" exec-time="13" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE44" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE44_last_0" operation_key="FAKE44_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="85:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;85:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="178" rc-code="7" op-status="0" interval="0" last-run="1418355348" last-rc-change="1418355348" exec-time="30" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE45" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE45_last_0" operation_key="FAKE45_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="86:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;86:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="182" rc-code="7" op-status="0" interval="0" last-run="1418355349" last-rc-change="1418355349" exec-time="28" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE46" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE46_last_0" operation_key="FAKE46_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="87:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;87:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="186" rc-code="7" op-status="0" interval="0" last-run="1418355349" last-rc-change="1418355349" exec-time="25" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE47" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE47_last_0" operation_key="FAKE47_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="178:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;178:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="216" rc-code="0" op-status="0" interval="0" last-run="1418355390" last-rc-change="1418355390" exec-time="14" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE47_monitor_10000" operation_key="FAKE47_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="179:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;179:192:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="217" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355390" exec-time="13" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE48" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE48_last_0" operation_key="FAKE48_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="89:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;89:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="194" rc-code="7" op-status="0" interval="0" last-run="1418355350" last-rc-change="1418355350" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE49" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE49_last_0" operation_key="FAKE49_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="90:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;90:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="198" rc-code="7" op-status="0" interval="0" last-run="1418355350" last-rc-change="1418355350" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE50" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE50_last_0" operation_key="FAKE50_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="91:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;91:175:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="202" rc-code="7" op-status="0" interval="0" last-run="1418355350" last-rc-change="1418355350" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="pcmk_remote1">
++        <instance_attributes id="status-pcmk_remote1">
++          <nvpair id="status-pcmk_remote1-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state remote_node="true" id="pcmk_remote3" uname="pcmk_remote3" crm-debug-origin="post_cache_update">
++      <lrm id="pcmk_remote3">
++        <lrm_resources>
++          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="51:1:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;51:1:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="439" rc-code="7" op-status="0" interval="0" last-run="1418355538" last-rc-change="1418355538" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_failure_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="52:1:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;52:1:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="441" rc-code="0" op-status="0" interval="0" last-run="1418355538" last-rc-change="1418355538" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="52:1:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;52:1:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="441" rc-code="0" op-status="0" interval="0" last-run="1418355538" last-rc-change="1418355538" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE2_monitor_10000" operation_key="FAKE2_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="120:2:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;120:2:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="442" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355539" exec-time="95" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="52:2:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;52:2:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="444" rc-code="7" op-status="0" interval="0" last-run="1418355539" last-rc-change="1418355539" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="53:2:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;53:2:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="446" rc-code="7" op-status="0" interval="0" last-run="1418355539" last-rc-change="1418355539" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE5" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE5_last_0" operation_key="FAKE5_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="54:2:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;54:2:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="448" rc-code="7" op-status="0" interval="0" last-run="1418355539" last-rc-change="1418355539" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE6" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE6_last_0" operation_key="FAKE6_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="55:2:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;55:2:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="450" rc-code="7" op-status="0" interval="0" last-run="1418355539" last-rc-change="1418355539" exec-time="32" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE7" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE7_last_0" operation_key="FAKE7_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="56:2:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;56:2:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="452" rc-code="7" op-status="0" interval="0" last-run="1418355539" last-rc-change="1418355539" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE8" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE8_last_failure_0" operation_key="FAKE8_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="57:2:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;57:2:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="454" rc-code="0" op-status="0" interval="0" last-run="1418355540" last-rc-change="1418355540" exec-time="30" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE8_last_0" operation_key="FAKE8_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="57:2:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;57:2:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="454" rc-code="0" op-status="0" interval="0" last-run="1418355540" last-rc-change="1418355540" exec-time="30" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE8_monitor_10000" operation_key="FAKE8_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="128:3:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;128:3:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="455" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355540" exec-time="88" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE9" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE9_last_0" operation_key="FAKE9_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="53:3:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;53:3:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="457" rc-code="7" op-status="0" interval="0" last-run="1418355541" last-rc-change="1418355541" exec-time="30" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE10" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE10_last_0" operation_key="FAKE10_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="54:3:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;54:3:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="459" rc-code="7" op-status="0" interval="0" last-run="1418355541" last-rc-change="1418355541" exec-time="20" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE11" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE11_last_0" operation_key="FAKE11_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="55:3:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;55:3:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="461" rc-code="7" op-status="0" interval="0" last-run="1418355541" last-rc-change="1418355541" exec-time="81" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE12" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE12_last_0" operation_key="FAKE12_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="56:3:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;56:3:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="463" rc-code="7" op-status="0" interval="0" last-run="1418355541" last-rc-change="1418355541" exec-time="31" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE13" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE13_last_0" operation_key="FAKE13_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="57:3:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;57:3:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="465" rc-code="7" op-status="0" interval="0" last-run="1418355541" last-rc-change="1418355541" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE14" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE14_last_0" operation_key="FAKE14_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="58:3:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;58:3:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="467" rc-code="7" op-status="0" interval="0" last-run="1418355542" last-rc-change="1418355542" exec-time="50" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE15" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE15_last_0" operation_key="FAKE15_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="59:3:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;59:3:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="469" rc-code="7" op-status="0" interval="0" last-run="1418355542" last-rc-change="1418355542" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE16" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE16_last_failure_0" operation_key="FAKE16_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="60:3:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;60:3:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="471" rc-code="0" op-status="0" interval="0" last-run="1418355542" last-rc-change="1418355542" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE16_last_0" operation_key="FAKE16_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="60:3:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;60:3:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="471" rc-code="0" op-status="0" interval="0" last-run="1418355542" last-rc-change="1418355542" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE16_monitor_10000" operation_key="FAKE16_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="140:4:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;140:4:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="472" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355543" exec-time="11" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE17" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE17_last_0" operation_key="FAKE17_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="54:4:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;54:4:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="474" rc-code="7" op-status="0" interval="0" last-run="1418355543" last-rc-change="1418355543" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE18" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE18_last_0" operation_key="FAKE18_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="55:4:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;55:4:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="476" rc-code="7" op-status="0" interval="0" last-run="1418355543" last-rc-change="1418355543" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE19" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE19_last_0" operation_key="FAKE19_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="56:4:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;56:4:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="478" rc-code="7" op-status="0" interval="0" last-run="1418355544" last-rc-change="1418355544" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE20" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE20_last_0" operation_key="FAKE20_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="57:4:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;57:4:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="480" rc-code="7" op-status="0" interval="0" last-run="1418355544" last-rc-change="1418355544" exec-time="35" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE21" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE21_last_0" operation_key="FAKE21_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="58:4:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;58:4:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="482" rc-code="7" op-status="0" interval="0" last-run="1418355544" last-rc-change="1418355544" exec-time="72" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE22" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE22_last_0" operation_key="FAKE22_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="59:4:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;59:4:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="484" rc-code="7" op-status="0" interval="0" last-run="1418355544" last-rc-change="1418355544" exec-time="29" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE23" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE23_last_0" operation_key="FAKE23_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="60:4:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;60:4:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="486" rc-code="7" op-status="0" interval="0" last-run="1418355544" last-rc-change="1418355544" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE24" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE24_last_failure_0" operation_key="FAKE24_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="61:4:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;61:4:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="488" rc-code="0" op-status="0" interval="0" last-run="1418355544" last-rc-change="1418355544" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE24_last_0" operation_key="FAKE24_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="61:4:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;61:4:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="488" rc-code="0" op-status="0" interval="0" last-run="1418355544" last-rc-change="1418355544" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE24_monitor_10000" operation_key="FAKE24_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="152:5:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;152:5:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="489" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355545" exec-time="11" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE25" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE25_last_0" operation_key="FAKE25_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="57:5:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;57:5:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="491" rc-code="7" op-status="0" interval="0" last-run="1418355546" last-rc-change="1418355546" exec-time="14" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE26" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE26_last_0" operation_key="FAKE26_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="58:5:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;58:5:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="493" rc-code="7" op-status="0" interval="0" last-run="1418355546" last-rc-change="1418355546" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE27" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE27_last_0" operation_key="FAKE27_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="59:5:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;59:5:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="495" rc-code="7" op-status="0" interval="0" last-run="1418355546" last-rc-change="1418355546" exec-time="29" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE28" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE28_last_0" operation_key="FAKE28_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="60:5:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;60:5:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="497" rc-code="7" op-status="0" interval="0" last-run="1418355546" last-rc-change="1418355546" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE29" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE29_last_0" operation_key="FAKE29_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="61:5:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;61:5:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="499" rc-code="7" op-status="0" interval="0" last-run="1418355546" last-rc-change="1418355546" exec-time="79" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE30" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE30_last_0" operation_key="FAKE30_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="62:5:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;62:5:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="501" rc-code="7" op-status="0" interval="0" last-run="1418355547" last-rc-change="1418355547" exec-time="39" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE31" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE31_last_0" operation_key="FAKE31_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="63:5:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;63:5:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="503" rc-code="7" op-status="0" interval="0" last-run="1418355547" last-rc-change="1418355547" exec-time="27" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE32" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE32_last_failure_0" operation_key="FAKE32_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="64:5:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;64:5:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="505" rc-code="0" op-status="0" interval="0" last-run="1418355547" last-rc-change="1418355547" exec-time="25" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE32_last_0" operation_key="FAKE32_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="64:5:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;64:5:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="505" rc-code="0" op-status="0" interval="0" last-run="1418355547" last-rc-change="1418355547" exec-time="25" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE32_monitor_10000" operation_key="FAKE32_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="165:6:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;165:6:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="506" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355548" exec-time="72" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE33" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE33_last_0" operation_key="FAKE33_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="59:6:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;59:6:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="508" rc-code="7" op-status="0" interval="0" last-run="1418355548" last-rc-change="1418355548" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE34" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE34_last_0" operation_key="FAKE34_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="60:6:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;60:6:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="510" rc-code="7" op-status="0" interval="0" last-run="1418355548" last-rc-change="1418355548" exec-time="66" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE35" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE35_last_0" operation_key="FAKE35_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="61:6:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;61:6:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="512" rc-code="7" op-status="0" interval="0" last-run="1418355548" last-rc-change="1418355548" exec-time="34" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE36" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE36_last_0" operation_key="FAKE36_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="62:6:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;62:6:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="514" rc-code="7" op-status="0" interval="0" last-run="1418355548" last-rc-change="1418355548" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE37" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE37_last_0" operation_key="FAKE37_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="63:6:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;63:6:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="516" rc-code="7" op-status="0" interval="0" last-run="1418355549" last-rc-change="1418355549" exec-time="31" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE38" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE38_last_0" operation_key="FAKE38_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="64:6:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;64:6:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="518" rc-code="7" op-status="0" interval="0" last-run="1418355549" last-rc-change="1418355549" exec-time="29" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE39" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE39_last_0" operation_key="FAKE39_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="65:6:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;65:6:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="520" rc-code="7" op-status="0" interval="0" last-run="1418355549" last-rc-change="1418355549" exec-time="33" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE40" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE40_last_failure_0" operation_key="FAKE40_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="66:6:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;66:6:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="522" rc-code="0" op-status="0" interval="0" last-run="1418355549" last-rc-change="1418355549" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE40_last_0" operation_key="FAKE40_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="66:6:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;66:6:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="522" rc-code="0" op-status="0" interval="0" last-run="1418355549" last-rc-change="1418355549" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE40_monitor_10000" operation_key="FAKE40_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="177:7:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;177:7:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="523" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355550" exec-time="17" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE41" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE41_last_0" operation_key="FAKE41_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="60:7:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;60:7:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="525" rc-code="7" op-status="0" interval="0" last-run="1418355550" last-rc-change="1418355550" exec-time="25" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE42" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE42_last_0" operation_key="FAKE42_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="61:7:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;61:7:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="527" rc-code="7" op-status="0" interval="0" last-run="1418355550" last-rc-change="1418355550" exec-time="70" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE43" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE43_last_0" operation_key="FAKE43_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="62:7:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;62:7:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="529" rc-code="7" op-status="0" interval="0" last-run="1418355551" last-rc-change="1418355551" exec-time="34" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE44" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE44_last_0" operation_key="FAKE44_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="63:7:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;63:7:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="531" rc-code="7" op-status="0" interval="0" last-run="1418355551" last-rc-change="1418355551" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE45" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE45_last_0" operation_key="FAKE45_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="64:7:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;64:7:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="533" rc-code="7" op-status="0" interval="0" last-run="1418355551" last-rc-change="1418355551" exec-time="59" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE46" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE46_last_0" operation_key="FAKE46_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="65:7:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;65:7:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="535" rc-code="7" op-status="0" interval="0" last-run="1418355551" last-rc-change="1418355551" exec-time="27" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE47" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE47_last_0" operation_key="FAKE47_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="66:7:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;66:7:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="537" rc-code="7" op-status="0" interval="0" last-run="1418355551" last-rc-change="1418355551" exec-time="33" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE48" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE48_last_0" operation_key="FAKE48_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="67:7:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;67:7:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="539" rc-code="7" op-status="0" interval="0" last-run="1418355552" last-rc-change="1418355552" exec-time="62" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE49" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE49_last_failure_0" operation_key="FAKE49_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="68:7:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;68:7:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="541" rc-code="0" op-status="0" interval="0" last-run="1418355552" last-rc-change="1418355552" exec-time="35" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE49_last_0" operation_key="FAKE49_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="68:7:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;68:7:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="541" rc-code="0" op-status="0" interval="0" last-run="1418355552" last-rc-change="1418355552" exec-time="35" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE49_monitor_10000" operation_key="FAKE49_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="252:38:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:0;252:38:0:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="544" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355568" exec-time="42" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE50" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE50_last_0" operation_key="FAKE50_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="63:8:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;63:8:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="543" rc-code="7" op-status="0" interval="0" last-run="1418355553" last-rc-change="1418355553" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="pcmk_remote3">
++        <instance_attributes id="status-pcmk_remote3">
++          <nvpair id="status-pcmk_remote3-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state remote_node="true" id="pcmk_remote4" uname="pcmk_remote4" crm-debug-origin="post_cache_update">
++      <lrm id="pcmk_remote4">
++        <lrm_resources>
++          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="71:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;71:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="6" rc-code="7" op-status="0" interval="0" last-run="1418355506" last-rc-change="1418355506" exec-time="30" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="72:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;72:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="10" rc-code="7" op-status="0" interval="0" last-run="1418355506" last-rc-change="1418355506" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="73:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;73:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="14" rc-code="7" op-status="0" interval="0" last-run="1418355507" last-rc-change="1418355507" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="74:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;74:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="18" rc-code="7" op-status="0" interval="0" last-run="1418355507" last-rc-change="1418355507" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE5" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE5_last_0" operation_key="FAKE5_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="75:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;75:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="22" rc-code="7" op-status="0" interval="0" last-run="1418355507" last-rc-change="1418355507" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE6" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE6_last_0" operation_key="FAKE6_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="76:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;76:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="26" rc-code="7" op-status="0" interval="0" last-run="1418355508" last-rc-change="1418355508" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE7" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE7_last_0" operation_key="FAKE7_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="77:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;77:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="30" rc-code="7" op-status="0" interval="0" last-run="1418355508" last-rc-change="1418355508" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE8" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE8_last_0" operation_key="FAKE8_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="78:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;78:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="34" rc-code="7" op-status="0" interval="0" last-run="1418355509" last-rc-change="1418355509" exec-time="37" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE9" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE9_last_0" operation_key="FAKE9_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="79:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;79:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="38" rc-code="7" op-status="0" interval="0" last-run="1418355509" last-rc-change="1418355509" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE10" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE10_last_0" operation_key="FAKE10_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="80:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;80:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="42" rc-code="7" op-status="0" interval="0" last-run="1418355509" last-rc-change="1418355509" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE11" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE11_last_0" operation_key="FAKE11_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="81:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;81:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="46" rc-code="7" op-status="0" interval="0" last-run="1418355510" last-rc-change="1418355510" exec-time="47" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE12" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE12_last_0" operation_key="FAKE12_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="82:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;82:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="50" rc-code="7" op-status="0" interval="0" last-run="1418355510" last-rc-change="1418355510" exec-time="57" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE13" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE13_last_0" operation_key="FAKE13_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="83:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;83:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="54" rc-code="7" op-status="0" interval="0" last-run="1418355510" last-rc-change="1418355510" exec-time="128" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE14" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE14_last_0" operation_key="FAKE14_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="84:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;84:212:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="58" rc-code="7" op-status="0" interval="0" last-run="1418355511" last-rc-change="1418355511" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE15" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE15_last_0" operation_key="FAKE15_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="59:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;59:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="62" rc-code="7" op-status="0" interval="0" last-run="1418355518" last-rc-change="1418355518" exec-time="38" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE16" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE16_last_0" operation_key="FAKE16_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="60:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;60:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="66" rc-code="7" op-status="0" interval="0" last-run="1418355518" last-rc-change="1418355518" exec-time="35" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE17" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE17_last_0" operation_key="FAKE17_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="61:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;61:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="70" rc-code="7" op-status="0" interval="0" last-run="1418355518" last-rc-change="1418355518" exec-time="36" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE18" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE18_last_0" operation_key="FAKE18_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="62:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;62:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="74" rc-code="7" op-status="0" interval="0" last-run="1418355519" last-rc-change="1418355519" exec-time="35" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE19" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE19_last_0" operation_key="FAKE19_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="63:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;63:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="78" rc-code="7" op-status="0" interval="0" last-run="1418355519" last-rc-change="1418355519" exec-time="36" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE20" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE20_last_0" operation_key="FAKE20_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="64:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;64:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="82" rc-code="7" op-status="0" interval="0" last-run="1418355519" last-rc-change="1418355519" exec-time="36" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE21" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE21_last_0" operation_key="FAKE21_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="65:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;65:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="86" rc-code="7" op-status="0" interval="0" last-run="1418355520" last-rc-change="1418355520" exec-time="35" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE22" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE22_last_0" operation_key="FAKE22_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="66:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;66:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="90" rc-code="7" op-status="0" interval="0" last-run="1418355520" last-rc-change="1418355520" exec-time="36" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE23" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE23_last_0" operation_key="FAKE23_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="67:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;67:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="94" rc-code="7" op-status="0" interval="0" last-run="1418355520" last-rc-change="1418355520" exec-time="35" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE24" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE24_last_0" operation_key="FAKE24_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="68:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;68:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="98" rc-code="7" op-status="0" interval="0" last-run="1418355521" last-rc-change="1418355521" exec-time="35" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE25" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE25_last_0" operation_key="FAKE25_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="69:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;69:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="102" rc-code="7" op-status="0" interval="0" last-run="1418355521" last-rc-change="1418355521" exec-time="135" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE26" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE26_last_0" operation_key="FAKE26_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="70:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;70:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="106" rc-code="7" op-status="0" interval="0" last-run="1418355522" last-rc-change="1418355522" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE27" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE27_last_0" operation_key="FAKE27_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="71:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;71:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="110" rc-code="7" op-status="0" interval="0" last-run="1418355522" last-rc-change="1418355522" exec-time="21" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE28" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE28_last_0" operation_key="FAKE28_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="72:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;72:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="114" rc-code="7" op-status="0" interval="0" last-run="1418355522" last-rc-change="1418355522" exec-time="29" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE29" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE29_last_0" operation_key="FAKE29_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="73:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;73:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="118" rc-code="7" op-status="0" interval="0" last-run="1418355523" last-rc-change="1418355523" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE30" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE30_last_0" operation_key="FAKE30_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="74:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;74:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="122" rc-code="7" op-status="0" interval="0" last-run="1418355523" last-rc-change="1418355523" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE31" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE31_last_0" operation_key="FAKE31_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="75:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;75:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="126" rc-code="7" op-status="0" interval="0" last-run="1418355523" last-rc-change="1418355523" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE32" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE32_last_0" operation_key="FAKE32_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="76:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;76:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="130" rc-code="7" op-status="0" interval="0" last-run="1418355524" last-rc-change="1418355524" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE33" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE33_last_0" operation_key="FAKE33_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="77:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;77:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="134" rc-code="7" op-status="0" interval="0" last-run="1418355524" last-rc-change="1418355524" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE34" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE34_last_0" operation_key="FAKE34_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="78:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;78:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="138" rc-code="7" op-status="0" interval="0" last-run="1418355524" last-rc-change="1418355524" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE35" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE35_last_0" operation_key="FAKE35_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="79:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;79:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="142" rc-code="7" op-status="0" interval="0" last-run="1418355525" last-rc-change="1418355525" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE36" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE36_last_0" operation_key="FAKE36_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="80:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;80:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="146" rc-code="7" op-status="0" interval="0" last-run="1418355525" last-rc-change="1418355525" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE37" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE37_last_0" operation_key="FAKE37_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="81:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;81:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="150" rc-code="7" op-status="0" interval="0" last-run="1418355525" last-rc-change="1418355525" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE38" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE38_last_0" operation_key="FAKE38_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="82:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;82:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="154" rc-code="7" op-status="0" interval="0" last-run="1418355526" last-rc-change="1418355526" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE39" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE39_last_0" operation_key="FAKE39_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="83:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;83:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="158" rc-code="7" op-status="0" interval="0" last-run="1418355526" last-rc-change="1418355526" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE40" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE40_last_0" operation_key="FAKE40_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="84:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;84:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="162" rc-code="7" op-status="0" interval="0" last-run="1418355526" last-rc-change="1418355526" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE41" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE41_last_0" operation_key="FAKE41_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="85:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;85:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="166" rc-code="7" op-status="0" interval="0" last-run="1418355527" last-rc-change="1418355527" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE42" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE42_last_0" operation_key="FAKE42_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="86:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;86:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="170" rc-code="7" op-status="0" interval="0" last-run="1418355527" last-rc-change="1418355527" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE43" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE43_last_0" operation_key="FAKE43_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="87:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;87:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="174" rc-code="7" op-status="0" interval="0" last-run="1418355527" last-rc-change="1418355527" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE44" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE44_last_0" operation_key="FAKE44_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="88:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;88:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="178" rc-code="7" op-status="0" interval="0" last-run="1418355528" last-rc-change="1418355528" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE45" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE45_last_0" operation_key="FAKE45_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="89:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;89:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="182" rc-code="7" op-status="0" interval="0" last-run="1418355528" last-rc-change="1418355528" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE46" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE46_last_0" operation_key="FAKE46_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="90:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;90:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="186" rc-code="7" op-status="0" interval="0" last-run="1418355529" last-rc-change="1418355529" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE47" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE47_last_0" operation_key="FAKE47_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="91:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;91:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="190" rc-code="7" op-status="0" interval="0" last-run="1418355529" last-rc-change="1418355529" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE48" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE48_last_0" operation_key="FAKE48_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="92:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;92:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="194" rc-code="7" op-status="0" interval="0" last-run="1418355529" last-rc-change="1418355529" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE49" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE49_last_0" operation_key="FAKE49_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="93:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;93:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="198" rc-code="7" op-status="0" interval="0" last-run="1418355530" last-rc-change="1418355530" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE50" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE50_last_0" operation_key="FAKE50_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="94:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" transition-magic="0:7;94:0:7:551c89ca-c0cf-4f08-bf7e-996ff49d40a8" call-id="202" rc-code="7" op-status="0" interval="0" last-run="1418355530" last-rc-change="1418355530" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="pcmk_remote4">
++        <instance_attributes id="status-pcmk_remote4">
++          <nvpair id="status-pcmk_remote4-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state remote_node="true" id="pcmk_remote5" uname="pcmk_remote5" crm-debug-origin="post_cache_update">
++      <lrm id="pcmk_remote5">
++        <lrm_resources>
++          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="106:97:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;106:97:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="59" rc-code="7" op-status="0" interval="0" last-run="1418354929" last-rc-change="1418354929" exec-time="17" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="107:97:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;107:97:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="61" rc-code="7" op-status="0" interval="0" last-run="1418354929" last-rc-change="1418354929" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="108:97:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;108:97:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="63" rc-code="7" op-status="0" interval="0" last-run="1418354929" last-rc-change="1418354929" exec-time="25" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="81:131:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;81:131:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="253" rc-code="0" op-status="0" interval="0" last-run="1418355098" last-rc-change="1418355098" exec-time="305" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE4_monitor_10000" operation_key="FAKE4_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="76:139:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;76:139:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="256" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355143" exec-time="90" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE5" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE5_last_0" operation_key="FAKE5_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="88:151:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;88:151:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="260" rc-code="0" op-status="0" interval="0" last-run="1418355207" last-rc-change="1418355207" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE5_monitor_10000" operation_key="FAKE5_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="92:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;92:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="233" rc-code="0" op-status="0" interval="10000" last-rc-change="1418354956" exec-time="11" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE6" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE6_last_0" operation_key="FAKE6_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="104:98:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;104:98:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="69" rc-code="7" op-status="0" interval="0" last-run="1418354931" last-rc-change="1418354931" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE7" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE7_last_0" operation_key="FAKE7_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="105:98:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;105:98:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="71" rc-code="7" op-status="0" interval="0" last-run="1418354931" last-rc-change="1418354931" exec-time="35" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE8" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE8_last_0" operation_key="FAKE8_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="106:98:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;106:98:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="73" rc-code="7" op-status="0" interval="0" last-run="1418354932" last-rc-change="1418354932" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE9" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE9_last_0" operation_key="FAKE9_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="107:98:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;107:98:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="75" rc-code="7" op-status="0" interval="0" last-run="1418354932" last-rc-change="1418354932" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE10" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE10_last_0" operation_key="FAKE10_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="98:152:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;98:152:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="264" rc-code="0" op-status="0" interval="0" last-run="1418355209" last-rc-change="1418355209" exec-time="81" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE10_monitor_10000" operation_key="FAKE10_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="99:152:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;99:152:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="265" rc-code="0" op-status="0" interval="10000" last-rc-change="1418355209" exec-time="147" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE11" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE11_last_0" operation_key="FAKE11_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="109:98:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;109:98:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="79" rc-code="7" op-status="0" interval="0" last-run="1418354932" last-rc-change="1418354932" exec-time="124" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE12" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE12_last_0" operation_key="FAKE12_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="97:99:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;97:99:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="81" rc-code="7" op-status="0" interval="0" last-run="1418354934" last-rc-change="1418354934" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE13" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE13_last_0" operation_key="FAKE13_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="98:99:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;98:99:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="83" rc-code="7" op-status="0" interval="0" last-run="1418354934" last-rc-change="1418354934" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE14" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE14_last_0" operation_key="FAKE14_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="99:99:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;99:99:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="87" rc-code="7" op-status="0" interval="0" last-run="1418354934" last-rc-change="1418354934" exec-time="25" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE15" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE15_last_0" operation_key="FAKE15_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="100:99:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;100:99:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="91" rc-code="7" op-status="0" interval="0" last-run="1418354935" last-rc-change="1418354935" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE16" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE16_last_0" operation_key="FAKE16_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="101:99:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;101:99:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="95" rc-code="7" op-status="0" interval="0" last-run="1418354935" last-rc-change="1418354935" exec-time="26" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE17" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE17_last_0" operation_key="FAKE17_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="102:99:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;102:99:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="99" rc-code="7" op-status="0" interval="0" last-run="1418354936" last-rc-change="1418354936" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE18" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE18_last_0" operation_key="FAKE18_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="122:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;122:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="236" rc-code="0" op-status="0" interval="0" last-run="1418354957" last-rc-change="1418354957" exec-time="38" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE18_monitor_10000" operation_key="FAKE18_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="123:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;123:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="237" rc-code="0" op-status="0" interval="10000" last-rc-change="1418354957" exec-time="25" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE19" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE19_last_0" operation_key="FAKE19_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="104:99:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;104:99:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="107" rc-code="7" op-status="0" interval="0" last-run="1418354937" last-rc-change="1418354937" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE20" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE20_last_0" operation_key="FAKE20_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="90:100:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;90:100:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="111" rc-code="7" op-status="0" interval="0" last-run="1418354938" last-rc-change="1418354938" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE21" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE21_last_0" operation_key="FAKE21_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="91:100:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;91:100:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="115" rc-code="7" op-status="0" interval="0" last-run="1418354938" last-rc-change="1418354938" exec-time="131" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE22" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE22_last_0" operation_key="FAKE22_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="92:100:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;92:100:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="119" rc-code="7" op-status="0" interval="0" last-run="1418354939" last-rc-change="1418354939" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE23" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE23_last_0" operation_key="FAKE23_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="93:100:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;93:100:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="123" rc-code="7" op-status="0" interval="0" last-run="1418354939" last-rc-change="1418354939" exec-time="34" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE24" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE24_last_0" operation_key="FAKE24_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="94:100:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;94:100:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="127" rc-code="7" op-status="0" interval="0" last-run="1418354940" last-rc-change="1418354940" exec-time="27" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE25" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE25_last_0" operation_key="FAKE25_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="95:100:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;95:100:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="131" rc-code="7" op-status="0" interval="0" last-run="1418354940" last-rc-change="1418354940" exec-time="99" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE26" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE26_last_0" operation_key="FAKE26_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="142:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;142:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="238" rc-code="0" op-status="0" interval="0" last-run="1418354958" last-rc-change="1418354958" exec-time="56" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE26_monitor_10000" operation_key="FAKE26_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="143:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;143:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="239" rc-code="0" op-status="0" interval="10000" last-rc-change="1418354958" exec-time="59" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE27" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE27_last_0" operation_key="FAKE27_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="97:100:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;97:100:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="139" rc-code="7" op-status="0" interval="0" last-run="1418354941" last-rc-change="1418354941" exec-time="25" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE28" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE28_last_0" operation_key="FAKE28_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="84:101:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;84:101:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="143" rc-code="7" op-status="0" interval="0" last-run="1418354942" last-rc-change="1418354942" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE29" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE29_last_0" operation_key="FAKE29_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="85:101:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;85:101:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="147" rc-code="7" op-status="0" interval="0" last-run="1418354943" last-rc-change="1418354943" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE30" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE30_last_0" operation_key="FAKE30_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="86:101:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;86:101:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="151" rc-code="7" op-status="0" interval="0" last-run="1418354943" last-rc-change="1418354943" exec-time="44" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE31" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE31_last_0" operation_key="FAKE31_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="87:101:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;87:101:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="155" rc-code="7" op-status="0" interval="0" last-run="1418354944" last-rc-change="1418354944" exec-time="150" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE32" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE32_last_0" operation_key="FAKE32_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="88:101:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;88:101:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="159" rc-code="7" op-status="0" interval="0" last-run="1418354944" last-rc-change="1418354944" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE33" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE33_last_0" operation_key="FAKE33_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="89:101:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;89:101:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="163" rc-code="7" op-status="0" interval="0" last-run="1418354945" last-rc-change="1418354945" exec-time="30" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE34" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE34_last_0" operation_key="FAKE34_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="162:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;162:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="240" rc-code="0" op-status="0" interval="0" last-run="1418354959" last-rc-change="1418354959" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE34_monitor_10000" operation_key="FAKE34_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="163:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;163:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="241" rc-code="0" op-status="0" interval="10000" last-rc-change="1418354959" exec-time="27" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE35" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE35_last_0" operation_key="FAKE35_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="91:101:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;91:101:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="171" rc-code="7" op-status="0" interval="0" last-run="1418354946" last-rc-change="1418354946" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE36" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE36_last_0" operation_key="FAKE36_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="78:102:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;78:102:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="175" rc-code="7" op-status="0" interval="0" last-run="1418354947" last-rc-change="1418354947" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE37" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE37_last_0" operation_key="FAKE37_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="79:102:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;79:102:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="179" rc-code="7" op-status="0" interval="0" last-run="1418354947" last-rc-change="1418354947" exec-time="33" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE38" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE38_last_0" operation_key="FAKE38_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="80:102:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;80:102:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="183" rc-code="7" op-status="0" interval="0" last-run="1418354948" last-rc-change="1418354948" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE39" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE39_last_0" operation_key="FAKE39_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="81:102:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;81:102:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="187" rc-code="7" op-status="0" interval="0" last-run="1418354948" last-rc-change="1418354948" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE40" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE40_last_0" operation_key="FAKE40_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="82:102:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;82:102:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="191" rc-code="7" op-status="0" interval="0" last-run="1418354949" last-rc-change="1418354949" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE41" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE41_last_0" operation_key="FAKE41_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="83:102:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;83:102:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="195" rc-code="7" op-status="0" interval="0" last-run="1418354949" last-rc-change="1418354949" exec-time="162" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE42" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE42_last_0" operation_key="FAKE42_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="181:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;181:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="242" rc-code="0" op-status="0" interval="0" last-run="1418354959" last-rc-change="1418354959" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE42_monitor_10000" operation_key="FAKE42_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="182:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;182:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="243" rc-code="0" op-status="0" interval="10000" last-rc-change="1418354959" exec-time="25" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk2"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE43" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE43_last_0" operation_key="FAKE43_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="85:102:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;85:102:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="203" rc-code="7" op-status="0" interval="0" last-run="1418354950" last-rc-change="1418354950" exec-time="42" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE44" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE44_last_0" operation_key="FAKE44_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="72:103:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;72:103:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="207" rc-code="7" op-status="0" interval="0" last-run="1418354952" last-rc-change="1418354952" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE45" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE45_last_0" operation_key="FAKE45_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="73:103:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;73:103:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="211" rc-code="7" op-status="0" interval="0" last-run="1418354952" last-rc-change="1418354952" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE46" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE46_last_0" operation_key="FAKE46_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="74:103:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;74:103:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="215" rc-code="7" op-status="0" interval="0" last-run="1418354952" last-rc-change="1418354952" exec-time="47" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE47" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE47_last_0" operation_key="FAKE47_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="75:103:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;75:103:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="219" rc-code="7" op-status="0" interval="0" last-run="1418354953" last-rc-change="1418354953" exec-time="28" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE48" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE48_last_0" operation_key="FAKE48_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="76:103:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;76:103:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="223" rc-code="7" op-status="0" interval="0" last-run="1418354953" last-rc-change="1418354953" exec-time="131" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE49" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE49_last_0" operation_key="FAKE49_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="77:103:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:7;77:103:7:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="227" rc-code="7" op-status="0" interval="0" last-run="1418354954" last-rc-change="1418354954" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE50" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE50_last_0" operation_key="FAKE50_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="200:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;200:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="244" rc-code="0" op-status="0" interval="0" last-run="1418354964" last-rc-change="1418354964" exec-time="28" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="pcmk2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE50_monitor_10000" operation_key="FAKE50_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="201:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" transition-magic="0:0;201:104:0:b25085e3-1f7b-4427-9a9d-553b1a9993e3" call-id="245" rc-code="0" op-status="0" interval="10000" last-rc-change="1418354964" exec-time="25" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="pcmk2"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="pcmk_remote5">
++        <instance_attributes id="status-pcmk_remote5">
++          <nvpair id="status-pcmk_remote5-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++  </status>
++</cib>
+diff --git a/pengine/test10/remote-recover-fail.dot b/pengine/test10/remote-recover-fail.dot
+new file mode 100644
+index 0000000..a920089
+--- /dev/null
++++ b/pengine/test10/remote-recover-fail.dot
+@@ -0,0 +1,36 @@
++ digraph "g" {
++"FAKE1_monitor_10000 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
++"FAKE1_start_0 rhel7-auto2" -> "FAKE1_monitor_10000 rhel7-auto2" [ style = bold]
++"FAKE1_start_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
++"FAKE2_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"FAKE2_start_0 rhel7-auto3" -> "FAKE2_monitor_10000 rhel7-auto3" [ style = bold]
++"FAKE2_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"FAKE2_stop_0 rhel7-auto4" -> "FAKE2_start_0 rhel7-auto3" [ style = bold]
++"FAKE2_stop_0 rhel7-auto4" -> "all_stopped" [ style = bold]
++"FAKE2_stop_0 rhel7-auto4" [ style=bold color="green" fontcolor="orange"]
++"FAKE3_monitor_10000 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
++"FAKE4_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"FAKE6_monitor_10000 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
++"FAKE6_start_0 rhel7-auto2" -> "FAKE6_monitor_10000 rhel7-auto2" [ style = bold]
++"FAKE6_start_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
++"FAKE6_stop_0 rhel7-auto4" -> "FAKE6_start_0 rhel7-auto2" [ style = bold]
++"FAKE6_stop_0 rhel7-auto4" -> "all_stopped" [ style = bold]
++"FAKE6_stop_0 rhel7-auto4" [ style=bold color="green" fontcolor="orange"]
++"all_stopped" [ style=bold color="green" fontcolor="orange"]
++"rhel7-auto4_monitor_60000 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
++"rhel7-auto4_start_0 rhel7-auto2" -> "rhel7-auto4_monitor_60000 rhel7-auto2" [ style = bold]
++"rhel7-auto4_start_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
++"rhel7-auto4_stop_0 rhel7-auto2" -> "all_stopped" [ style = bold]
++"rhel7-auto4_stop_0 rhel7-auto2" -> "rhel7-auto4_start_0 rhel7-auto2" [ style = bold]
++"rhel7-auto4_stop_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
++"stonith 'reboot' rhel7-auto4" -> "FAKE2_stop_0 rhel7-auto4" [ style = bold]
++"stonith 'reboot' rhel7-auto4" -> "FAKE6_stop_0 rhel7-auto4" [ style = bold]
++"stonith 'reboot' rhel7-auto4" -> "stonith_complete" [ style = bold]
++"stonith 'reboot' rhel7-auto4" [ style=bold color="green" fontcolor="black"]
++"stonith_complete" -> "FAKE1_start_0 rhel7-auto2" [ style = bold]
++"stonith_complete" -> "FAKE2_start_0 rhel7-auto3" [ style = bold]
++"stonith_complete" -> "FAKE6_start_0 rhel7-auto2" [ style = bold]
++"stonith_complete" -> "all_stopped" [ style = bold]
++"stonith_complete" -> "rhel7-auto4_start_0 rhel7-auto2" [ style = bold]
++"stonith_complete" [ style=bold color="green" fontcolor="orange"]
++}
+diff --git a/pengine/test10/remote-recover-fail.exp b/pengine/test10/remote-recover-fail.exp
+new file mode 100644
+index 0000000..dee4acf
+--- /dev/null
++++ b/pengine/test10/remote-recover-fail.exp
+@@ -0,0 +1,207 @@
++<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
++  <synapse id="0">
++    <action_set>
++      <rsc_op id="12" operation="monitor" operation_key="rhel7-auto4_monitor_60000" on_node="rhel7-auto2" on_node_uuid="2">
++        <primitive id="rhel7-auto4" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="30000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="11" operation="start" operation_key="rhel7-auto4_start_0" on_node="rhel7-auto2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="1">
++    <action_set>
++      <rsc_op id="11" operation="start" operation_key="rhel7-auto4_start_0" on_node="rhel7-auto2" on_node_uuid="2">
++        <primitive id="rhel7-auto4" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="60000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="3" operation="stop" operation_key="rhel7-auto4_stop_0" on_node="rhel7-auto2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="29" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="2">
++    <action_set>
++      <rsc_op id="3" operation="stop" operation_key="rhel7-auto4_stop_0" on_node="rhel7-auto2" on_node_uuid="2">
++        <primitive id="rhel7-auto4" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="60000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="3">
++    <action_set>
++      <rsc_op id="14" operation="monitor" operation_key="FAKE1_monitor_10000" on_node="rhel7-auto2" on_node_uuid="2">
++        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="13" operation="start" operation_key="FAKE1_start_0" on_node="rhel7-auto2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="4">
++    <action_set>
++      <rsc_op id="13" operation="start" operation_key="FAKE1_start_0" on_node="rhel7-auto2" on_node_uuid="2">
++        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="29" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="5">
++    <action_set>
++      <rsc_op id="17" operation="monitor" operation_key="FAKE2_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="16" operation="start" operation_key="FAKE2_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="6">
++    <action_set>
++      <rsc_op id="16" operation="start" operation_key="FAKE2_start_0" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="15" operation="stop" operation_key="FAKE2_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="29" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="7">
++    <action_set>
++      <pseudo_event id="15" operation="stop" operation_key="FAKE2_stop_0">
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <crm_event id="30" operation="stonith" operation_key="stonith-rhel7-auto4-reboot" on_node="rhel7-auto4" on_node_uuid="rhel7-auto4" router_node="rhel7-auto2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="8">
++    <action_set>
++      <rsc_op id="20" operation="monitor" operation_key="FAKE3_monitor_10000" on_node="rhel7-auto2" on_node_uuid="2">
++        <primitive id="FAKE3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="9">
++    <action_set>
++      <rsc_op id="23" operation="monitor" operation_key="FAKE4_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="FAKE4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="10">
++    <action_set>
++      <rsc_op id="28" operation="monitor" operation_key="FAKE6_monitor_10000" on_node="rhel7-auto2" on_node_uuid="2">
++        <primitive id="FAKE6" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="27" operation="start" operation_key="FAKE6_start_0" on_node="rhel7-auto2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="11">
++    <action_set>
++      <rsc_op id="27" operation="start" operation_key="FAKE6_start_0" on_node="rhel7-auto2" on_node_uuid="2">
++        <primitive id="FAKE6" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="26" operation="stop" operation_key="FAKE6_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="29" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="12">
++    <action_set>
++      <pseudo_event id="26" operation="stop" operation_key="FAKE6_stop_0">
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <crm_event id="30" operation="stonith" operation_key="stonith-rhel7-auto4-reboot" on_node="rhel7-auto4" on_node_uuid="rhel7-auto4" router_node="rhel7-auto2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="13">
++    <action_set>
++      <crm_event id="30" operation="stonith" operation_key="stonith-rhel7-auto4-reboot" on_node="rhel7-auto4" on_node_uuid="rhel7-auto4" router_node="rhel7-auto2">
++        <attributes CRM_meta_on_node="rhel7-auto4" CRM_meta_on_node_uuid="rhel7-auto4" CRM_meta_probe_complete="true" CRM_meta_stonith_action="reboot" />
++      </crm_event>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="14">
++    <action_set>
++      <pseudo_event id="29" operation="stonith_complete" operation_key="stonith_complete">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <crm_event id="30" operation="stonith" operation_key="stonith-rhel7-auto4-reboot" on_node="rhel7-auto4" on_node_uuid="rhel7-auto4" router_node="rhel7-auto2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="15">
++    <action_set>
++      <pseudo_event id="4" operation="all_stopped" operation_key="all_stopped">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="3" operation="stop" operation_key="rhel7-auto4_stop_0" on_node="rhel7-auto2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="15" operation="stop" operation_key="FAKE2_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="26" operation="stop" operation_key="FAKE6_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="29" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++</transition_graph>
+diff --git a/pengine/test10/remote-recover-fail.scores b/pengine/test10/remote-recover-fail.scores
+new file mode 100644
+index 0000000..8fc7805
+--- /dev/null
++++ b/pengine/test10/remote-recover-fail.scores
+@@ -0,0 +1,33 @@
++Allocation scores:
++native_color: FAKE1 allocation score on rhel7-auto1: 0
++native_color: FAKE1 allocation score on rhel7-auto2: 0
++native_color: FAKE1 allocation score on rhel7-auto3: 0
++native_color: FAKE1 allocation score on rhel7-auto4: 0
++native_color: FAKE2 allocation score on rhel7-auto1: 0
++native_color: FAKE2 allocation score on rhel7-auto2: 0
++native_color: FAKE2 allocation score on rhel7-auto3: 0
++native_color: FAKE2 allocation score on rhel7-auto4: 0
++native_color: FAKE3 allocation score on rhel7-auto1: 0
++native_color: FAKE3 allocation score on rhel7-auto2: 0
++native_color: FAKE3 allocation score on rhel7-auto3: 0
++native_color: FAKE3 allocation score on rhel7-auto4: 0
++native_color: FAKE4 allocation score on rhel7-auto1: 0
++native_color: FAKE4 allocation score on rhel7-auto2: 0
++native_color: FAKE4 allocation score on rhel7-auto3: 0
++native_color: FAKE4 allocation score on rhel7-auto4: 0
++native_color: FAKE5 allocation score on rhel7-auto1: 0
++native_color: FAKE5 allocation score on rhel7-auto2: 0
++native_color: FAKE5 allocation score on rhel7-auto3: 0
++native_color: FAKE5 allocation score on rhel7-auto4: 0
++native_color: FAKE6 allocation score on rhel7-auto1: 0
++native_color: FAKE6 allocation score on rhel7-auto2: 0
++native_color: FAKE6 allocation score on rhel7-auto3: 0
++native_color: FAKE6 allocation score on rhel7-auto4: 0
++native_color: rhel7-auto4 allocation score on rhel7-auto1: 0
++native_color: rhel7-auto4 allocation score on rhel7-auto2: 0
++native_color: rhel7-auto4 allocation score on rhel7-auto3: 0
++native_color: rhel7-auto4 allocation score on rhel7-auto4: -INFINITY
++native_color: shooter allocation score on rhel7-auto1: 0
++native_color: shooter allocation score on rhel7-auto2: 0
++native_color: shooter allocation score on rhel7-auto3: 0
++native_color: shooter allocation score on rhel7-auto4: -INFINITY
+diff --git a/pengine/test10/remote-recover-fail.summary b/pengine/test10/remote-recover-fail.summary
+new file mode 100644
+index 0000000..2811fdc
+--- /dev/null
++++ b/pengine/test10/remote-recover-fail.summary
+@@ -0,0 +1,53 @@
++
++Current cluster status:
++RemoteNode rhel7-auto4: UNCLEAN (offline)
++Online: [ rhel7-auto2 rhel7-auto3 ]
++OFFLINE: [ rhel7-auto1 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto3 
++ rhel7-auto4	(ocf::pacemaker:remote):	FAILED rhel7-auto2 
++ FAKE1	(ocf::heartbeat:Dummy):	Stopped 
++ FAKE2	(ocf::heartbeat:Dummy):	Started rhel7-auto4 
++ FAKE3	(ocf::heartbeat:Dummy):	Started rhel7-auto2 
++ FAKE4	(ocf::heartbeat:Dummy):	Started rhel7-auto3 
++ FAKE5	(ocf::heartbeat:Dummy):	Started rhel7-auto3 
++ FAKE6	(ocf::heartbeat:Dummy):	Started rhel7-auto4 
++
++Transition Summary:
++ * Recover rhel7-auto4	(Started rhel7-auto2)
++ * Start   FAKE1	(rhel7-auto2)
++ * Move    FAKE2	(Started rhel7-auto4 -> rhel7-auto3)
++ * Move    FAKE6	(Started rhel7-auto4 -> rhel7-auto2)
++
++Executing cluster transition:
++ * Resource action: rhel7-auto4     stop on rhel7-auto2
++ * Resource action: FAKE3           monitor=10000 on rhel7-auto2
++ * Resource action: FAKE4           monitor=10000 on rhel7-auto3
++ * Fencing rhel7-auto4 (reboot)
++ * Pseudo action:   stonith_complete
++ * Resource action: rhel7-auto4     start on rhel7-auto2
++ * Resource action: FAKE1           start on rhel7-auto2
++ * Pseudo action:   FAKE2_stop_0
++ * Pseudo action:   FAKE6_stop_0
++ * Pseudo action:   all_stopped
++ * Resource action: rhel7-auto4     monitor=60000 on rhel7-auto2
++ * Resource action: FAKE1           monitor=10000 on rhel7-auto2
++ * Resource action: FAKE2           start on rhel7-auto3
++ * Resource action: FAKE6           start on rhel7-auto2
++ * Resource action: FAKE2           monitor=10000 on rhel7-auto3
++ * Resource action: FAKE6           monitor=10000 on rhel7-auto2
++
++Revised cluster status:
++Online: [ rhel7-auto2 rhel7-auto3 ]
++OFFLINE: [ rhel7-auto1 ]
++RemoteOnline: [ rhel7-auto4 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto3 
++ rhel7-auto4	(ocf::pacemaker:remote):	Started rhel7-auto2 
++ FAKE1	(ocf::heartbeat:Dummy):	Started rhel7-auto2 
++ FAKE2	(ocf::heartbeat:Dummy):	Started rhel7-auto3 
++ FAKE3	(ocf::heartbeat:Dummy):	Started rhel7-auto2 
++ FAKE4	(ocf::heartbeat:Dummy):	Started rhel7-auto3 
++ FAKE5	(ocf::heartbeat:Dummy):	Started rhel7-auto3 
++ FAKE6	(ocf::heartbeat:Dummy):	Started rhel7-auto2 
++
+diff --git a/pengine/test10/remote-recover-fail.xml b/pengine/test10/remote-recover-fail.xml
+new file mode 100644
+index 0000000..8703e75
+--- /dev/null
++++ b/pengine/test10/remote-recover-fail.xml
+@@ -0,0 +1,198 @@
++<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.2" epoch="18" num_updates="27" admin_epoch="0" cib-last-written="Wed Dec 10 14:37:19 2014" have-quorum="1" dc-uuid="3">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
++        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-6b19349"/>
++        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
++        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
++        <nvpair id="cib-bootstrap-options-last-lrm-refresh" name="last-lrm-refresh" value="1418240206"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes>
++      <node id="1" uname="rhel7-auto1"/>
++      <node id="2" uname="rhel7-auto2"/>
++      <node id="3" uname="rhel7-auto3"/>
++    </nodes>
++    <resources>
++      <primitive class="stonith" id="shooter" type="fence_xvm">
++        <instance_attributes id="shooter-instance_attributes"/>
++        <operations>
++          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="rhel7-auto4" provider="pacemaker" type="remote">
++        <instance_attributes id="rhel7-auto4-instance_attributes"/>
++        <operations>
++          <op id="rhel7-auto4-start-timeout-60" interval="0s" name="start" timeout="60"/>
++          <op id="rhel7-auto4-stop-timeout-60" interval="0s" name="stop" timeout="60"/>
++          <op id="rhel7-auto4-monitor-timeout-30" interval="60s" name="monitor" timeout="30"/>
++        </operations>
++        <meta_attributes id="rhel7-auto4-meta_attributes"/>
++      </primitive>
++      <primitive class="ocf" id="FAKE1" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE1-instance_attributes"/>
++        <operations>
++          <op id="FAKE1-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE1-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE1-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE2" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE2-instance_attributes"/>
++        <operations>
++          <op id="FAKE2-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE2-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE2-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE3" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE3-instance_attributes"/>
++        <operations>
++          <op id="FAKE3-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE3-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE3-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE4" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE4-instance_attributes"/>
++        <operations>
++          <op id="FAKE4-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE4-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE4-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE5" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE5-instance_attributes"/>
++        <operations>
++          <op id="FAKE5-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE5-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE5-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE6" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE6-instance_attributes"/>
++        <operations>
++          <op id="FAKE6-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="FAKE6-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="FAKE6-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++    </resources>
++    <constraints/>
++  </configuration>
++  <status>
++    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="3">
++        <instance_attributes id="status-3">
++          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
++          <nvpair id="status-3-last-failure-rhel7-auto4" name="last-failure-rhel7-auto4" value="1418237396"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="3">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="14:0:0:694ed93a-eab4-462e-a68d-84b5e397634d" transition-magic="0:0;14:0:0:694ed93a-eab4-462e-a68d-84b5e397634d" call-id="37" rc-code="0" op-status="0" interval="0" last-run="1418240446" last-rc-change="1418240446" exec-time="45" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="15:0:0:694ed93a-eab4-462e-a68d-84b5e397634d" transition-magic="0:0;15:0:0:694ed93a-eab4-462e-a68d-84b5e397634d" call-id="38" rc-code="0" op-status="0" interval="60000" last-rc-change="1418240447" exec-time="1133" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="19:0:0:694ed93a-eab4-462e-a68d-84b5e397634d" transition-magic="0:0;19:0:0:694ed93a-eab4-462e-a68d-84b5e397634d" call-id="36" rc-code="0" op-status="0" interval="0" last-run="1418240446" last-rc-change="1418240446" exec-time="30" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE1_monitor_10000" operation_key="FAKE1_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="19:28:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:0;19:28:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1418240227" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="13:30:7:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:7;13:30:7:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="20" rc-code="7" op-status="0" interval="0" last-run="1418240232" last-rc-change="1418240232" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="28:0:0:694ed93a-eab4-462e-a68d-84b5e397634d" transition-magic="0:0;28:0:0:694ed93a-eab4-462e-a68d-84b5e397634d" call-id="39" rc-code="0" op-status="0" interval="0" last-run="1418240448" last-rc-change="1418240448" exec-time="26" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE5" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE5_last_0" operation_key="FAKE5_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="30:32:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:0;30:32:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1418240237" last-rc-change="1418240237" exec-time="25" queue-time="16" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE5_monitor_10000" operation_key="FAKE5_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="31:32:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:0;31:32:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="30" rc-code="0" op-status="0" interval="10000" last-rc-change="1418240237" exec-time="20" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE6" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE6_last_0" operation_key="FAKE6_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="16:33:7:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:7;16:33:7:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="34" rc-code="7" op-status="0" interval="0" last-run="1418240240" last-rc-change="1418240240" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="12:29:7:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:7;12:29:7:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="16" rc-code="7" op-status="0" interval="0" last-run="1418240230" last-rc-change="1418240230" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="rhel7-auto4" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="rhel7-auto4_last_0" operation_key="rhel7-auto4_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:25:7:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:7;10:25:7:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="4" rc-code="7" op-status="0" interval="0" last-run="1418240206" last-rc-change="1418240206" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="1" uname="rhel7-auto1" in_ccm="false" crmd="offline" crm-debug-origin="send_stonith_update" join="down" expected="down"/>
++    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="2">
++        <instance_attributes id="status-2">
++          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
++          <nvpair id="status-2-last-failure-rhel7-auto4" name="last-failure-rhel7-auto4" value="1418237340"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="2">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="13:0:0:694ed93a-eab4-462e-a68d-84b5e397634d" transition-magic="0:0;13:0:0:694ed93a-eab4-462e-a68d-84b5e397634d" call-id="40" rc-code="0" op-status="0" interval="0" last-run="1418240444" last-rc-change="1418240444" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:26:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:0;10:26:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="12" rc-code="0" op-status="0" interval="60000" last-rc-change="1418240205" exec-time="11" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="9:28:7:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:7;9:28:7:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="16" rc-code="7" op-status="0" interval="0" last-run="1418240226" last-rc-change="1418240226" exec-time="80" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="25:0:0:694ed93a-eab4-462e-a68d-84b5e397634d" transition-magic="0:0;25:0:0:694ed93a-eab4-462e-a68d-84b5e397634d" call-id="43" rc-code="0" op-status="0" interval="0" last-run="1418240447" last-rc-change="1418240447" exec-time="25" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="27:0:0:694ed93a-eab4-462e-a68d-84b5e397634d" transition-magic="0:0;27:0:0:694ed93a-eab4-462e-a68d-84b5e397634d" call-id="42" rc-code="0" op-status="0" interval="0" last-run="1418240444" last-rc-change="1418240444" exec-time="25" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE4_monitor_10000" operation_key="FAKE4_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="28:31:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:0;28:31:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="30" rc-code="0" op-status="0" interval="10000" last-rc-change="1418240233" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE5" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE5_last_0" operation_key="FAKE5_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="13:32:7:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:7;13:32:7:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="34" rc-code="7" op-status="0" interval="0" last-run="1418240235" last-rc-change="1418240235" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE6" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE6_last_0" operation_key="FAKE6_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="14:33:7:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:7;14:33:7:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="38" rc-code="7" op-status="0" interval="0" last-run="1418240238" last-rc-change="1418240238" exec-time="20" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:29:7:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:7;10:29:7:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="20" rc-code="7" op-status="0" interval="0" last-run="1418240228" last-rc-change="1418240228" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="rhel7-auto4" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="rhel7-auto4_last_0" operation_key="rhel7-auto4_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="17:0:0:694ed93a-eab4-462e-a68d-84b5e397634d" transition-magic="2:1;17:0:0:694ed93a-eab4-462e-a68d-84b5e397634d" call-id="5" rc-code="1" op-status="2" interval="0" last-run="1418240447" last-rc-change="1418240447" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++            <lrm_rsc_op id="rhel7-auto4_last_failure_0" operation_key="rhel7-auto4_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="17:0:0:694ed93a-eab4-462e-a68d-84b5e397634d" transition-magic="2:1;17:0:0:694ed93a-eab4-462e-a68d-84b5e397634d" call-id="5" rc-code="1" op-status="2" interval="0" last-run="1418240447" last-rc-change="1418240447" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="rhel7-auto4" remote_node="true" uname="rhel7-auto4" crm-debug-origin="do_update_resource">
++      <transient_attributes id="rhel7-auto4">
++        <instance_attributes id="status-rhel7-auto4">
++          <nvpair id="status-rhel7-auto4-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="rhel7-auto4">
++        <lrm_resources>
++          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="13:28:7:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:7;13:28:7:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="6" rc-code="7" op-status="0" interval="0" last-run="1418240226" last-rc-change="1418240226" exec-time="83" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="21:29:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:0;21:29:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="11" rc-code="0" op-status="0" interval="0" last-run="1418240228" last-rc-change="1418240228" exec-time="31" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE2_monitor_10000" operation_key="FAKE2_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="22:29:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:0;22:29:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1418240228" exec-time="26" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="15:30:7:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:7;15:30:7:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="16" rc-code="7" op-status="0" interval="0" last-run="1418240230" last-rc-change="1418240230" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="16:31:7:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:7;16:31:7:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="20" rc-code="7" op-status="0" interval="0" last-run="1418240233" last-rc-change="1418240233" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE5" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE5_last_0" operation_key="FAKE5_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="17:32:7:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:7;17:32:7:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="24" rc-code="7" op-status="0" interval="0" last-run="1418240235" last-rc-change="1418240235" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE6" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE6_last_0" operation_key="FAKE6_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="33:33:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:0;33:33:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1418240238" last-rc-change="1418240238" exec-time="28" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE6_monitor_10000" operation_key="FAKE6_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="34:33:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:0;34:33:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="30" rc-code="0" op-status="0" interval="10000" last-rc-change="1418240238" exec-time="26" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++  </status>
++</cib>
+diff --git a/pengine/test10/remote-recover.dot b/pengine/test10/remote-recover.dot
+index 1da6a7b..22e0cc7 100644
+--- a/pengine/test10/remote-recover.dot
++++ b/pengine/test10/remote-recover.dot
+@@ -9,6 +9,7 @@
+ "rhel7-alt4_monitor_60000 rhel7-alt1" [ style=bold color="green" fontcolor="black"]
+ "rhel7-alt4_start_0 rhel7-alt1" -> "fake_monitor_10000 rhel7-alt4" [ style = bold]
+ "rhel7-alt4_start_0 rhel7-alt1" -> "fake_start_0 rhel7-alt4" [ style = bold]
++"rhel7-alt4_start_0 rhel7-alt1" -> "fake_stop_0 rhel7-alt4" [ style = bold]
+ "rhel7-alt4_start_0 rhel7-alt1" -> "rhel7-alt4_monitor_60000 rhel7-alt1" [ style = bold]
+ "rhel7-alt4_start_0 rhel7-alt1" [ style=bold color="green" fontcolor="black"]
+ "shooter_monitor_60000 rhel7-alt1" [ style=bold color="green" fontcolor="black"]
+diff --git a/pengine/test10/remote-recover.exp b/pengine/test10/remote-recover.exp
+index 37e4f71..6386740 100644
+--- a/pengine/test10/remote-recover.exp
++++ b/pengine/test10/remote-recover.exp
+@@ -82,7 +82,11 @@
+         <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+-    <inputs/>
++    <inputs>
++      <trigger>
++        <rsc_op id="9" operation="start" operation_key="rhel7-alt4_start_0" on_node="rhel7-alt1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
+   </synapse>
+   <synapse id="7">
+     <action_set>
+diff --git a/pengine/test10/remote-start-fail.dot b/pengine/test10/remote-start-fail.dot
+new file mode 100644
+index 0000000..26c9f33
+--- /dev/null
++++ b/pengine/test10/remote-start-fail.dot
+@@ -0,0 +1,9 @@
++ digraph "g" {
++"all_stopped" [ style=bold color="green" fontcolor="orange"]
++"rhel7-auto4_monitor_60000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"rhel7-auto4_start_0 rhel7-auto3" -> "rhel7-auto4_monitor_60000 rhel7-auto3" [ style = bold]
++"rhel7-auto4_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
++"rhel7-auto4_stop_0 rhel7-auto2" -> "all_stopped" [ style = bold]
++"rhel7-auto4_stop_0 rhel7-auto2" -> "rhel7-auto4_start_0 rhel7-auto3" [ style = bold]
++"rhel7-auto4_stop_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
++}
+diff --git a/pengine/test10/remote-start-fail.exp b/pengine/test10/remote-start-fail.exp
+new file mode 100644
+index 0000000..6e2ce8b
+--- /dev/null
++++ b/pengine/test10/remote-start-fail.exp
+@@ -0,0 +1,49 @@
++<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
++  <synapse id="0">
++    <action_set>
++      <rsc_op id="13" operation="monitor" operation_key="rhel7-auto4_monitor_60000" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="rhel7-auto4" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="30000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="12" operation="start" operation_key="rhel7-auto4_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="1">
++    <action_set>
++      <rsc_op id="12" operation="start" operation_key="rhel7-auto4_start_0" on_node="rhel7-auto3" on_node_uuid="3">
++        <primitive id="rhel7-auto4" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="60000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="2" operation="stop" operation_key="rhel7-auto4_stop_0" on_node="rhel7-auto2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="2">
++    <action_set>
++      <rsc_op id="2" operation="stop" operation_key="rhel7-auto4_stop_0" on_node="rhel7-auto2" on_node_uuid="2">
++        <primitive id="rhel7-auto4" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="60000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="3">
++    <action_set>
++      <pseudo_event id="3" operation="all_stopped" operation_key="all_stopped">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="2" operation="stop" operation_key="rhel7-auto4_stop_0" on_node="rhel7-auto2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++</transition_graph>
+diff --git a/pengine/test10/remote-start-fail.scores b/pengine/test10/remote-start-fail.scores
+new file mode 100644
+index 0000000..d36577f
+--- /dev/null
++++ b/pengine/test10/remote-start-fail.scores
+@@ -0,0 +1,9 @@
++Allocation scores:
++native_color: rhel7-auto4 allocation score on rhel7-auto1: -INFINITY
++native_color: rhel7-auto4 allocation score on rhel7-auto2: -INFINITY
++native_color: rhel7-auto4 allocation score on rhel7-auto3: 0
++native_color: rhel7-auto4 allocation score on rhel7-auto4: -INFINITY
++native_color: shooter allocation score on rhel7-auto1: 0
++native_color: shooter allocation score on rhel7-auto2: 0
++native_color: shooter allocation score on rhel7-auto3: 0
++native_color: shooter allocation score on rhel7-auto4: -INFINITY
+diff --git a/pengine/test10/remote-start-fail.summary b/pengine/test10/remote-start-fail.summary
+new file mode 100644
+index 0000000..4f64c75
+--- /dev/null
++++ b/pengine/test10/remote-start-fail.summary
+@@ -0,0 +1,24 @@
++
++Current cluster status:
++Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
++RemoteOFFLINE: [ rhel7-auto4 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
++ rhel7-auto4	(ocf::pacemaker:remote):	FAILED rhel7-auto2 
++
++Transition Summary:
++ * Recover rhel7-auto4	(Started rhel7-auto2 -> rhel7-auto3)
++
++Executing cluster transition:
++ * Resource action: rhel7-auto4     stop on rhel7-auto2
++ * Pseudo action:   all_stopped
++ * Resource action: rhel7-auto4     start on rhel7-auto3
++ * Resource action: rhel7-auto4     monitor=60000 on rhel7-auto3
++
++Revised cluster status:
++Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
++RemoteOnline: [ rhel7-auto4 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
++ rhel7-auto4	(ocf::pacemaker:remote):	Started rhel7-auto3 
++
+diff --git a/pengine/test10/remote-start-fail.xml b/pengine/test10/remote-start-fail.xml
+new file mode 100644
+index 0000000..7f92eaf
+--- /dev/null
++++ b/pengine/test10/remote-start-fail.xml
+@@ -0,0 +1,107 @@
++<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.2" epoch="9" num_updates="10" admin_epoch="0" cib-last-written="Wed Dec 10 13:47:05 2014" have-quorum="1" dc-uuid="1">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
++        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-6b19349"/>
++        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
++        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes>
++      <node id="1" uname="rhel7-auto1"/>
++      <node id="2" uname="rhel7-auto2"/>
++      <node id="3" uname="rhel7-auto3"/>
++    </nodes>
++    <resources>
++      <primitive class="stonith" id="shooter" type="fence_xvm">
++        <instance_attributes id="shooter-instance_attributes"/>
++        <operations>
++          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="rhel7-auto4" provider="pacemaker" type="remote">
++        <instance_attributes id="rhel7-auto4-instance_attributes"/>
++        <operations>
++          <op id="rhel7-auto4-start-timeout-60" interval="0s" name="start" timeout="60"/>
++          <op id="rhel7-auto4-stop-timeout-60" interval="0s" name="stop" timeout="60"/>
++          <op id="rhel7-auto4-monitor-timeout-30" interval="60s" name="monitor" timeout="30"/>
++        </operations>
++        <meta_attributes id="rhel7-auto4-meta_attributes"/>
++      </primitive>
++    </resources>
++    <constraints/>
++  </configuration>
++  <status>
++    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <lrm id="3">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="8:3:7:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:7;8:3:7:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1418235622" last-rc-change="1418235622" exec-time="989" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="rhel7-auto4" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="rhel7-auto4_last_0" operation_key="rhel7-auto4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="10:5:7:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:7;10:5:7:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="1" rc-code="7" op-status="0" interval="0" last-run="1418237103" last-rc-change="1418237103" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="3">
++        <instance_attributes id="status-3">
++          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <lrm id="1">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="11:15:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:0;11:15:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="11" rc-code="0" op-status="0" interval="0" last-run="1418237282" last-rc-change="1418237282" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="12:15:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:0;12:15:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="12" rc-code="0" op-status="0" interval="60000" last-rc-change="1418237283" exec-time="9" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="rhel7-auto4" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="rhel7-auto4_last_0" operation_key="rhel7-auto4_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="1:15:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:0;1:15:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="9" rc-code="0" op-status="0" interval="0" last-run="1418237282" last-rc-change="1418237282" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
++            <lrm_rsc_op id="rhel7-auto4_monitor_60000" operation_key="rhel7-auto4_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="13:10:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:0;13:10:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="6" rc-code="0" op-status="0" interval="60000" last-rc-change="1418237175" exec-time="0" queue-time="0" op-digest="02a5bcf940fc8d3239701acb11438d6a" on_node="rhel7-auto1"/>
++            <lrm_rsc_op id="rhel7-auto4_last_failure_0" operation_key="rhel7-auto4_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="11:13:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="2:1;11:13:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="8" rc-code="1" op-status="2" interval="0" last-rc-change="1418237225" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" last-run="1418237225"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="1">
++        <instance_attributes id="status-1">
++          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
++          <nvpair id="status-1-fail-count-rhel7-auto4" name="fail-count-rhel7-auto4" value="INFINITY"/>
++          <nvpair id="status-1-last-failure-rhel7-auto4" name="last-failure-rhel7-auto4" value="1418237282"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <lrm id="2">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="10:15:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:0;10:15:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="10" rc-code="0" op-status="0" interval="0" last-run="1418237281" last-rc-change="1418237281" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="10:6:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:0;10:6:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="8" rc-code="0" op-status="0" interval="60000" last-rc-change="1418237103" exec-time="12" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="rhel7-auto4" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="rhel7-auto4_last_0" operation_key="rhel7-auto4_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="13:15:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="2:1;13:15:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="2" rc-code="1" op-status="2" interval="0" last-run="1418237281" last-rc-change="1418237281" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++            <lrm_rsc_op id="rhel7-auto4_last_failure_0" operation_key="rhel7-auto4_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="13:15:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="2:1;13:15:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="2" rc-code="1" op-status="2" interval="0" last-run="1418237281" last-rc-change="1418237281" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="2">
++        <instance_attributes id="status-2">
++          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
++          <nvpair id="status-2-fail-count-rhel7-auto4" name="fail-count-rhel7-auto4" value="INFINITY"/>
++          <nvpair id="status-2-last-failure-rhel7-auto4" name="last-failure-rhel7-auto4" value="1418237340"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state id="rhel7-auto4" remote_node="true" uname="rhel7-auto4" crm-debug-origin="remote_node_init_status">
++      <transient_attributes id="rhel7-auto4">
++        <instance_attributes id="status-rhel7-auto4">
++          <nvpair id="status-rhel7-auto4-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++  </status>
++</cib>
+diff --git a/pengine/test10/remote-unclean2.dot b/pengine/test10/remote-unclean2.dot
+new file mode 100644
+index 0000000..3f8981b
+--- /dev/null
++++ b/pengine/test10/remote-unclean2.dot
+@@ -0,0 +1,14 @@
++ digraph "g" {
++"all_stopped" [ style=bold color="green" fontcolor="orange"]
++"rhel7-auto4_monitor_60000 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
++"rhel7-auto4_start_0 rhel7-auto1" -> "rhel7-auto4_monitor_60000 rhel7-auto1" [ style = bold]
++"rhel7-auto4_start_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
++"rhel7-auto4_stop_0 rhel7-auto1" -> "all_stopped" [ style = bold]
++"rhel7-auto4_stop_0 rhel7-auto1" -> "rhel7-auto4_start_0 rhel7-auto1" [ style = bold]
++"rhel7-auto4_stop_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
++"stonith 'reboot' rhel7-auto4" -> "stonith_complete" [ style = bold]
++"stonith 'reboot' rhel7-auto4" [ style=bold color="green" fontcolor="black"]
++"stonith_complete" -> "all_stopped" [ style = bold]
++"stonith_complete" -> "rhel7-auto4_start_0 rhel7-auto1" [ style = bold]
++"stonith_complete" [ style=bold color="green" fontcolor="orange"]
++}
+diff --git a/pengine/test10/remote-unclean2.exp b/pengine/test10/remote-unclean2.exp
+new file mode 100644
+index 0000000..19d5863
+--- /dev/null
++++ b/pengine/test10/remote-unclean2.exp
+@@ -0,0 +1,75 @@
++<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
++  <synapse id="0">
++    <action_set>
++      <rsc_op id="12" operation="start" operation_key="rhel7-auto4_start_0" on_node="rhel7-auto1" on_node_uuid="1">
++        <primitive id="rhel7-auto4" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="60000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="11" operation="stop" operation_key="rhel7-auto4_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="13" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="1">
++    <action_set>
++      <rsc_op id="11" operation="stop" operation_key="rhel7-auto4_stop_0" on_node="rhel7-auto1" on_node_uuid="1">
++        <primitive id="rhel7-auto4" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="60000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="2">
++    <action_set>
++      <rsc_op id="1" operation="monitor" operation_key="rhel7-auto4_monitor_60000" on_node="rhel7-auto1" on_node_uuid="1">
++        <primitive id="rhel7-auto4" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="30000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="12" operation="start" operation_key="rhel7-auto4_start_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="3">
++    <action_set>
++      <crm_event id="14" operation="stonith" operation_key="stonith-rhel7-auto4-reboot" on_node="rhel7-auto4" on_node_uuid="rhel7-auto4" router_node="rhel7-auto1">
++        <attributes CRM_meta_on_node="rhel7-auto4" CRM_meta_on_node_uuid="rhel7-auto4" CRM_meta_probe_complete="true" CRM_meta_stonith_action="reboot" />
++      </crm_event>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="4">
++    <action_set>
++      <pseudo_event id="13" operation="stonith_complete" operation_key="stonith_complete">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <crm_event id="14" operation="stonith" operation_key="stonith-rhel7-auto4-reboot" on_node="rhel7-auto4" on_node_uuid="rhel7-auto4" router_node="rhel7-auto1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="5">
++    <action_set>
++      <pseudo_event id="3" operation="all_stopped" operation_key="all_stopped">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="11" operation="stop" operation_key="rhel7-auto4_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="13" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++</transition_graph>
+diff --git a/pengine/test10/remote-unclean2.scores b/pengine/test10/remote-unclean2.scores
+new file mode 100644
+index 0000000..72a5953
+--- /dev/null
++++ b/pengine/test10/remote-unclean2.scores
+@@ -0,0 +1,9 @@
++Allocation scores:
++native_color: rhel7-auto4 allocation score on rhel7-auto1: 0
++native_color: rhel7-auto4 allocation score on rhel7-auto2: 0
++native_color: rhel7-auto4 allocation score on rhel7-auto3: 0
++native_color: rhel7-auto4 allocation score on rhel7-auto4: -INFINITY
++native_color: shooter allocation score on rhel7-auto1: 0
++native_color: shooter allocation score on rhel7-auto2: 0
++native_color: shooter allocation score on rhel7-auto3: 0
++native_color: shooter allocation score on rhel7-auto4: -INFINITY
+diff --git a/pengine/test10/remote-unclean2.summary b/pengine/test10/remote-unclean2.summary
+new file mode 100644
+index 0000000..0a73cbd
+--- /dev/null
++++ b/pengine/test10/remote-unclean2.summary
+@@ -0,0 +1,26 @@
++
++Current cluster status:
++RemoteNode rhel7-auto4: UNCLEAN (offline)
++Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto2 
++ rhel7-auto4	(ocf::pacemaker:remote):	FAILED rhel7-auto1 
++
++Transition Summary:
++ * Recover rhel7-auto4	(Started rhel7-auto1)
++
++Executing cluster transition:
++ * Resource action: rhel7-auto4     stop on rhel7-auto1
++ * Fencing rhel7-auto4 (reboot)
++ * Pseudo action:   stonith_complete
++ * Pseudo action:   all_stopped
++ * Resource action: rhel7-auto4     start on rhel7-auto1
++ * Resource action: rhel7-auto4     monitor=60000 on rhel7-auto1
++
++Revised cluster status:
++Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
++RemoteOnline: [ rhel7-auto4 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-auto2 
++ rhel7-auto4	(ocf::pacemaker:remote):	Started rhel7-auto1 
++
+diff --git a/pengine/test10/remote-unclean2.xml b/pengine/test10/remote-unclean2.xml
+new file mode 100644
+index 0000000..616b482
+--- /dev/null
++++ b/pengine/test10/remote-unclean2.xml
+@@ -0,0 +1,103 @@
++<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.2" epoch="7" num_updates="16" admin_epoch="0" cib-last-written="Wed Dec 10 13:45:02 2014" have-quorum="1" dc-uuid="1">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
++        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-6b19349"/>
++        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
++        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes>
++      <node id="1" uname="rhel7-auto1"/>
++      <node id="2" uname="rhel7-auto2"/>
++      <node id="3" uname="rhel7-auto3"/>
++    </nodes>
++    <resources>
++      <primitive class="stonith" id="shooter" type="fence_xvm">
++        <instance_attributes id="shooter-instance_attributes"/>
++        <operations>
++          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="rhel7-auto4" provider="pacemaker" type="remote">
++        <instance_attributes id="rhel7-auto4-instance_attributes"/>
++        <operations>
++          <op id="rhel7-auto4-start-timeout-60" interval="0s" name="start" timeout="60"/>
++          <op id="rhel7-auto4-stop-timeout-60" interval="0s" name="stop" timeout="60"/>
++          <op id="rhel7-auto4-monitor-timeout-30" interval="60s" name="monitor" timeout="30"/>
++        </operations>
++      </primitive>
++    </resources>
++    <constraints/>
++  </configuration>
++  <status>
++    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <lrm id="3">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="8:3:7:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:7;8:3:7:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1418235622" last-rc-change="1418235622" exec-time="989" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++          </lrm_resource>
++          <lrm_resource id="rhel7-auto4" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="rhel7-auto4_last_0" operation_key="rhel7-auto4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="10:5:7:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:7;10:5:7:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="1" rc-code="7" op-status="0" interval="0" last-run="1418237103" last-rc-change="1418237103" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="3">
++        <instance_attributes id="status-3">
++          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <lrm id="1">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="12:5:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:0;12:5:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="10" rc-code="0" op-status="0" interval="0" last-run="1418237103" last-rc-change="1418237103" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="10:3:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:0;10:3:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1418235623" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
++          </lrm_resource>
++          <lrm_resource id="rhel7-auto4" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="rhel7-auto4_last_0" operation_key="rhel7-auto4_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="15:5:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:0;15:5:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="2" rc-code="0" op-status="0" interval="0" last-run="1418237103" last-rc-change="1418237103" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
++            <lrm_rsc_op id="rhel7-auto4_monitor_60000" operation_key="rhel7-auto4_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="13:6:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:0;13:6:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="3" rc-code="0" op-status="0" interval="60000" last-rc-change="1418237104" exec-time="0" queue-time="0" op-digest="02a5bcf940fc8d3239701acb11438d6a" on_node="rhel7-auto1"/>
++            <lrm_rsc_op id="rhel7-auto4_last_failure_0" operation_key="rhel7-auto4_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="13:6:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="4:1;13:6:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="3" rc-code="1" op-status="4" interval="60000" last-rc-change="1418237129" exec-time="0" queue-time="0" op-digest="02a5bcf940fc8d3239701acb11438d6a" on_node="rhel7-auto1"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="1">
++        <instance_attributes id="status-1">
++          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
++          <nvpair id="status-1-fail-count-rhel7-auto4" name="fail-count-rhel7-auto4" value="1"/>
++          <nvpair id="status-1-last-failure-rhel7-auto4" name="last-failure-rhel7-auto4" value="1418237129"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <lrm id="2">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="13:5:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:0;13:5:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="7" rc-code="0" op-status="0" interval="0" last-run="1418237102" last-rc-change="1418237102" exec-time="32" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="10:6:0:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:0;10:6:0:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="8" rc-code="0" op-status="0" interval="60000" last-rc-change="1418237103" exec-time="12" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
++          </lrm_resource>
++          <lrm_resource id="rhel7-auto4" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="rhel7-auto4_last_0" operation_key="rhel7-auto4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="8:5:7:d38b5504-008d-47e7-b5e6-d85f9c599954" transition-magic="0:7;8:5:7:d38b5504-008d-47e7-b5e6-d85f9c599954" call-id="1" rc-code="7" op-status="0" interval="0" last-run="1418237101" last-rc-change="1418237101" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="2">
++        <instance_attributes id="status-2">
++          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state id="rhel7-auto4" remote_node="true" uname="rhel7-auto4" crm-debug-origin="remote_node_init_status">
++      <transient_attributes id="rhel7-auto4">
++        <instance_attributes id="status-rhel7-auto4">
++          <nvpair id="status-rhel7-auto4-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++  </status>
++</cib>
+diff --git a/pengine/test10/whitebox-migrate1.exp b/pengine/test10/whitebox-migrate1.exp
+index 0a2b5ac..ce77eb1 100644
+--- a/pengine/test10/whitebox-migrate1.exp
++++ b/pengine/test10/whitebox-migrate1.exp
+@@ -152,7 +152,7 @@
+     <action_set>
+       <rsc_op id="42" operation="migrate_to" operation_key="rhel7-node1_migrate_to_0" on_node="rhel7-node2" on_node_uuid="2">
+         <primitive id="rhel7-node1" class="ocf" provider="pacemaker" type="remote"/>
+-        <attributes CRM_meta_container="remote-rsc" CRM_meta_migrate_source="rhel7-node2" CRM_meta_migrate_target="rhel7-node3" CRM_meta_record_pending="true" CRM_meta_timeout="20000" />
++        <attributes CRM_meta_container="remote-rsc" CRM_meta_migrate_source="rhel7-node2" CRM_meta_migrate_target="rhel7-node3" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
diff --git a/SOURCES/pacemaker-3414f1cd3ebcc2e6f787ea14d8e31510f36fbe4a-update-membership.patch b/SOURCES/pacemaker-3414f1cd3ebcc2e6f787ea14d8e31510f36fbe4a-update-membership.patch
new file mode 100644
index 0000000..2b4c369
--- /dev/null
+++ b/SOURCES/pacemaker-3414f1cd3ebcc2e6f787ea14d8e31510f36fbe4a-update-membership.patch
@@ -0,0 +1,36 @@
+From 3414f1cd3ebcc2e6f787ea14d8e31510f36fbe4a Mon Sep 17 00:00:00 2001
+From: Hideo Yamauchi <renayama19661014@ybb.ne.jp>
+Date: Tue, 6 Jan 2015 16:05:34 +0900
+Subject: [PATCH] Update membership.c
+
+---
+ crmd/membership.c | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/crmd/membership.c b/crmd/membership.c
+index 946cde0..e1414df 100644
+--- a/crmd/membership.c
++++ b/crmd/membership.c
+@@ -378,17 +378,13 @@ populate_cib_nodes(enum node_update_flags flags, const char *source)
+ 
+         g_hash_table_iter_init(&iter, crm_peer_cache);
+         while (g_hash_table_iter_next(&iter, NULL, (gpointer *) &node)) {
+-            xmlNode *update = NULL;
+-            update = do_update_node_cib(node, flags, node_list, source);
+-        	free_xml(update);
++            do_update_node_cib(node, flags, node_list, source);
+         }
+ 
+         if (crm_remote_peer_cache) {
+             g_hash_table_iter_init(&iter, crm_remote_peer_cache);
+             while (g_hash_table_iter_next(&iter, NULL, (gpointer *) &node)) {
+-                xmlNode *update = NULL;
+-                update = do_update_node_cib(node, flags, node_list, source);
+-            	free_xml(update);
++                do_update_node_cib(node, flags, node_list, source);
+             }
+         }
+ 
+-- 
+1.8.4.2
+
diff --git a/SOURCES/pacemaker-5147bbf46b81708a1ac544a4cfd204b50938c67c-crmd-memleak.patch b/SOURCES/pacemaker-5147bbf46b81708a1ac544a4cfd204b50938c67c-crmd-memleak.patch
new file mode 100644
index 0000000..c3a9967
--- /dev/null
+++ b/SOURCES/pacemaker-5147bbf46b81708a1ac544a4cfd204b50938c67c-crmd-memleak.patch
@@ -0,0 +1,61 @@
+From 5147bbf46b81708a1ac544a4cfd204b50938c67c Mon Sep 17 00:00:00 2001
+From: Hideo Yamauchi <renayama19661014@ybb.ne.jp>
+Date: Tue, 6 Jan 2015 13:45:19 +0900
+Subject: [PATCH] Fix: crmd: resolves memory leak in crmd.
+
+---
+ crmd/membership.c | 10 ++++++++--
+ crmd/pengine.c    |  1 +
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/crmd/membership.c b/crmd/membership.c
+index 9a58339..946cde0 100644
+--- a/crmd/membership.c
++++ b/crmd/membership.c
+@@ -215,9 +215,11 @@ search_conflicting_node_callback(xmlNode * msg, int call_id, int rc,
+             crm_notice("Searching conflicting nodes for %s failed: %s (%d)",
+                        new_node_uuid, pcmk_strerror(rc), rc);
+         }
++        free(new_node_uuid);
+         return;
+ 
+     } else if (output == NULL) {
++        free(new_node_uuid);
+         return;
+     }
+ 
+@@ -376,13 +378,17 @@ populate_cib_nodes(enum node_update_flags flags, const char *source)
+ 
+         g_hash_table_iter_init(&iter, crm_peer_cache);
+         while (g_hash_table_iter_next(&iter, NULL, (gpointer *) &node)) {
+-            do_update_node_cib(node, flags, node_list, source);
++            xmlNode *update = NULL;
++            update = do_update_node_cib(node, flags, node_list, source);
++        	free_xml(update);
+         }
+ 
+         if (crm_remote_peer_cache) {
+             g_hash_table_iter_init(&iter, crm_remote_peer_cache);
+             while (g_hash_table_iter_next(&iter, NULL, (gpointer *) &node)) {
+-                do_update_node_cib(node, flags, node_list, source);
++                xmlNode *update = NULL;
++                update = do_update_node_cib(node, flags, node_list, source);
++            	free_xml(update);
+             }
+         }
+ 
+diff --git a/crmd/pengine.c b/crmd/pengine.c
+index 2f7513f..35f35c6 100644
+--- a/crmd/pengine.c
++++ b/crmd/pengine.c
+@@ -277,6 +277,7 @@ force_local_option(xmlNode *xml, const char *attr_name, const char *attr_value)
+ 
+         free(attr_id);
+     }
++    freeXpathObject(xpathObj);
+ }
+ 
+ void
+-- 
+1.8.4.2
+
diff --git a/SOURCES/pacemaker-6d482cf1c1226f75e59569b930cf916ccb0d350f-pcmk-remote-timer-fix.patch b/SOURCES/pacemaker-6d482cf1c1226f75e59569b930cf916ccb0d350f-pcmk-remote-timer-fix.patch
new file mode 100644
index 0000000..701b54f
--- /dev/null
+++ b/SOURCES/pacemaker-6d482cf1c1226f75e59569b930cf916ccb0d350f-pcmk-remote-timer-fix.patch
@@ -0,0 +1,25 @@
+From 6d482cf1c1226f75e59569b930cf916ccb0d350f Mon Sep 17 00:00:00 2001
+From: Hideo Yamauchi <renayama19661014@ybb.ne.jp>
+Date: Fri, 10 Oct 2014 13:11:01 +0900
+Subject: [PATCH] Mistake of the set of the variable.
+
+---
+ crmd/remote_lrmd_ra.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/crmd/remote_lrmd_ra.c b/crmd/remote_lrmd_ra.c
+index f3dedeb..929b3f8 100644
+--- a/crmd/remote_lrmd_ra.c
++++ b/crmd/remote_lrmd_ra.c
+@@ -573,7 +573,7 @@ handle_remote_ra_exec(gpointer user_data)
+                  * cleared which will require all the resources running in the remote-node
+                  * to be explicitly re-detected via probe actions.  If the takeover does occur
+                  * successfully, then we can leave the status section intact. */
+-                cmd->monitor_timeout_id = g_timeout_add((cmd->timeout/2), connection_takeover_timeout_cb, cmd);
++                cmd->takeover_timeout_id = g_timeout_add((cmd->timeout/2), connection_takeover_timeout_cb, cmd);
+                 ra_data->cur_cmd = cmd;
+                 return TRUE;
+             }
+-- 
+1.8.4.2
+
diff --git a/SOURCES/pacemaker-7170ed-fix-acl-correctly-implement-the-reference-acl-direct.patch b/SOURCES/pacemaker-7170ed-fix-acl-correctly-implement-the-reference-acl-direct.patch
new file mode 100644
index 0000000..4489278
--- /dev/null
+++ b/SOURCES/pacemaker-7170ed-fix-acl-correctly-implement-the-reference-acl-direct.patch
@@ -0,0 +1,26 @@
+From 7170ed6129d7381f3adab964d8295f00f7c4b776 Mon Sep 17 00:00:00 2001
+From: Andrew Beekhof <andrew@beekhof.net>
+Date: Mon, 12 Jan 2015 13:45:17 +1100
+Subject: [PATCH] Fix: acl: Correctly implement the 'reference' acl directive
+
+---
+ lib/common/xml.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/lib/common/xml.c b/lib/common/xml.c
+index 54f1aa7..2c476dc 100644
+--- a/lib/common/xml.c
++++ b/lib/common/xml.c
+@@ -653,8 +653,7 @@ __xml_acl_create(xmlNode * xml, xmlNode *target, enum xml_private_flags mode)
+             if(tag) {
+                 offset += snprintf(buffer + offset, XML_BUFFER_SIZE - offset, "//%s", tag);
+             } else {
+-                /* Is this even legal xpath syntax? */
+-                offset += snprintf(buffer + offset, XML_BUFFER_SIZE - offset, "*");
++                offset += snprintf(buffer + offset, XML_BUFFER_SIZE - offset, "//*");
+             }
+ 
+             if(ref || attr) {
+-- 
+1.8.4.2
+
diff --git a/SOURCES/pacemaker-8ffcf86bcab8bf98d5477a68b73e5062eb0c0fad-pacemakerd-memleak.patch b/SOURCES/pacemaker-8ffcf86bcab8bf98d5477a68b73e5062eb0c0fad-pacemakerd-memleak.patch
new file mode 100644
index 0000000..234331d
--- /dev/null
+++ b/SOURCES/pacemaker-8ffcf86bcab8bf98d5477a68b73e5062eb0c0fad-pacemakerd-memleak.patch
@@ -0,0 +1,28 @@
+From 8ffcf86bcab8bf98d5477a68b73e5062eb0c0fad Mon Sep 17 00:00:00 2001
+From: Hideo Yamauchi <renayama19661014@ybb.ne.jp>
+Date: Wed, 24 Dec 2014 09:37:52 +0900
+Subject: [PATCH] Fix: pacemakerd: resolves memory leak of xml structure in
+ pacemakerd
+
+---
+ mcp/pacemaker.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/mcp/pacemaker.c b/mcp/pacemaker.c
+index fa2c707..5235ba6 100644
+--- a/mcp/pacemaker.c
++++ b/mcp/pacemaker.c
+@@ -828,6 +828,10 @@ mcp_cpg_deliver(cpg_handle_t handle,
+         name = crm_element_value(xml, XML_ATTR_UNAME);
+         reap_crm_member(id, name);
+     }
++
++    if (xml != NULL) {
++        free_xml(xml);
++    }
+ }
+ 
+ static void
+-- 
+1.8.4.2
+
diff --git a/SOURCES/pacemaker-add-RemoteLXC-cts-test.patch b/SOURCES/pacemaker-add-RemoteLXC-cts-test.patch
deleted file mode 100644
index e693975..0000000
--- a/SOURCES/pacemaker-add-RemoteLXC-cts-test.patch
+++ /dev/null
@@ -1,581 +0,0 @@
-commit c8136d5f0abe785223f4ea809073d6566aa36b58
-Author: David Vossel <dvossel@redhat.com>
-Date:   Wed Sep 25 18:14:13 2013 -0400
-
-    RemoteLXC port
-
-diff --git a/configure.ac b/configure.ac
-index 6c80891..cfc1b1f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -1084,6 +1084,10 @@ CRM_CONFIG_DIR="${localstatedir}/lib/pacemaker/cib"
- AC_DEFINE_UNQUOTED(CRM_CONFIG_DIR,"$CRM_CONFIG_DIR", Where to keep configuration files)
- AC_SUBST(CRM_CONFIG_DIR)
- 
-+CRM_CONFIG_CTS="${localstatedir}/lib/pacemaker/cts"
-+AC_DEFINE_UNQUOTED(CRM_CONFIG_CTS,"$CRM_CONFIG_CTS", Where to keep cts stateful data)
-+AC_SUBST(CRM_CONFIG_CTS)
-+
- CRM_LEGACY_CONFIG_DIR="${localstatedir}/lib/heartbeat/crm"
- AC_DEFINE_UNQUOTED(CRM_LEGACY_CONFIG_DIR,"$CRM_LEGACY_CONFIG_DIR", Where Pacemaker used to keep configuration files)
- AC_SUBST(CRM_LEGACY_CONFIG_DIR)
-@@ -1790,7 +1794,8 @@ cts/Makefile					        	\
- 	cts/CTSvars.py						\
- 	cts/LSBDummy						\
- 	cts/benchmark/Makefile					\
--		cts/benchmark/clubench				\
-+	cts/benchmark/clubench				\
-+	cts/lxc_autogen.sh						\
- cib/Makefile							\
- crmd/Makefile							\
- pengine/Makefile						\
-diff --git a/cts/CTSlab.py b/cts/CTSlab.py
-index 58506c3..f7e183c 100755
---- a/cts/CTSlab.py
-+++ b/cts/CTSlab.py
-@@ -95,6 +95,7 @@ class LabEnvironment(CtsLab):
-         #self["valgrind-opts"] = """--trace-children=no --num-callers=25 --gen-suppressions=all --suppressions="""+CTSvars.CTS_home+"""/cts.supp"""
- 
-         self["experimental-tests"] = 0
-+        self["container-tests"] = 0
-         self["valgrind-tests"] = 0
-         self["unsafe-tests"] = 1
-         self["loop-tests"] = 1
-@@ -148,6 +149,7 @@ def usage(arg, status=1):
-     print "\t [--no-unsafe-tests]          dont run tests that are unsafe for use with ocfs2/drbd"
-     print "\t [--valgrind-tests]           include tests using valgrind"
-     print "\t [--experimental-tests]       include experimental tests"
-+    print "\t [--container-tests]          include pacemaker_remote tests that run in lxc container resources"
-     print "\t [--oprofile 'node list']     list of cluster nodes to run oprofile on]"
-     print "\t [--qarsh]                    use the QARSH backdoor to access nodes instead of SSH"
-     print "\t [--seed random_seed]"
-@@ -427,6 +429,9 @@ if __name__ == '__main__':
-        elif args[i] == "--experimental-tests":
-            Environment["experimental-tests"] = 1
- 
-+       elif args[i] == "--container-tests":
-+           Environment["container-tests"] = 1
-+
-        elif args[i] == "--set":
-            skipthis=1
-            (name, value) = args[i+1].split('=')
-diff --git a/cts/CTStests.py b/cts/CTStests.py
-index b5dd69a..19f6ef4 100644
---- a/cts/CTStests.py
-+++ b/cts/CTStests.py
-@@ -73,6 +73,7 @@ class CTSTest:
-         self.is_loop = 0
-         self.is_unsafe = 0
-         self.is_experimental = 0
-+        self.is_container = 0
-         self.is_valgrind = 0
-         self.benchmark = 0  # which tests to benchmark
-         self.timer = {}  # timers
-@@ -205,6 +206,8 @@ class CTSTest:
-             return 0
-         elif self.is_experimental and not self.CM.Env["experimental-tests"]:
-             return 0
-+        elif self.is_container and not self.CM.Env["container-tests"]:
-+            return 0
-         elif self.CM.Env["benchmark"] and self.benchmark == 0:
-             return 0
- 
-@@ -2473,4 +2476,118 @@ def TestList(cm, audits):
-             result.append(bound_test)
-     return result
- 
-+###################################################################
-+class RemoteLXC(CTSTest):
-+###################################################################
-+    def __init__(self, cm):
-+        CTSTest.__init__(self,cm)
-+        self.name="RemoteLXC"
-+        self.start = StartTest(cm)
-+        self.startall = SimulStartLite(cm)
-+        self.num_containers = 2
-+        self.is_container = 1
-+        self.failed = 0
-+        self.fail_string = ""
-+
-+    def start_lxc_simple(self, node):
-+
-+        rc = self.CM.rsh(node, "/usr/share/pacemaker/tests/cts/lxc_autogen.sh -v &>/dev/null")
-+        if rc == 1:
-+            return self.skipped()
-+
-+        # restore any artifacts laying around from a previous test.
-+        self.CM.rsh(node, "/usr/share/pacemaker/tests/cts/lxc_autogen.sh -R &>/dev/null")
-+
-+        # generate the containers, put them in the config, add some resources to them
-+        pats = [ ]
-+        watch = self.create_watch(pats, 120)
-+        watch.setwatch()
-+        pats.append("process_lrm_event: LRM operation lxc1_start_0.*confirmed.*ok")
-+        pats.append("process_lrm_event: LRM operation lxc2_start_0.*confirmed.*ok")
-+        pats.append("process_lrm_event: LRM operation lxc-ms_start_0.*confirmed.*ok")
-+        pats.append("process_lrm_event: LRM operation lxc-ms_promote_0.*confirmed.*ok")
-+
-+        self.CM.rsh(node, "/usr/share/pacemaker/tests/cts/lxc_autogen.sh -g -a -m -s -c %d &>/dev/null" % self.num_containers)
-+        self.set_timer("remoteSimpleInit")
-+        watch.lookforall()
-+        self.log_timer("remoteSimpleInit")
-+        if watch.unmatched:
-+            self.fail_string = "Unmatched patterns: %s" % (repr(watch.unmatched))
-+            self.failed = 1
-+
-+    def cleanup_lxc_simple(self, node):
-+
-+        pats = [ ]
-+        # if the test failed, attempt to clean up the cib and libvirt environment
-+        # as best as possible 
-+        if self.failed == 1:
-+            # restore libvirt and cib
-+            self.CM.rsh(node, "/usr/share/pacemaker/tests/cts/lxc_autogen.sh -R &>/dev/null")
-+            self.CM.rsh(node, "crm_resource -C -r container1 &>/dev/null")
-+            self.CM.rsh(node, "crm_resource -C -r container2 &>/dev/null")
-+            self.CM.rsh(node, "crm_resource -C -r lxc1 &>/dev/null")
-+            self.CM.rsh(node, "crm_resource -C -r lxc2 &>/dev/null")
-+            self.CM.rsh(node, "crm_resource -C -r lxc-ms &>/dev/null")
-+            time.sleep(20)
-+            return
-+
-+        watch = self.create_watch(pats, 120)
-+        watch.setwatch()
-+
-+        pats.append("process_lrm_event: LRM operation container1_stop_0.*confirmed.*ok")
-+        pats.append("process_lrm_event: LRM operation container2_stop_0.*confirmed.*ok")
-+
-+        self.CM.rsh(node, "/usr/share/pacemaker/tests/cts/lxc_autogen.sh -p &>/dev/null")
-+        self.set_timer("remoteSimpleCleanup")
-+        watch.lookforall()
-+        self.log_timer("remoteSimpleCleanup")
-+
-+        if watch.unmatched:
-+            self.fail_string = "Unmatched patterns: %s" % (repr(watch.unmatched))
-+            self.failed = 1
-+
-+        # cleanup libvirt
-+        self.CM.rsh(node, "/usr/share/pacemaker/tests/cts/lxc_autogen.sh -R &>/dev/null")
-+
-+    def __call__(self, node):
-+        '''Perform the 'RemoteLXC' test. '''
-+        self.incr("calls")
-+
-+        ret = self.startall(None)
-+        if not ret:
-+            return self.failure("Setup failed, start all nodes failed.")
-+
-+        self.start_lxc_simple(node)
-+        self.cleanup_lxc_simple(node)
-+
-+        self.CM.debug("Waiting for the cluster to recover")
-+        self.CM.cluster_stable()
-+
-+        if self.failed == 1:
-+            return self.failure(self.fail_string)
-+
-+        return self.success()
-+
-+    def errorstoignore(self):
-+        '''Return list of errors which should be ignored'''
-+        return [ """Updating failcount for ping""",
-+                 """LogActions: Recover ping""",
-+                 """LogActions: Recover lxc-ms""",
-+                 """LogActions: Recover container""",
-+                 # The orphaned lxc-ms resource causes an expected transition error
-+                 # that is a result of the pengine not having knowledge that the 
-+                 # ms resource used to be a clone.  As a result it looks like that 
-+                 # resource is running in multiple locations when it shouldn't... But in
-+                 # this instance we know why this error is occurring and that it is expected.
-+                 """Calculated Transition .* /var/lib/pacemaker/pengine/pe-error""",
-+                 """Resource lxc-ms .* is active on 2 nodes attempting recovery""",
-+                 """Unknown operation: fail""",
-+                 """notice: operation_finished: ping-""",
-+                 """notice: operation_finished: container""",
-+                 """notice: operation_finished: .*_monitor_0:.*:stderr""",
-+                 """(ERROR|error): sending stonithRA op to stonithd failed.""",
-+                ]
-+
-+AllTestClasses.append(RemoteLXC)
-+
- # vim:ts=4:sw=4:et:
-diff --git a/cts/Makefile.am b/cts/Makefile.am
-index e01ac10..cb86db8 100644
---- a/cts/Makefile.am
-+++ b/cts/Makefile.am
-@@ -40,6 +40,7 @@ cts_DATA	=	README cts.supp
- 
- cts_SCRIPTS	=	cluster_test		\
- 			CTSlab.py		\
-+			lxc_autogen.sh	\
- 			LSBDummy		\
- 			$(top_srcdir)/fencing/fence_dummy
- 
-diff --git a/cts/lxc_autogen.sh.in b/cts/lxc_autogen.sh.in
-new file mode 100644
-index 0000000..1d334c4
---- /dev/null
-+++ b/cts/lxc_autogen.sh.in
-@@ -0,0 +1,362 @@
-+#!/bin/bash
-+
-+containers="2"
-+download=0
-+share_configs=0
-+# different than default libvirt network in case this is run nested in a KVM instance
-+addr="192.168.123.1"
-+restore=0
-+restore_pcmk=0
-+restore_all=0
-+generate=0
-+key_gen=0
-+cib=0
-+add_master=0
-+verify=0
-+working_dir="@CRM_CONFIG_CTS@/lxc"
-+curdir=$(pwd)
-+
-+function helptext() {
-+	echo "lxc_autogen.sh - A tool for generating libvirt lxc containers for testing purposes."
-+	echo ""
-+	echo "Usage: lxc-autogen [options]"
-+	echo ""
-+	echo "Options:"
-+	echo "-g, --generate         Generate libvirt lxc environment in the directory this script is run from."
-+	echo "-k, --key-gen          Generate local pacemaker remote key only."
-+	echo "-r, --restore-libvirt  Restore the default network, and libvirt config to before this script ran."
-+	echo "-p, --restore-cib      Remove cib entries this script generated."
-+	echo "-R, --restore-all      Restore both libvirt and cib plus clean working directory. This will leave libvirt xml files though so rsc can be stopped properly."
-+	echo ""
-+	echo "-a, --add-cib          Add remote-node entries for each lxc instance into the cib"
-+	echo "-m, --add-master       Add master resource shared between remote-nodes"
-+	echo "-d, --download-agent   Download and install the latest VirtualDomain agent."
-+	echo "-s, --share-configs    Copy container configs to all other known cluster nodes, (crm_node -l)"
-+	echo "-c, --containers       Specify the number of containers to generate, defaults to $containers. Used with -g"
-+	echo "-n, --network          What network to override default libvirt network to. Example: -n 192.168.123.1. Used with -g"
-+	echo "-v, --verify           Verify environment is capable of running lxc"
-+	echo ""
-+	exit $1
-+}
-+
-+while true ; do
-+	case "$1" in
-+	--help|-h|-\?) helptext 0;;
-+	-c|--containers) containers="$2"; shift; shift;;
-+	-d|--download-agent) download=1; shift;;
-+	-s|--share-configs) share_configs=1; shift;;
-+	-n|--network) addr="$2"; shift; shift;;
-+	-r|--restore-libvirt) restore=1; shift;;
-+	-p|--restore-cib) restore_pcmk=1; shift;;
-+	-R|--restore-all)
-+		restore_all=1
-+		restore=1
-+		restore_pcmk=1
-+		shift;;
-+	-g|--generate) generate=1; shift;;
-+	-k|--key-gen) key_gen=1; shift;;
-+	-a|--add-cib) cib=1; shift;;
-+	-m|--add-master) add_master=1; shift;;
-+	-v|--verify) verify=1; shift;;
-+	"") break;;
-+	*) helptext 1;;
-+	esac
-+done
-+
-+if [ $verify -eq 1 ]; then
-+	# verify virsh tool is available and that 
-+	# we can connect to lxc driver.
-+	virsh -c lxc:/// list --all > /dev/null 2>&1
-+	if [ $? -ne 0 ]; then
-+		echo "Could not connect 'virsh -c lxc:///' check that libvirt lxc driver is installed"
-+		exit 1
-+	fi
-+
-+	cat /etc/selinux/config  | grep -e "SELINUX.*=.*permissive" -e "SELINUX.*=.*enforcing" > /dev/null 2>&1
-+	if [ $? -ne 0 ]; then
-+		echo "/etc/selinux/config must have SELINUX set to permissive or enforcing mode."
-+		exit 1
-+	fi
-+
-+	ps x > /tmp/lxc-autogen-libvirt-test.txt
-+	grep "libvirtd" /tmp/lxc-autogen-libvirt-test.txt
-+	if [ $? -ne 0 ]; then
-+		rm -f /tmp/lxc-autogen-libvirt-test.txt
-+		echo "libvirtd isn't up."
-+		exit 1
-+	fi
-+	rm -f /tmp/lxc-autogen-libvirt-test.txt
-+
-+	which rsync > /dev/null 2>&1
-+	if [ $? -ne 0 ]; then
-+		echo "rsync is required"
-+	fi
-+
-+fi
-+
-+#strip last digits off addr
-+tmp="s/\.$(echo "$addr" | tr '.' ' ' | awk '{print $4}')$//g"
-+addr=$(echo $addr | sed -e ${tmp})
-+
-+set_network()
-+{
-+	rm -f cur_network.xml
-+	cat << END >> cur_network.xml
-+<network>
-+  <name>default</name>
-+  <uuid>41ebdb84-7134-1111-a136-91f0f1119225</uuid>
-+  <forward mode='nat'/>
-+  <bridge name='virbr0' stp='on' delay='0' />
-+  <mac address='52:54:00:A8:12:35'/>
-+  <ip address='$addr.1' netmask='255.255.255.0'>
-+    <dhcp>
-+      <range start='$addr.2' end='$addr.254' />
-+    </dhcp>
-+  </ip>
-+</network>
-+END
-+
-+	ls restore_default.xml > /dev/null 2>&1
-+	if [ $? -ne 0 ]; then
-+		virsh net-dumpxml default > restore_default.xml
-+	fi
-+	virsh net-destroy default
-+	virsh net-undefine default
-+	virsh net-define cur_network.xml
-+	virsh net-start default
-+}
-+
-+generate_key()
-+{
-+	#generate pacemaker remote key
-+	ls /etc/pacemaker/authkey > /dev/null 2>&1
-+	if [ $? != 0 ]; then
-+			mkdir -p /etc/pacemaker
-+			dd if=/dev/urandom of=/etc/pacemaker/authkey bs=4096 count=1
-+	fi
-+}
-+
-+generate()
-+{
-+	set_network
-+
-+	# Generate libvirt domains in xml
-+	for (( c=1; c <= $containers; c++ ))
-+	do
-+		rm -rf lxc$c-filesystem
-+		mkdir -p lxc$c-filesystem/var/run/
-+		mkdir -p lxc$c-filesystem/usr/var/run
-+		rm -f lxc$c.xml
-+		cat << END >> lxc$c.xml
-+<domain type='lxc'>
-+  <name>lxc$c</name>
-+  <memory>102400</memory>
-+  <os>
-+    <type>exe</type>
-+    <init>$working_dir/lxc$c-filesystem/launch-helper</init>
-+  </os>
-+  <devices>
-+    <console type='pty'/>
-+    <filesystem type='mount'>
-+      <source dir='$working_dir/lxc$c-filesystem/var/run'/>
-+      <target dir='/var/run'/>
-+    </filesystem>
-+    <filesystem type='mount'>
-+      <source dir='$working_dir/lxc$c-filesystem/usr/var/run'/>
-+      <target dir='/usr/var/run'/>
-+    </filesystem>
-+    <interface type='network'>
-+      <mac address='52:54:00:$c$c:$(($RANDOM % 9))$(($RANDOM % 9)):$(($RANDOM % 9))$c'/>
-+      <source network='default'/>
-+    </interface>
-+  </devices>
-+</domain>
-+END
-+		rm -f container$c.cib
-+		cat << END >> container$c.cib
-+      <primitive class="ocf" id="container$c" provider="heartbeat" type="VirtualDomain">
-+        <instance_attributes id="container$c-instance_attributes">
-+          <nvpair id="container$c-instance_attributes-force_stop" name="force_stop" value="true"/>
-+          <nvpair id="container$c-instance_attributes-hypervisor" name="hypervisor" value="lxc:///"/>
-+          <nvpair id="container$c-instance_attributes-config" name="config" value="$working_dir/lxc$c.xml"/>
-+          <nvpair id="container$c-instance_attributes-remote-node" name="remote-node" value="lxc$c"/>
-+        </instance_attributes>
-+        <utilization id="container$c-utilization">
-+          <nvpair id="container$c-utilization-cpu" name="cpu" value="1"/>
-+          <nvpair id="container$c-utilization-hv_memory" name="hv_memory" value="100"/>
-+        </utilization>
-+        <meta_attributes id="container$c-meta_attributes">
-+          <nvpair id="container$c-meta_attributes-remote-node" name="remote-node" value="lxc$c"/>
-+        </meta_attributes>
-+      </primitive>
-+END
-+
-+		rm -f lxc-ms$c.cib
-+		cat << END >> lxc-ms.cib
-+      <master id="lxc-ms-master">
-+        <primitive class="ocf" id="lxc-ms" provider="pacemaker" type="Stateful">
-+          <instance_attributes id="lxc-ms-instance_attributes"/>
-+          <operations>
-+            <op id="lxc-ms-monitor-interval-10s" interval="10s" name="monitor"/>
-+          </operations>
-+        </primitive>
-+        <meta_attributes id="lxc-ms-meta_attributes">
-+          <nvpair id="lxc-ms-meta_attributes-master-max" name="master-max" value="1"/>
-+          <nvpair id="lxc-ms-meta_attributes-clone-max" name="clone-max" value="$containers"/>
-+        </meta_attributes>
-+      </master>
-+END
-+
-+		rm -f lxc$c-filesystem/launch-helper
-+		cat << END >> lxc$c-filesystem/launch-helper
-+#!/bin/bash
-+ifconfig eth0 $addr.10$c
-+route add 0.0.0.0 gw $addr.1 eth0
-+hostname lxc$c
-+/usr/sbin/pacemaker_remoted
-+END
-+		chmod 711 lxc$c-filesystem/launch-helper
-+
-+		cat << END >> /etc/hosts
-+$addr.10$c     lxc$c
-+END
-+	done
-+}
-+
-+apply_cib_master()
-+{
-+	cibadmin -Q > cur.cib
-+	export CIB_file=cur.cib
-+
-+	cibadmin -o resources -C -x lxc-ms.cib
-+	for tmp in $(ls lxc*.xml); do
-+		tmp=$(echo $tmp | sed -e 's/\.xml//g')
-+		echo "<rsc_location id=\"lxc-ms-location-${tmp}\" node=\"${tmp}\" rsc=\"lxc-ms\" score=\"INFINITY\"/>" > tmp_constraint
-+		cibadmin -o constraints -C -x tmp_constraint
-+		echo "<rsc_location id=\"lxc-ping-location-${tmp}\" node=\"${tmp}\" rsc=\"ping-1\" score=\"-INFINITY\"/>" > tmp_constraint
-+		cibadmin -o constraints -C -x tmp_constraint > /dev/null 2>&1
-+		rm -f tmp_constraint
-+	done
-+	unset CIB_file
-+
-+	cibadmin --replace --xml-file cur.cib
-+	rm -f cur.cib
-+}
-+
-+apply_cib_entries()
-+{
-+	node=$(crm_node -n)
-+
-+	cibadmin -Q > cur.cib
-+	export CIB_file=cur.cib
-+	for tmp in $(ls container*.cib); do
-+		cibadmin -o resources -C -x $tmp
-+
-+		tmp=$(echo $tmp | sed -e 's/\.cib//g')
-+		crm_resource -M -r $tmp -H $node
-+	done
-+	unset CIB_file
-+
-+	cibadmin --replace --xml-file cur.cib
-+	rm -f cur.cib
-+}
-+
-+restore_cib()
-+{
-+	node=$(crm_node -n)
-+	cibadmin -Q > cur.cib
-+	export CIB_file=cur.cib
-+
-+	for tmp in $(ls lxc*.xml); do
-+		tmp=$(echo $tmp | sed -e 's/\.xml//g')
-+		echo "<rsc_location id=\"lxc-ms-location-${tmp}\" node=\"${tmp}\" rsc=\"lxc-ms\" score=\"INFINITY\"/>" > tmp_constraint
-+		cibadmin -o constraints -D -x tmp_constraint
-+		echo "<rsc_location id=\"lxc-ping-location-${tmp}\" node=\"${tmp}\" rsc=\"ping-1\" score=\"-INFINITY\"/>" > tmp_constraint
-+		cibadmin -o constraints -D -x tmp_constraint
-+		rm -f tmp_constraint
-+	done
-+	cibadmin -o resources -D -x lxc-ms.cib
-+
-+	for tmp in $(ls container*.cib); do
-+		tmp=$(echo $tmp | sed -e 's/\.cib//g')
-+		crm_resource -U -r $tmp -H $node
-+		crm_resource -D -r $tmp -t primitive
-+	done
-+	unset CIB_file
-+
-+	cibadmin --replace --xml-file cur.cib
-+	rm -f  cur.cib 
-+}
-+
-+restore_libvirt()
-+{
-+	for tmp in $(ls lxc*.xml); do
-+		tmp=$(echo $tmp | sed -e 's/\.xml//g')
-+		virsh -c lxc:/// destroy $tmp > /dev/null 2>&1
-+		virsh -c lxc:/// undefine $tmp > /dev/null 2>&1
-+
-+		sed -i.bak "/...\....\....\..* ${tmp}/d" /etc/hosts
-+		echo "$tmp destroyed"
-+	done
-+
-+	ls restore_default.xml > /dev/null 2>&1
-+	if [ $? -eq 0 ]; then
-+		virsh net-destroy default > /dev/null 2>&1
-+		virsh net-undefine default > /dev/null 2>&1
-+		virsh net-define restore_default.xml
-+		virsh net-start default
-+		if [ $? -eq 0 ]; then
-+			echo "default network restored"
-+		fi
-+	fi
-+	rm -f restore_default.xml > /dev/null 2>&1 
-+}
-+
-+distribute_configs()
-+{
-+	local node
-+	local id
-+	while read id node
-+	do
-+		rsync -ave 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' $working_dir/lxc*.xml $node:/$working_dir
-+		rsync -ave 'ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' $working_dir/lxc*-filesystem $node:/$working_dir
-+	done < <(crm_node -l)
-+}
-+
-+mkdir -p $working_dir
-+cd $working_dir
-+
-+if [ $download -eq 1 ]; then
-+	wget https://raw.github.com/ClusterLabs/resource-agents/master/heartbeat/VirtualDomain
-+	chmod 755 VirtualDomain
-+	mv -f VirtualDomain /usr/lib/ocf/resource.d/heartbeat/VirtualDomain
-+fi
-+if [ $restore_pcmk -eq 1 ]; then
-+	restore_cib
-+fi
-+if [ $restore -eq 1 ]; then
-+	restore_libvirt
-+fi
-+if [ $key_gen -eq 1 ]; then
-+	generate_key
-+fi
-+if [ $generate -eq 1 ]; then
-+	if [ $key_gen -eq 0]; then
-+		generate_key
-+	fi
-+	generate
-+fi
-+if [ $cib -eq 1 ]; then
-+	apply_cib_entries
-+fi
-+if [ $add_master -eq 1 ]; then
-+	apply_cib_master
-+fi
-+if [ $share_configs -eq 1 ]; then
-+	distribute_configs
-+fi
-+if [ $restore_all -eq 1 ]; then
-+	ls | grep -v "lxc.\.xml" | xargs rm -rf
-+fi
-+
-+cd $curdir
diff --git a/SOURCES/pacemaker-async-systemd-reload.patch b/SOURCES/pacemaker-async-systemd-reload.patch
new file mode 100644
index 0000000..6398fc0
--- /dev/null
+++ b/SOURCES/pacemaker-async-systemd-reload.patch
@@ -0,0 +1,665 @@
+diff --git a/include/crm/common/logging.h b/include/crm/common/logging.h
+index 5b8e47f..642fa92 100644
+--- a/include/crm/common/logging.h
++++ b/include/crm/common/logging.h
+@@ -157,7 +157,7 @@ unsigned int get_crm_log_level(void);
+         }                                                               \
+     } while(0)
+ 
+-#  define do_crm_log_always(level, fmt, args...) qb_log(level, "%s: " fmt, __FUNCTION__ , ##args)
++#  define do_crm_log_always(level, fmt, args...) qb_log(level, fmt , ##args)
+ 
+ #  define crm_perror(level, fmt, args...) do {				\
+ 	const char *err = strerror(errno);				\
+diff --git a/include/crm/services.h b/include/crm/services.h
+index 5310709..1a02656 100644
+--- a/include/crm/services.h
++++ b/include/crm/services.h
+@@ -262,8 +262,9 @@ enum nagios_exitcode {
+  */
+     svc_action_t *services_action_create_generic(const char *exec, const char *args[]);
+ 
+-    void
+-     services_action_free(svc_action_t * op);
++    void services_action_cleanup(svc_action_t * op);
++
++    void services_action_free(svc_action_t * op);
+ 
+     gboolean services_action_sync(svc_action_t * op);
+ 
+diff --git a/lib/cib/cib_utils.c b/lib/cib/cib_utils.c
+index 15b354b..ea37c4b 100644
+--- a/lib/cib/cib_utils.c
++++ b/lib/cib/cib_utils.c
+@@ -112,8 +112,13 @@ get_cib_copy(cib_t * cib)
+ {
+     xmlNode *xml_cib;
+     int options = cib_scope_local | cib_sync_call;
+-    int rc = cib->cmds->query(cib, NULL, &xml_cib, options);
++    int rc = pcmk_ok;
++
++    if (cib->state == cib_disconnected) {
++        return NULL;
++    }
+ 
++    rc = cib->cmds->query(cib, NULL, &xml_cib, options);
+     if (rc == -EACCES) {
+         return NULL;
+ 
+diff --git a/lib/services/dbus.c b/lib/services/dbus.c
+index c0153b5..f44b590 100644
+--- a/lib/services/dbus.c
++++ b/lib/services/dbus.c
+@@ -145,7 +145,7 @@ DBusMessage *pcmk_dbus_send_recv(DBusMessage *msg, DBusConnection *connection, D
+     return reply;
+ }
+ 
+-bool pcmk_dbus_send(DBusMessage *msg, DBusConnection *connection,
++DBusPendingCall* pcmk_dbus_send(DBusMessage *msg, DBusConnection *connection,
+                     void(*done)(DBusPendingCall *pending, void *user_data), void *user_data)
+ {
+     DBusError error;
+@@ -161,27 +161,30 @@ bool pcmk_dbus_send(DBusMessage *msg, DBusConnection *connection,
+     // send message and get a handle for a reply
+     if (!dbus_connection_send_with_reply (connection, msg, &pending, -1/* aka. DBUS_TIMEOUT_USE_DEFAULT */)) { // -1 is default timeout
+         crm_err("Send with reply failed for %s", method);
+-        return FALSE;
++        return NULL;
+ 
+     } else if (pending == NULL) {
+         crm_err("No pending call found for %s", method);
+-        return FALSE;
+-
++        return NULL;
+     }
+ 
++    crm_trace("DBus %s call sent", method);
+     if (dbus_pending_call_get_completed(pending)) {
+-        crm_info("DBus %s call completed too soon");
+-#if 1
++        crm_info("DBus %s call completed too soon", method);
++        if(done) {
++#if 0
+         /* This sounds like a good idea, but allegedly it breaks things */
+         done(pending, user_data);
++        pending = NULL;
+ #else
+         CRM_ASSERT(dbus_pending_call_set_notify(pending, done, user_data, NULL));
+ #endif
++        }
+ 
+-    } else {
++    } else if(done) {
+         CRM_ASSERT(dbus_pending_call_set_notify(pending, done, user_data, NULL));
+     }
+-    return TRUE;
++    return pending;
+ }
+ 
+ bool pcmk_dbus_type_check(DBusMessage *msg, DBusMessageIter *field, int expected, const char *function, int line)
+@@ -286,6 +289,11 @@ pcmk_dbus_lookup_result(DBusMessage *reply, struct db_getall_data *data)
+         dbus_message_iter_next (&dict);
+     }
+ 
++    if(data->name && data->callback) {
++        crm_trace("No value for property %s[%s]", data->object, data->name);
++        data->callback(data->name, NULL, data->userdata);
++    }
++
+   cleanup:
+     free(data->target);
+     free(data->object);
+@@ -306,6 +314,9 @@ pcmk_dbus_lookup_cb(DBusPendingCall *pending, void *user_data)
+ 
+     pcmk_dbus_lookup_result(reply, user_data);
+ 
++    if(pending) {
++        dbus_pending_call_unref(pending);
++    }
+     if(reply) {
+         dbus_message_unref(reply);
+     }
+@@ -375,20 +386,59 @@ static void pcmk_dbus_connection_dispatch(DBusConnection *connection, DBusDispat
+     crm_trace("status %d for %p", new_status, data);
+     if (new_status == DBUS_DISPATCH_DATA_REMAINS){
+         dbus_connection_dispatch(connection);
++
++        while (dbus_connection_get_dispatch_status(connection) == DBUS_DISPATCH_DATA_REMAINS) {
++            dbus_connection_dispatch(connection);
++        }
+     }
+ }
+ 
++/* Copied from dbus-watch.c */
++
++static const char*
++dbus_watch_flags_to_string (int flags)
++{
++  const char *watch_type;
++
++  if ((flags & DBUS_WATCH_READABLE) &&
++      (flags & DBUS_WATCH_WRITABLE))
++    watch_type = "readwrite";
++  else if (flags & DBUS_WATCH_READABLE)
++    watch_type = "read";
++  else if (flags & DBUS_WATCH_WRITABLE)
++    watch_type = "write";
++  else
++    watch_type = "not read or write";
++  return watch_type;
++}
++
+ static int
+ pcmk_dbus_watch_dispatch(gpointer userdata)
+ {
++    bool oom = FALSE;
+     DBusWatch *watch = userdata;
+     int flags = dbus_watch_get_flags(watch);
++    bool enabled = dbus_watch_get_enabled (watch);
++    mainloop_io_t *client = dbus_watch_get_data(watch);
+ 
+-    crm_trace("Dispatching %p with flags %d", watch, flags);
+-    if(flags & DBUS_WATCH_READABLE) {
+-        dbus_watch_handle(watch, DBUS_WATCH_READABLE);
+-    } else {
+-        dbus_watch_handle(watch, DBUS_WATCH_ERROR);
++    crm_trace("Dispatching client %p: %s", client, dbus_watch_flags_to_string(flags));
++    if (enabled && is_set(flags, DBUS_WATCH_READABLE)) {
++        oom = !dbus_watch_handle(watch, flags);
++
++    } else if (enabled && is_set(flags, DBUS_WATCH_READABLE)) {
++        oom = !dbus_watch_handle(watch, flags);
++
++    } else if(enabled) {
++        oom = !dbus_watch_handle(watch, DBUS_WATCH_ERROR);
++    }
++
++    if(flags != dbus_watch_get_flags(watch)) {
++        flags = dbus_watch_get_flags(watch);
++        crm_trace("Dispatched client %p: %s (%d)", client, dbus_watch_flags_to_string(flags), flags);
++    }
++
++    if(oom) {
++        crm_err("DBus encountered OOM while attempting to dispatch %p (%s)", client, dbus_watch_flags_to_string(flags));
+     }
+     return 0;
+ }
+@@ -396,7 +446,8 @@ pcmk_dbus_watch_dispatch(gpointer userdata)
+ static void
+ pcmk_dbus_watch_destroy(gpointer userdata)
+ {
+-    crm_trace("Destroyed %p", userdata);
++    mainloop_io_t *client = dbus_watch_get_data(userdata);
++    crm_trace("Destroyed %p", client);
+ }
+ 
+ 
+@@ -412,7 +463,7 @@ pcmk_dbus_watch_add(DBusWatch *watch, void *data){
+     mainloop_io_t *client = mainloop_add_fd(
+         "dbus", G_PRIORITY_DEFAULT, fd, watch, &pcmk_dbus_cb);
+ 
+-    crm_trace("Added %p with fd=%d", watch, fd);
++    crm_trace("Added watch %p with fd=%d to client %p", watch, fd, client);
+     dbus_watch_set_data(watch, client, NULL);
+     return TRUE;
+ }
+@@ -429,14 +480,14 @@ static void
+ pcmk_dbus_watch_remove(DBusWatch *watch, void *data){
+     mainloop_io_t *client = dbus_watch_get_data(watch);
+ 
+-    crm_trace("Removed %p", watch);
++    crm_trace("Removed client %p (%p)", client, data);
+     mainloop_del_fd(client);
+ }
+ 
+ static gboolean
+ pcmk_dbus_timeout_dispatch(gpointer data)
+ {
+-    crm_trace("Timeout for %p");
++    crm_info("Timeout %p expired", data);
+     dbus_timeout_handle(data);
+     return FALSE;
+ }
+@@ -445,6 +496,8 @@ static dbus_bool_t
+ pcmk_dbus_timeout_add(DBusTimeout *timeout, void *data){
+     guint id = g_timeout_add(dbus_timeout_get_interval(timeout), pcmk_dbus_timeout_dispatch, timeout);
+ 
++    crm_trace("Adding timeout %p (%ld)", timeout, dbus_timeout_get_interval(timeout));
++
+     if(id) {
+         dbus_timeout_set_data(timeout, GUINT_TO_POINTER(id), NULL);
+     }
+@@ -456,6 +509,8 @@ pcmk_dbus_timeout_remove(DBusTimeout *timeout, void *data){
+     void *vid = dbus_timeout_get_data(timeout);
+     guint id = GPOINTER_TO_UINT(vid);
+ 
++    crm_trace("Removing timeout %p (%p)", timeout, data);
++
+     if(id) {
+         g_source_remove(id);
+         dbus_timeout_set_data(timeout, 0, NULL);
+@@ -464,7 +519,11 @@ pcmk_dbus_timeout_remove(DBusTimeout *timeout, void *data){
+ 
+ static void
+ pcmk_dbus_timeout_toggle(DBusTimeout *timeout, void *data){
+-    if(dbus_timeout_get_enabled(timeout)) {
++    bool enabled = dbus_timeout_get_enabled(timeout);
++
++    crm_trace("Toggling timeout for %p to %s", timeout, enabled?"off":"on");
++
++    if(enabled) {
+         pcmk_dbus_timeout_add(timeout, data);
+     } else {
+         pcmk_dbus_timeout_remove(timeout, data);
+diff --git a/lib/services/pcmk-dbus.h b/lib/services/pcmk-dbus.h
+index ed80c5f..468020e 100644
+--- a/lib/services/pcmk-dbus.h
++++ b/lib/services/pcmk-dbus.h
+@@ -2,7 +2,7 @@ DBusConnection *pcmk_dbus_connect(void);
+ void pcmk_dbus_connection_setup_with_select(DBusConnection *c);
+ void pcmk_dbus_disconnect(DBusConnection *connection);
+ 
+-bool pcmk_dbus_send(DBusMessage *msg, DBusConnection *connection,
++DBusPendingCall *pcmk_dbus_send(DBusMessage *msg, DBusConnection *connection,
+                     void(*done)(DBusPendingCall *pending, void *user_data), void *user_data);
+ DBusMessage *pcmk_dbus_send_recv(DBusMessage *msg, DBusConnection *connection, DBusError *error);
+ bool pcmk_dbus_type_check(DBusMessage *msg, DBusMessageIter *field, int expected, const char *function, int line);
+diff --git a/lib/services/services.c b/lib/services/services.c
+index 9936c72..582fbe1 100644
+--- a/lib/services/services.c
++++ b/lib/services/services.c
+@@ -303,18 +303,24 @@ services_action_create_generic(const char *exec, const char *args[])
+ }
+ 
+ void
+-services_action_free(svc_action_t * op)
++services_action_cleanup(svc_action_t * op)
+ {
+-    unsigned int i;
+-
+-    if (op == NULL) {
+-        return;
++    if(op->opaque->timerid != 0) {
++        crm_trace("Removing timer for call %s to %s", op->action, op->rsc);
++        g_source_remove(op->opaque->timerid);
++        op->opaque->timerid = 0;
+     }
+ 
+-    if (op->opaque->repeat_timer) {
+-        g_source_remove(op->opaque->repeat_timer);
+-        op->opaque->repeat_timer = 0;
++    if(op->opaque->pending) {
++        crm_trace("Cleaning up pending dbus call %p %s for %s", op->opaque->pending, op->action, op->rsc);
++        if(dbus_pending_call_get_completed(op->opaque->pending)) {
++            crm_warn("Pending dbus call %s for %s did not complete", op->action, op->rsc);
++        }
++        dbus_pending_call_cancel(op->opaque->pending);
++        dbus_pending_call_unref(op->opaque->pending);
++        op->opaque->pending = NULL;
+     }
++
+     if (op->opaque->stderr_gsource) {
+         mainloop_del_fd(op->opaque->stderr_gsource);
+         op->opaque->stderr_gsource = NULL;
+@@ -324,6 +330,23 @@ services_action_free(svc_action_t * op)
+         mainloop_del_fd(op->opaque->stdout_gsource);
+         op->opaque->stdout_gsource = NULL;
+     }
++}
++
++void
++services_action_free(svc_action_t * op)
++{
++    unsigned int i;
++
++    if (op == NULL) {
++        return;
++    }
++
++    services_action_cleanup(op);
++
++    if (op->opaque->repeat_timer) {
++        g_source_remove(op->opaque->repeat_timer);
++        op->opaque->repeat_timer = 0;
++    }
+ 
+     free(op->id);
+     free(op->opaque->exec);
+diff --git a/lib/services/services_linux.c b/lib/services/services_linux.c
+index 2279e4e..8d6f450 100644
+--- a/lib/services/services_linux.c
++++ b/lib/services/services_linux.c
+@@ -264,6 +264,8 @@ operation_finalize(svc_action_t * op)
+         services_action_free(op);
+         return TRUE;
+     }
++
++    services_action_cleanup(op);
+     return FALSE;
+ }
+ 
+diff --git a/lib/services/services_private.h b/lib/services/services_private.h
+index dd759e3..bcf882c 100644
+--- a/lib/services/services_private.h
++++ b/lib/services/services_private.h
+@@ -19,6 +19,10 @@
+ #ifndef __MH_SERVICES_PRIVATE_H__
+ #  define __MH_SERVICES_PRIVATE_H__
+ 
++#if SUPPORT_DBUS
++#  include <dbus/dbus.h>
++#endif
++
+ struct svc_action_private_s {
+     char *exec;
+     char *args[255];
+@@ -31,6 +35,10 @@ struct svc_action_private_s {
+ 
+     int stdout_fd;
+     mainloop_io_t *stdout_gsource;
++#if SUPPORT_DBUS
++    DBusPendingCall* pending;
++    unsigned timerid;
++#endif
+ };
+ 
+ GList *services_os_get_directory_list(const char *root, gboolean files, gboolean executable);
+diff --git a/lib/services/systemd.c b/lib/services/systemd.c
+index 9a7b078..51ade44 100644
+--- a/lib/services/systemd.c
++++ b/lib/services/systemd.c
+@@ -110,20 +110,48 @@ systemd_service_name(const char *name)
+     return g_strdup_printf("%s.service", name);
+ }
+ 
+-static bool
+-systemd_daemon_reload(void)
++static void
++systemd_daemon_reload_complete(DBusPendingCall *pending, void *user_data)
+ {
+-    /* TODO: Make this asynchronous */
+-    const char *method = "Reload";
++    DBusError error;
+     DBusMessage *reply = NULL;
+-    DBusMessage *msg = systemd_new_method(BUS_NAME".Manager", method);
++    unsigned int reload_count = GPOINTER_TO_UINT(user_data);
+ 
+-    CRM_ASSERT(msg != NULL);
+-    reply = pcmk_dbus_send_recv(msg, systemd_proxy, NULL);
+-    dbus_message_unref(msg);
++    dbus_error_init(&error);
++    if(pending) {
++        reply = dbus_pending_call_steal_reply(pending);
++    }
++
++    if(pcmk_dbus_find_error("Reload", pending, reply, &error)) {
++        crm_err("Could not issue systemd reload %d: %s", reload_count, error.message);
++
++    } else {
++        crm_trace("Reload %d complete", reload_count);
++    }
++
++    if(pending) {
++        dbus_pending_call_unref(pending);
++    }
+     if(reply) {
+         dbus_message_unref(reply);
+     }
++}
++
++static bool
++systemd_daemon_reload(void)
++{
++    static unsigned int reload_count = 0;
++    const char *method = "Reload";
++
++
++    reload_count++;
++    if(reload_count % 10 == 0) {
++        DBusMessage *msg = systemd_new_method(BUS_NAME".Manager", method);
++
++        CRM_ASSERT(msg != NULL);
++        pcmk_dbus_send(msg, systemd_proxy, systemd_daemon_reload_complete, GUINT_TO_POINTER(reload_count));
++        dbus_message_unref(msg);
++    }
+     return TRUE;
+ }
+ 
+@@ -155,13 +183,22 @@ static void
+ systemd_loadunit_cb(DBusPendingCall *pending, void *user_data)
+ {
+     DBusMessage *reply = NULL;
++    svc_action_t * op = user_data;
+ 
+     if(pending) {
+         reply = dbus_pending_call_steal_reply(pending);
+     }
+ 
++    if(op) {
++        crm_trace("Got result: %p for %p for %s, %s", reply, pending, op->rsc, op->action);
++    } else {
++        crm_trace("Got result: %p for %p", reply, pending);
++    }
+     systemd_loadunit_result(reply, user_data);
+ 
++    if(pending) {
++        dbus_pending_call_unref(pending);
++    }
+     if(reply) {
+         dbus_message_unref(reply);
+     }
+@@ -213,6 +250,7 @@ systemd_unit_by_name(const gchar * arg_name, svc_action_t *op)
+     }
+ 
+     pcmk_dbus_send(msg, systemd_proxy, systemd_loadunit_cb, op);
++    dbus_message_unref(msg);
+     return NULL;
+ }
+ 
+@@ -421,6 +459,12 @@ systemd_async_dispatch(DBusPendingCall *pending, void *user_data)
+         reply = dbus_pending_call_steal_reply(pending);
+     }
+ 
++    if(op) {
++        crm_trace("Got result: %p for %p for %s, %s", reply, pending, op->rsc, op->action);
++    } else {
++        crm_trace("Got result: %p for %p", reply, pending);
++    }
++    op->opaque->pending = NULL;
+     systemd_exec_result(reply, op);
+ 
+     if(pending) {
+@@ -437,10 +481,13 @@ static void
+ systemd_unit_check(const char *name, const char *state, void *userdata)
+ {
+     svc_action_t * op = userdata;
+-    
+-    CRM_ASSERT(state != NULL);
+ 
+-    if (g_strcmp0(state, "active") == 0) {
++    crm_trace("Resource %s has %s='%s'", op->rsc, name, state);
++
++    if(state == NULL) {
++        op->rc = PCMK_OCF_NOT_RUNNING;
++
++    } else if (g_strcmp0(state, "active") == 0) {
+         op->rc = PCMK_OCF_OK;
+     } else if (g_strcmp0(state, "activating") == 0) {
+         op->rc = PCMK_OCF_PENDING;
+@@ -449,6 +496,7 @@ systemd_unit_check(const char *name, const char *state, void *userdata)
+     }
+ 
+     if (op->synchronous == FALSE) {
++        op->opaque->pending = NULL;
+         operation_finalize(op);
+     }
+ }
+@@ -539,28 +587,29 @@ systemd_unit_exec_with_unit(svc_action_t * op, const char *unit)
+     }
+ 
+     if (op->synchronous == FALSE) {
+-        return pcmk_dbus_send(msg, systemd_proxy, systemd_async_dispatch, op);
++        DBusPendingCall* pending = pcmk_dbus_send(msg, systemd_proxy, systemd_async_dispatch, op);
++
++        dbus_message_unref(msg);
++        if(pending) {
++            dbus_pending_call_ref(pending);
++            op->opaque->pending = pending;
++            return TRUE;
++        }
++        return FALSE;
+ 
+     } else {
+         DBusError error;
+ 
+         reply = pcmk_dbus_send_recv(msg, systemd_proxy, &error);
++        dbus_message_unref(msg);
+         systemd_exec_result(reply, op);
+ 
+         if(reply) {
+             dbus_message_unref(reply);
+         }
+-        if(msg) {
+-            dbus_message_unref(msg);
+-        }
+-
+         return FALSE;
+     }
+ 
+-    if(msg) {
+-        dbus_message_unref(msg);
+-    }
+-
+   cleanup:
+     if (op->synchronous == FALSE) {
+         operation_finalize(op);
+@@ -570,6 +619,18 @@ systemd_unit_exec_with_unit(svc_action_t * op, const char *unit)
+     return op->rc == PCMK_OCF_OK;
+ }
+ 
++static gboolean
++systemd_timeout_callback(gpointer p)
++{
++    svc_action_t * op = p;
++
++    op->opaque->timerid = 0;
++    crm_warn("%s operation on systemd unit %s named '%s' timed out", op->action, op->agent, op->rsc);
++    operation_finalize(op);
++
++    return FALSE;
++}
++
+ gboolean
+ systemd_unit_exec(svc_action_t * op)
+ {
+@@ -596,6 +657,7 @@ systemd_unit_exec(svc_action_t * op)
+     free(unit);
+ 
+     if (op->synchronous == FALSE) {
++        op->opaque->timerid = g_timeout_add(op->timeout + 5000, systemd_timeout_callback, op);
+         return TRUE;
+     }
+ 
+diff --git a/lib/services/upstart.c b/lib/services/upstart.c
+index 4c7211d..01ff817 100644
+--- a/lib/services/upstart.c
++++ b/lib/services/upstart.c
+@@ -513,8 +513,15 @@ upstart_job_exec(svc_action_t * op, gboolean synchronous)
+     CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_BOOLEAN, &arg_wait, DBUS_TYPE_INVALID));
+ 
+     if (op->synchronous == FALSE) {
++        DBusPendingCall* pending = pcmk_dbus_send(msg, upstart_proxy, upstart_async_dispatch, op);
+         free(job);
+-        return pcmk_dbus_send(msg, upstart_proxy, upstart_async_dispatch, op);
++
++        if(pending) {
++            dbus_pending_call_ref(pending);
++            op->opaque->pending = pending;
++            return TRUE;
++        }
++        return FALSE;
+     }
+ 
+     dbus_error_init(&error);
+diff --git a/lrmd/regression.py.in b/lrmd/regression.py.in
+index a9a32ef..649c984 100755
+--- a/lrmd/regression.py.in
++++ b/lrmd/regression.py.in
+@@ -27,12 +27,12 @@ build_dir="@abs_top_builddir@"
+ test_dir=sys.path[0]
+ 
+ new_path=os.environ['PATH']
+-
+ if os.path.exists("%s/regression.py.in" % test_dir):
+     print "Running tests from the source tree: %s (%s)" % (build_dir, test_dir)
+     new_path = "%s/lrmd:%s" % (build_dir, new_path)    # For lrmd, lrmd_test and pacemaker_remoted
+     new_path = "%s/tools:%s" % (build_dir, new_path)   # For crm_resource
+     new_path = "%s/fencing:%s" % (build_dir, new_path) # For stonithd
++
+ else:
+     print "Running tests from the install tree: @CRM_DAEMON_DIR@ (not %s)" % test_dir
+     new_path = "@CRM_DAEMON_DIR@:%s" % (new_path) # For stonithd, lrmd, lrmd_test and pacemaker_remoted
+@@ -434,13 +434,15 @@ if __name__ == "__main__":
+ 			for ra in [ "Dummy", "Stateful", "ping" ]:
+ 				os.system("cp %s/extra/resources/%s @OCF_RA_DIR@/pacemaker/%s" % (build_dir, ra, ra))
+ 				os.system("chmod a+x @OCF_RA_DIR@/pacemaker/%s" % (ra))
+-			else:
+-				# Assume it's installed
+-				print "Using @datadir@/@PACKAGE@/tests/cts/LSBDummy"
+-				os.system("cp @datadir@/@PACKAGE@/tests/cts/LSBDummy /etc/init.d/LSBDummy")
+ 
+-				os.system("chmod a+x /etc/init.d/LSBDummy")
+-				os.system("ls -al /etc/init.d/LSBDummy")
++                else:
++                    # Assume it's installed
++                    print "Using @datadir@/@PACKAGE@/tests/cts/LSBDummy"
++                    os.system("cp @datadir@/@PACKAGE@/tests/cts/LSBDummy /etc/init.d/LSBDummy")
++
++                os.system("chmod a+x /etc/init.d/LSBDummy")
++                os.system("ls -al /etc/init.d/LSBDummy")
++
+ 		os.system("mkdir -p @CRM_CORE_DIR@/root")
+ 
+ 		if os.path.exists("/bin/systemctl"):
+@@ -747,6 +749,33 @@ if __name__ == "__main__":
+ 		test.add_cmd("-c unregister_rsc -r \"test_rsc\" "+self.action_timeout+
+ 			"-l \"NEW_EVENT event_type:unregister rsc_id:test_rsc action:none rc:ok op_status:complete\" ")
+ 
++	### stress tests ###
++	def build_stress_tests(self):
++		timeout = "-t 20000"
++		iterations = 25
++
++		test = self.new_test("ocf_stress", "Verify systemd dbus connection works under load")
++		for i in range(iterations):
++			test.add_cmd("-c register_rsc -r rsc_%s %s -C ocf -P heartbeat -T Dummy -l \"NEW_EVENT event_type:register rsc_id:rsc_%s action:none rc:ok op_status:complete\"" % (i, timeout, i))
++			test.add_cmd("-c exec -r rsc_%s -a start %s -l \"NEW_EVENT event_type:exec_complete rsc_id:rsc_%s action:start rc:ok op_status:complete\"" % (i, timeout, i))
++			test.add_cmd("-c exec -r rsc_%s -a monitor %s -i 1000 -l \"NEW_EVENT event_type:exec_complete rsc_id:rsc_%s action:monitor rc:ok op_status:complete\"" % (i, timeout, i))
++		for i in range(iterations):
++			test.add_cmd("-c exec -r rsc_%s -a stop %s  -l \"NEW_EVENT event_type:exec_complete rsc_id:rsc_%s action:stop rc:ok op_status:complete\"" % (i, timeout, i))
++			test.add_cmd("-c unregister_rsc -r rsc_%s %s -l \"NEW_EVENT event_type:unregister rsc_id:rsc_%s action:none rc:ok op_status:complete\"" % (i, timeout, i))
++
++
++		if "systemd" in self.rsc_classes:
++			test = self.new_test("systemd_stress", "Verify systemd dbus connection works under load")
++			for i in range(iterations):
++				test.add_cmd("-c register_rsc -r rsc_%s %s -C systemd -T lrmd_dummy_daemon -l \"NEW_EVENT event_type:register rsc_id:rsc_%s action:none rc:ok op_status:complete\"" % (i, timeout, i))
++				test.add_cmd("-c exec -r rsc_%s -a start %s -l \"NEW_EVENT event_type:exec_complete rsc_id:rsc_%s action:start rc:ok op_status:complete\"" % (i, timeout, i))
++				test.add_cmd("-c exec -r rsc_%s -a monitor %s -i 1000 -l \"NEW_EVENT event_type:exec_complete rsc_id:rsc_%s action:monitor rc:ok op_status:complete\"" % (i, timeout, i))
++
++			for i in range(iterations):
++				test.add_cmd("-c exec -r rsc_%s -a stop %s -l \"NEW_EVENT event_type:exec_complete rsc_id:rsc_%s action:stop rc:ok op_status:complete\"" % (i, timeout, i))
++				test.add_cmd("-c unregister_rsc -r rsc_%s %s -l \"NEW_EVENT event_type:unregister rsc_id:rsc_%s action:none rc:ok op_status:complete\"" % (i, timeout, i))
++
++
+ 	### These are tests that target specific cases ###
+ 	def build_custom_tests(self):
+ 
+@@ -1016,6 +1045,7 @@ def main(argv):
+ 	tests.build_multi_rsc_tests()
+ 	tests.build_negative_tests()
+ 	tests.build_custom_tests()
++	tests.build_stress_tests()
+ 
+ 	tests.setup_test_environment()
+ 
diff --git a/SOURCES/pacemaker-attrd-updater-other-nodes.patch b/SOURCES/pacemaker-attrd-updater-other-nodes.patch
new file mode 100644
index 0000000..91df385
--- /dev/null
+++ b/SOURCES/pacemaker-attrd-updater-other-nodes.patch
@@ -0,0 +1,45 @@
+commit 7652cce56196ee039245c21f8a7f8d5e55149358
+Author: Andrew Beekhof <andrew@beekhof.net>
+Date:   Wed Jan 14 12:05:38 2015 +1100
+
+    Feature: attrd_updater: Allow attributes to be set for other nodes
+
+diff --git a/tools/attrd_updater.c b/tools/attrd_updater.c
+index 54b2c60..703f7f9 100644
+--- a/tools/attrd_updater.c
++++ b/tools/attrd_updater.c
+@@ -32,6 +32,7 @@
+ 
+ #include <crm/attrd.h>
+ 
++const char *attr_node = NULL;
+ const char *attr_name = NULL;
+ const char *attr_value = NULL;
+ const char *attr_set = NULL;
+@@ -59,6 +60,7 @@ static struct crm_option long_options[] = {
+     {"lifetime",1, 0, 'l', "Lifetime of the node attribute.  Allowed values: forever, reboot"},
+     {"delay",   1, 0, 'd', "The time to wait (dampening) in seconds further changes occur"},
+     {"set",     1, 0, 's', "(Advanced) The attribute set in which to place the value"},
++    {"node",    1, 0, 'N', "Set the attribute for the named node (instead of the local one)"},
+ 
+     /* Legacy options */
+     {"update",  1, 0, 'v', NULL, 1},
+@@ -108,6 +110,9 @@ main(int argc, char **argv)
+             case 'S':
+                 attr_section = strdup(optarg);
+                 break;
++            case 'N':
++                attr_node = strdup(optarg);
++                break;
+             case 'q':
+                 break;
+             case 'Q':
+@@ -141,7 +146,7 @@ main(int argc, char **argv)
+         crm_help('?', EX_USAGE);
+ 
+     } else {
+-        int rc = attrd_update_delegate(NULL, command, NULL, attr_name, attr_value, attr_section,
++        int rc = attrd_update_delegate(NULL, command, attr_node, attr_name, attr_value, attr_section,
+                                        attr_set, attr_dampen, NULL, FALSE);
+         if (rc != pcmk_ok) {
+             fprintf(stderr, "Could not update %s=%s: %s (%d)\n", attr_name, attr_value, pcmk_strerror(rc), rc);
diff --git a/SOURCES/pacemaker-coverity-fixes.patch b/SOURCES/pacemaker-coverity-fixes.patch
new file mode 100644
index 0000000..4ca19cd
--- /dev/null
+++ b/SOURCES/pacemaker-coverity-fixes.patch
@@ -0,0 +1,80 @@
+diff --git a/crmd/control.c b/crmd/control.c
+index 8989859..0332f10 100644
+--- a/crmd/control.c
++++ b/crmd/control.c
+@@ -951,7 +951,6 @@ config_query_callback(xmlNode * msg, int call_id, int rc, xmlNode * output, void
+         value = crmd_pref(config_hash, "stonith-watchdog-timeout");
+     }
+ 
+-    value = crmd_pref(config_hash, "stonith-watchdog-timeout");
+     if(crm_get_msec(value) > 0 && !daemon_option_enabled(crm_system_name, "watchdog")) {
+         do_crm_log_always(LOG_EMERG, "Shutting down pacemaker, no watchdog device configured");
+         crmd_exit(DAEMON_RESPAWN_STOP);
+diff --git a/crmd/lrm.c b/crmd/lrm.c
+index 44634fb..b68f657 100644
+--- a/crmd/lrm.c
++++ b/crmd/lrm.c
+@@ -1377,7 +1377,6 @@ do_lrm_invoke(long long action,
+     } else if (safe_str_eq(operation, CRM_OP_REPROBE) || safe_str_eq(crm_op, CRM_OP_REPROBE)) {
+         GHashTableIter gIter;
+         rsc_history_t *entry = NULL;
+-        gboolean unregister = is_remote_lrmd_ra(NULL, NULL, entry->id) ? FALSE : TRUE;
+ 
+         crm_notice("Forcing the status of all resources to be redetected");
+ 
+@@ -1386,6 +1385,8 @@ do_lrm_invoke(long long action,
+             /* only unregister the resource during a reprobe if it is not a remote connection
+              * resource. otherwise unregistering the connection will terminate remote-node
+              * membership */
++            gboolean unregister = is_remote_lrmd_ra(NULL, NULL, entry->id) ? FALSE : TRUE;
++
+             delete_resource(lrm_state, entry->id, &entry->rsc, &gIter, from_sys, from_host,
+                             user_name, NULL, unregister);
+         }
+diff --git a/lib/services/dbus.c b/lib/services/dbus.c
+index f4632f2..c0153b5 100644
+--- a/lib/services/dbus.c
++++ b/lib/services/dbus.c
+@@ -338,6 +338,11 @@ pcmk_dbus_get_property(
+     CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_STRING, &iface, DBUS_TYPE_INVALID));
+ 
+     query_data = malloc(sizeof(struct db_getall_data));
++    if(query_data == NULL) {
++        crm_err("Call to %s failed: malloc failed", method);
++        return NULL;
++    }
++
+     query_data->target = strdup(target);
+     query_data->object = strdup(obj);
+     query_data->callback = callback;
+@@ -355,10 +360,6 @@ pcmk_dbus_get_property(
+         DBusMessage *reply = pcmk_dbus_send_recv(msg, connection, NULL);
+ 
+         output = pcmk_dbus_lookup_result(reply, query_data);
+-        free(query_data->target);
+-        free(query_data->object);
+-        free(query_data->name);
+-        free(query_data);
+ 
+         if(reply) {
+             dbus_message_unref(reply);
+diff --git a/lib/services/services.c b/lib/services/services.c
+index 753e257..9936c72 100644
+--- a/lib/services/services.c
++++ b/lib/services/services.c
+@@ -506,12 +506,13 @@ services_action_sync(svc_action_t * op)
+ {
+     gboolean rc = TRUE;
+ 
+-    op->synchronous = true;
+     if (op == NULL) {
+         crm_trace("No operation to execute");
+         return FALSE;
++    }
+ 
+-    } else if (op->standard && strcasecmp(op->standard, "upstart") == 0) {
++    op->synchronous = true;
++    if (op->standard && strcasecmp(op->standard, "upstart") == 0) {
+ #if SUPPORT_UPSTART
+         rc = upstart_job_exec(op, TRUE);
+ #endif
diff --git a/SOURCES/pacemaker-doc_controld_update_the_description.patch b/SOURCES/pacemaker-doc_controld_update_the_description.patch
deleted file mode 100644
index ccdb1be..0000000
--- a/SOURCES/pacemaker-doc_controld_update_the_description.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-commit 41d245c28c5144423073e4fffa543a744c2ec321
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Aug 7 09:11:31 2013 +1000
-
-    Doc: controld: Update the description
-
-diff --git a/extra/resources/controld b/extra/resources/controld
-index 2122ff8..bacf0e9 100644
---- a/extra/resources/controld
-+++ b/extra/resources/controld
-@@ -42,11 +42,11 @@ meta_data() {
- <version>1.0</version>
- 
- <longdesc lang="en">
--This Resource Agent can control the dlm_controld services needed by ocfs2.
-+This Resource Agent can control the dlm_controld services needed by cluster-aware file systems.
- It assumes that dlm_controld is in your default PATH.
- In most cases, it should be run as an anonymous clone.
- </longdesc>
--<shortdesc lang="en">DLM Agent for OCFS2</shortdesc>
-+<shortdesc lang="en">DLM Agent for cluster file systems</shortdesc>
- 
- <parameters>
- 
diff --git a/SOURCES/pacemaker-f43678b-to-fe1ef5c-acl-fix.patch b/SOURCES/pacemaker-f43678b-to-fe1ef5c-acl-fix.patch
new file mode 100644
index 0000000..649da8d
--- /dev/null
+++ b/SOURCES/pacemaker-f43678b-to-fe1ef5c-acl-fix.patch
@@ -0,0 +1,1186 @@
+diff --git a/lib/cib/cib_file.c b/lib/cib/cib_file.c
+index 5562e9e..aa68679 100644
+--- a/lib/cib/cib_file.c
++++ b/lib/cib/cib_file.c
+@@ -310,6 +310,12 @@ cib_file_perform_op_delegate(cib_t * cib, const char *op, const char *host, cons
+     }
+     crm_trace("Performing %s operation as %s", op, user_name);
+ #endif
++
++    /* Mirror the logic in cib_prepare_common() */
++    if (section != NULL && data != NULL && crm_str_eq(crm_element_name(data), XML_TAG_CIB, TRUE)) {
++        data = get_object_root(section, data);
++    }
++
+     rc = cib_perform_op(op, call_options, fn, query,
+                         section, request, data, TRUE, &changed, in_mem_cib, &result_cib, &cib_diff,
+                         &output);
+diff --git a/lib/common/xml.c b/lib/common/xml.c
+index f7779f5..54f1aa7 100644
+--- a/lib/common/xml.c
++++ b/lib/common/xml.c
+@@ -4848,8 +4848,13 @@ replace_xml_child(xmlNode * parent, xmlNode * child, xmlNode * update, gboolean
+ 
+             xml_accept_changes(tmp);
+             old = xmlReplaceNode(child, tmp);
+-            xml_calculate_changes(old, tmp);
+ 
++            if(xml_tracking_changes(tmp)) {
++                /* Replaced sections may have included relevant ACLs */
++                __xml_acl_apply(tmp);
++            }
++
++            xml_calculate_changes(old, tmp);
+             xmlDocSetRootElement(doc, old);
+             free_xml(old);
+         }
+diff --git a/tools/regression.acls.exp b/tools/regression.acls.exp
+index 2cea125..e05e339 100644
+--- a/tools/regression.acls.exp
++++ b/tools/regression.acls.exp
+@@ -17,11 +17,18 @@ A new shadow instance was created.  To begin using it paste the following into y
+       <acl_user id="niceguy">
+         <role_ref id="observer"/>
+       </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
+       <acl_role id="observer">
+         <read id="observer-read-1" xpath="/cib"/>
+         <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
+     </acls>
+   </configuration>
+   <status/>
+@@ -47,11 +54,18 @@ A new shadow instance was created.  To begin using it paste the following into y
+       <acl_user id="niceguy">
+         <role_ref id="observer"/>
+       </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
+       <acl_role id="observer">
+         <read id="observer-read-1" xpath="/cib"/>
+         <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
+     </acls>
+   </configuration>
+   <status/>
+@@ -78,11 +92,18 @@ A new shadow instance was created.  To begin using it paste the following into y
+       <acl_user id="niceguy">
+         <role_ref id="observer"/>
+       </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
+       <acl_role id="observer">
+         <read id="observer-read-1" xpath="/cib"/>
+         <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
+     </acls>
+   </configuration>
+   <status/>
+@@ -109,11 +130,18 @@ A new shadow instance was created.  To begin using it paste the following into y
+       <acl_user id="niceguy">
+         <role_ref id="observer"/>
+       </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
+       <acl_role id="observer">
+         <read id="observer-read-1" xpath="/cib"/>
+         <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
+       <acl_user id="badidea">
+         <read id="badidea-resources" xpath="//meta_attributes"/>
+       </acl_user>
+@@ -143,11 +171,18 @@ A new shadow instance was created.  To begin using it paste the following into y
+       <acl_user id="niceguy">
+         <role_ref id="observer"/>
+       </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
+       <acl_role id="observer">
+         <read id="observer-read-1" xpath="/cib"/>
+         <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
+       <acl_user id="badidea">
+         <read id="badidea-resources" xpath="//meta_attributes"/>
+       </acl_user>
+@@ -180,11 +215,18 @@ A new shadow instance was created.  To begin using it paste the following into y
+       <acl_user id="niceguy">
+         <role_ref id="observer"/>
+       </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
+       <acl_role id="observer">
+         <read id="observer-read-1" xpath="/cib"/>
+         <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
+       <acl_user id="badidea">
+         <read id="badidea-resources" xpath="//meta_attributes"/>
+       </acl_user>
+@@ -255,11 +297,18 @@ Call failed: Permission denied
+       <acl_user id="niceguy">
+         <role_ref id="observer"/>
+       </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
+       <acl_role id="observer">
+         <read id="observer-read-1" xpath="/cib"/>
+         <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
+       <acl_user id="badidea">
+         <read id="badidea-resources" xpath="//meta_attributes"/>
+       </acl_user>
+@@ -301,11 +350,18 @@ __xml_acl_post_process: 	Creation of nvpair=cib-bootstrap-options-stonith-enable
+       <acl_user id="niceguy">
+         <role_ref id="observer"/>
+       </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
+       <acl_role id="observer">
+         <read id="observer-read-1" xpath="/cib"/>
+         <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
+       <acl_user id="badidea">
+         <read id="badidea-resources" xpath="//meta_attributes"/>
+       </acl_user>
+@@ -345,11 +401,18 @@ Call failed: Permission denied
+       <acl_user id="niceguy">
+         <role_ref id="observer"/>
+       </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
+       <acl_role id="observer">
+         <read id="observer-read-1" xpath="/cib"/>
+         <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
+       <acl_user id="badidea">
+         <read id="badidea-resources" xpath="//meta_attributes"/>
+       </acl_user>
+@@ -384,11 +447,18 @@ Call failed: Permission denied
+       <acl_user id="niceguy">
+         <role_ref id="observer"/>
+       </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
+       <acl_role id="observer">
+         <read id="observer-read-1" xpath="/cib"/>
+         <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
+       <acl_user id="badidea">
+         <read id="badidea-resources" xpath="//meta_attributes"/>
+       </acl_user>
+@@ -425,11 +495,18 @@ Call failed: Permission denied
+       <acl_user id="niceguy">
+         <role_ref id="observer"/>
+       </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
+       <acl_role id="observer">
+         <read id="observer-read-1" xpath="/cib"/>
+         <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
+       <acl_user id="badidea">
+         <read id="badidea-resources" xpath="//meta_attributes"/>
+       </acl_user>
+@@ -486,11 +563,18 @@ __xml_acl_post_process: 	Creation of nvpair=dummy-meta_attributes-target-role is
+       <acl_user id="niceguy">
+         <role_ref id="observer"/>
+       </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
+       <acl_role id="observer">
+         <read id="observer-read-1" xpath="/cib"/>
+         <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
+       <acl_user id="badidea">
+         <read id="badidea-resources" xpath="//meta_attributes"/>
+       </acl_user>
+@@ -535,11 +619,18 @@ Stopped
+       <acl_user id="niceguy">
+         <role_ref id="observer"/>
+       </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
+       <acl_role id="observer">
+         <read id="observer-read-1" xpath="/cib"/>
+         <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
+       <acl_user id="badidea">
+         <read id="badidea-resources" xpath="//meta_attributes"/>
+       </acl_user>
+@@ -582,11 +673,18 @@ Deleted dummy option: id=dummy-meta_attributes-target-role name=target-role
+       <acl_user id="niceguy">
+         <role_ref id="observer"/>
+       </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
+       <acl_role id="observer">
+         <read id="observer-read-1" xpath="/cib"/>
+         <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
+       <acl_user id="badidea">
+         <read id="badidea-resources" xpath="//meta_attributes"/>
+       </acl_user>
+@@ -631,11 +729,18 @@ __xml_acl_post_process: 	Creation of nvpair=dummy-meta_attributes-target-role is
+       <acl_user id="niceguy">
+         <role_ref id="observer"/>
+       </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
+       <acl_role id="observer">
+         <read id="observer-read-1" xpath="/cib"/>
+         <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
+       <acl_user id="badidea">
+         <read id="badidea-resources" xpath="//meta_attributes"/>
+       </acl_user>
+@@ -730,11 +835,18 @@ Call failed: Permission denied
+       <acl_user id="niceguy">
+         <role_ref id="observer"/>
+       </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
+       <acl_role id="observer">
+         <read id="observer-read-1" xpath="/cib"/>
+         <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
+       <acl_user id="badidea">
+         <read id="badidea-resources" xpath="//meta_attributes"/>
+       </acl_user>
+@@ -778,11 +890,18 @@ Call failed: Permission denied
+       <acl_user id="niceguy">
+         <role_ref id="observer"/>
+       </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
+       <acl_role id="observer">
+         <read id="observer-read-1" xpath="/cib"/>
+         <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
+       <acl_user id="badidea">
+         <read id="badidea-resources" xpath="//meta_attributes"/>
+       </acl_user>
+@@ -794,12 +913,12 @@ Call failed: Permission denied
+   </configuration>
+   <status/>
+ </cib>
+-=#=#=#= Begin test: niceguy: Replace - modify attribute =#=#=#=
++=#=#=#= Begin test: niceguy: Replace - modify attribute (deny) =#=#=#=
+ __xml_acl_check: 	400 access denied to /cib[@epoch]: default
+ __xml_acl_check: 	400 access denied to /cib/configuration/crm_config/cluster_property_set[@id='cib-bootstrap-options']/nvpair[@id='cib-bootstrap-options-enable-acl'][@value]: default
+ Call failed: Permission denied
+-=#=#=#= End test: niceguy: Replace - modify attribute - Permission denied (13) =#=#=#=
+-* Passed: cibadmin       - niceguy: Replace - modify attribute
++=#=#=#= End test: niceguy: Replace - modify attribute (deny) - Permission denied (13) =#=#=#=
++* Passed: cibadmin       - niceguy: Replace - modify attribute (deny)
+ <cib epoch="13" num_updates="0" admin_epoch="0">
+   <configuration>
+     <crm_config>
+@@ -825,11 +944,18 @@ Call failed: Permission denied
+       <acl_user id="niceguy">
+         <role_ref id="observer"/>
+       </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
+       <acl_role id="observer">
+         <read id="observer-read-1" xpath="/cib"/>
+         <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
+       <acl_user id="badidea">
+         <read id="badidea-resources" xpath="//meta_attributes"/>
+       </acl_user>
+@@ -841,12 +967,12 @@ Call failed: Permission denied
+   </configuration>
+   <status/>
+ </cib>
+-=#=#=#= Begin test: niceguy: Replace - delete attribute =#=#=#=
++=#=#=#= Begin test: niceguy: Replace - delete attribute (deny) =#=#=#=
+ __xml_acl_check: 	400 access denied to /cib[@epoch]: default
+ __xml_acl_check: 	400 access denied to /cib/configuration/crm_config/cluster_property_set[@id='cib-bootstrap-options']/nvpair[@id='cib-bootstrap-options-enable-acl']: default
+ Call failed: Permission denied
+-=#=#=#= End test: niceguy: Replace - delete attribute - Permission denied (13) =#=#=#=
+-* Passed: cibadmin       - niceguy: Replace - delete attribute
++=#=#=#= End test: niceguy: Replace - delete attribute (deny) - Permission denied (13) =#=#=#=
++* Passed: cibadmin       - niceguy: Replace - delete attribute (deny)
+ <cib epoch="13" num_updates="0" admin_epoch="0">
+   <configuration>
+     <crm_config>
+@@ -872,11 +998,18 @@ Call failed: Permission denied
+       <acl_user id="niceguy">
+         <role_ref id="observer"/>
+       </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
+       <acl_role id="observer">
+         <read id="observer-read-1" xpath="/cib"/>
+         <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
+       <acl_user id="badidea">
+         <read id="badidea-resources" xpath="//meta_attributes"/>
+       </acl_user>
+@@ -888,12 +1021,161 @@ Call failed: Permission denied
+   </configuration>
+   <status/>
+ </cib>
+-=#=#=#= Begin test: niceguy: Replace - create attribute =#=#=#=
++=#=#=#= Begin test: niceguy: Replace - create attribute (deny) =#=#=#=
+ __xml_acl_check: 	400 access denied to /cib[@epoch]: default
+ __xml_acl_check: 	400 access denied to /cib/configuration/resources/primitive[@id='dummy'][@description]: default
+ Call failed: Permission denied
+-=#=#=#= End test: niceguy: Replace - create attribute - Permission denied (13) =#=#=#=
+-* Passed: cibadmin       - niceguy: Replace - create attribute
++=#=#=#= End test: niceguy: Replace - create attribute (deny) - Permission denied (13) =#=#=#=
++* Passed: cibadmin       - niceguy: Replace - create attribute (deny)
++<cib epoch="13" num_updates="0" admin_epoch="0">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
++        <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
++        <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes/>
++    <resources>
++      <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="nothing interesting">
++        <meta_attributes id="dummy-meta_attributes">
++          <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
++        </meta_attributes>
++      </primitive>
++    </resources>
++    <constraints/>
++    <acls>
++      <acl_user id="l33t-haxor">
++        <deny id="crook-nothing" xpath="/cib"/>
++      </acl_user>
++      <acl_user id="niceguy">
++        <role_ref id="observer"/>
++      </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
++      <acl_role id="observer">
++        <read id="observer-read-1" xpath="/cib"/>
++        <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
++        <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
++      </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
++      <acl_user id="badidea">
++        <read id="badidea-resources" xpath="//meta_attributes"/>
++      </acl_user>
++      <acl_user id="betteridea">
++        <deny id="betteridea-nothing" xpath="/cib"/>
++        <read id="betteridea-resources" xpath="//meta_attributes"/>
++      </acl_user>
++    </acls>
++  </configuration>
++  <status/>
++</cib>
++=#=#=#= Begin test: bob: Replace - create attribute (allow) =#=#=#=
++=#=#=#= End test: bob: Replace - create attribute (allow) - OK (0) =#=#=#=
++* Passed: cibadmin       - bob: Replace - create attribute (allow)
++<cib epoch="14" num_updates="0" admin_epoch="0">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
++        <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
++        <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes/>
++    <resources>
++      <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="something interesting">
++        <meta_attributes id="dummy-meta_attributes">
++          <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
++        </meta_attributes>
++      </primitive>
++    </resources>
++    <constraints/>
++    <acls>
++      <acl_user id="l33t-haxor">
++        <deny id="crook-nothing" xpath="/cib"/>
++      </acl_user>
++      <acl_user id="niceguy">
++        <role_ref id="observer"/>
++      </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
++      <acl_role id="observer">
++        <read id="observer-read-1" xpath="/cib"/>
++        <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
++        <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
++      </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
++      <acl_user id="badidea">
++        <read id="badidea-resources" xpath="//meta_attributes"/>
++      </acl_user>
++      <acl_user id="betteridea">
++        <deny id="betteridea-nothing" xpath="/cib"/>
++        <read id="betteridea-resources" xpath="//meta_attributes"/>
++      </acl_user>
++    </acls>
++  </configuration>
++  <status/>
++</cib>
++=#=#=#= Begin test: bob: Replace - modify attribute (allow) =#=#=#=
++=#=#=#= End test: bob: Replace - modify attribute (allow) - OK (0) =#=#=#=
++* Passed: cibadmin       - bob: Replace - modify attribute (allow)
++<cib epoch="15" num_updates="0" admin_epoch="0">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
++        <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
++        <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes/>
++    <resources>
++      <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>
++    </resources>
++    <constraints/>
++    <acls>
++      <acl_user id="l33t-haxor">
++        <deny id="crook-nothing" xpath="/cib"/>
++      </acl_user>
++      <acl_user id="niceguy">
++        <role_ref id="observer"/>
++      </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
++      <acl_role id="observer">
++        <read id="observer-read-1" xpath="/cib"/>
++        <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
++        <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
++      </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
++      <acl_user id="badidea">
++        <read id="badidea-resources" xpath="//meta_attributes"/>
++      </acl_user>
++      <acl_user id="betteridea">
++        <deny id="betteridea-nothing" xpath="/cib"/>
++        <read id="betteridea-resources" xpath="//meta_attributes"/>
++      </acl_user>
++    </acls>
++  </configuration>
++  <status/>
++</cib>
++=#=#=#= Begin test: bob: Replace - delete attribute (allow) =#=#=#=
++=#=#=#= End test: bob: Replace - delete attribute (allow) - OK (0) =#=#=#=
++* Passed: cibadmin       - bob: Replace - delete attribute (allow)
+ 
+ 
+     !#!#!#!#! Upgrading to pacemaker-2.0 and retesting !#!#!#!#!
+@@ -901,6 +1183,8 @@ Call failed: Permission denied
+ __xml_acl_post_process: 	Creation of acl_permission=observer-read-1 is allowed
+ __xml_acl_post_process: 	Creation of acl_permission=observer-write-1 is allowed
+ __xml_acl_post_process: 	Creation of acl_permission=observer-write-2 is allowed
++__xml_acl_post_process: 	Creation of acl_permission=admin-read-1 is allowed
++__xml_acl_post_process: 	Creation of acl_permission=admin-write-1 is allowed
+ __xml_acl_post_process: 	Creation of acl_permission=crook-nothing is allowed
+ __xml_acl_post_process: 	Creation of acl_permission=badidea-resources is allowed
+ __xml_acl_post_process: 	Creation of acl_permission=betteridea-nothing is allowed
+@@ -917,11 +1201,7 @@ __xml_acl_post_process: 	Creation of acl_permission=betteridea-resources is allo
+     </crm_config>
+     <nodes/>
+     <resources>
+-      <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+-        <meta_attributes id="dummy-meta_attributes">
+-          <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
+-        </meta_attributes>
+-      </primitive>
++      <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>
+     </resources>
+     <constraints/>
+     <acls>
+@@ -934,11 +1214,18 @@ __xml_acl_post_process: 	Creation of acl_permission=betteridea-resources is allo
+       <acl_target id="niceguy">
+         <role id="observer"/>
+       </acl_target>
++      <acl_target id="bob">
++        <role id="admin"/>
++      </acl_target>
+       <acl_role id="observer">
+         <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+         <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
++        <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
++      </acl_role>
+       <acl_target id="badidea">
+         <role id="auto-badidea"/>
+       </acl_target>
+@@ -1019,11 +1306,18 @@ Call failed: Permission denied
+       <acl_target id="niceguy">
+         <role id="observer"/>
+       </acl_target>
++      <acl_target id="bob">
++        <role id="admin"/>
++      </acl_target>
+       <acl_role id="observer">
+         <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+         <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
++        <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
++      </acl_role>
+       <acl_target id="badidea">
+         <role id="auto-badidea"/>
+       </acl_target>
+@@ -1073,11 +1367,18 @@ Error setting enable-acl=false (section=crm_config, set=<null>): Permission deni
+       <acl_target id="niceguy">
+         <role id="observer"/>
+       </acl_target>
++      <acl_target id="bob">
++        <role id="admin"/>
++      </acl_target>
+       <acl_role id="observer">
+         <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+         <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
++        <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
++      </acl_role>
+       <acl_target id="badidea">
+         <role id="auto-badidea"/>
+       </acl_target>
+@@ -1126,11 +1427,18 @@ Call failed: Permission denied
+       <acl_target id="niceguy">
+         <role id="observer"/>
+       </acl_target>
++      <acl_target id="bob">
++        <role id="admin"/>
++      </acl_target>
+       <acl_role id="observer">
+         <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+         <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
++        <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
++      </acl_role>
+       <acl_target id="badidea">
+         <role id="auto-badidea"/>
+       </acl_target>
+@@ -1174,11 +1482,18 @@ Call failed: Permission denied
+       <acl_target id="niceguy">
+         <role id="observer"/>
+       </acl_target>
++      <acl_target id="bob">
++        <role id="admin"/>
++      </acl_target>
+       <acl_role id="observer">
+         <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+         <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
++        <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
++      </acl_role>
+       <acl_target id="badidea">
+         <role id="auto-badidea"/>
+       </acl_target>
+@@ -1224,11 +1539,18 @@ Call failed: Permission denied
+       <acl_target id="niceguy">
+         <role id="observer"/>
+       </acl_target>
++      <acl_target id="bob">
++        <role id="admin"/>
++      </acl_target>
+       <acl_role id="observer">
+         <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+         <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
++        <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
++      </acl_role>
+       <acl_target id="badidea">
+         <role id="auto-badidea"/>
+       </acl_target>
+@@ -1294,11 +1616,18 @@ __xml_acl_post_process: 	Creation of nvpair=dummy-meta_attributes-target-role is
+       <acl_target id="niceguy">
+         <role id="observer"/>
+       </acl_target>
++      <acl_target id="bob">
++        <role id="admin"/>
++      </acl_target>
+       <acl_role id="observer">
+         <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+         <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
++        <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
++      </acl_role>
+       <acl_target id="badidea">
+         <role id="auto-badidea"/>
+       </acl_target>
+@@ -1352,11 +1681,18 @@ Stopped
+       <acl_target id="niceguy">
+         <role id="observer"/>
+       </acl_target>
++      <acl_target id="bob">
++        <role id="admin"/>
++      </acl_target>
+       <acl_role id="observer">
+         <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+         <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
++        <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
++      </acl_role>
+       <acl_target id="badidea">
+         <role id="auto-badidea"/>
+       </acl_target>
+@@ -1408,11 +1744,18 @@ Deleted dummy option: id=dummy-meta_attributes-target-role name=target-role
+       <acl_target id="niceguy">
+         <role id="observer"/>
+       </acl_target>
++      <acl_target id="bob">
++        <role id="admin"/>
++      </acl_target>
+       <acl_role id="observer">
+         <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+         <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
++        <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
++      </acl_role>
+       <acl_target id="badidea">
+         <role id="auto-badidea"/>
+       </acl_target>
+@@ -1466,11 +1809,18 @@ __xml_acl_post_process: 	Creation of nvpair=dummy-meta_attributes-target-role is
+       <acl_target id="niceguy">
+         <role id="observer"/>
+       </acl_target>
++      <acl_target id="bob">
++        <role id="admin"/>
++      </acl_target>
+       <acl_role id="observer">
+         <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+         <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
++        <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
++      </acl_role>
+       <acl_target id="badidea">
+         <role id="auto-badidea"/>
+       </acl_target>
+@@ -1574,11 +1924,18 @@ Call failed: Permission denied
+       <acl_target id="niceguy">
+         <role id="observer"/>
+       </acl_target>
++      <acl_target id="bob">
++        <role id="admin"/>
++      </acl_target>
+       <acl_role id="observer">
+         <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+         <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
++        <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
++      </acl_role>
+       <acl_target id="badidea">
+         <role id="auto-badidea"/>
+       </acl_target>
+@@ -1631,11 +1988,18 @@ Call failed: Permission denied
+       <acl_target id="niceguy">
+         <role id="observer"/>
+       </acl_target>
++      <acl_target id="bob">
++        <role id="admin"/>
++      </acl_target>
+       <acl_role id="observer">
+         <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+         <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
++        <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
++      </acl_role>
+       <acl_target id="badidea">
+         <role id="auto-badidea"/>
+       </acl_target>
+@@ -1653,12 +2017,12 @@ Call failed: Permission denied
+   </configuration>
+   <status/>
+ </cib>
+-=#=#=#= Begin test: niceguy: Replace - modify attribute =#=#=#=
++=#=#=#= Begin test: niceguy: Replace - modify attribute (deny) =#=#=#=
+ __xml_acl_check: 	400 access denied to /cib[@epoch]: default
+ __xml_acl_check: 	400 access denied to /cib/configuration/crm_config/cluster_property_set[@id='cib-bootstrap-options']/nvpair[@id='cib-bootstrap-options-enable-acl'][@value]: default
+ Call failed: Permission denied
+-=#=#=#= End test: niceguy: Replace - modify attribute - Permission denied (13) =#=#=#=
+-* Passed: cibadmin       - niceguy: Replace - modify attribute
++=#=#=#= End test: niceguy: Replace - modify attribute (deny) - Permission denied (13) =#=#=#=
++* Passed: cibadmin       - niceguy: Replace - modify attribute (deny)
+ <cib epoch="14" num_updates="0" admin_epoch="0">
+   <configuration>
+     <crm_config>
+@@ -1687,11 +2051,18 @@ Call failed: Permission denied
+       <acl_target id="niceguy">
+         <role id="observer"/>
+       </acl_target>
++      <acl_target id="bob">
++        <role id="admin"/>
++      </acl_target>
+       <acl_role id="observer">
+         <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+         <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
++        <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
++      </acl_role>
+       <acl_target id="badidea">
+         <role id="auto-badidea"/>
+       </acl_target>
+@@ -1709,12 +2080,12 @@ Call failed: Permission denied
+   </configuration>
+   <status/>
+ </cib>
+-=#=#=#= Begin test: niceguy: Replace - delete attribute =#=#=#=
++=#=#=#= Begin test: niceguy: Replace - delete attribute (deny) =#=#=#=
+ __xml_acl_check: 	400 access denied to /cib[@epoch]: default
+ __xml_acl_check: 	400 access denied to /cib/configuration/crm_config/cluster_property_set[@id='cib-bootstrap-options']/nvpair[@id='cib-bootstrap-options-enable-acl']: default
+ Call failed: Permission denied
+-=#=#=#= End test: niceguy: Replace - delete attribute - Permission denied (13) =#=#=#=
+-* Passed: cibadmin       - niceguy: Replace - delete attribute
++=#=#=#= End test: niceguy: Replace - delete attribute (deny) - Permission denied (13) =#=#=#=
++* Passed: cibadmin       - niceguy: Replace - delete attribute (deny)
+ <cib epoch="14" num_updates="0" admin_epoch="0">
+   <configuration>
+     <crm_config>
+@@ -1743,11 +2114,18 @@ Call failed: Permission denied
+       <acl_target id="niceguy">
+         <role id="observer"/>
+       </acl_target>
++      <acl_target id="bob">
++        <role id="admin"/>
++      </acl_target>
+       <acl_role id="observer">
+         <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+         <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
++        <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
++      </acl_role>
+       <acl_target id="badidea">
+         <role id="auto-badidea"/>
+       </acl_target>
+@@ -1765,9 +2143,185 @@ Call failed: Permission denied
+   </configuration>
+   <status/>
+ </cib>
+-=#=#=#= Begin test: niceguy: Replace - create attribute =#=#=#=
++=#=#=#= Begin test: niceguy: Replace - create attribute (deny) =#=#=#=
+ __xml_acl_check: 	400 access denied to /cib[@epoch]: default
+ __xml_acl_check: 	400 access denied to /cib/configuration/resources/primitive[@id='dummy'][@description]: default
+ Call failed: Permission denied
+-=#=#=#= End test: niceguy: Replace - create attribute - Permission denied (13) =#=#=#=
+-* Passed: cibadmin       - niceguy: Replace - create attribute
++=#=#=#= End test: niceguy: Replace - create attribute (deny) - Permission denied (13) =#=#=#=
++* Passed: cibadmin       - niceguy: Replace - create attribute (deny)
++<cib epoch="14" num_updates="0" admin_epoch="0">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
++        <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
++        <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes/>
++    <resources>
++      <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="nothing interesting">
++        <meta_attributes id="dummy-meta_attributes">
++          <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
++        </meta_attributes>
++      </primitive>
++    </resources>
++    <constraints/>
++    <acls>
++      <acl_target id="l33t-haxor">
++        <role id="auto-l33t-haxor"/>
++      </acl_target>
++      <acl_role id="auto-l33t-haxor">
++        <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
++      </acl_role>
++      <acl_target id="niceguy">
++        <role id="observer"/>
++      </acl_target>
++      <acl_target id="bob">
++        <role id="admin"/>
++      </acl_target>
++      <acl_role id="observer">
++        <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
++        <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
++        <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
++      </acl_role>
++      <acl_role id="admin">
++        <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
++        <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
++      </acl_role>
++      <acl_target id="badidea">
++        <role id="auto-badidea"/>
++      </acl_target>
++      <acl_role id="auto-badidea">
++        <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
++      </acl_role>
++      <acl_target id="betteridea">
++        <role id="auto-betteridea"/>
++      </acl_target>
++      <acl_role id="auto-betteridea">
++        <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
++        <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
++      </acl_role>
++    </acls>
++  </configuration>
++  <status/>
++</cib>
++=#=#=#= Begin test: bob: Replace - create attribute (allow) =#=#=#=
++=#=#=#= End test: bob: Replace - create attribute (allow) - OK (0) =#=#=#=
++* Passed: cibadmin       - bob: Replace - create attribute (allow)
++<cib epoch="15" num_updates="0" admin_epoch="0">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
++        <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
++        <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes/>
++    <resources>
++      <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="something interesting">
++        <meta_attributes id="dummy-meta_attributes">
++          <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
++        </meta_attributes>
++      </primitive>
++    </resources>
++    <constraints/>
++    <acls>
++      <acl_target id="l33t-haxor">
++        <role id="auto-l33t-haxor"/>
++      </acl_target>
++      <acl_role id="auto-l33t-haxor">
++        <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
++      </acl_role>
++      <acl_target id="niceguy">
++        <role id="observer"/>
++      </acl_target>
++      <acl_target id="bob">
++        <role id="admin"/>
++      </acl_target>
++      <acl_role id="observer">
++        <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
++        <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
++        <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
++      </acl_role>
++      <acl_role id="admin">
++        <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
++        <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
++      </acl_role>
++      <acl_target id="badidea">
++        <role id="auto-badidea"/>
++      </acl_target>
++      <acl_role id="auto-badidea">
++        <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
++      </acl_role>
++      <acl_target id="betteridea">
++        <role id="auto-betteridea"/>
++      </acl_target>
++      <acl_role id="auto-betteridea">
++        <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
++        <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
++      </acl_role>
++    </acls>
++  </configuration>
++  <status/>
++</cib>
++=#=#=#= Begin test: bob: Replace - modify attribute (allow) =#=#=#=
++=#=#=#= End test: bob: Replace - modify attribute (allow) - OK (0) =#=#=#=
++* Passed: cibadmin       - bob: Replace - modify attribute (allow)
++<cib epoch="16" num_updates="0" admin_epoch="0">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
++        <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
++        <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes/>
++    <resources>
++      <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>
++    </resources>
++    <constraints/>
++    <acls>
++      <acl_target id="l33t-haxor">
++        <role id="auto-l33t-haxor"/>
++      </acl_target>
++      <acl_role id="auto-l33t-haxor">
++        <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
++      </acl_role>
++      <acl_target id="niceguy">
++        <role id="observer"/>
++      </acl_target>
++      <acl_target id="bob">
++        <role id="admin"/>
++      </acl_target>
++      <acl_role id="observer">
++        <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
++        <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
++        <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
++      </acl_role>
++      <acl_role id="admin">
++        <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
++        <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
++      </acl_role>
++      <acl_target id="badidea">
++        <role id="auto-badidea"/>
++      </acl_target>
++      <acl_role id="auto-badidea">
++        <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
++      </acl_role>
++      <acl_target id="betteridea">
++        <role id="auto-betteridea"/>
++      </acl_target>
++      <acl_role id="auto-betteridea">
++        <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
++        <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
++      </acl_role>
++    </acls>
++  </configuration>
++  <status/>
++</cib>
++=#=#=#= Begin test: bob: Replace - delete attribute (allow) =#=#=#=
++=#=#=#= End test: bob: Replace - delete attribute (allow) - OK (0) =#=#=#=
++* Passed: cibadmin       - bob: Replace - delete attribute (allow)
+diff --git a/tools/regression.sh b/tools/regression.sh
+index 0c4896c..63f4445 100755
+--- a/tools/regression.sh
++++ b/tools/regression.sh
+@@ -487,7 +487,7 @@ function test_acl_loop() {
+     CIB_user=root CIB_file=/tmp/$$.haxor.xml CIB_shadow="" crm_attribute -n enable-acl -v false
+     CIB_user=root CIB_file=/tmp/$$.haxor.xml CIB_shadow="" cibadmin -Ql
+ 
+-    desc="$CIB_user: Replace - modify attribute"
++    desc="$CIB_user: Replace - modify attribute (deny)"
+     cmd="cibadmin --replace --xml-file /tmp/$$.haxor.xml"
+     test_assert 13 0
+ 
+@@ -495,7 +495,7 @@ function test_acl_loop() {
+     CIB_user=root CIB_file=/tmp/$$.haxor.xml CIB_shadow="" cibadmin --replace --xml-text '<nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl"/>'
+     CIB_user=root CIB_file=/tmp/$$.haxor.xml CIB_shadow="" cibadmin -Ql
+ 
+-    desc="$CIB_user: Replace - delete attribute"
++    desc="$CIB_user: Replace - delete attribute (deny)"
+     cmd="cibadmin --replace --xml-file /tmp/$$.haxor.xml"
+     test_assert 13 0
+ 
+@@ -503,10 +503,36 @@ function test_acl_loop() {
+     CIB_user=root CIB_file=/tmp/$$.haxor.xml CIB_shadow="" cibadmin --modify --xml-text '<primitive id="dummy" description="nothing interesting"/>'
+     CIB_user=root CIB_file=/tmp/$$.haxor.xml CIB_shadow="" cibadmin -Ql
+ 
+-    desc="$CIB_user: Replace - create attribute"
++    desc="$CIB_user: Replace - create attribute (deny)"
+     cmd="cibadmin --replace --xml-file /tmp/$$.haxor.xml"
+     test_assert 13 0
+     rm -rf /tmp/$$.haxor.xml
++
++
++    CIB_user=bob
++    CIB_user=root cibadmin -Q > /tmp/$$.haxor.xml
++    CIB_user=root CIB_file=/tmp/$$.haxor.xml CIB_shadow="" cibadmin --modify --xml-text '<primitive id="dummy" description="nothing interesting"/>'
++    CIB_user=root CIB_file=/tmp/$$.haxor.xml CIB_shadow="" cibadmin -Ql
++
++    desc="$CIB_user: Replace - create attribute (allow)"
++    cmd="cibadmin --replace -o resources --xml-file /tmp/$$.haxor.xml"
++    test_assert 0 0
++
++    CIB_user=root cibadmin -Q > /tmp/$$.haxor.xml
++    CIB_user=root CIB_file=/tmp/$$.haxor.xml CIB_shadow="" cibadmin --modify --xml-text '<primitive id="dummy" description="something interesting"/>'
++    CIB_user=root CIB_file=/tmp/$$.haxor.xml CIB_shadow="" cibadmin -Ql
++
++    desc="$CIB_user: Replace - modify attribute (allow)"
++    cmd="cibadmin --replace -o resources --xml-file /tmp/$$.haxor.xml"
++    test_assert 0 0
++
++    CIB_user=root cibadmin -Q > /tmp/$$.haxor.xml
++    CIB_user=root CIB_file=/tmp/$$.haxor.xml CIB_shadow="" cibadmin --replace -o resources --xml-text '<primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>'
++    CIB_user=root CIB_file=/tmp/$$.haxor.xml CIB_shadow="" cibadmin -Ql
++
++    desc="$CIB_user: Replace - delete attribute (allow)"
++    cmd="cibadmin --replace -o resources --xml-file /tmp/$$.haxor.xml"
++    test_assert 0 0
+ }
+ 
+ function test_acls() {
+@@ -522,11 +548,18 @@ function test_acls() {
+       <acl_user id="niceguy">
+         <role_ref id="observer"/>
+       </acl_user>
++      <acl_user id="bob">
++        <role_ref id="admin"/>
++      </acl_user>
+       <acl_role id="observer">
+         <read id="observer-read-1" xpath="/cib"/>
+         <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+         <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+       </acl_role>
++      <acl_role id="admin">
++        <read id="admin-read-1" xpath="/cib"/>
++        <write id="admin-write-1" xpath="//resources"/>
++      </acl_role>
+     </acls>
+ EOF
+ 
diff --git a/SOURCES/pacemaker-fix-orphaned-connection-resources.patch b/SOURCES/pacemaker-fix-orphaned-connection-resources.patch
deleted file mode 100644
index 01abbbb..0000000
--- a/SOURCES/pacemaker-fix-orphaned-connection-resources.patch
+++ /dev/null
@@ -1,2099 +0,0 @@
-commit 261c6b836e4a44c6d20d5abd7550ef1f0b25c17c
-Author: David Vossel <dvossel@redhat.com>
-Date:   Wed Sep 25 17:47:04 2013 -0400
-
-    fix orphaned connection resources
-
-diff --git a/crmd/lrm.c b/crmd/lrm.c
-index 7157e24..5f4d3bb 100644
---- a/crmd/lrm.c
-+++ b/crmd/lrm.c
-@@ -729,6 +729,13 @@ build_active_RAs(lrm_state_t * lrm_state, xmlNode * rsc_list)
-         crm_xml_add(xml_rsc, XML_AGENT_ATTR_CLASS, entry->rsc.class);
-         crm_xml_add(xml_rsc, XML_AGENT_ATTR_PROVIDER, entry->rsc.provider);
- 
-+        if (entry->last && entry->last->params) {
-+            const char *container = g_hash_table_lookup(entry->last->params, CRM_META"_"XML_RSC_ATTR_CONTAINER);
-+            if (container) {
-+                crm_trace("Resource %s is a part of container resource %s", entry->id, container);
-+                crm_xml_add(xml_rsc, XML_RSC_ATTR_CONTAINER, container);
-+            }
-+        }
-         build_operation_update(xml_rsc, &(entry->rsc), entry->last, __FUNCTION__);
-         build_operation_update(xml_rsc, &(entry->rsc), entry->failed, __FUNCTION__);
-         for (gIter = entry->recurring_op_list; gIter != NULL; gIter = gIter->next) {
-@@ -1930,10 +1937,20 @@ do_update_resource(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, lrmd_event_da
-     build_operation_update(iter, rsc, op, __FUNCTION__);
- 
-     if (rsc) {
-+        const char *container = NULL;
-+
-         crm_xml_add(iter, XML_ATTR_TYPE, rsc->type);
-         crm_xml_add(iter, XML_AGENT_ATTR_CLASS, rsc->class);
-         crm_xml_add(iter, XML_AGENT_ATTR_PROVIDER, rsc->provider);
- 
-+        if (op->params) {
-+            container = g_hash_table_lookup(op->params, CRM_META"_"XML_RSC_ATTR_CONTAINER);
-+        }
-+        if (container) {
-+            crm_trace("Resource %s is a part of container resource %s", op->rsc_id, container);
-+            crm_xml_add(iter, XML_RSC_ATTR_CONTAINER, container);
-+        }
-+
-         CRM_CHECK(rsc->type != NULL, crm_err("Resource %s has no value for type", op->rsc_id));
-         CRM_CHECK(rsc->class != NULL, crm_err("Resource %s has no value for class", op->rsc_id));
- 
-diff --git a/include/crm/pengine/status.h b/include/crm/pengine/status.h
-index bd3d923..8eb4a1d 100644
---- a/include/crm/pengine/status.h
-+++ b/include/crm/pengine/status.h
-@@ -160,6 +160,7 @@ struct node_s {
- #  define pe_rsc_orphan		0x00000001ULL
- #  define pe_rsc_managed	0x00000002ULL
- #  define pe_rsc_block          0x00000004ULL   /* Further operations are prohibited due to failure policy */
-+#  define pe_rsc_orphan_container_filler	0x00000008ULL
- 
- #  define pe_rsc_notify		0x00000010ULL
- #  define pe_rsc_unique		0x00000020ULL
-diff --git a/lib/cib/cib_attrs.c b/lib/cib/cib_attrs.c
-index d1e1b74..5e21eef 100644
---- a/lib/cib/cib_attrs.c
-+++ b/lib/cib/cib_attrs.c
-@@ -414,40 +414,54 @@ delete_attr_delegate(cib_t * the_cib, int options,
-     return rc;
- }
- 
--static int
--get_remote_node_uuid(cib_t * the_cib, const char *uname, char **uuid)
-+static gboolean
-+found_remote_node_xpath(cib_t *the_cib, const char *xpath)
- {
--#define REMOTE_NODE_XPATH "//nvpair[@name='remote-node'][@value='%s']"
--#define REMOTE_NODE_XPATH2 "//primitive[@type='remote'][@provider='pacemaker'][@id='%s']"
-     int rc = pcmk_ok;
--    char *xpath_string = NULL;
--    size_t len = strlen(REMOTE_NODE_XPATH) + strlen(uname) + 1;
-     xmlNode *xml_search = NULL;
- 
--    xpath_string = calloc(1, len);
--    sprintf(xpath_string, REMOTE_NODE_XPATH, uname);
--    rc = cib_internal_op(the_cib, CIB_OP_QUERY, NULL, xpath_string, NULL, &xml_search,
-+    rc = cib_internal_op(the_cib, CIB_OP_QUERY, NULL, xpath, NULL, &xml_search,
-                          cib_sync_call | cib_scope_local | cib_xpath, NULL);
--    free(xpath_string);
-     free(xml_search);
--    xml_search = NULL;
--    xpath_string = NULL;
- 
--    if (rc != pcmk_ok) {
--        len = strlen(REMOTE_NODE_XPATH2) + strlen(uname) + 1;
--        xpath_string = calloc(1, len);
--        sprintf(xpath_string, REMOTE_NODE_XPATH2, uname);
--        rc = cib_internal_op(the_cib, CIB_OP_QUERY, NULL, xpath_string, NULL, &xml_search,
--                             cib_sync_call | cib_scope_local | cib_xpath, NULL);
-+    return rc == pcmk_ok ? TRUE : FALSE;
-+}
- 
--        free(xpath_string);
--        free(xml_search);
-+static int
-+get_remote_node_uuid(cib_t * the_cib, const char *uname, char **uuid)
-+{
-+#define CONTAINER_REMOTE_NODE_XPATH "//" XML_CIB_TAG_NVPAIR "[@name='remote-node'][@value='%s']"
-+#define BAREMETAL_REMOTE_NODE_XPATH "//" XML_CIB_TAG_RESOURCE "[@type='remote'][@provider='pacemaker'][@id='%s']"
-+#define ORPHAN_REMOTE_NODE_XPATH "//" XML_CIB_TAG_STATUS "//" XML_CIB_TAG_STATE "[@id='%s'][@remote_node='true']"
-+    int len = 128 + strlen(uname);
-+    int rc = pcmk_ok;
-+    char *xpath_string = calloc(1, len);
-+
-+    sprintf(xpath_string, CONTAINER_REMOTE_NODE_XPATH, uname);
-+    if (found_remote_node_xpath(the_cib, xpath_string)) {
-+        goto found_remote;
-     }
- 
--    if (rc == pcmk_ok) {
--        *uuid = strdup(uname);
-+    sprintf(xpath_string, BAREMETAL_REMOTE_NODE_XPATH, uname);
-+    if (found_remote_node_xpath(the_cib, xpath_string)) {
-+        goto found_remote;
-+    }
-+
-+    sprintf(xpath_string, ORPHAN_REMOTE_NODE_XPATH, uname);
-+    if (found_remote_node_xpath(the_cib, xpath_string)) {
-+        goto found_remote;
-     }
- 
-+    rc = -1;
-+found_remote:
-+    if (rc == pcmk_ok) {
-+        /* reuse allocation */
-+        *uuid = xpath_string;
-+        strcpy(*uuid, uname);
-+    } else {
-+        *uuid = NULL;
-+        free(xpath_string);
-+    }
-     return rc;
- }
- 
-diff --git a/lib/pengine/complex.c b/lib/pengine/complex.c
-index 5e2f4e0..8a6049d 100644
---- a/lib/pengine/complex.c
-+++ b/lib/pengine/complex.c
-@@ -159,6 +159,10 @@ get_rsc_attributes(GHashTable * meta_hash, resource_t * rsc,
-     unpack_instance_attributes(data_set->input, rsc->xml, XML_TAG_ATTR_SETS, node_hash,
-                                meta_hash, NULL, FALSE, data_set->now);
- 
-+    if (rsc->container) {
-+        g_hash_table_replace(meta_hash, strdup(CRM_META"_"XML_RSC_ATTR_CONTAINER), strdup(rsc->container->id));
-+    }
-+
-     /* set anything else based on the parent */
-     if (rsc->parent != NULL) {
-         get_rsc_attributes(meta_hash, rsc->parent, node, data_set);
-diff --git a/lib/pengine/unpack.c b/lib/pengine/unpack.c
-index b4986dd..26cecb2 100644
---- a/lib/pengine/unpack.c
-+++ b/lib/pengine/unpack.c
-@@ -248,6 +248,7 @@ create_node(const char *id, const char *uname, const char *type, const char *sco
- 
-     if (safe_str_eq(type, "remote")) {
-         new_node->details->type = node_remote;
-+        set_bit(data_set->flags, pe_flag_have_remote_nodes);
-     } else if (type == NULL || safe_str_eq(type, "member")
-         || safe_str_eq(type, NORMALNODE)) {
-         new_node->details->type = node_member;
-@@ -612,7 +613,6 @@ unpack_remote_nodes(xmlNode * xml_resources, pe_working_set_t * data_set)
-         }
- 
-         if (new_node_id) {
--            set_bit(data_set->flags, pe_flag_have_remote_nodes);
-             crm_trace("detected remote node %s", new_node_id);
-             create_node(new_node_id, new_node_id, "remote", NULL, data_set);
-         }
-@@ -1399,6 +1399,22 @@ create_fake_resource(const char *rsc_id, xmlNode * rsc_entry, pe_working_set_t *
-         return NULL;
-     }
- 
-+    if (is_remote_node(xml_rsc)) {
-+        node_t *node;
-+
-+        crm_debug("Detected orphaned remote node %s", rsc_id);
-+        rsc->is_remote_node = TRUE;
-+        node = create_node(rsc_id, rsc_id, "remote", NULL, data_set);
-+        
-+        CRM_ASSERT(node != NULL);
-+        node->details->remote_rsc = rsc;
-+    }
-+
-+    if (crm_element_value(rsc_entry, XML_RSC_ATTR_CONTAINER)) {
-+        /* This orphaned rsc needs to be mapped to a container. */
-+        crm_trace("Detected orphaned container filler %s", rsc_id);
-+        set_bit(rsc->flags, pe_rsc_orphan_container_filler);
-+    }
-     set_bit(rsc->flags, pe_rsc_orphan);
-     data_set->resources = g_list_append(data_set->resources, rsc);
-     return rsc;
-@@ -1860,7 +1876,7 @@ calculate_active_ops(GListPtr sorted_op_list, int *start_index, int *stop_index)
-     }
- }
- 
--static void
-+static resource_t *
- unpack_lrm_rsc_state(node_t * node, xmlNode * rsc_entry, pe_working_set_t * data_set)
- {
-     GListPtr gIter = NULL;
-@@ -1896,7 +1912,7 @@ unpack_lrm_rsc_state(node_t * node, xmlNode * rsc_entry, pe_working_set_t * data
- 
-     if (op_list == NULL) {
-         /* if there are no operations, there is nothing to do */
--        return;
-+        return NULL;
-     }
- 
-     /* find the resource */
-@@ -1949,12 +1965,55 @@ unpack_lrm_rsc_state(node_t * node, xmlNode * rsc_entry, pe_working_set_t * data
-     if (saved_role > rsc->role) {
-         rsc->role = saved_role;
-     }
-+
-+    return rsc;
-+}
-+
-+static void
-+handle_orphaned_container_fillers(xmlNode * lrm_rsc_list, pe_working_set_t * data_set)
-+{
-+    xmlNode *rsc_entry = NULL;
-+    for (rsc_entry = __xml_first_child(lrm_rsc_list); rsc_entry != NULL;
-+        rsc_entry = __xml_next(rsc_entry)) {
-+
-+        resource_t *rsc;
-+        resource_t *container;
-+        const char *rsc_id;
-+        const char *container_id;
-+
-+        if (safe_str_neq((const char *)rsc_entry->name, XML_LRM_TAG_RESOURCE)) {
-+            continue;
-+        }
-+
-+        container_id = crm_element_value(rsc_entry, XML_RSC_ATTR_CONTAINER);
-+        rsc_id = crm_element_value(rsc_entry, XML_ATTR_ID);
-+        if (container_id == NULL || rsc_id == NULL) {
-+            continue;
-+        }
-+
-+        container = pe_find_resource(data_set->resources, container_id);
-+        if (container == NULL) {
-+            continue;
-+        }
-+
-+        rsc = pe_find_resource(data_set->resources, rsc_id);
-+        if (rsc == NULL ||
-+            is_set(rsc->flags, pe_rsc_orphan_container_filler) == FALSE ||
-+            rsc->container != NULL) {
-+            continue;
-+        }
-+
-+        pe_rsc_trace(rsc, "Mapped orphaned rsc %s's container to  %s", rsc->id, container_id);
-+        rsc->container = container;
-+        container->fillers = g_list_append(container->fillers, rsc);
-+    }
- }
- 
- gboolean
- unpack_lrm_resources(node_t * node, xmlNode * lrm_rsc_list, pe_working_set_t * data_set)
- {
-     xmlNode *rsc_entry = NULL;
-+    gboolean found_orphaned_container_filler = FALSE;
- 
-     CRM_CHECK(node != NULL, return FALSE);
- 
-@@ -1962,11 +2021,23 @@ unpack_lrm_resources(node_t * node, xmlNode * lrm_rsc_list, pe_working_set_t * d
- 
-     for (rsc_entry = __xml_first_child(lrm_rsc_list); rsc_entry != NULL;
-          rsc_entry = __xml_next(rsc_entry)) {
-+
-         if (crm_str_eq((const char *)rsc_entry->name, XML_LRM_TAG_RESOURCE, TRUE)) {
--            unpack_lrm_rsc_state(node, rsc_entry, data_set);
-+            resource_t *rsc;
-+            rsc = unpack_lrm_rsc_state(node, rsc_entry, data_set);
-+            if (rsc && is_set(rsc->flags, pe_rsc_orphan_container_filler)) {
-+                found_orphaned_container_filler = TRUE;
-+            }
-         }
-     }
- 
-+    /* now that all the resource state has been unpacked for this node
-+     * we have to go back and map any orphaned container fillers to their
-+     * container resource */
-+    if (found_orphaned_container_filler) {
-+        handle_orphaned_container_fillers(lrm_rsc_list, data_set);
-+    }
-+
-     return TRUE;
- }
- 
-diff --git a/pengine/allocate.c b/pengine/allocate.c
-index bfa8e7b..e535b84 100644
---- a/pengine/allocate.c
-+++ b/pengine/allocate.c
-@@ -1576,10 +1576,10 @@ apply_remote_node_ordering(pe_working_set_t *data_set)
- 
-         remote_rsc = action->node->details->remote_rsc;
-         container = remote_rsc->container;
-+
-         if (safe_str_eq(action->task, "monitor") ||
-             safe_str_eq(action->task, "start") ||
-             safe_str_eq(action->task, "promote") ||
--            safe_str_eq(action->task, "demote") ||
-             safe_str_eq(action->task, CRM_OP_LRM_REFRESH) ||
-             safe_str_eq(action->task, CRM_OP_CLEAR_FAILCOUNT) ||
-             safe_str_eq(action->task, "delete")) {
-@@ -1593,6 +1593,39 @@ apply_remote_node_ordering(pe_working_set_t *data_set)
-                 pe_order_implies_then | pe_order_runnable_left,
-                 data_set);
- 
-+        } else if (safe_str_eq(action->task, "demote")) {
-+
-+            /* If the connection is being torn down, we don't want
-+             * to build a constraint between a resource's demotion and
-+             * the connection resource starting... because the connection
-+             * resource can not start. The connection might already be up,
-+             * but the START action would not be allowed which in turn would
-+             * block the demotion of any resournces living in the remote-node.
-+             *
-+             * In this case, only build the constraint between the demotion and
-+             * the connection's stop action. This allows the connection and all the
-+             * resources within the remote-node to be torn down properly. */
-+            if (remote_rsc->next_role == RSC_ROLE_STOPPED) {
-+                custom_action_order(action->rsc,
-+                    NULL,
-+                    action,
-+                    remote_rsc,
-+                    generate_op_key(remote_rsc->id, RSC_STOP, 0),
-+                    NULL,
-+                    pe_order_implies_first,
-+                    data_set);
-+            } else {
-+
-+                custom_action_order(remote_rsc,
-+                    generate_op_key(remote_rsc->id, RSC_START, 0),
-+                    NULL,
-+                    action->rsc,
-+                    NULL,
-+                    action,
-+                    pe_order_implies_then | pe_order_runnable_left,
-+                    data_set);
-+            }
-+
-         } else if (safe_str_eq(action->task, "stop") &&
-                    container &&
-                    is_set(container->flags, pe_rsc_failed)) {
-diff --git a/pengine/test10/container-1.exp b/pengine/test10/container-1.exp
-index 1924ef8..522b0f1 100644
---- a/pengine/test10/container-1.exp
-+++ b/pengine/test10/container-1.exp
-@@ -47,7 +47,7 @@
-     <action_set>
-       <rsc_op id="10" operation="monitor" operation_key="rsc1_monitor_10000" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -60,7 +60,7 @@
-     <action_set>
-       <rsc_op id="9" operation="start" operation_key="rsc1_start_0" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -73,7 +73,7 @@
-     <action_set>
-       <rsc_op id="12" operation="monitor" operation_key="rsc2_monitor_5000" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_interval="5000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_interval="5000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -86,7 +86,7 @@
-     <action_set>
-       <rsc_op id="11" operation="start" operation_key="rsc2_start_0" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-diff --git a/pengine/test10/container-2.exp b/pengine/test10/container-2.exp
-index d699d28..c5f9e9e 100644
---- a/pengine/test10/container-2.exp
-+++ b/pengine/test10/container-2.exp
-@@ -45,7 +45,7 @@
-     <action_set>
-       <rsc_op id="11" operation="start" operation_key="rsc1_start_0" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -61,7 +61,7 @@
-     <action_set>
-       <rsc_op id="10" operation="stop" operation_key="rsc1_stop_0" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs/>
-@@ -70,7 +70,7 @@
-     <action_set>
-       <rsc_op id="2" operation="monitor" operation_key="rsc1_monitor_10000" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -83,7 +83,7 @@
-     <action_set>
-       <rsc_op id="13" operation="start" operation_key="rsc2_start_0" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -99,7 +99,7 @@
-     <action_set>
-       <rsc_op id="12" operation="stop" operation_key="rsc2_stop_0" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs/>
-@@ -108,7 +108,7 @@
-     <action_set>
-       <rsc_op id="4" operation="monitor" operation_key="rsc2_monitor_5000" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_interval="5000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_interval="5000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-diff --git a/pengine/test10/container-3.exp b/pengine/test10/container-3.exp
-index cc774da..3c2703a 100644
---- a/pengine/test10/container-3.exp
-+++ b/pengine/test10/container-3.exp
-@@ -42,7 +42,7 @@
-     <action_set>
-       <rsc_op id="10" operation="monitor" operation_key="rsc1_monitor_10000" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -55,7 +55,7 @@
-     <action_set>
-       <rsc_op id="9" operation="start" operation_key="rsc1_start_0" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -68,7 +68,7 @@
-     <action_set>
-       <rsc_op id="12" operation="start" operation_key="rsc2_start_0" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -84,7 +84,7 @@
-     <action_set>
-       <rsc_op id="11" operation="stop" operation_key="rsc2_stop_0" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs/>
-@@ -93,7 +93,7 @@
-     <action_set>
-       <rsc_op id="3" operation="monitor" operation_key="rsc2_monitor_5000" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_interval="5000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_interval="5000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-diff --git a/pengine/test10/container-4.exp b/pengine/test10/container-4.exp
-index 72f50cc..d1da381 100644
---- a/pengine/test10/container-4.exp
-+++ b/pengine/test10/container-4.exp
-@@ -45,7 +45,7 @@
-     <action_set>
-       <rsc_op id="13" operation="monitor" operation_key="rsc1_monitor_10000" on_node="node2" on_node_uuid="node2">
-         <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -58,7 +58,7 @@
-     <action_set>
-       <rsc_op id="12" operation="start" operation_key="rsc1_start_0" on_node="node2" on_node_uuid="node2">
-         <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -74,7 +74,7 @@
-     <action_set>
-       <rsc_op id="11" operation="stop" operation_key="rsc1_stop_0" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs/>
-@@ -83,7 +83,7 @@
-     <action_set>
-       <rsc_op id="16" operation="monitor" operation_key="rsc2_monitor_5000" on_node="node2" on_node_uuid="node2">
-         <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_interval="5000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_interval="5000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -96,7 +96,7 @@
-     <action_set>
-       <rsc_op id="15" operation="start" operation_key="rsc2_start_0" on_node="node2" on_node_uuid="node2">
-         <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -112,7 +112,7 @@
-     <action_set>
-       <rsc_op id="14" operation="stop" operation_key="rsc2_stop_0" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs/>
-diff --git a/pengine/test10/container-group-1.exp b/pengine/test10/container-group-1.exp
-index a007f84..b14aa4c 100644
---- a/pengine/test10/container-group-1.exp
-+++ b/pengine/test10/container-group-1.exp
-@@ -79,7 +79,7 @@
-     <action_set>
-       <rsc_op id="10" operation="monitor" operation_key="rsc1_monitor_10000" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -92,7 +92,7 @@
-     <action_set>
-       <rsc_op id="9" operation="start" operation_key="rsc1_start_0" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -111,7 +111,7 @@
-     <action_set>
-       <rsc_op id="12" operation="monitor" operation_key="rsc2_monitor_5000" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_interval="5000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_interval="5000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -124,7 +124,7 @@
-     <action_set>
-       <rsc_op id="11" operation="start" operation_key="rsc2_start_0" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-diff --git a/pengine/test10/container-group-2.exp b/pengine/test10/container-group-2.exp
-index 6d5e283..ce32cc3 100644
---- a/pengine/test10/container-group-2.exp
-+++ b/pengine/test10/container-group-2.exp
-@@ -113,7 +113,7 @@
-     <action_set>
-       <rsc_op id="11" operation="start" operation_key="rsc1_start_0" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -132,7 +132,7 @@
-     <action_set>
-       <rsc_op id="10" operation="stop" operation_key="rsc1_stop_0" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -148,7 +148,7 @@
-     <action_set>
-       <rsc_op id="2" operation="monitor" operation_key="rsc1_monitor_10000" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -161,7 +161,7 @@
-     <action_set>
-       <rsc_op id="13" operation="start" operation_key="rsc2_start_0" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -183,7 +183,7 @@
-     <action_set>
-       <rsc_op id="12" operation="stop" operation_key="rsc2_stop_0" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -196,7 +196,7 @@
-     <action_set>
-       <rsc_op id="4" operation="monitor" operation_key="rsc2_monitor_5000" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_interval="5000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_interval="5000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-diff --git a/pengine/test10/container-group-3.exp b/pengine/test10/container-group-3.exp
-index 4df7279..96d99c6 100644
---- a/pengine/test10/container-group-3.exp
-+++ b/pengine/test10/container-group-3.exp
-@@ -101,7 +101,7 @@
-     <action_set>
-       <rsc_op id="9" operation="monitor" operation_key="rsc1_monitor_10000" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -114,7 +114,7 @@
-     <action_set>
-       <rsc_op id="8" operation="start" operation_key="rsc1_start_0" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -130,7 +130,7 @@
-     <action_set>
-       <rsc_op id="11" operation="monitor" operation_key="rsc2_monitor_5000" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_interval="5000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_interval="5000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -143,7 +143,7 @@
-     <action_set>
-       <rsc_op id="10" operation="start" operation_key="rsc2_start_0" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-diff --git a/pengine/test10/container-group-4.exp b/pengine/test10/container-group-4.exp
-index dd5aad7..6128599 100644
---- a/pengine/test10/container-group-4.exp
-+++ b/pengine/test10/container-group-4.exp
-@@ -113,7 +113,7 @@
-     <action_set>
-       <rsc_op id="13" operation="monitor" operation_key="rsc1_monitor_10000" on_node="node2" on_node_uuid="node2">
-         <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -126,7 +126,7 @@
-     <action_set>
-       <rsc_op id="12" operation="start" operation_key="rsc1_start_0" on_node="node2" on_node_uuid="node2">
-         <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -145,7 +145,7 @@
-     <action_set>
-       <rsc_op id="11" operation="stop" operation_key="rsc1_stop_0" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -161,7 +161,7 @@
-     <action_set>
-       <rsc_op id="16" operation="monitor" operation_key="rsc2_monitor_5000" on_node="node2" on_node_uuid="node2">
-         <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_interval="5000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_interval="5000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -174,7 +174,7 @@
-     <action_set>
-       <rsc_op id="15" operation="start" operation_key="rsc2_start_0" on_node="node2" on_node_uuid="node2">
-         <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -196,7 +196,7 @@
-     <action_set>
-       <rsc_op id="14" operation="stop" operation_key="rsc2_stop_0" on_node="node1" on_node_uuid="node1">
-         <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-diff --git a/pengine/test10/whitebox-asymmetric.exp b/pengine/test10/whitebox-asymmetric.exp
-index 2c7e586..d60cffa 100644
---- a/pengine/test10/whitebox-asymmetric.exp
-+++ b/pengine/test10/whitebox-asymmetric.exp
-@@ -32,7 +32,7 @@
-     <action_set>
-       <rsc_op id="13" operation="monitor" operation_key="18node2_monitor_30000" on_node="18builder" on_node_uuid="5">
-         <primitive id="18node2" class="ocf" provider="pacemaker" type="remote"/>
--        <attributes CRM_meta_interval="30000" CRM_meta_name="monitor" CRM_meta_timeout="30000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container2" CRM_meta_interval="30000" CRM_meta_name="monitor" CRM_meta_timeout="30000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -45,7 +45,7 @@
-     <action_set>
-       <rsc_op id="12" operation="start" operation_key="18node2_start_0" on_node="18builder" on_node_uuid="5">
-         <primitive id="18node2" class="ocf" provider="pacemaker" type="remote"/>
--        <attributes CRM_meta_name="start" CRM_meta_timeout="60000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container2" CRM_meta_name="start" CRM_meta_timeout="60000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs/>
-diff --git a/pengine/test10/whitebox-fail1.exp b/pengine/test10/whitebox-fail1.exp
-index 5741955..b298df5 100644
---- a/pengine/test10/whitebox-fail1.exp
-+++ b/pengine/test10/whitebox-fail1.exp
-@@ -173,7 +173,7 @@
-     <action_set>
-       <rsc_op id="46" operation="start" operation_key="lxc1_start_0" on_node="18node2" on_node_uuid="2">
-         <primitive id="lxc1" class="ocf" provider="pacemaker" type="remote"/>
--        <attributes CRM_meta_name="start" CRM_meta_timeout="60000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_name="start" CRM_meta_timeout="60000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -189,7 +189,7 @@
-     <action_set>
-       <rsc_op id="45" operation="stop" operation_key="lxc1_stop_0" on_node="18node2" on_node_uuid="2">
-         <primitive id="lxc1" class="ocf" provider="pacemaker" type="remote"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs/>
-@@ -198,7 +198,7 @@
-     <action_set>
-       <rsc_op id="6" operation="monitor" operation_key="lxc1_monitor_30000" on_node="18node2" on_node_uuid="2">
-         <primitive id="lxc1" class="ocf" provider="pacemaker" type="remote"/>
--        <attributes CRM_meta_interval="30000" CRM_meta_name="monitor" CRM_meta_timeout="30000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_interval="30000" CRM_meta_name="monitor" CRM_meta_timeout="30000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-diff --git a/pengine/test10/whitebox-fail2.exp b/pengine/test10/whitebox-fail2.exp
-index 5741955..b298df5 100644
---- a/pengine/test10/whitebox-fail2.exp
-+++ b/pengine/test10/whitebox-fail2.exp
-@@ -173,7 +173,7 @@
-     <action_set>
-       <rsc_op id="46" operation="start" operation_key="lxc1_start_0" on_node="18node2" on_node_uuid="2">
-         <primitive id="lxc1" class="ocf" provider="pacemaker" type="remote"/>
--        <attributes CRM_meta_name="start" CRM_meta_timeout="60000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_name="start" CRM_meta_timeout="60000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -189,7 +189,7 @@
-     <action_set>
-       <rsc_op id="45" operation="stop" operation_key="lxc1_stop_0" on_node="18node2" on_node_uuid="2">
-         <primitive id="lxc1" class="ocf" provider="pacemaker" type="remote"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs/>
-@@ -198,7 +198,7 @@
-     <action_set>
-       <rsc_op id="6" operation="monitor" operation_key="lxc1_monitor_30000" on_node="18node2" on_node_uuid="2">
-         <primitive id="lxc1" class="ocf" provider="pacemaker" type="remote"/>
--        <attributes CRM_meta_interval="30000" CRM_meta_name="monitor" CRM_meta_timeout="30000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_interval="30000" CRM_meta_name="monitor" CRM_meta_timeout="30000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-diff --git a/pengine/test10/whitebox-fail3.exp b/pengine/test10/whitebox-fail3.exp
-index 1b8d144..c5a6474 100644
---- a/pengine/test10/whitebox-fail3.exp
-+++ b/pengine/test10/whitebox-fail3.exp
-@@ -151,7 +151,7 @@
-     <action_set>
-       <rsc_op id="37" operation="monitor" operation_key="18builder_monitor_30000" on_node="dvossel-laptop2" on_node_uuid="24815808">
-         <primitive id="18builder" class="ocf" provider="pacemaker" type="remote"/>
--        <attributes CRM_meta_interval="30000" CRM_meta_name="monitor" CRM_meta_timeout="30000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="vm" CRM_meta_interval="30000" CRM_meta_name="monitor" CRM_meta_timeout="30000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -164,7 +164,7 @@
-     <action_set>
-       <rsc_op id="36" operation="start" operation_key="18builder_start_0" on_node="dvossel-laptop2" on_node_uuid="24815808">
-         <primitive id="18builder" class="ocf" provider="pacemaker" type="remote"/>
--        <attributes CRM_meta_name="start" CRM_meta_timeout="60000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="vm" CRM_meta_name="start" CRM_meta_timeout="60000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -180,7 +180,7 @@
-     <action_set>
-       <rsc_op id="4" operation="monitor" operation_key="18builder_monitor_0" on_node="dvossel-laptop2" on_node_uuid="24815808">
-         <primitive id="18builder" class="ocf" provider="pacemaker" type="remote"/>
--        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="30000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="vm" CRM_meta_op_target_rc="7" CRM_meta_timeout="30000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs/>
-diff --git a/pengine/test10/whitebox-move.exp b/pengine/test10/whitebox-move.exp
-index 8dbdda0..60262b6 100644
---- a/pengine/test10/whitebox-move.exp
-+++ b/pengine/test10/whitebox-move.exp
-@@ -168,7 +168,7 @@
-     <action_set>
-       <rsc_op id="38" operation="monitor" operation_key="lxc1_monitor_30000" on_node="18node2" on_node_uuid="2">
-         <primitive id="lxc1" class="ocf" provider="pacemaker" type="remote"/>
--        <attributes CRM_meta_interval="30000" CRM_meta_name="monitor" CRM_meta_timeout="30000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_interval="30000" CRM_meta_name="monitor" CRM_meta_timeout="30000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -181,7 +181,7 @@
-     <action_set>
-       <rsc_op id="37" operation="start" operation_key="lxc1_start_0" on_node="18node2" on_node_uuid="2">
-         <primitive id="lxc1" class="ocf" provider="pacemaker" type="remote"/>
--        <attributes CRM_meta_name="start" CRM_meta_timeout="60000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_name="start" CRM_meta_timeout="60000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -197,7 +197,7 @@
-     <action_set>
-       <rsc_op id="36" operation="stop" operation_key="lxc1_stop_0" on_node="18node1" on_node_uuid="1">
-         <primitive id="lxc1" class="ocf" provider="pacemaker" type="remote"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-diff --git a/pengine/test10/whitebox-orphan-ms.dot b/pengine/test10/whitebox-orphan-ms.dot
-new file mode 100644
-index 0000000..f037179
---- /dev/null
-+++ b/pengine/test10/whitebox-orphan-ms.dot
-@@ -0,0 +1,69 @@
-+ digraph "g" {
-+"FencingFail_start_0 18node1" [ style=bold color="green" fontcolor="black"]
-+"FencingFail_stop_0 18node3" -> "FencingFail_start_0 18node1" [ style = bold]
-+"FencingFail_stop_0 18node3" -> "all_stopped" [ style = bold]
-+"FencingFail_stop_0 18node3" [ style=bold color="green" fontcolor="black"]
-+"all_stopped" [ style=bold color="green" fontcolor="orange"]
-+"container1_delete_0 18node1" -> "container1_start_0 <none>" [ style = dashed]
-+"container1_delete_0 18node1" [ style=bold color="green" fontcolor="black"]
-+"container1_delete_0 18node2" -> "container1_start_0 <none>" [ style = dashed]
-+"container1_delete_0 18node2" [ style=bold color="green" fontcolor="black"]
-+"container1_delete_0 18node3" -> "container1_start_0 <none>" [ style = dashed]
-+"container1_delete_0 18node3" [ style=bold color="green" fontcolor="black"]
-+"container1_start_0 <none>" [ style=dashed color="red" fontcolor="black"]
-+"container1_stop_0 18node1" -> "all_stopped" [ style = bold]
-+"container1_stop_0 18node1" -> "container1_delete_0 18node1" [ style = bold]
-+"container1_stop_0 18node1" -> "container1_delete_0 18node2" [ style = bold]
-+"container1_stop_0 18node1" -> "container1_delete_0 18node3" [ style = bold]
-+"container1_stop_0 18node1" -> "container1_start_0 <none>" [ style = dashed]
-+"container1_stop_0 18node1" [ style=bold color="green" fontcolor="black"]
-+"container2_delete_0 18node1" [ style=bold color="green" fontcolor="black"]
-+"container2_delete_0 18node2" [ style=bold color="green" fontcolor="black"]
-+"container2_delete_0 18node3" [ style=bold color="green" fontcolor="black"]
-+"container2_stop_0 18node1" -> "all_stopped" [ style = bold]
-+"container2_stop_0 18node1" -> "container2_delete_0 18node1" [ style = bold]
-+"container2_stop_0 18node1" -> "container2_delete_0 18node2" [ style = bold]
-+"container2_stop_0 18node1" -> "container2_delete_0 18node3" [ style = bold]
-+"container2_stop_0 18node1" [ style=bold color="green" fontcolor="black"]
-+"lxc-ms_delete_0 18node1" [ style=bold color="green" fontcolor="black"]
-+"lxc-ms_delete_0 18node2" [ style=bold color="green" fontcolor="black"]
-+"lxc-ms_delete_0 18node3" [ style=bold color="green" fontcolor="black"]
-+"lxc-ms_demote_0 lxc1" -> "lxc-ms_stop_0 lxc1" [ style = bold]
-+"lxc-ms_demote_0 lxc1" -> "lxc-ms_stop_0 lxc2" [ style = bold]
-+"lxc-ms_demote_0 lxc1" -> "lxc1_stop_0 18node1" [ style = bold]
-+"lxc-ms_demote_0 lxc1" [ style=bold color="green" fontcolor="black"]
-+"lxc-ms_demote_0 lxc2" -> "lxc-ms_stop_0 lxc1" [ style = bold]
-+"lxc-ms_demote_0 lxc2" -> "lxc-ms_stop_0 lxc2" [ style = bold]
-+"lxc-ms_demote_0 lxc2" -> "lxc2_stop_0 18node1" [ style = bold]
-+"lxc-ms_demote_0 lxc2" [ style=bold color="green" fontcolor="black"]
-+"lxc-ms_stop_0 lxc1" -> "all_stopped" [ style = bold]
-+"lxc-ms_stop_0 lxc1" -> "lxc-ms_delete_0 18node1" [ style = bold]
-+"lxc-ms_stop_0 lxc1" -> "lxc-ms_delete_0 18node2" [ style = bold]
-+"lxc-ms_stop_0 lxc1" -> "lxc-ms_delete_0 18node3" [ style = bold]
-+"lxc-ms_stop_0 lxc1" -> "lxc1_stop_0 18node1" [ style = bold]
-+"lxc-ms_stop_0 lxc1" [ style=bold color="green" fontcolor="black"]
-+"lxc-ms_stop_0 lxc2" -> "all_stopped" [ style = bold]
-+"lxc-ms_stop_0 lxc2" -> "lxc-ms_delete_0 18node1" [ style = bold]
-+"lxc-ms_stop_0 lxc2" -> "lxc-ms_delete_0 18node2" [ style = bold]
-+"lxc-ms_stop_0 lxc2" -> "lxc-ms_delete_0 18node3" [ style = bold]
-+"lxc-ms_stop_0 lxc2" -> "lxc2_stop_0 18node1" [ style = bold]
-+"lxc-ms_stop_0 lxc2" [ style=bold color="green" fontcolor="black"]
-+"lxc1_delete_0 18node1" [ style=bold color="green" fontcolor="black"]
-+"lxc1_delete_0 18node2" [ style=bold color="green" fontcolor="black"]
-+"lxc1_delete_0 18node3" [ style=bold color="green" fontcolor="black"]
-+"lxc1_stop_0 18node1" -> "all_stopped" [ style = bold]
-+"lxc1_stop_0 18node1" -> "container1_stop_0 18node1" [ style = bold]
-+"lxc1_stop_0 18node1" -> "lxc1_delete_0 18node1" [ style = bold]
-+"lxc1_stop_0 18node1" -> "lxc1_delete_0 18node2" [ style = bold]
-+"lxc1_stop_0 18node1" -> "lxc1_delete_0 18node3" [ style = bold]
-+"lxc1_stop_0 18node1" [ style=bold color="green" fontcolor="black"]
-+"lxc2_delete_0 18node1" [ style=bold color="green" fontcolor="black"]
-+"lxc2_delete_0 18node2" [ style=bold color="green" fontcolor="black"]
-+"lxc2_delete_0 18node3" [ style=bold color="green" fontcolor="black"]
-+"lxc2_stop_0 18node1" -> "all_stopped" [ style = bold]
-+"lxc2_stop_0 18node1" -> "container2_stop_0 18node1" [ style = bold]
-+"lxc2_stop_0 18node1" -> "lxc2_delete_0 18node1" [ style = bold]
-+"lxc2_stop_0 18node1" -> "lxc2_delete_0 18node2" [ style = bold]
-+"lxc2_stop_0 18node1" -> "lxc2_delete_0 18node3" [ style = bold]
-+"lxc2_stop_0 18node1" [ style=bold color="green" fontcolor="black"]
-+}
-diff --git a/pengine/test10/whitebox-orphan-ms.exp b/pengine/test10/whitebox-orphan-ms.exp
-new file mode 100644
-index 0000000..d36a9be
---- /dev/null
-+++ b/pengine/test10/whitebox-orphan-ms.exp
-@@ -0,0 +1,366 @@
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="1" batch-limit="10" transition_id="0">
-+  <synapse id="0">
-+    <action_set>
-+      <rsc_op id="45" operation="start" operation_key="FencingFail_start_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="FencingFail" class="stonith" type="fence_dummy"/>
-+        <attributes CRM_meta_timeout="90000" crm_feature_set="3.0.7" delay="20" mode="fail" pcmk_host_list="18node1 18node3" random_sleep_range="30"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="44" operation="stop" operation_key="FencingFail_stop_0" on_node="18node3" on_node_uuid="3"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="1">
-+    <action_set>
-+      <rsc_op id="44" operation="stop" operation_key="FencingFail_stop_0" on_node="18node3" on_node_uuid="3">
-+        <primitive id="FencingFail" class="stonith" type="fence_dummy"/>
-+        <attributes CRM_meta_timeout="90000" crm_feature_set="3.0.7" delay="20" mode="fail" pcmk_host_list="18node1 18node3" random_sleep_range="30"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="2">
-+    <action_set>
-+      <rsc_op id="92" operation="stop" operation_key="container2_stop_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="container2" class="ocf" provider="heartbeat" type="VirtualDomain"/>
-+        <attributes CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="98" operation="stop" operation_key="lxc2_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="3">
-+    <action_set>
-+      <rsc_op id="30" operation="delete" operation_key="container2_delete_0" on_node="18node3" on_node_uuid="3">
-+        <primitive id="container2" class="ocf" provider="heartbeat" type="VirtualDomain"/>
-+        <attributes CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="92" operation="stop" operation_key="container2_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="4">
-+    <action_set>
-+      <rsc_op id="25" operation="delete" operation_key="container2_delete_0" on_node="18node2" on_node_uuid="2">
-+        <primitive id="container2" class="ocf" provider="heartbeat" type="VirtualDomain"/>
-+        <attributes CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="92" operation="stop" operation_key="container2_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="5">
-+    <action_set>
-+      <rsc_op id="20" operation="delete" operation_key="container2_delete_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="container2" class="ocf" provider="heartbeat" type="VirtualDomain"/>
-+        <attributes CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="92" operation="stop" operation_key="container2_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="6">
-+    <action_set>
-+      <rsc_op id="93" operation="stop" operation_key="lxc1_stop_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="lxc1" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="94" operation="demote" operation_key="lxc-ms_demote_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="96" operation="stop" operation_key="lxc-ms_stop_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="7">
-+    <action_set>
-+      <rsc_op id="31" operation="delete" operation_key="lxc1_delete_0" on_node="18node3" on_node_uuid="3">
-+        <primitive id="lxc1" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="93" operation="stop" operation_key="lxc1_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="8">
-+    <action_set>
-+      <rsc_op id="26" operation="delete" operation_key="lxc1_delete_0" on_node="18node2" on_node_uuid="2">
-+        <primitive id="lxc1" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="93" operation="stop" operation_key="lxc1_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="9">
-+    <action_set>
-+      <rsc_op id="21" operation="delete" operation_key="lxc1_delete_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="lxc1" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="93" operation="stop" operation_key="lxc1_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="10">
-+    <action_set>
-+      <rsc_op id="97" operation="stop" operation_key="lxc-ms_stop_0" on_node="lxc2" on_node_uuid="lxc2" router_node="18node1">
-+        <primitive id="lxc-ms" class="ocf" provider="pacemaker" type="Stateful"/>
-+        <attributes CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="94" operation="demote" operation_key="lxc-ms_demote_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="95" operation="demote" operation_key="lxc-ms_demote_0" on_node="lxc2" on_node_uuid="lxc2" router_node="18node1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="11">
-+    <action_set>
-+      <rsc_op id="96" operation="stop" operation_key="lxc-ms_stop_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1">
-+        <primitive id="lxc-ms" class="ocf" provider="pacemaker" type="Stateful"/>
-+        <attributes CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="94" operation="demote" operation_key="lxc-ms_demote_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="95" operation="demote" operation_key="lxc-ms_demote_0" on_node="lxc2" on_node_uuid="lxc2" router_node="18node1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="12">
-+    <action_set>
-+      <rsc_op id="95" operation="demote" operation_key="lxc-ms_demote_0" on_node="lxc2" on_node_uuid="lxc2" router_node="18node1">
-+        <primitive id="lxc-ms" class="ocf" provider="pacemaker" type="Stateful"/>
-+        <attributes CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="13">
-+    <action_set>
-+      <rsc_op id="94" operation="demote" operation_key="lxc-ms_demote_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1">
-+        <primitive id="lxc-ms" class="ocf" provider="pacemaker" type="Stateful"/>
-+        <attributes CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="14">
-+    <action_set>
-+      <rsc_op id="32" operation="delete" operation_key="lxc-ms_delete_0" on_node="18node3" on_node_uuid="3">
-+        <primitive id="lxc-ms" class="ocf" provider="pacemaker" type="Stateful"/>
-+        <attributes CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="96" operation="stop" operation_key="lxc-ms_stop_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="97" operation="stop" operation_key="lxc-ms_stop_0" on_node="lxc2" on_node_uuid="lxc2" router_node="18node1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="15">
-+    <action_set>
-+      <rsc_op id="27" operation="delete" operation_key="lxc-ms_delete_0" on_node="18node2" on_node_uuid="2">
-+        <primitive id="lxc-ms" class="ocf" provider="pacemaker" type="Stateful"/>
-+        <attributes CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="96" operation="stop" operation_key="lxc-ms_stop_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="97" operation="stop" operation_key="lxc-ms_stop_0" on_node="lxc2" on_node_uuid="lxc2" router_node="18node1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="16">
-+    <action_set>
-+      <rsc_op id="22" operation="delete" operation_key="lxc-ms_delete_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="lxc-ms" class="ocf" provider="pacemaker" type="Stateful"/>
-+        <attributes CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="96" operation="stop" operation_key="lxc-ms_stop_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="97" operation="stop" operation_key="lxc-ms_stop_0" on_node="lxc2" on_node_uuid="lxc2" router_node="18node1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="17">
-+    <action_set>
-+      <rsc_op id="98" operation="stop" operation_key="lxc2_stop_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="lxc2" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_container="container2" CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="95" operation="demote" operation_key="lxc-ms_demote_0" on_node="lxc2" on_node_uuid="lxc2" router_node="18node1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="97" operation="stop" operation_key="lxc-ms_stop_0" on_node="lxc2" on_node_uuid="lxc2" router_node="18node1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="18">
-+    <action_set>
-+      <rsc_op id="33" operation="delete" operation_key="lxc2_delete_0" on_node="18node3" on_node_uuid="3">
-+        <primitive id="lxc2" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_container="container2" CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="98" operation="stop" operation_key="lxc2_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="19">
-+    <action_set>
-+      <rsc_op id="28" operation="delete" operation_key="lxc2_delete_0" on_node="18node2" on_node_uuid="2">
-+        <primitive id="lxc2" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_container="container2" CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="98" operation="stop" operation_key="lxc2_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="20">
-+    <action_set>
-+      <rsc_op id="23" operation="delete" operation_key="lxc2_delete_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="lxc2" class="ocf" provider="pacemaker" type="remote"/>
-+        <attributes CRM_meta_container="container2" CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="98" operation="stop" operation_key="lxc2_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="21">
-+    <action_set>
-+      <rsc_op id="99" operation="stop" operation_key="container1_stop_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="container1" class="ocf" provider="heartbeat" type="VirtualDomain"/>
-+        <attributes CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="93" operation="stop" operation_key="lxc1_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="22">
-+    <action_set>
-+      <rsc_op id="34" operation="delete" operation_key="container1_delete_0" on_node="18node3" on_node_uuid="3">
-+        <primitive id="container1" class="ocf" provider="heartbeat" type="VirtualDomain"/>
-+        <attributes CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="99" operation="stop" operation_key="container1_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="23">
-+    <action_set>
-+      <rsc_op id="29" operation="delete" operation_key="container1_delete_0" on_node="18node2" on_node_uuid="2">
-+        <primitive id="container1" class="ocf" provider="heartbeat" type="VirtualDomain"/>
-+        <attributes CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="99" operation="stop" operation_key="container1_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="24">
-+    <action_set>
-+      <rsc_op id="24" operation="delete" operation_key="container1_delete_0" on_node="18node1" on_node_uuid="1">
-+        <primitive id="container1" class="ocf" provider="heartbeat" type="VirtualDomain"/>
-+        <attributes CRM_meta_timeout="90000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="99" operation="stop" operation_key="container1_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="25">
-+    <action_set>
-+      <pseudo_event id="19" operation="all_stopped" operation_key="all_stopped">
-+        <attributes crm_feature_set="3.0.7"/>
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="44" operation="stop" operation_key="FencingFail_stop_0" on_node="18node3" on_node_uuid="3"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="92" operation="stop" operation_key="container2_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="93" operation="stop" operation_key="lxc1_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="96" operation="stop" operation_key="lxc-ms_stop_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="97" operation="stop" operation_key="lxc-ms_stop_0" on_node="lxc2" on_node_uuid="lxc2" router_node="18node1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="98" operation="stop" operation_key="lxc2_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="99" operation="stop" operation_key="container1_stop_0" on_node="18node1" on_node_uuid="1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+</transition_graph>
-diff --git a/pengine/test10/whitebox-orphan-ms.pe.dot b/pengine/test10/whitebox-orphan-ms.pe.dot
-new file mode 100644
-index 0000000..81c37eb
---- /dev/null
-+++ b/pengine/test10/whitebox-orphan-ms.pe.dot
-@@ -0,0 +1,69 @@
-+digraph "g" {
-+"FencingFail_start_0 18node1" [ style=bold color="green" fontcolor="black"]
-+"FencingFail_stop_0 18node3" -> "FencingFail_start_0 18node1" [ style = bold]
-+"FencingFail_stop_0 18node3" -> "all_stopped" [ style = bold]
-+"FencingFail_stop_0 18node3" [ style=bold color="green" fontcolor="black"]
-+"all_stopped" [ style=bold color="green" fontcolor="orange"]
-+"container1_delete_0 18node1" -> "container1_start_0 <none>" [ style = dashed]
-+"container1_delete_0 18node1" [ style=bold color="green" fontcolor="black"]
-+"container1_delete_0 18node2" -> "container1_start_0 <none>" [ style = dashed]
-+"container1_delete_0 18node2" [ style=bold color="green" fontcolor="black"]
-+"container1_delete_0 18node3" -> "container1_start_0 <none>" [ style = dashed]
-+"container1_delete_0 18node3" [ style=bold color="green" fontcolor="black"]
-+"container1_start_0 <none>" [ style=dashed color="red" fontcolor="black"]
-+"container1_stop_0 18node1" -> "all_stopped" [ style = bold]
-+"container1_stop_0 18node1" -> "container1_delete_0 18node1" [ style = bold]
-+"container1_stop_0 18node1" -> "container1_delete_0 18node2" [ style = bold]
-+"container1_stop_0 18node1" -> "container1_delete_0 18node3" [ style = bold]
-+"container1_stop_0 18node1" -> "container1_start_0 <none>" [ style = dashed]
-+"container1_stop_0 18node1" [ style=bold color="green" fontcolor="black"]
-+"container2_delete_0 18node1" [ style=bold color="green" fontcolor="black"]
-+"container2_delete_0 18node2" [ style=bold color="green" fontcolor="black"]
-+"container2_delete_0 18node3" [ style=bold color="green" fontcolor="black"]
-+"container2_stop_0 18node1" -> "all_stopped" [ style = bold]
-+"container2_stop_0 18node1" -> "container2_delete_0 18node1" [ style = bold]
-+"container2_stop_0 18node1" -> "container2_delete_0 18node2" [ style = bold]
-+"container2_stop_0 18node1" -> "container2_delete_0 18node3" [ style = bold]
-+"container2_stop_0 18node1" [ style=bold color="green" fontcolor="black"]
-+"lxc-ms_delete_0 18node1" [ style=bold color="green" fontcolor="black"]
-+"lxc-ms_delete_0 18node2" [ style=bold color="green" fontcolor="black"]
-+"lxc-ms_delete_0 18node3" [ style=bold color="green" fontcolor="black"]
-+"lxc-ms_demote_0 lxc1" -> "lxc-ms_stop_0 lxc1" [ style = bold]
-+"lxc-ms_demote_0 lxc1" -> "lxc-ms_stop_0 lxc2" [ style = bold]
-+"lxc-ms_demote_0 lxc1" -> "lxc1_stop_0 18node1" [ style = bold]
-+"lxc-ms_demote_0 lxc1" [ style=bold color="green" fontcolor="black"]
-+"lxc-ms_demote_0 lxc2" -> "lxc-ms_stop_0 lxc1" [ style = bold]
-+"lxc-ms_demote_0 lxc2" -> "lxc-ms_stop_0 lxc2" [ style = bold]
-+"lxc-ms_demote_0 lxc2" -> "lxc2_stop_0 18node1" [ style = bold]
-+"lxc-ms_demote_0 lxc2" [ style=bold color="green" fontcolor="black"]
-+"lxc-ms_stop_0 lxc1" -> "all_stopped" [ style = bold]
-+"lxc-ms_stop_0 lxc1" -> "lxc-ms_delete_0 18node1" [ style = bold]
-+"lxc-ms_stop_0 lxc1" -> "lxc-ms_delete_0 18node2" [ style = bold]
-+"lxc-ms_stop_0 lxc1" -> "lxc-ms_delete_0 18node3" [ style = bold]
-+"lxc-ms_stop_0 lxc1" -> "lxc1_stop_0 18node1" [ style = bold]
-+"lxc-ms_stop_0 lxc1" [ style=bold color="green" fontcolor="black"]
-+"lxc-ms_stop_0 lxc2" -> "all_stopped" [ style = bold]
-+"lxc-ms_stop_0 lxc2" -> "lxc-ms_delete_0 18node1" [ style = bold]
-+"lxc-ms_stop_0 lxc2" -> "lxc-ms_delete_0 18node2" [ style = bold]
-+"lxc-ms_stop_0 lxc2" -> "lxc-ms_delete_0 18node3" [ style = bold]
-+"lxc-ms_stop_0 lxc2" -> "lxc2_stop_0 18node1" [ style = bold]
-+"lxc-ms_stop_0 lxc2" [ style=bold color="green" fontcolor="black"]
-+"lxc1_delete_0 18node1" [ style=bold color="green" fontcolor="black"]
-+"lxc1_delete_0 18node2" [ style=bold color="green" fontcolor="black"]
-+"lxc1_delete_0 18node3" [ style=bold color="green" fontcolor="black"]
-+"lxc1_stop_0 18node1" -> "all_stopped" [ style = bold]
-+"lxc1_stop_0 18node1" -> "container1_stop_0 18node1" [ style = bold]
-+"lxc1_stop_0 18node1" -> "lxc1_delete_0 18node1" [ style = bold]
-+"lxc1_stop_0 18node1" -> "lxc1_delete_0 18node2" [ style = bold]
-+"lxc1_stop_0 18node1" -> "lxc1_delete_0 18node3" [ style = bold]
-+"lxc1_stop_0 18node1" [ style=bold color="green" fontcolor="black"]
-+"lxc2_delete_0 18node1" [ style=bold color="green" fontcolor="black"]
-+"lxc2_delete_0 18node2" [ style=bold color="green" fontcolor="black"]
-+"lxc2_delete_0 18node3" [ style=bold color="green" fontcolor="black"]
-+"lxc2_stop_0 18node1" -> "all_stopped" [ style = bold]
-+"lxc2_stop_0 18node1" -> "container2_stop_0 18node1" [ style = bold]
-+"lxc2_stop_0 18node1" -> "lxc2_delete_0 18node1" [ style = bold]
-+"lxc2_stop_0 18node1" -> "lxc2_delete_0 18node2" [ style = bold]
-+"lxc2_stop_0 18node1" -> "lxc2_delete_0 18node3" [ style = bold]
-+"lxc2_stop_0 18node1" [ style=bold color="green" fontcolor="black"]
-+}
-diff --git a/pengine/test10/whitebox-orphan-ms.scores b/pengine/test10/whitebox-orphan-ms.scores
-new file mode 100644
-index 0000000..d968052
---- /dev/null
-+++ b/pengine/test10/whitebox-orphan-ms.scores
-@@ -0,0 +1,105 @@
-+Allocation scores:
-+clone_color: Connectivity allocation score on 18node1: 0
-+clone_color: Connectivity allocation score on 18node2: 0
-+clone_color: Connectivity allocation score on 18node3: 0
-+clone_color: master-1 allocation score on 18node1: 0
-+clone_color: master-1 allocation score on 18node2: 0
-+clone_color: master-1 allocation score on 18node3: 0
-+clone_color: master-1 allocation score on lxc1: -INFINITY
-+clone_color: master-1 allocation score on lxc2: -INFINITY
-+clone_color: ping-1:0 allocation score on 18node1: 1
-+clone_color: ping-1:0 allocation score on 18node2: 0
-+clone_color: ping-1:0 allocation score on 18node3: 0
-+clone_color: ping-1:1 allocation score on 18node1: 0
-+clone_color: ping-1:1 allocation score on 18node2: 1
-+clone_color: ping-1:1 allocation score on 18node3: 0
-+clone_color: ping-1:2 allocation score on 18node1: 0
-+clone_color: ping-1:2 allocation score on 18node2: 0
-+clone_color: ping-1:2 allocation score on 18node3: 1
-+clone_color: stateful-1:0 allocation score on 18node1: 11
-+clone_color: stateful-1:0 allocation score on 18node2: 0
-+clone_color: stateful-1:0 allocation score on 18node3: 0
-+clone_color: stateful-1:0 allocation score on lxc1: -INFINITY
-+clone_color: stateful-1:0 allocation score on lxc2: -INFINITY
-+clone_color: stateful-1:1 allocation score on 18node1: 0
-+clone_color: stateful-1:1 allocation score on 18node2: 6
-+clone_color: stateful-1:1 allocation score on 18node3: 0
-+clone_color: stateful-1:1 allocation score on lxc1: -INFINITY
-+clone_color: stateful-1:1 allocation score on lxc2: -INFINITY
-+clone_color: stateful-1:2 allocation score on 18node1: 0
-+clone_color: stateful-1:2 allocation score on 18node2: 0
-+clone_color: stateful-1:2 allocation score on 18node3: 6
-+clone_color: stateful-1:2 allocation score on lxc1: -INFINITY
-+clone_color: stateful-1:2 allocation score on lxc2: -INFINITY
-+group_color: group-1 allocation score on 18node1: 0
-+group_color: group-1 allocation score on 18node2: 0
-+group_color: group-1 allocation score on 18node3: 0
-+group_color: r192.168.122.87 allocation score on 18node1: 0
-+group_color: r192.168.122.87 allocation score on 18node2: 0
-+group_color: r192.168.122.87 allocation score on 18node3: 0
-+group_color: r192.168.122.88 allocation score on 18node1: 0
-+group_color: r192.168.122.88 allocation score on 18node2: 0
-+group_color: r192.168.122.88 allocation score on 18node3: 0
-+group_color: r192.168.122.89 allocation score on 18node1: 0
-+group_color: r192.168.122.89 allocation score on 18node2: 0
-+group_color: r192.168.122.89 allocation score on 18node3: 0
-+native_color: Fencing allocation score on 18node1: 0
-+native_color: Fencing allocation score on 18node2: 0
-+native_color: Fencing allocation score on 18node3: 0
-+native_color: FencingFail allocation score on 18node1: 0
-+native_color: FencingFail allocation score on 18node2: 0
-+native_color: FencingFail allocation score on 18node3: 0
-+native_color: FencingPass allocation score on 18node1: 0
-+native_color: FencingPass allocation score on 18node2: 0
-+native_color: FencingPass allocation score on 18node3: 0
-+native_color: lsb-dummy allocation score on 18node1: 0
-+native_color: lsb-dummy allocation score on 18node2: -INFINITY
-+native_color: lsb-dummy allocation score on 18node3: -INFINITY
-+native_color: migrator allocation score on 18node1: 1
-+native_color: migrator allocation score on 18node2: 0
-+native_color: migrator allocation score on 18node3: 0
-+native_color: ping-1:0 allocation score on 18node1: 1
-+native_color: ping-1:0 allocation score on 18node2: -INFINITY
-+native_color: ping-1:0 allocation score on 18node3: -INFINITY
-+native_color: ping-1:1 allocation score on 18node1: 0
-+native_color: ping-1:1 allocation score on 18node2: 1
-+native_color: ping-1:1 allocation score on 18node3: 0
-+native_color: ping-1:2 allocation score on 18node1: 0
-+native_color: ping-1:2 allocation score on 18node2: -INFINITY
-+native_color: ping-1:2 allocation score on 18node3: 1
-+native_color: r192.168.122.87 allocation score on 18node1: 11
-+native_color: r192.168.122.87 allocation score on 18node2: -INFINITY
-+native_color: r192.168.122.87 allocation score on 18node3: -INFINITY
-+native_color: r192.168.122.88 allocation score on 18node1: 0
-+native_color: r192.168.122.88 allocation score on 18node2: -INFINITY
-+native_color: r192.168.122.88 allocation score on 18node3: -INFINITY
-+native_color: r192.168.122.89 allocation score on 18node1: 0
-+native_color: r192.168.122.89 allocation score on 18node2: -INFINITY
-+native_color: r192.168.122.89 allocation score on 18node3: -INFINITY
-+native_color: rsc_18node1 allocation score on 18node1: 100
-+native_color: rsc_18node1 allocation score on 18node2: 0
-+native_color: rsc_18node1 allocation score on 18node3: 0
-+native_color: rsc_18node2 allocation score on 18node1: 0
-+native_color: rsc_18node2 allocation score on 18node2: 100
-+native_color: rsc_18node2 allocation score on 18node3: 0
-+native_color: rsc_18node3 allocation score on 18node1: 0
-+native_color: rsc_18node3 allocation score on 18node2: 0
-+native_color: rsc_18node3 allocation score on 18node3: 100
-+native_color: stateful-1:0 allocation score on 18node1: 11
-+native_color: stateful-1:0 allocation score on 18node2: -INFINITY
-+native_color: stateful-1:0 allocation score on 18node3: -INFINITY
-+native_color: stateful-1:0 allocation score on lxc1: -INFINITY
-+native_color: stateful-1:0 allocation score on lxc2: -INFINITY
-+native_color: stateful-1:1 allocation score on 18node1: 0
-+native_color: stateful-1:1 allocation score on 18node2: 6
-+native_color: stateful-1:1 allocation score on 18node3: 0
-+native_color: stateful-1:1 allocation score on lxc1: -INFINITY
-+native_color: stateful-1:1 allocation score on lxc2: -INFINITY
-+native_color: stateful-1:2 allocation score on 18node1: 0
-+native_color: stateful-1:2 allocation score on 18node2: -INFINITY
-+native_color: stateful-1:2 allocation score on 18node3: 6
-+native_color: stateful-1:2 allocation score on lxc1: -INFINITY
-+native_color: stateful-1:2 allocation score on lxc2: -INFINITY
-+stateful-1:0 promotion score on 18node1: 10
-+stateful-1:1 promotion score on 18node2: 5
-+stateful-1:2 promotion score on 18node3: 5
-diff --git a/pengine/test10/whitebox-orphan-ms.summary b/pengine/test10/whitebox-orphan-ms.summary
-new file mode 100644
-index 0000000..30c6a3b
---- /dev/null
-+++ b/pengine/test10/whitebox-orphan-ms.summary
-@@ -0,0 +1,85 @@
-+
-+Current cluster status:
-+Online: [ 18node1 18node2 18node3 ]
-+Containers: [ lxc1:container1 lxc2:container2 ]
-+
-+ Fencing	(stonith:fence_xvm):	Started 18node2 
-+ FencingPass	(stonith:fence_dummy):	Started 18node3 
-+ FencingFail	(stonith:fence_dummy):	Started 18node3 
-+ rsc_18node1	(ocf::heartbeat:IPaddr2):	Started 18node1 
-+ rsc_18node2	(ocf::heartbeat:IPaddr2):	Started 18node2 
-+ rsc_18node3	(ocf::heartbeat:IPaddr2):	Started 18node3 
-+ migrator	(ocf::pacemaker:Dummy):	Started 18node1 
-+ Clone Set: Connectivity [ping-1]
-+     Started: [ 18node1 18node2 18node3 ]
-+ Master/Slave Set: master-1 [stateful-1]
-+     Masters: [ 18node1 ]
-+     Slaves: [ 18node2 18node3 ]
-+ Resource Group: group-1
-+     r192.168.122.87	(ocf::heartbeat:IPaddr2):	Started 18node1 
-+     r192.168.122.88	(ocf::heartbeat:IPaddr2):	Started 18node1 
-+     r192.168.122.89	(ocf::heartbeat:IPaddr2):	Started 18node1 
-+ lsb-dummy	(lsb:/usr/share/pacemaker/tests/cts/LSBDummy):	Started 18node1 
-+ container2	(ocf::heartbeat:VirtualDomain):	 ORPHANED Started 18node1 
-+ lxc1	(ocf::pacemaker:remote):	 ORPHANED Started 18node1 
-+ lxc-ms	(ocf::pacemaker:Stateful):	 ORPHANED Master [ lxc1 lxc2 ]
-+ lxc2	(ocf::pacemaker:remote):	 ORPHANED Started 18node1 
-+ container1	(ocf::heartbeat:VirtualDomain):	 ORPHANED Started 18node1 
-+
-+Transition Summary:
-+ * Move    FencingFail	(Started 18node3 -> 18node1)
-+ * Stop    container2	(18node1)
-+ * Stop    lxc1	(18node1)
-+ * Demote  lxc-ms	(Master -> Stopped lxc1)
-+ * Stop    lxc2	(18node1)
-+ * Stop    container1	(18node1)
-+
-+Executing cluster transition:
-+ * Resource action: FencingFail     stop on 18node3
-+ * Resource action: lxc-ms          demote on lxc2
-+ * Resource action: lxc-ms          demote on lxc1
-+ * Resource action: FencingFail     start on 18node1
-+ * Resource action: lxc-ms          stop on lxc2
-+ * Resource action: lxc-ms          stop on lxc1
-+ * Resource action: lxc-ms          delete on 18node3
-+ * Resource action: lxc-ms          delete on 18node2
-+ * Resource action: lxc-ms          delete on 18node1
-+ * Resource action: lxc2            stop on 18node1
-+ * Resource action: lxc2            delete on 18node3
-+ * Resource action: lxc2            delete on 18node2
-+ * Resource action: lxc2            delete on 18node1
-+ * Resource action: container2      stop on 18node1
-+ * Resource action: container2      delete on 18node3
-+ * Resource action: container2      delete on 18node2
-+ * Resource action: container2      delete on 18node1
-+ * Resource action: lxc1            stop on 18node1
-+ * Resource action: lxc1            delete on 18node3
-+ * Resource action: lxc1            delete on 18node2
-+ * Resource action: lxc1            delete on 18node1
-+ * Resource action: container1      stop on 18node1
-+ * Resource action: container1      delete on 18node3
-+ * Resource action: container1      delete on 18node2
-+ * Resource action: container1      delete on 18node1
-+ * Pseudo action:   all_stopped
-+
-+Revised cluster status:
-+Online: [ 18node1 18node2 18node3 ]
-+
-+ Fencing	(stonith:fence_xvm):	Started 18node2 
-+ FencingPass	(stonith:fence_dummy):	Started 18node3 
-+ FencingFail	(stonith:fence_dummy):	Started 18node1 
-+ rsc_18node1	(ocf::heartbeat:IPaddr2):	Started 18node1 
-+ rsc_18node2	(ocf::heartbeat:IPaddr2):	Started 18node2 
-+ rsc_18node3	(ocf::heartbeat:IPaddr2):	Started 18node3 
-+ migrator	(ocf::pacemaker:Dummy):	Started 18node1 
-+ Clone Set: Connectivity [ping-1]
-+     Started: [ 18node1 18node2 18node3 ]
-+ Master/Slave Set: master-1 [stateful-1]
-+     Masters: [ 18node1 ]
-+     Slaves: [ 18node2 18node3 ]
-+ Resource Group: group-1
-+     r192.168.122.87	(ocf::heartbeat:IPaddr2):	Started 18node1 
-+     r192.168.122.88	(ocf::heartbeat:IPaddr2):	Started 18node1 
-+     r192.168.122.89	(ocf::heartbeat:IPaddr2):	Started 18node1 
-+ lsb-dummy	(lsb:/usr/share/pacemaker/tests/cts/LSBDummy):	Started 18node1 
-+
-diff --git a/pengine/test10/whitebox-orphan-ms.xml b/pengine/test10/whitebox-orphan-ms.xml
-new file mode 100644
-index 0000000..c9a62fa
---- /dev/null
-+++ b/pengine/test10/whitebox-orphan-ms.xml
-@@ -0,0 +1,436 @@
-+<cib crm_feature_set="3.0.7" validate-with="pacemaker-1.2" admin_epoch="1" epoch="43" num_updates="9" cib-last-written="Fri Sep  6 18:43:56 2013" update-origin="18node1" update-client="cibadmin" have-quorum="1" dc-uuid="1">
-+  <configuration>
-+    <crm_config>
-+      <cluster_property_set id="cib-bootstrap-options">
-+        <nvpair id="cts-stonith-enabled" name="stonith-enabled" value="1"/>
-+        <nvpair id="cts-start-failure-is-fatal" name="start-failure-is-fatal" value="false"/>
-+        <nvpair id="cts-pe-input-series-max" name="pe-input-series-max" value="5000"/>
-+        <nvpair id="cts-default-action-timeout" name="default-action-timeout" value="90s"/>
-+        <nvpair id="cts-shutdown-escalation" name="shutdown-escalation" value="5min"/>
-+        <nvpair id="cts-batch-limit" name="batch-limit" value="10"/>
-+        <nvpair id="cts-dc-deadtime" name="dc-deadtime" value="5s"/>
-+        <nvpair id="cts-no-quorum-policy" name="no-quorum-policy" value="stop"/>
-+        <nvpair id="cts-expected-quorum-votes" name="expected-quorum-votes" value="3"/>
-+        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.11-1.fc18-fe384ed"/>
-+        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
-+      </cluster_property_set>
-+    </crm_config>
-+    <nodes>
-+      <node id="1" uname="18node1"/>
-+      <node id="2" uname="18node2"/>
-+      <node id="3" uname="18node3"/>
-+    </nodes>
-+    <resources>
-+      <primitive id="Fencing" class="stonith" type="fence_xvm">
-+        <meta_attributes id="Fencing-meta">
-+          <nvpair id="Fencing-migration-threshold" name="migration-threshold" value="5"/>
-+        </meta_attributes>
-+        <instance_attributes id="Fencing-params">
-+          <nvpair id="Fencing-delay" name="delay" value="0"/>
-+          <nvpair id="Fencing-pcmk_arg_map" name="pcmk_arg_map" value="domain:uname"/>
-+        </instance_attributes>
-+        <operations>
-+          <op id="Fencing-monitor-120s" interval="120s" name="monitor" timeout="120s"/>
-+          <op id="Fencing-stop-0" interval="0" name="stop" timeout="60s"/>
-+          <op id="Fencing-start-0" interval="0" name="start" timeout="60s"/>
-+        </operations>
-+      </primitive>
-+      <primitive id="FencingPass" class="stonith" type="fence_dummy">
-+        <instance_attributes id="FencingPass-params">
-+          <nvpair id="FencingPass-delay" name="delay" value="20"/>
-+          <nvpair id="FencingPass-random_sleep_range" name="random_sleep_range" value="10"/>
-+          <nvpair id="FencingPass-pcmk_host_list" name="pcmk_host_list" value="18node2"/>
-+          <nvpair id="FencingPass-mode" name="mode" value="pass"/>
-+        </instance_attributes>
-+      </primitive>
-+      <primitive id="FencingFail" class="stonith" type="fence_dummy">
-+        <instance_attributes id="FencingFail-params">
-+          <nvpair id="FencingFail-delay" name="delay" value="20"/>
-+          <nvpair id="FencingFail-random_sleep_range" name="random_sleep_range" value="30"/>
-+          <nvpair id="FencingFail-pcmk_host_list" name="pcmk_host_list" value="18node1 18node3"/>
-+          <nvpair id="FencingFail-mode" name="mode" value="fail"/>
-+        </instance_attributes>
-+      </primitive>
-+      <primitive id="rsc_18node1" class="ocf" type="IPaddr2" provider="heartbeat">
-+        <instance_attributes id="rsc_18node1-params">
-+          <nvpair id="rsc_18node1-ip" name="ip" value="192.168.122.84"/>
-+          <nvpair id="rsc_18node1-cidr_netmask" name="cidr_netmask" value="32"/>
-+        </instance_attributes>
-+        <operations>
-+          <op id="rsc_18node1-monitor-5s" interval="5s" name="monitor"/>
-+        </operations>
-+      </primitive>
-+      <primitive id="rsc_18node2" class="ocf" type="IPaddr2" provider="heartbeat">
-+        <instance_attributes id="rsc_18node2-params">
-+          <nvpair id="rsc_18node2-ip" name="ip" value="192.168.122.85"/>
-+          <nvpair id="rsc_18node2-cidr_netmask" name="cidr_netmask" value="32"/>
-+        </instance_attributes>
-+        <operations>
-+          <op id="rsc_18node2-monitor-5s" interval="5s" name="monitor"/>
-+        </operations>
-+      </primitive>
-+      <primitive id="rsc_18node3" class="ocf" type="IPaddr2" provider="heartbeat">
-+        <instance_attributes id="rsc_18node3-params">
-+          <nvpair id="rsc_18node3-ip" name="ip" value="192.168.122.86"/>
-+          <nvpair id="rsc_18node3-cidr_netmask" name="cidr_netmask" value="32"/>
-+        </instance_attributes>
-+        <operations>
-+          <op id="rsc_18node3-monitor-5s" interval="5s" name="monitor"/>
-+        </operations>
-+      </primitive>
-+      <primitive id="migrator" class="ocf" type="Dummy" provider="pacemaker">
-+        <meta_attributes id="migrator-meta">
-+          <nvpair id="migrator-allow-migrate" name="allow-migrate" value="1"/>
-+          <nvpair id="migrator-resource-stickiness" name="resource-stickiness" value="1"/>
-+        </meta_attributes>
-+        <operations>
-+          <op id="migrator-monitor-P10S" interval="P10S" name="monitor"/>
-+        </operations>
-+      </primitive>
-+      <clone id="Connectivity">
-+        <meta_attributes id="Connectivity-meta">
-+          <nvpair id="Connectivity-globally-unique" name="globally-unique" value="false"/>
-+        </meta_attributes>
-+        <primitive id="ping-1" class="ocf" type="ping" provider="pacemaker">
-+          <instance_attributes id="ping-1-params">
-+            <nvpair id="ping-1-debug" name="debug" value="true"/>
-+            <nvpair id="ping-1-host_list" name="host_list" value="192.168.122.80"/>
-+            <nvpair id="ping-1-name" name="name" value="connected"/>
-+          </instance_attributes>
-+          <operations>
-+            <op id="ping-1-monitor-60s" interval="60s" name="monitor"/>
-+          </operations>
-+        </primitive>
-+      </clone>
-+      <master id="master-1">
-+        <meta_attributes id="master-1-meta">
-+          <nvpair id="master-1-master-node-max" name="master-node-max" value="1"/>
-+          <nvpair id="master-1-clone-max" name="clone-max" value="3"/>
-+          <nvpair id="master-1-master-max" name="master-max" value="1"/>
-+          <nvpair id="master-1-clone-node-max" name="clone-node-max" value="1"/>
-+        </meta_attributes>
-+        <primitive id="stateful-1" class="ocf" type="Stateful" provider="pacemaker">
-+          <operations>
-+            <op id="stateful-1-monitor-15s" interval="15s" name="monitor" timeout="60s"/>
-+            <op id="stateful-1-monitor-16s" interval="16s" role="Master" name="monitor" timeout="60s"/>
-+          </operations>
-+        </primitive>
-+      </master>
-+      <group id="group-1">
-+        <primitive id="r192.168.122.87" class="ocf" type="IPaddr2" provider="heartbeat">
-+          <instance_attributes id="r192.168.122.87-params">
-+            <nvpair id="r192.168.122.87-ip" name="ip" value="192.168.122.87"/>
-+            <nvpair id="r192.168.122.87-cidr_netmask" name="cidr_netmask" value="32"/>
-+          </instance_attributes>
-+          <operations>
-+            <op id="r192.168.122.87-monitor-5s" interval="5s" name="monitor"/>
-+          </operations>
-+        </primitive>
-+        <primitive id="r192.168.122.88" class="ocf" type="IPaddr2" provider="heartbeat">
-+          <instance_attributes id="r192.168.122.88-params">
-+            <nvpair id="r192.168.122.88-ip" name="ip" value="192.168.122.88"/>
-+            <nvpair id="r192.168.122.88-cidr_netmask" name="cidr_netmask" value="32"/>
-+          </instance_attributes>
-+          <operations>
-+            <op id="r192.168.122.88-monitor-5s" interval="5s" name="monitor"/>
-+          </operations>
-+        </primitive>
-+        <primitive id="r192.168.122.89" class="ocf" type="IPaddr2" provider="heartbeat">
-+          <instance_attributes id="r192.168.122.89-params">
-+            <nvpair id="r192.168.122.89-ip" name="ip" value="192.168.122.89"/>
-+            <nvpair id="r192.168.122.89-cidr_netmask" name="cidr_netmask" value="32"/>
-+          </instance_attributes>
-+          <operations>
-+            <op id="r192.168.122.89-monitor-5s" interval="5s" name="monitor"/>
-+          </operations>
-+        </primitive>
-+      </group>
-+      <primitive id="lsb-dummy" class="lsb" type="/usr/share/pacemaker/tests/cts/LSBDummy">
-+        <operations>
-+          <op id="lsb-dummy-monitor-5s" interval="5s" name="monitor"/>
-+        </operations>
-+      </primitive>
-+    </resources>
-+    <constraints>
-+      <rsc_location id="prefer-18node1" rsc="rsc_18node1">
-+        <rule id="prefer-18node1-r" score="100" boolean-op="and">
-+          <expression id="prefer-18node1-e" attribute="#uname" operation="eq" value="18node1"/>
-+        </rule>
-+      </rsc_location>
-+      <rsc_location id="prefer-18node2" rsc="rsc_18node2">
-+        <rule id="prefer-18node2-r" score="100" boolean-op="and">
-+          <expression id="prefer-18node2-e" attribute="#uname" operation="eq" value="18node2"/>
-+        </rule>
-+      </rsc_location>
-+      <rsc_location id="prefer-18node3" rsc="rsc_18node3">
-+        <rule id="prefer-18node3-r" score="100" boolean-op="and">
-+          <expression id="prefer-18node3-e" attribute="#uname" operation="eq" value="18node3"/>
-+        </rule>
-+      </rsc_location>
-+      <rsc_location id="prefer-connected" rsc="master-1">
-+        <rule id="connected" score="-INFINITY" boolean-op="or">
-+          <expression id="m1-connected-1" attribute="connected" operation="lt" value="1"/>
-+          <expression id="m1-connected-2" attribute="connected" operation="not_defined"/>
-+        </rule>
-+      </rsc_location>
-+      <rsc_order id="group-1-after-master-1" first="master-1" then="group-1" kind="Mandatory" first-action="promote" then-action="start"/>
-+      <rsc_colocation id="group-1-with-master-1" rsc="group-1" with-rsc="master-1" score="INFINITY" with-rsc-role="Master"/>
-+      <rsc_order id="lsb-dummy-after-group-1" first="group-1" then="lsb-dummy" kind="Mandatory" first-action="start" then-action="start"/>
-+      <rsc_colocation id="lsb-dummy-with-group-1" rsc="lsb-dummy" with-rsc="group-1" score="INFINITY"/>
-+    </constraints>
-+    <fencing-topology>
-+      <fencing-level id="cts-18node1.1" index="1" target="18node1" devices="FencingFail"/>
-+      <fencing-level id="cts-18node1.2" index="2" target="18node1" devices="Fencing"/>
-+      <fencing-level id="cts-18node2.1" index="1" target="18node2" devices="FencingPass,Fencing"/>
-+      <fencing-level id="cts-18node3.1" index="1" target="18node3" devices="FencingFail"/>
-+      <fencing-level id="cts-18node3.2" index="2" target="18node3" devices="Fencing"/>
-+    </fencing-topology>
-+  </configuration>
-+  <status>
-+    <node_state id="1" uname="18node1" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member">
-+      <transient_attributes id="1">
-+        <instance_attributes id="status-1">
-+          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
-+          <nvpair id="status-1-connected" name="connected" value="1"/>
-+          <nvpair id="status-1-master-stateful-1" name="master-stateful-1" value="10"/>
-+        </instance_attributes>
-+      </transient_attributes>
-+      <lrm id="1">
-+        <lrm_resources>
-+          <lrm_resource id="lsb-dummy" type="/usr/share/pacemaker/tests/cts/LSBDummy" class="lsb">
-+            <lrm_rsc_op id="lsb-dummy_last_0" operation_key="lsb-dummy_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="68:4:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;68:4:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="120" rc-code="0" op-status="0" interval="0" last-run="1378510922" last-rc-change="1378510922" exec-time="31" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+            <lrm_rsc_op id="lsb-dummy_monitor_5000" operation_key="lsb-dummy_monitor_5000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="69:4:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;69:4:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="123" rc-code="0" op-status="0" interval="5000" last-rc-change="1378510922" exec-time="23" queue-time="1" op-digest="8f6a313464b7f9e3a31cb448458b700e"/>
-+          </lrm_resource>
-+          <lrm_resource id="container2" type="VirtualDomain" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="container2_last_0" operation_key="container2_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="91:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;91:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="150" rc-code="0" op-status="0" interval="0" last-run="1378510939" last-rc-change="1378510939" exec-time="1085" queue-time="120" op-digest="40012ba04db4a64fb6e5f441c00bcd14"/>
-+          </lrm_resource>
-+          <lrm_resource id="FencingFail" type="fence_dummy" class="stonith">
-+            <lrm_rsc_op id="FencingFail_last_0" operation_key="FencingFail_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="6:0:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;6:0:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="13" rc-code="7" op-status="0" interval="0" last-run="1378510873" last-rc-change="1378510873" exec-time="0" queue-time="0" op-digest="5e62ce197b9fbd863ed25f7e27cb1c52"/>
-+          </lrm_resource>
-+          <lrm_resource id="FencingPass" type="fence_dummy" class="stonith">
-+            <lrm_rsc_op id="FencingPass_last_0" operation_key="FencingPass_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="5:0:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;5:0:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="9" rc-code="7" op-status="0" interval="0" last-run="1378510873" last-rc-change="1378510873" exec-time="0" queue-time="0" op-digest="d61011437d4d28d16fbcbaa519c4c826"/>
-+          </lrm_resource>
-+          <lrm_resource id="Fencing" type="fence_xvm" class="stonith">
-+            <lrm_rsc_op id="Fencing_last_0" operation_key="Fencing_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="37:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;37:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="144" rc-code="0" op-status="0" interval="0" last-run="1378510938" last-rc-change="1378510938" exec-time="1" queue-time="0" op-digest="5452662a298cbcea2ffe496142e0789d"/>
-+          </lrm_resource>
-+          <lrm_resource id="r192.168.122.87" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="r192.168.122.87_last_0" operation_key="r192.168.122.87_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="56:3:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;56:3:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="102" rc-code="0" op-status="0" interval="0" last-run="1378510922" last-rc-change="1378510922" exec-time="92" queue-time="0" op-digest="1f9cf34fdfbf3f26a102a160cbc32cee"/>
-+            <lrm_rsc_op id="r192.168.122.87_monitor_5000" operation_key="r192.168.122.87_monitor_5000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="59:4:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;59:4:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="106" rc-code="0" op-status="0" interval="5000" last-rc-change="1378510922" exec-time="95" queue-time="0" op-digest="6d2f4d76c27ffeff21fcdee7a268e130"/>
-+          </lrm_resource>
-+          <lrm_resource id="r192.168.122.88" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="r192.168.122.88_last_0" operation_key="r192.168.122.88_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="60:4:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;60:4:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="108" rc-code="0" op-status="0" interval="0" last-run="1378510922" last-rc-change="1378510922" exec-time="144" queue-time="0" op-digest="0ad87a820b9cba1ae10ab7f9e9221f43"/>
-+            <lrm_rsc_op id="r192.168.122.88_monitor_5000" operation_key="r192.168.122.88_monitor_5000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="61:4:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;61:4:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="112" rc-code="0" op-status="0" interval="5000" last-rc-change="1378510922" exec-time="167" queue-time="0" op-digest="1f4490da6297c7cc6470ce31eeb4957a"/>
-+          </lrm_resource>
-+          <lrm_resource id="r192.168.122.89" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="r192.168.122.89_last_0" operation_key="r192.168.122.89_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="62:4:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;62:4:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="114" rc-code="0" op-status="0" interval="0" last-run="1378510922" last-rc-change="1378510922" exec-time="189" queue-time="0" op-digest="c944796c1b514fc9ff85720a2686ea5b"/>
-+            <lrm_rsc_op id="r192.168.122.89_monitor_5000" operation_key="r192.168.122.89_monitor_5000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="63:4:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;63:4:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="118" rc-code="0" op-status="0" interval="5000" last-rc-change="1378510922" exec-time="86" queue-time="0" op-digest="909846037fdae734796dab3967f9be98"/>
-+          </lrm_resource>
-+          <lrm_resource id="rsc_18node1" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="rsc_18node1_last_0" operation_key="rsc_18node1_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="36:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;36:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="72" rc-code="0" op-status="0" interval="0" last-run="1378510888" last-rc-change="1378510888" exec-time="140" queue-time="0" op-digest="bf35e29e5fd031da0437b6dbc9ebb74b"/>
-+            <lrm_rsc_op id="rsc_18node1_monitor_5000" operation_key="rsc_18node1_monitor_5000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="37:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;37:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="85" rc-code="0" op-status="0" interval="5000" last-rc-change="1378510890" exec-time="122" queue-time="0" op-digest="d9bbed54d4fa7eb5d6857c5d3dece704"/>
-+          </lrm_resource>
-+          <lrm_resource id="rsc_18node2" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="rsc_18node2_last_0" operation_key="rsc_18node2_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="8:0:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;8:0:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="21" rc-code="7" op-status="0" interval="0" last-run="1378510874" last-rc-change="1378510874" exec-time="201" queue-time="0" op-digest="5ab425702de20e415276371af97f8566"/>
-+          </lrm_resource>
-+          <lrm_resource id="ping-1" type="ping" class="ocf" provider="pacemaker">
-+            <lrm_rsc_op id="ping-1_last_0" operation_key="ping-1_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="48:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;48:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="76" rc-code="0" op-status="0" interval="0" last-run="1378510888" last-rc-change="1378510888" exec-time="2115" queue-time="0" op-digest="a53fc9fb0118a43d3be0fceaf2348d38"/>
-+            <lrm_rsc_op id="ping-1_monitor_60000" operation_key="ping-1_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="49:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;49:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="91" rc-code="0" op-status="0" interval="60000" last-rc-change="1378510891" exec-time="2053" queue-time="0" op-digest="6b1eba5fe19d16fa21bf0501bbe5c0cd"/>
-+          </lrm_resource>
-+          <lrm_resource id="rsc_18node3" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="rsc_18node3_last_0" operation_key="rsc_18node3_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="9:0:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;9:0:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="25" rc-code="7" op-status="0" interval="0" last-run="1378510874" last-rc-change="1378510874" exec-time="203" queue-time="1" op-digest="19b33c0194f91788ea954e69150d9178"/>
-+          </lrm_resource>
-+          <lrm_resource id="stateful-1" type="Stateful" class="ocf" provider="pacemaker">
-+            <lrm_rsc_op id="stateful-1_last_0" operation_key="stateful-1_promote_0" operation="promote" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="40:3:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;40:3:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="97" rc-code="0" op-status="0" interval="0" last-run="1378510922" last-rc-change="1378510922" exec-time="73" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+            <lrm_rsc_op id="stateful-1_monitor_16000" operation_key="stateful-1_monitor_16000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="41:3:8:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:8;41:3:8:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="100" rc-code="8" op-status="0" interval="16000" last-rc-change="1378510922" exec-time="38" queue-time="0" op-digest="873ed4f07792aa8ff18f3254244675ea"/>
-+          </lrm_resource>
-+          <lrm_resource id="lxc1" type="remote" class="ocf" provider="pacemaker" container="container1">
-+            <lrm_rsc_op id="lxc1_last_0" operation_key="lxc1_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="104:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;104:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="3" rc-code="0" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+            <lrm_rsc_op id="lxc1_monitor_30000" operation_key="lxc1_monitor_30000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="105:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;105:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="5" rc-code="0" op-status="0" interval="30000" op-digest="02a5bcf940fc8d3239701acb11438d6a"/>
-+          </lrm_resource>
-+          <lrm_resource id="lxc-ms" type="Stateful" class="ocf" provider="pacemaker">
-+            <lrm_rsc_op id="lxc-ms_last_0" operation_key="lxc-ms_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="22:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;22:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="138" rc-code="7" op-status="0" interval="0" last-run="1378510938" last-rc-change="1378510938" exec-time="83" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+          <lrm_resource id="migrator" type="Dummy" class="ocf" provider="pacemaker">
-+            <lrm_rsc_op id="migrator_last_0" operation_key="migrator_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="42:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;42:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="74" rc-code="0" op-status="0" interval="0" last-run="1378510888" last-rc-change="1378510888" exec-time="82" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state  op_sleep " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+            <lrm_rsc_op id="migrator_monitor_10000" operation_key="migrator_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="43:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;43:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="83" rc-code="0" op-status="0" interval="10000" last-rc-change="1378510890" exec-time="63" queue-time="0" op-digest="8f6a313464b7f9e3a31cb448458b700e"/>
-+          </lrm_resource>
-+          <lrm_resource id="lxc2" type="remote" class="ocf" provider="pacemaker" container="container2">
-+            <lrm_rsc_op id="lxc2_last_0" operation_key="lxc2_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="106:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;106:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="4" rc-code="0" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+            <lrm_rsc_op id="lxc2_monitor_30000" operation_key="lxc2_monitor_30000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="107:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;107:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="6" rc-code="0" op-status="0" interval="30000" op-digest="02a5bcf940fc8d3239701acb11438d6a"/>
-+          </lrm_resource>
-+          <lrm_resource id="container1" type="VirtualDomain" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="container1_last_0" operation_key="container1_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="90:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;90:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="148" rc-code="0" op-status="0" interval="0" last-run="1378510939" last-rc-change="1378510939" exec-time="1004" queue-time="177" op-digest="a8ebdb28c67063f730e5838b43aa28a4"/>
-+          </lrm_resource>
-+        </lrm_resources>
-+      </lrm>
-+    </node_state>
-+    <node_state id="2" uname="18node2" crmd="online" crm-debug-origin="do_state_transition" in_ccm="true" join="member" expected="member">
-+      <transient_attributes id="2">
-+        <instance_attributes id="status-2">
-+          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
-+          <nvpair id="status-2-connected" name="connected" value="1"/>
-+          <nvpair id="status-2-master-stateful-1" name="master-stateful-1" value="5"/>
-+        </instance_attributes>
-+      </transient_attributes>
-+      <lrm id="2">
-+        <lrm_resources>
-+          <lrm_resource id="lsb-dummy" type="/usr/share/pacemaker/tests/cts/LSBDummy" class="lsb">
-+            <lrm_rsc_op id="lsb-dummy_last_0" operation_key="lsb-dummy_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="17:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;17:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="64" rc-code="7" op-status="0" interval="0" last-run="1378510888" last-rc-change="1378510888" exec-time="72" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+          <lrm_resource id="container2" type="VirtualDomain" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="container2_last_0" operation_key="container2_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="27:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;27:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="97" rc-code="7" op-status="0" interval="0" last-run="1378510939" last-rc-change="1378510939" exec-time="555" queue-time="0" op-digest="40012ba04db4a64fb6e5f441c00bcd14"/>
-+          </lrm_resource>
-+          <lrm_resource id="FencingFail" type="fence_dummy" class="stonith">
-+            <lrm_rsc_op id="FencingFail_last_0" operation_key="FencingFail_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="7:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;7:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="15" rc-code="7" op-status="0" interval="0" last-run="1378510888" last-rc-change="1378510888" exec-time="0" queue-time="0" op-digest="5e62ce197b9fbd863ed25f7e27cb1c52"/>
-+          </lrm_resource>
-+          <lrm_resource id="FencingPass" type="fence_dummy" class="stonith">
-+            <lrm_rsc_op id="FencingPass_last_0" operation_key="FencingPass_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="40:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;40:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="107" rc-code="0" op-status="0" interval="0" last-run="1378510940" last-rc-change="1378510940" exec-time="2" queue-time="0" op-digest="d61011437d4d28d16fbcbaa519c4c826"/>
-+          </lrm_resource>
-+          <lrm_resource id="Fencing" type="fence_xvm" class="stonith">
-+            <lrm_rsc_op id="Fencing_last_0" operation_key="Fencing_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="38:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;38:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="110" rc-code="0" op-status="0" interval="0" last-run="1378510940" last-rc-change="1378510940" exec-time="44" queue-time="0" op-digest="5452662a298cbcea2ffe496142e0789d"/>
-+            <lrm_rsc_op id="Fencing_monitor_120000" operation_key="Fencing_monitor_120000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="39:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;39:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="115" rc-code="0" op-status="0" interval="120000" last-rc-change="1378510941" exec-time="22" queue-time="0" op-digest="dafcde691dfb68f35200a465fa339ecc"/>
-+          </lrm_resource>
-+          <lrm_resource id="r192.168.122.87" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="r192.168.122.87_last_0" operation_key="r192.168.122.87_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="14:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;14:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="52" rc-code="7" op-status="0" interval="0" last-run="1378510888" last-rc-change="1378510888" exec-time="124" queue-time="0" op-digest="1f9cf34fdfbf3f26a102a160cbc32cee"/>
-+          </lrm_resource>
-+          <lrm_resource id="r192.168.122.88" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="r192.168.122.88_last_0" operation_key="r192.168.122.88_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="15:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;15:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="56" rc-code="7" op-status="0" interval="0" last-run="1378510888" last-rc-change="1378510888" exec-time="126" queue-time="0" op-digest="0ad87a820b9cba1ae10ab7f9e9221f43"/>
-+          </lrm_resource>
-+          <lrm_resource id="r192.168.122.89" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="r192.168.122.89_last_0" operation_key="r192.168.122.89_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="16:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;16:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="60" rc-code="7" op-status="0" interval="0" last-run="1378510888" last-rc-change="1378510888" exec-time="136" queue-time="0" op-digest="c944796c1b514fc9ff85720a2686ea5b"/>
-+          </lrm_resource>
-+          <lrm_resource id="rsc_18node1" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="rsc_18node1_last_0" operation_key="rsc_18node1_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="8:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;8:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="19" rc-code="7" op-status="0" interval="0" last-run="1378510888" last-rc-change="1378510888" exec-time="328" queue-time="0" op-digest="bf35e29e5fd031da0437b6dbc9ebb74b"/>
-+          </lrm_resource>
-+          <lrm_resource id="rsc_18node2" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="rsc_18node2_last_0" operation_key="rsc_18node2_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="38:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;38:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="72" rc-code="0" op-status="0" interval="0" last-run="1378510890" last-rc-change="1378510890" exec-time="149" queue-time="0" op-digest="5ab425702de20e415276371af97f8566"/>
-+            <lrm_rsc_op id="rsc_18node2_monitor_5000" operation_key="rsc_18node2_monitor_5000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="39:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;39:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="77" rc-code="0" op-status="0" interval="5000" last-rc-change="1378510891" exec-time="114" queue-time="0" op-digest="3c1c6f0057a1eeea9c65740335f392e6"/>
-+          </lrm_resource>
-+          <lrm_resource id="ping-1" type="ping" class="ocf" provider="pacemaker">
-+            <lrm_rsc_op id="ping-1_last_0" operation_key="ping-1_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="44:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;44:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="74" rc-code="0" op-status="0" interval="0" last-run="1378510890" last-rc-change="1378510890" exec-time="2123" queue-time="0" op-digest="a53fc9fb0118a43d3be0fceaf2348d38"/>
-+            <lrm_rsc_op id="ping-1_monitor_60000" operation_key="ping-1_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="45:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;45:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="81" rc-code="0" op-status="0" interval="60000" last-rc-change="1378510892" exec-time="2089" queue-time="0" op-digest="6b1eba5fe19d16fa21bf0501bbe5c0cd"/>
-+          </lrm_resource>
-+          <lrm_resource id="rsc_18node3" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="rsc_18node3_last_0" operation_key="rsc_18node3_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="10:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;10:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="27" rc-code="7" op-status="0" interval="0" last-run="1378510888" last-rc-change="1378510888" exec-time="313" queue-time="1" op-digest="19b33c0194f91788ea954e69150d9178"/>
-+          </lrm_resource>
-+          <lrm_resource id="stateful-1" type="Stateful" class="ocf" provider="pacemaker">
-+            <lrm_rsc_op id="stateful-1_last_0" operation_key="stateful-1_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="38:2:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;38:2:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="85" rc-code="0" op-status="0" interval="0" last-run="1378510923" last-rc-change="1378510923" exec-time="92" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+            <lrm_rsc_op id="stateful-1_monitor_15000" operation_key="stateful-1_monitor_15000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="44:3:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;44:3:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="88" rc-code="0" op-status="0" interval="15000" last-rc-change="1378510923" exec-time="22" queue-time="0" op-digest="873ed4f07792aa8ff18f3254244675ea"/>
-+          </lrm_resource>
-+          <lrm_resource id="lxc1" type="remote" class="ocf" provider="pacemaker" container="container1">
-+            <lrm_rsc_op id="lxc1_last_0" operation_key="lxc1_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="29:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;29:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="1" rc-code="7" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+          <lrm_resource id="lxc-ms" type="Stateful" class="ocf" provider="pacemaker">
-+            <lrm_rsc_op id="lxc-ms_last_0" operation_key="lxc-ms_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="28:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;28:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="102" rc-code="7" op-status="0" interval="0" last-run="1378510939" last-rc-change="1378510939" exec-time="90" queue-time="4" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+          <lrm_resource id="migrator" type="Dummy" class="ocf" provider="pacemaker">
-+            <lrm_rsc_op id="migrator_last_0" operation_key="migrator_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="11:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;11:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="31" rc-code="7" op-status="0" interval="0" last-run="1378510888" last-rc-change="1378510888" exec-time="136" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state  op_sleep " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+          <lrm_resource id="lxc2" type="remote" class="ocf" provider="pacemaker" container="container2">
-+            <lrm_rsc_op id="lxc2_last_0" operation_key="lxc2_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="30:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;30:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="2" rc-code="7" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+          <lrm_resource id="container1" type="VirtualDomain" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="container1_last_0" operation_key="container1_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="26:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;26:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="93" rc-code="7" op-status="0" interval="0" last-run="1378510939" last-rc-change="1378510939" exec-time="578" queue-time="0" op-digest="a8ebdb28c67063f730e5838b43aa28a4"/>
-+          </lrm_resource>
-+        </lrm_resources>
-+      </lrm>
-+    </node_state>
-+    <node_state id="3" uname="18node3" crmd="online" crm-debug-origin="do_state_transition" in_ccm="true" join="member" expected="member">
-+      <transient_attributes id="3">
-+        <instance_attributes id="status-3">
-+          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
-+          <nvpair id="status-3-connected" name="connected" value="1"/>
-+          <nvpair id="status-3-master-stateful-1" name="master-stateful-1" value="5"/>
-+        </instance_attributes>
-+      </transient_attributes>
-+      <lrm id="3">
-+        <lrm_resources>
-+          <lrm_resource id="lsb-dummy" type="/usr/share/pacemaker/tests/cts/LSBDummy" class="lsb">
-+            <lrm_rsc_op id="lsb-dummy_last_0" operation_key="lsb-dummy_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="31:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;31:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="66" rc-code="7" op-status="0" interval="0" last-run="1378492887" last-rc-change="1378492887" exec-time="30" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+          <lrm_resource id="container2" type="VirtualDomain" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="container2_last_0" operation_key="container2_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="33:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;33:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="97" rc-code="7" op-status="0" interval="0" last-run="1378492938" last-rc-change="1378492938" exec-time="647" queue-time="0" op-digest="40012ba04db4a64fb6e5f441c00bcd14"/>
-+          </lrm_resource>
-+          <lrm_resource id="FencingFail" type="fence_dummy" class="stonith">
-+            <lrm_rsc_op id="FencingFail_last_0" operation_key="FencingFail_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="35:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;35:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="70" rc-code="0" op-status="0" interval="0" last-run="1378492887" last-rc-change="1378492887" exec-time="33176" queue-time="0" op-digest="5e62ce197b9fbd863ed25f7e27cb1c52"/>
-+          </lrm_resource>
-+          <lrm_resource id="FencingPass" type="fence_dummy" class="stonith">
-+            <lrm_rsc_op id="FencingPass_last_0" operation_key="FencingPass_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="41:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;41:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="107" rc-code="0" op-status="0" interval="0" last-run="1378492938" last-rc-change="1378492938" exec-time="22340" queue-time="0" op-digest="d61011437d4d28d16fbcbaa519c4c826"/>
-+          </lrm_resource>
-+          <lrm_resource id="Fencing" type="fence_xvm" class="stonith">
-+            <lrm_rsc_op id="Fencing_last_0" operation_key="Fencing_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="19:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;19:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1378492885" last-rc-change="1378492885" exec-time="6" queue-time="0" op-digest="5452662a298cbcea2ffe496142e0789d"/>
-+          </lrm_resource>
-+          <lrm_resource id="r192.168.122.87" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="r192.168.122.87_last_0" operation_key="r192.168.122.87_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="28:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;28:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="51" rc-code="7" op-status="0" interval="0" last-run="1378492887" last-rc-change="1378492887" exec-time="102" queue-time="0" op-digest="1f9cf34fdfbf3f26a102a160cbc32cee"/>
-+          </lrm_resource>
-+          <lrm_resource id="r192.168.122.88" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="r192.168.122.88_last_0" operation_key="r192.168.122.88_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="29:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;29:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="56" rc-code="7" op-status="0" interval="0" last-run="1378492887" last-rc-change="1378492887" exec-time="99" queue-time="0" op-digest="0ad87a820b9cba1ae10ab7f9e9221f43"/>
-+          </lrm_resource>
-+          <lrm_resource id="r192.168.122.89" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="r192.168.122.89_last_0" operation_key="r192.168.122.89_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="30:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;30:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="60" rc-code="7" op-status="0" interval="0" last-run="1378492887" last-rc-change="1378492887" exec-time="110" queue-time="0" op-digest="c944796c1b514fc9ff85720a2686ea5b"/>
-+          </lrm_resource>
-+          <lrm_resource id="rsc_18node1" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="rsc_18node1_last_0" operation_key="rsc_18node1_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="22:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;22:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="17" rc-code="7" op-status="0" interval="0" last-run="1378492885" last-rc-change="1378492885" exec-time="71" queue-time="0" op-digest="bf35e29e5fd031da0437b6dbc9ebb74b"/>
-+          </lrm_resource>
-+          <lrm_resource id="rsc_18node2" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="rsc_18node2_last_0" operation_key="rsc_18node2_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="23:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;23:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="21" rc-code="7" op-status="0" interval="0" last-run="1378492885" last-rc-change="1378492885" exec-time="70" queue-time="0" op-digest="5ab425702de20e415276371af97f8566"/>
-+          </lrm_resource>
-+          <lrm_resource id="ping-1" type="ping" class="ocf" provider="pacemaker">
-+            <lrm_rsc_op id="ping-1_last_0" operation_key="ping-1_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="46:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;46:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="74" rc-code="0" op-status="0" interval="0" last-run="1378492888" last-rc-change="1378492888" exec-time="2182" queue-time="0" op-digest="a53fc9fb0118a43d3be0fceaf2348d38"/>
-+            <lrm_rsc_op id="ping-1_monitor_60000" operation_key="ping-1_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="47:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;47:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="81" rc-code="0" op-status="0" interval="60000" last-rc-change="1378492891" exec-time="2076" queue-time="0" op-digest="6b1eba5fe19d16fa21bf0501bbe5c0cd"/>
-+          </lrm_resource>
-+          <lrm_resource id="rsc_18node3" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="rsc_18node3_last_0" operation_key="rsc_18node3_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="40:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;40:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="72" rc-code="0" op-status="0" interval="0" last-run="1378492888" last-rc-change="1378492888" exec-time="182" queue-time="1" op-digest="19b33c0194f91788ea954e69150d9178"/>
-+            <lrm_rsc_op id="rsc_18node3_monitor_5000" operation_key="rsc_18node3_monitor_5000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="41:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;41:1:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="77" rc-code="0" op-status="0" interval="5000" last-rc-change="1378492890" exec-time="183" queue-time="0" op-digest="b893d13b762f3758920817a68b61eef4"/>
-+          </lrm_resource>
-+          <lrm_resource id="stateful-1" type="Stateful" class="ocf" provider="pacemaker">
-+            <lrm_rsc_op id="stateful-1_last_0" operation_key="stateful-1_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="40:2:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;40:2:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="85" rc-code="0" op-status="0" interval="0" last-run="1378492922" last-rc-change="1378492922" exec-time="93" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+            <lrm_rsc_op id="stateful-1_monitor_15000" operation_key="stateful-1_monitor_15000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="47:3:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;47:3:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="88" rc-code="0" op-status="0" interval="15000" last-rc-change="1378492922" exec-time="20" queue-time="0" op-digest="873ed4f07792aa8ff18f3254244675ea"/>
-+          </lrm_resource>
-+          <lrm_resource id="lxc1" type="remote" class="ocf" provider="pacemaker" container="container1">
-+            <lrm_rsc_op id="lxc1_last_0" operation_key="lxc1_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="35:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;35:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="1" rc-code="7" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+          <lrm_resource id="lxc-ms" type="Stateful" class="ocf" provider="pacemaker">
-+            <lrm_rsc_op id="lxc-ms_last_0" operation_key="lxc-ms_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="34:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;34:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="102" rc-code="7" op-status="0" interval="0" last-run="1378492938" last-rc-change="1378492938" exec-time="85" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+          <lrm_resource id="migrator" type="Dummy" class="ocf" provider="pacemaker">
-+            <lrm_rsc_op id="migrator_last_0" operation_key="migrator_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="25:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;25:1:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="34" rc-code="7" op-status="0" interval="0" last-run="1378492887" last-rc-change="1378492887" exec-time="64" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state  op_sleep " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+          <lrm_resource id="lxc2" type="remote" class="ocf" provider="pacemaker" container="container2">
-+            <lrm_rsc_op id="lxc2_last_0" operation_key="lxc2_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="36:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;36:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="2" rc-code="7" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+          <lrm_resource id="container1" type="VirtualDomain" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="container1_last_0" operation_key="container1_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="32:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:7;32:5:7:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="93" rc-code="7" op-status="0" interval="0" last-run="1378492938" last-rc-change="1378492938" exec-time="648" queue-time="0" op-digest="a8ebdb28c67063f730e5838b43aa28a4"/>
-+          </lrm_resource>
-+        </lrm_resources>
-+      </lrm>
-+    </node_state>
-+    <node_state remote_node="true" id="lxc1" uname="lxc1" crm-debug-origin="do_state_transition">
-+      <lrm id="lxc1">
-+        <lrm_resources>
-+          <lrm_resource id="lxc-ms" type="Stateful" class="ocf" provider="pacemaker">
-+            <lrm_rsc_op id="lxc-ms_last_failure_0" operation_key="lxc-ms_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="92:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="2:1;92:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="6" rc-code="1" op-status="2" interval="0" last-run="1378510942" last-rc-change="1378510942" exec-time="90009" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+            <lrm_rsc_op id="lxc-ms_last_0" operation_key="lxc-ms_promote_0" operation="promote" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="83:7:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;83:7:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="36" rc-code="0" op-status="0" interval="0" last-run="1378511034" last-rc-change="1378511034" exec-time="421" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+        </lrm_resources>
-+      </lrm>
-+      <transient_attributes id="lxc1">
-+        <instance_attributes id="status-lxc1">
-+          <nvpair id="status-lxc1-fail-count-lxc-ms" name="fail-count-lxc-ms" value="2"/>
-+          <nvpair id="status-lxc1-last-failure-lxc-ms" name="last-failure-lxc-ms" value="1378511033"/>
-+          <nvpair id="status-lxc1-master-lxc-ms" name="master-lxc-ms" value="10"/>
-+        </instance_attributes>
-+      </transient_attributes>
-+    </node_state>
-+    <node_state remote_node="true" id="lxc2" uname="lxc2" crm-debug-origin="do_state_transition">
-+      <lrm id="lxc2">
-+        <lrm_resources>
-+          <lrm_resource id="lxc-ms" type="Stateful" class="ocf" provider="pacemaker">
-+            <lrm_rsc_op id="lxc-ms_last_0" operation_key="lxc-ms_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="94:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;94:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1378510943" last-rc-change="1378510943" exec-time="294" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+            <lrm_rsc_op id="lxc-ms_monitor_10000" operation_key="lxc-ms_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="95:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" transition-magic="0:0;95:5:0:51d73458-5462-43a1-85f4-32a4324f2e57" call-id="14" rc-code="0" op-status="0" interval="10000" last-rc-change="1378510943" exec-time="17" queue-time="1" op-digest="8f6a313464b7f9e3a31cb448458b700e"/>
-+          </lrm_resource>
-+        </lrm_resources>
-+      </lrm>
-+    </node_state>
-+  </status>
-+</cib>
-diff --git a/pengine/test10/whitebox-start.exp b/pengine/test10/whitebox-start.exp
-index 4dcfdc4..19cae49 100644
---- a/pengine/test10/whitebox-start.exp
-+++ b/pengine/test10/whitebox-start.exp
-@@ -67,7 +67,7 @@
-     <action_set>
-       <rsc_op id="43" operation="monitor" operation_key="lxc1_monitor_30000" on_node="18node1" on_node_uuid="1">
-         <primitive id="lxc1" class="ocf" provider="pacemaker" type="remote"/>
--        <attributes CRM_meta_interval="30000" CRM_meta_name="monitor" CRM_meta_timeout="30000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_interval="30000" CRM_meta_name="monitor" CRM_meta_timeout="30000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-@@ -80,7 +80,7 @@
-     <action_set>
-       <rsc_op id="42" operation="start" operation_key="lxc1_start_0" on_node="18node1" on_node_uuid="1">
-         <primitive id="lxc1" class="ocf" provider="pacemaker" type="remote"/>
--        <attributes CRM_meta_name="start" CRM_meta_timeout="60000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_name="start" CRM_meta_timeout="60000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-diff --git a/pengine/test10/whitebox-stop.exp b/pengine/test10/whitebox-stop.exp
-index 643c94c..7720235 100644
---- a/pengine/test10/whitebox-stop.exp
-+++ b/pengine/test10/whitebox-stop.exp
-@@ -87,7 +87,7 @@
-     <action_set>
-       <rsc_op id="44" operation="stop" operation_key="lxc1_stop_0" on_node="18node2" on_node_uuid="2">
-         <primitive id="lxc1" class="ocf" provider="pacemaker" type="remote"/>
--        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+        <attributes CRM_meta_container="container1" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
diff --git a/SOURCES/pacemaker-fix-setting-remote-node-attributes.patch b/SOURCES/pacemaker-fix-setting-remote-node-attributes.patch
deleted file mode 100644
index f87e9d3..0000000
--- a/SOURCES/pacemaker-fix-setting-remote-node-attributes.patch
+++ /dev/null
@@ -1,446 +0,0 @@
-commit d9b95435059189843e1fb7b1f7530fc163fdfc13
-Author: David Vossel <dvossel@redhat.com>
-Date:   Wed Sep 25 17:02:50 2013 -0400
-
-    properly set remote node attributes
-
-diff --git a/crmd/lrm.c b/crmd/lrm.c
-index 0254a9f..7157e24 100644
---- a/crmd/lrm.c
-+++ b/crmd/lrm.c
-@@ -367,7 +367,7 @@ lrm_state_verify_stopped(lrm_state_t * lrm_state, enum crmd_fsa_state cur_state,
-     }
- 
-     if (counter > 0) {
--        do_crm_log(log_level, "%d pending LRM operations at %s%s", counter, when);
-+        do_crm_log(log_level, "%d pending LRM operations at %s", counter, when);
- 
-         if (cur_state == S_TERMINATE || !is_set(fsa_input_register, R_SENT_RSC_STOP)) {
-             g_hash_table_iter_init(&gIter, lrm_state->pending_ops);
-diff --git a/crmd/membership.c b/crmd/membership.c
-index 370d1a2..e2bcd45 100644
---- a/crmd/membership.c
-+++ b/crmd/membership.c
-@@ -260,6 +260,13 @@ populate_cib_nodes(enum node_update_flags flags, const char *source)
-             do_update_node_cib(node, flags, node_list, source);
-         }
- 
-+        if (crm_remote_peer_cache) {
-+            g_hash_table_iter_init(&iter, crm_remote_peer_cache);
-+            while (g_hash_table_iter_next(&iter, NULL, (gpointer *) &node)) {
-+                do_update_node_cib(node, flags, node_list, source);
-+            }
-+        }
-+
-         fsa_cib_update(XML_CIB_TAG_STATUS, node_list, call_options, call_id, NULL);
-         fsa_register_cib_callback(call_id, FALSE, NULL, crmd_node_update_complete);
-         last_peer_update = call_id;
-diff --git a/crmd/messages.c b/crmd/messages.c
-index 9aa69cc..057383a 100644
---- a/crmd/messages.c
-+++ b/crmd/messages.c
-@@ -930,7 +930,7 @@ send_msg_via_ipc(xmlNode * msg, const char *sys)
-         crmd_proxy_send(sys, msg);
- 
-     } else {
--        crm_err("Unknown Sub-system (%s)... discarding message.", crm_str(sys));
-+        crm_debug("Unknown Sub-system (%s)... discarding message.", crm_str(sys));
-         send_ok = FALSE;
-     }
- 
-diff --git a/crmd/pengine.c b/crmd/pengine.c
-index 5546d7e..2f3eba8 100644
---- a/crmd/pengine.c
-+++ b/crmd/pengine.c
-@@ -271,6 +271,9 @@ do_pe_invoke_callback(xmlNode * msg, int call_id, int rc, xmlNode * output, void
- 
-     CRM_LOG_ASSERT(output != NULL);
- 
-+    /* refresh our remote-node cache when the pengine is invoked */
-+    crm_remote_peer_cache_refresh(output);
-+
-     crm_xml_add(output, XML_ATTR_DC_UUID, fsa_our_uuid);
-     crm_xml_add_int(output, XML_ATTR_HAVE_QUORUM, fsa_has_quorum);
- 
-diff --git a/crmd/remote_lrmd_ra.c b/crmd/remote_lrmd_ra.c
-index d38d7f0..42ea043 100644
---- a/crmd/remote_lrmd_ra.c
-+++ b/crmd/remote_lrmd_ra.c
-@@ -333,7 +333,10 @@ remote_lrm_op_callback(lrmd_event_data_t * op)
- 
-         } else {
-             /* make sure we have a clean status section to start with */
-+            lrm_state_reset_tables(lrm_state);
-             remote_init_cib_status(lrm_state);
-+            erase_status_tag(lrm_state->node_name, XML_CIB_TAG_LRM, cib_scope_local);
-+            erase_status_tag(lrm_state->node_name, XML_TAG_TRANSIENT_NODEATTRS, cib_scope_local);
- 
-             cmd->rc = PCMK_EXECRA_OK;
-             cmd->op_status = PCMK_LRM_OP_DONE;
-@@ -430,15 +433,6 @@ handle_remote_ra_exec(gpointer user_data)
-         g_list_free_1(first);
- 
-         if (!strcmp(cmd->action, "start") || !strcmp(cmd->action, "migrate_from")) {
--            xmlNode *status = create_xml_node(NULL, XML_CIB_TAG_STATE);
--
--            /* clear node status in cib */
--            crm_xml_add(status, XML_ATTR_ID, lrm_state->node_name);
--            lrm_state_reset_tables(lrm_state);
--            fsa_cib_delete(XML_CIB_TAG_STATUS, status, cib_quorum_override, rc, NULL);
--            crm_info("Forced a remote LRM refresh before connection start: call=%d", rc);
--            crm_log_xml_trace(status, "CLEAR LRM");
--            free_xml(status);
- 
-             rc = handle_remote_ra_start(lrm_state, cmd, cmd->timeout);
-             if (rc == 0) {
-diff --git a/crmd/te_utils.c b/crmd/te_utils.c
-index 54fae04..239af63 100644
---- a/crmd/te_utils.c
-+++ b/crmd/te_utils.c
-@@ -390,16 +390,7 @@ abort_transition_graph(int abort_priority, enum transition_action abort_action,
-             if (safe_str_eq(XML_CIB_TAG_STATE, kind)
-                || safe_str_eq(XML_CIB_TAG_NODE, kind)) {
- 
--                if (crm_is_true(crm_element_value(search, XML_NODE_IS_REMOTE))) {
--                    /* Remote node uname and uuids are the same.
--                     * We also don't want them to be present in the
--                     * peer cache, so we shouldn't look them up with
--                     * crm_peer_uname()
--                     */
--                    uname = ID(search);
--                } else {
--                    uname = crm_peer_uname(ID(search));
--                }
-+                uname = crm_peer_uname(ID(search));
-                 break;
-             }
-             search = search->parent;
-diff --git a/include/crm/cluster.h b/include/crm/cluster.h
-index 54b7f58..960c3d0 100644
---- a/include/crm/cluster.h
-+++ b/include/crm/cluster.h
-@@ -32,6 +32,7 @@
- 
- extern gboolean crm_have_quorum;
- extern GHashTable *crm_peer_cache;
-+extern GHashTable *crm_remote_peer_cache;
- extern unsigned long long crm_peer_seq;
- 
- #  ifndef CRM_SERVICE
-@@ -55,12 +56,16 @@ enum crm_join_phase
- };
- 
- /* *INDENT-ON* */
-+enum crm_node_flags
-+{
-+    crm_remote_node     = 0x0001,
-+};
- 
- typedef struct crm_peer_node_s {
-     uint32_t id;                /* Only used by corosync derivatives */
-     uint64_t born;              /* Only used by heartbeat and the legacy plugin */
-     uint64_t last_seen;
--    uint64_t flags;             /* Unused, but might be a good place to specify 'remote' */
-+    uint64_t flags;             /* Specified by crm_node_flags enum */
- 
-     int32_t votes;              /* Only used by the legacy plugin */
-     uint32_t processes;
-@@ -124,11 +129,25 @@ enum crm_ais_msg_types {
-     crm_msg_pe       = 8,
-     crm_msg_stonith_ng = 9,
- };
-+
-+/* used with crm_get_peer_full */
-+enum crm_get_peer_flags {
-+    CRM_GET_PEER_CLUSTER   = 0x0001,
-+    CRM_GET_PEER_REMOTE    = 0x0002,
-+};
- /* *INDENT-ON* */
- 
- gboolean send_cluster_message(crm_node_t * node, enum crm_ais_msg_types service,
-                               xmlNode * data, gboolean ordered);
- 
-+
-+/* Initialize and refresh the remote peer cache from a cib config */
-+void crm_remote_peer_cache_refresh(xmlNode *cib);
-+
-+/* allows filtering of remote and cluster nodes using crm_get_peer_flags */
-+crm_node_t *crm_get_peer_full(unsigned int id, const char *uname, int flags);
-+
-+/* only searches cluster nodes */
- crm_node_t *crm_get_peer(unsigned int id, const char *uname);
- 
- guint crm_active_peers(void);
-diff --git a/lib/cib/cib_attrs.c b/lib/cib/cib_attrs.c
-index 4af077c..d1e1b74 100644
---- a/lib/cib/cib_attrs.c
-+++ b/lib/cib/cib_attrs.c
-@@ -430,6 +430,8 @@ get_remote_node_uuid(cib_t * the_cib, const char *uname, char **uuid)
-                          cib_sync_call | cib_scope_local | cib_xpath, NULL);
-     free(xpath_string);
-     free(xml_search);
-+    xml_search = NULL;
-+    xpath_string = NULL;
- 
-     if (rc != pcmk_ok) {
-         len = strlen(REMOTE_NODE_XPATH2) + strlen(uname) + 1;
-diff --git a/lib/cluster/cluster.c b/lib/cluster/cluster.c
-index 5820c8d..5b743f9 100644
---- a/lib/cluster/cluster.c
-+++ b/lib/cluster/cluster.c
-@@ -361,6 +361,11 @@ crm_peer_uname(const char *uuid)
- 
-     CRM_CHECK(uuid != NULL, return NULL);
- 
-+    /* remote nodes have the same uname and uuid */
-+    if (g_hash_table_lookup(crm_remote_peer_cache, uuid)) {
-+        return uuid;
-+    }
-+
-     /* avoid blocking calls where possible */
-     g_hash_table_iter_init(&iter, crm_peer_cache);
-     while (g_hash_table_iter_next(&iter, NULL, (gpointer *) &node)) {
-diff --git a/lib/cluster/membership.c b/lib/cluster/membership.c
-index bc1684e..e3082b4 100644
---- a/lib/cluster/membership.c
-+++ b/lib/cluster/membership.c
-@@ -33,9 +33,56 @@
- #include <crm/stonith-ng.h>
- 
- GHashTable *crm_peer_cache = NULL;
-+GHashTable *crm_remote_peer_cache = NULL;
- unsigned long long crm_peer_seq = 0;
- gboolean crm_have_quorum = FALSE;
- 
-+static void
-+remote_cache_refresh_helper(xmlNode *cib, const char *xpath, const char *field, int flags)
-+{
-+    const char *remote = NULL;
-+    crm_node_t *node = NULL;
-+    xmlXPathObjectPtr xpathObj = NULL;
-+    int max = 0;
-+    int lpc = 0;
-+
-+    xpathObj = xpath_search(cib, xpath);
-+    max = numXpathResults(xpathObj);
-+    for (lpc = 0; lpc < max; lpc++) {
-+        xmlNode *xml = getXpathResult(xpathObj, lpc);
-+
-+        CRM_CHECK(xml != NULL, continue);
-+
-+        remote = crm_element_value(xml, field);
-+        if (remote) {
-+            crm_trace("added %s to remote cache", remote);
-+            node = calloc(1, sizeof(crm_node_t));
-+            node->flags = flags;
-+            CRM_ASSERT(node);
-+            node->uname = strdup(remote);
-+            node->uuid = strdup(remote);
-+            node->state = strdup(CRM_NODE_MEMBER);
-+            g_hash_table_replace(crm_remote_peer_cache, node->uname, node);
-+        }
-+    }
-+    freeXpathObject(xpathObj);
-+}
-+
-+void crm_remote_peer_cache_refresh(xmlNode *cib)
-+{
-+    const char *xpath = NULL;
-+
-+    g_hash_table_remove_all(crm_remote_peer_cache);
-+
-+    /* remote nodes associated with a cluster resource */
-+    xpath = "//" XML_TAG_CIB "//" XML_CIB_TAG_CONFIGURATION "//" XML_CIB_TAG_RESOURCE "//" XML_TAG_META_SETS "//" XML_CIB_TAG_NVPAIR "[@name='remote-node']";
-+    remote_cache_refresh_helper(cib, xpath, "value", crm_remote_node);
-+
-+    /* remote nodes seen in the status section */
-+    xpath = "//" XML_TAG_CIB "//" XML_CIB_TAG_STATUS "//" XML_CIB_TAG_STATE "[@remote_node='true']";
-+    remote_cache_refresh_helper(cib, xpath, "id", crm_remote_node);
-+}
-+
- gboolean
- crm_is_peer_active(const crm_node_t * node)
- {
-@@ -146,6 +193,10 @@ crm_peer_init(void)
-     if (crm_peer_cache == NULL) {
-         crm_peer_cache = g_hash_table_new_full(crm_str_hash, g_str_equal, free, destroy_crm_node);
-     }
-+
-+    if (crm_remote_peer_cache == NULL) {
-+        crm_remote_peer_cache = g_hash_table_new_full(crm_str_hash, g_str_equal, NULL, destroy_crm_node);
-+    }
- }
- 
- void
-@@ -156,6 +207,12 @@ crm_peer_destroy(void)
-         g_hash_table_destroy(crm_peer_cache);
-         crm_peer_cache = NULL;
-     }
-+
-+    if (crm_remote_peer_cache != NULL) {
-+        crm_trace("Destroying remote peer cache with %d members", g_hash_table_size(crm_remote_peer_cache));
-+        g_hash_table_destroy(crm_remote_peer_cache);
-+        crm_remote_peer_cache = NULL;
-+    }
- }
- 
- void (*crm_status_callback) (enum crm_status_type, crm_node_t *, const void *) = NULL;
-@@ -186,6 +243,25 @@ static gboolean crm_hash_find_by_data(gpointer key, gpointer value, gpointer use
-     return FALSE;
- }
- 
-+crm_node_t *
-+crm_get_peer_full(unsigned int id, const char *uname, int flags)
-+{
-+    crm_node_t *node = NULL;
-+
-+    CRM_ASSERT(id > 0 || uname != NULL);
-+
-+    crm_peer_init();
-+
-+    if (flags & CRM_GET_PEER_REMOTE) {
-+        node = g_hash_table_lookup(crm_remote_peer_cache, uname);
-+    }
-+
-+    if (node == NULL && (flags & CRM_GET_PEER_CLUSTER)) {
-+        node = crm_get_peer(id, uname);
-+    }
-+    return node;
-+}
-+
- /* coverity[-alloc] Memory is referenced in one or both hashtables */
- crm_node_t *
- crm_get_peer(unsigned int id, const char *uname)
-diff --git a/lib/lrmd/lrmd_client.c b/lib/lrmd/lrmd_client.c
-index bdaf18c..e577293 100644
---- a/lib/lrmd/lrmd_client.c
-+++ b/lib/lrmd/lrmd_client.c
-@@ -89,6 +89,11 @@ typedef struct lrmd_private_s {
-     gnutls_psk_client_credentials_t psk_cred_c;
- 
-     int sock;
-+    /* since tls requires a round trip across the network for a
-+     * request/reply, there are times where we just want to be able
-+     * to send a request from the client and not wait around (or even care
-+     * about) what the reply is. */
-+    int expected_late_replies;
-     GList *pending_notify;
-     crm_trigger_t *process_notify;
- #endif
-@@ -241,9 +246,7 @@ lrmd_dispatch_internal(lrmd_t * lrmd, xmlNode * msg)
-         /* this is proxy business */
-         lrmd_internal_proxy_dispatch(lrmd, msg);
-         return 1;
--    }
--
--    if (!native->callback) {
-+    } else if (!native->callback) {
-         /* no callback set */
-         crm_trace("notify event received but client has not set callback");
-         return 1;
-@@ -371,7 +374,19 @@ lrmd_tls_dispatch(gpointer userdata)
-         xml = crm_remote_parse_buffer(native->remote);
-     }
-     while (xml) {
--        lrmd_dispatch_internal(lrmd, xml);
-+        const char *msg_type = crm_element_value(xml, F_LRMD_REMOTE_MSG_TYPE);
-+        if (safe_str_eq(msg_type, "notify")) {
-+            lrmd_dispatch_internal(lrmd, xml);
-+        } else if (safe_str_eq(msg_type, "reply")) {
-+            if (native->expected_late_replies > 0) {
-+                native->expected_late_replies--;
-+            } else {
-+                int reply_id = 0;
-+                crm_element_value_int(xml, F_LRMD_CALLID, &reply_id);
-+                /* if this happens, we want to know about it */
-+                crm_err("Got outdated reply %d", reply_id);
-+            }
-+        }
-         free_xml(xml);
-         xml = crm_remote_parse_buffer(native->remote);
-     }
-@@ -617,7 +632,11 @@ lrmd_tls_recv_reply(lrmd_t * lrmd, int total_timeout, int expected_reply_id, int
-             free_xml(xml);
-             xml = NULL;
-         } else if (reply_id != expected_reply_id) {
--            crm_err("Got outdated reply, expected id %d got id %d", expected_reply_id, reply_id);
-+            if (native->expected_late_replies > 0) {
-+                native->expected_late_replies--;
-+            } else {
-+                crm_err("Got outdated reply, expected id %d got id %d", expected_reply_id, reply_id);
-+            }
-             free_xml(xml);
-             xml = NULL;
-         }
-@@ -724,6 +743,12 @@ lrmd_send_xml_no_reply(lrmd_t * lrmd, xmlNode * msg)
- #ifdef HAVE_GNUTLS_GNUTLS_H
-         case CRM_CLIENT_TLS:
-             rc = lrmd_tls_send(lrmd, msg);
-+            if (rc == pcmk_ok) {
-+                /* we don't want to wait around for the reply, but
-+                 * since the request/reply protocol needs to behave the same
-+                 * as libqb, a reply will eventually come later anyway. */
-+                native->expected_late_replies++;
-+            }
-             break;
- #endif
-         default:
-diff --git a/lrmd/ipc_proxy.c b/lrmd/ipc_proxy.c
-index bbf9b24..3a51a5b 100644
---- a/lrmd/ipc_proxy.c
-+++ b/lrmd/ipc_proxy.c
-@@ -313,6 +313,8 @@ ipc_proxy_remove_provider(crm_client_t *ipc_proxy)
-     GHashTableIter iter;
-     crm_client_t *ipc_client = NULL;
-     char *key = NULL;
-+    GList *remove_these = NULL;
-+    GListPtr gIter = NULL;
- 
-     if (ipc_providers == NULL) {
-         return;
-@@ -326,9 +328,19 @@ ipc_proxy_remove_provider(crm_client_t *ipc_proxy)
-         if (safe_str_eq(proxy_id, ipc_proxy->id)) {
-             crm_info("ipc proxy connection for client %s pid %d destroyed because cluster node disconnected.",
-                 ipc_client->id, ipc_client->pid);
--            qb_ipcs_disconnect(ipc_client->ipcs);
-+            /* we can't remove during the iteration, so copy items
-+             * to a list we can destroy later */
-+            remove_these = g_list_append(remove_these, ipc_client);
-         }
-     }
-+
-+    for (gIter = remove_these; gIter != NULL; gIter = gIter->next) {
-+        ipc_client = gIter->data;
-+        qb_ipcs_disconnect(ipc_client->ipcs);
-+    }
-+
-+    /* just frees the list, not the elements in the list */
-+    g_list_free(remove_these);
- }
- 
- void
-diff --git a/lrmd/lrmd.c b/lrmd/lrmd.c
-index a4747cb..b5bbea0 100644
---- a/lrmd/lrmd.c
-+++ b/lrmd/lrmd.c
-@@ -1297,6 +1297,7 @@ process_lrmd_message(crm_client_t * client, uint32_t id, xmlNode * request)
-         do_reply = 1;
-     } else if (crm_str_eq(op, LRMD_OP_POKE, TRUE)) {
-         do_notify = 1;
-+        do_reply = 1;
-     } else {
-         rc = -EOPNOTSUPP;
-         do_reply = 1;
-diff --git a/pengine/allocate.c b/pengine/allocate.c
-index cf8f4d4..bfa8e7b 100644
---- a/pengine/allocate.c
-+++ b/pengine/allocate.c
-@@ -1578,6 +1578,8 @@ apply_remote_node_ordering(pe_working_set_t *data_set)
-         container = remote_rsc->container;
-         if (safe_str_eq(action->task, "monitor") ||
-             safe_str_eq(action->task, "start") ||
-+            safe_str_eq(action->task, "promote") ||
-+            safe_str_eq(action->task, "demote") ||
-             safe_str_eq(action->task, CRM_OP_LRM_REFRESH) ||
-             safe_str_eq(action->task, CRM_OP_CLEAR_FAILCOUNT) ||
-             safe_str_eq(action->task, "delete")) {
diff --git a/SOURCES/pacemaker-fix_cib_correctly_log_short-form_xml_diffs.patch b/SOURCES/pacemaker-fix_cib_correctly_log_short-form_xml_diffs.patch
deleted file mode 100644
index 92edab1..0000000
--- a/SOURCES/pacemaker-fix_cib_correctly_log_short-form_xml_diffs.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-commit 5c055e09858a257d50f2669016da01b808557b08
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Aug 7 13:32:18 2013 +1000
-
-    Fix: cib: Correctly log short-form xml diffs
-
-diff --git a/lib/common/xml.c b/lib/common/xml.c
-index d467ce4..25096a6 100644
---- a/lib/common/xml.c
-+++ b/lib/common/xml.c
-@@ -1063,14 +1063,6 @@ log_data_element(int log_level, const char *file, const char *function, int line
-         do_crm_log_alias(log_level, file, function, line, "%s: %s", prefix,
-                          "No data to dump as XML");
-         return;
--
--    } else if (is_set(options, xml_log_option_diff_short)
--               && is_not_set(options, xml_log_option_diff_all)) {
--        /* Still searching for the actual change */
--        for (a_child = __xml_first_child(data); a_child != NULL; a_child = __xml_next(a_child)) {
--            log_data_element(log_level, file, function, line, prefix, a_child, depth + 1, options);
--        }
--        return;
-     }
- 
-     name = crm_element_name(data);
-@@ -1092,6 +1084,15 @@ log_data_element(int log_level, const char *file, const char *function, int line
-         }
-     }
- 
-+    if (is_set(options, xml_log_option_diff_short)
-+               && is_not_set(options, xml_log_option_diff_all)) {
-+        /* Still searching for the actual change */
-+        for (a_child = __xml_first_child(data); a_child != NULL; a_child = __xml_next(a_child)) {
-+            log_data_element(log_level, file, function, line, prefix, a_child, depth + 1, options);
-+        }
-+        return;
-+    }
-+
-     insert_prefix(options, &buffer, &offset, &max, depth);
-     if(data->type == XML_COMMENT_NODE) {
-         buffer_print(buffer, max, offset, "<!--");
diff --git a/SOURCES/pacemaker-fix_crmd_correcty_update_the_history_cache_when_recurring_ops_change_their_return_code.patch b/SOURCES/pacemaker-fix_crmd_correcty_update_the_history_cache_when_recurring_ops_change_their_return_code.patch
deleted file mode 100644
index 08b792f..0000000
--- a/SOURCES/pacemaker-fix_crmd_correcty_update_the_history_cache_when_recurring_ops_change_their_return_code.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-commit 7a0a6f877a30397377cf3304519e0a9ae51980b7
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Aug 7 13:50:52 2013 +1000
-
-    Fix: crmd: Correcty update the history cache when recurring ops change their return code
-
-diff --git a/crmd/lrm.c b/crmd/lrm.c
-index d158973..2e17488 100644
---- a/crmd/lrm.c
-+++ b/crmd/lrm.c
-@@ -200,6 +200,19 @@ update_history_cache(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, lrmd_event_
-     }
- 
-     if (op->interval > 0) {
-+        GListPtr iter = NULL;
-+
-+        for(iter = entry->recurring_op_list; iter; iter = iter->next) {
-+            lrmd_event_data_t *o = iter->data;
-+
-+            /* op->rsc_id is implied */
-+            if(op->interval == o->interval && strcmp(op->op_type, o->op_type) == 0) {
-+                crm_trace("Removing existing recurring op entry: %s_%s_%d", op->rsc_id, op->op_type, op->interval);
-+                entry->recurring_op_list = g_list_remove(entry->recurring_op_list, o);
-+                break;
-+            }
-+        }
-+
-         crm_trace("Adding recurring op: %s_%s_%d", op->rsc_id, op->op_type, op->interval);
-         entry->recurring_op_list = g_list_prepend(entry->recurring_op_list, lrmd_copy_event(op));
- 
diff --git a/SOURCES/pacemaker-fix_crmd_prevent_crash_by_passing_log_arguments_in_the_correct_order.patch b/SOURCES/pacemaker-fix_crmd_prevent_crash_by_passing_log_arguments_in_the_correct_order.patch
deleted file mode 100644
index 42fd41c..0000000
--- a/SOURCES/pacemaker-fix_crmd_prevent_crash_by_passing_log_arguments_in_the_correct_order.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-commit 84ca685d4d9cab5c9606a29b187082d31ec8488b
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Thu Aug 1 20:20:46 2013 +1000
-
-    Fix: crmd: Prevent crash by passing log arguments in the correct order
-
-diff --git a/crmd/lrm.c b/crmd/lrm.c
-index 4bce39a..d158973 100644
---- a/crmd/lrm.c
-+++ b/crmd/lrm.c
-@@ -340,7 +340,7 @@ lrm_state_verify_stopped(lrm_state_t * lrm_state, enum crmd_fsa_state cur_state,
-             lrm_state->pending_ops, stop_recurring_actions, lrm_state);
- 
-         crm_notice("Stopped %u recurring operations at %s (%u ops remaining)",
--                   g_hash_table_size(lrm_state->pending_ops), removed, when);
-+                   g_hash_table_size(lrm_state->pending_ops), when, removed);
-     }
- 
-     if (lrm_state->pending_ops) {
diff --git a/SOURCES/pacemaker-fix_crmd_prevent_recurring_monitors_being_cancelled_due_to_notify_operations.patch b/SOURCES/pacemaker-fix_crmd_prevent_recurring_monitors_being_cancelled_due_to_notify_operations.patch
deleted file mode 100644
index 3c2d0d3..0000000
--- a/SOURCES/pacemaker-fix_crmd_prevent_recurring_monitors_being_cancelled_due_to_notify_operations.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-commit 589623389c1df5301d18f13b0aa06adbc88fcae2
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Thu Aug 1 15:42:00 2013 +1000
-
-    Fix: crmd: Prevent recurring monitors being cancelled due to notify operations
-
-diff --git a/crmd/lrm.c b/crmd/lrm.c
-index d6b0dd0..4bce39a 100644
---- a/crmd/lrm.c
-+++ b/crmd/lrm.c
-@@ -1744,7 +1744,9 @@ do_lrm_rsc_op(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, const char *operat
-     CRM_CHECK(op != NULL, return);
- 
-     /* stop any previous monitor operations before changing the resource state */
--    if (op->interval == 0 && strcmp(operation, CRMD_ACTION_STATUS) != 0) {
-+    if (op->interval == 0
-+        && strcmp(operation, CRMD_ACTION_STATUS) != 0
-+        && strcmp(operation, CRMD_ACTION_NOTIFY) != 0) {
-         guint removed = 0;
-         struct stop_recurring_action_s data;
- 
diff --git a/SOURCES/pacemaker-fix_logging_glib_crit_messages_should_not_produce_core_files_by_default.patch b/SOURCES/pacemaker-fix_logging_glib_crit_messages_should_not_produce_core_files_by_default.patch
deleted file mode 100644
index c877668..0000000
--- a/SOURCES/pacemaker-fix_logging_glib_crit_messages_should_not_produce_core_files_by_default.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-commit 2fc7c2091ffd82a585352e34964af77ef67aa51a
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Tue Aug 6 13:16:07 2013 +1000
-
-    Fix: logging: glib CRIT messages should not produce core files by default
-
-diff --git a/lib/common/logging.c b/lib/common/logging.c
-index b4ca277..2b74d3f 100644
---- a/lib/common/logging.c
-+++ b/lib/common/logging.c
-@@ -56,12 +56,21 @@ crm_glib_handler(const gchar * log_domain, GLogLevelFlags flags, const gchar * m
- {
-     int log_level = LOG_WARNING;
-     GLogLevelFlags msg_level = (flags & G_LOG_LEVEL_MASK);
-+    static struct qb_log_callsite *glib_cs = NULL;
-+
-+    if (glib_cs == NULL) {
-+        glib_cs = qb_log_callsite_get(__PRETTY_FUNCTION__, __FILE__, "glib-handler", LOG_DEBUG, __LINE__, crm_trace_nonlog);
-+    }
-+
- 
-     switch (msg_level) {
-         case G_LOG_LEVEL_CRITICAL:
--            /* log and record how we got here */
--            crm_abort(__FILE__, __PRETTY_FUNCTION__, __LINE__, message, TRUE, TRUE);
--            return;
-+            log_level = LOG_CRIT;
-+
-+            if (crm_is_callsite_active(glib_cs, LOG_DEBUG, 0) == FALSE) {
-+                /* log and record how we got here */
-+                crm_abort(__FILE__, __PRETTY_FUNCTION__, __LINE__, message, TRUE, TRUE);
-+            }
- 
-         case G_LOG_LEVEL_ERROR:
-             log_level = LOG_ERR;
diff --git a/SOURCES/pacemaker-fix_pe_correctly_account_for_the_location_preferences_of_things_colocated_with_a_group.patch b/SOURCES/pacemaker-fix_pe_correctly_account_for_the_location_preferences_of_things_colocated_with_a_group.patch
deleted file mode 100644
index c4ee54e..0000000
--- a/SOURCES/pacemaker-fix_pe_correctly_account_for_the_location_preferences_of_things_colocated_with_a_group.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-commit fab09782a337c492c62028a519df25ee316abee2
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Aug 7 10:33:04 2013 +1000
-
-    Fix: PE: Correctly account for the location preferences of things colocated with a group
-
-diff --git a/pengine/group.c b/pengine/group.c
-index 823ea08..7e8e026 100644
---- a/pengine/group.c
-+++ b/pengine/group.c
-@@ -59,8 +59,8 @@ group_color(resource_t * rsc, node_t * prefer, pe_working_set_t * data_set)
-         g_list_concat(group_data->first_child->rsc_cons, rsc->rsc_cons);
-     rsc->rsc_cons = NULL;
- 
--    group_data->first_child->rsc_cons_lhs =
--        g_list_concat(group_data->first_child->rsc_cons_lhs, rsc->rsc_cons_lhs);
-+    group_data->last_child->rsc_cons_lhs =
-+        g_list_concat(group_data->last_child->rsc_cons_lhs, rsc->rsc_cons_lhs);
-     rsc->rsc_cons_lhs = NULL;
- 
-     dump_node_scores(show_scores ? 0 : scores_log_level, rsc, __PRETTY_FUNCTION__,
-diff --git a/pengine/native.c b/pengine/native.c
-index ef8ae0f..37f5211 100644
---- a/pengine/native.c
-+++ b/pengine/native.c
-@@ -364,6 +364,15 @@ rsc_merge_weights(resource_t * rsc, const char *rhs, GHashTable * nodes, const c
-         }
-         clear_bit(flags, pe_weights_init);
- 
-+    } else if (rsc->variant == pe_group && rsc->children) {
-+        GListPtr iter = rsc->children;
-+
-+        pe_rsc_trace(rsc, "%s: Combining scores from %d children of %s", rhs, g_list_length(iter), rsc->id);
-+        work = node_hash_dup(nodes);
-+        for(iter = rsc->children; iter->next != NULL; iter = iter->next) {
-+            work = rsc_merge_weights(iter->data, rhs, work, attr, factor, flags);
-+        }
-+
-     } else {
-         pe_rsc_trace(rsc, "%s: Combining scores from %s", rhs, rsc->id);
-         work = node_hash_dup(nodes);
-@@ -383,8 +392,22 @@ rsc_merge_weights(resource_t * rsc, const char *rhs, GHashTable * nodes, const c
- 
-         if (is_set(flags, pe_weights_forward)) {
-             gIter = rsc->rsc_cons;
-+            crm_trace("Checking %d additional colocation constraints", g_list_length(gIter));
-+
-+        } else if(rsc->variant == pe_group && rsc->children) {
-+            GListPtr last = rsc->children;
-+
-+            while (last->next != NULL) {
-+                last = last->next;
-+            }
-+
-+            gIter = ((resource_t*)last->data)->rsc_cons_lhs;
-+            crm_trace("Checking %d additional optional group colocation constraints from %s",
-+                      g_list_length(gIter), ((resource_t*)last->data)->id);
-+
-         } else {
-             gIter = rsc->rsc_cons_lhs;
-+            crm_trace("Checking %d additional optional colocation constraints %s", g_list_length(gIter), rsc->id);
-         }
- 
-         for (; gIter != NULL; gIter = gIter->next) {
-diff --git a/pengine/test10/clone-anon-failcount.scores b/pengine/test10/clone-anon-failcount.scores
-index fb98a30..012bfe9 100644
---- a/pengine/test10/clone-anon-failcount.scores
-+++ b/pengine/test10/clone-anon-failcount.scores
-@@ -298,7 +298,7 @@ native_color: clnUMdummy01:1 allocation score on srv04: -INFINITY
- native_color: clnUMdummy02:0 allocation score on srv01: -INFINITY
- native_color: clnUMdummy02:0 allocation score on srv02: -INFINITY
- native_color: clnUMdummy02:0 allocation score on srv03: -INFINITY
--native_color: clnUMdummy02:0 allocation score on srv04: 100
-+native_color: clnUMdummy02:0 allocation score on srv04: 104
- native_color: clnUMdummy02:1 allocation score on srv01: -INFINITY
- native_color: clnUMdummy02:1 allocation score on srv02: -INFINITY
- native_color: clnUMdummy02:1 allocation score on srv03: -INFINITY
diff --git a/SOURCES/pacemaker-fix_pe_do_not_allow_colocation_with_blocked_clone_instances.patch b/SOURCES/pacemaker-fix_pe_do_not_allow_colocation_with_blocked_clone_instances.patch
deleted file mode 100644
index c638af1..0000000
--- a/SOURCES/pacemaker-fix_pe_do_not_allow_colocation_with_blocked_clone_instances.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-commit 66a3ea6bf9024960736455022c8827a2fbb03bc6
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Fri Aug 2 13:10:58 2013 +1000
-
-    Fix: PE: Do not allow colocation with blocked clone instances
-
-diff --git a/include/crm/pengine/internal.h b/include/crm/pengine/internal.h
-index 20bb687..a6b9369 100644
---- a/include/crm/pengine/internal.h
-+++ b/include/crm/pengine/internal.h
-@@ -234,6 +234,7 @@ char *clone_strip(const char *last_rsc_id);
- char *clone_zero(const char *last_rsc_id);
- 
- gint sort_node_uname(gconstpointer a, gconstpointer b);
-+bool is_set_recursive(resource_t * rsc, long long flag, bool any);
- 
- enum rsc_digest_cmp_val {
-     /*! Digests are the same */
-diff --git a/lib/pengine/clone.c b/lib/pengine/clone.c
-index 7bccd65..c6c69e6 100644
---- a/lib/pengine/clone.c
-+++ b/lib/pengine/clone.c
-@@ -349,7 +349,7 @@ clone_print_xml(resource_t * rsc, const char *pre_text, long options, void *prin
-     free(child_text);
- }
- 
--static bool is_set_recursive(resource_t * rsc, long long flag, bool any)
-+bool is_set_recursive(resource_t * rsc, long long flag, bool any)
- {
-     GListPtr gIter;
-     bool all = !any;
-diff --git a/pengine/clone.c b/pengine/clone.c
-index 8f340f4..b15f76f 100644
---- a/pengine/clone.c
-+++ b/pengine/clone.c
-@@ -925,7 +925,10 @@ find_compatible_child_by_node(resource_t * local_child, node_t * local_node, res
-         resource_t *child_rsc = (resource_t *) gIter->data;
-         enum rsc_role_e next_role = child_rsc->fns->state(child_rsc, current);
- 
--        node = child_rsc->fns->location(child_rsc, NULL, current);
-+        if (is_set_recursive(child_rsc, pe_rsc_block, TRUE) == FALSE) {
-+            /* We only want instances that haven't failed */
-+            node = child_rsc->fns->location(child_rsc, NULL, current);
-+        }
- 
-         if (filter != RSC_ROLE_UNKNOWN && next_role != filter) {
-             crm_trace("Filtered %s", child_rsc->id);
-@@ -1069,7 +1072,7 @@ clone_rsc_colocation_rh(resource_t * rsc_lh, resource_t * rsc_rh, rsc_colocation
-             resource_t *child_rsc = (resource_t *) gIter->data;
-             node_t *chosen = child_rsc->fns->location(child_rsc, NULL, FALSE);
- 
--            if (chosen != NULL) {
-+            if (chosen != NULL && is_set_recursive(child_rsc, pe_rsc_block, TRUE) == FALSE) {
-                 rhs = g_list_prepend(rhs, chosen);
-             }
-         }
diff --git a/SOURCES/pacemaker-fix_pe_do_not_re-allocate_clone_instances_that_are_blocked_in_the_stopped_state.patch b/SOURCES/pacemaker-fix_pe_do_not_re-allocate_clone_instances_that_are_blocked_in_the_stopped_state.patch
deleted file mode 100644
index a240e06..0000000
--- a/SOURCES/pacemaker-fix_pe_do_not_re-allocate_clone_instances_that_are_blocked_in_the_stopped_state.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-commit b2c105b91ac6efe516e99f7b6b7e13d6443e6c93
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Fri Aug 2 12:51:56 2013 +1000
-
-    Fix: PE: Do not re-allocate clone instances that are blocked in the Stopped state
-
-diff --git a/lib/pengine/unpack.c b/lib/pengine/unpack.c
-index c2e0ae9..b4986dd 100644
---- a/lib/pengine/unpack.c
-+++ b/lib/pengine/unpack.c
-@@ -1461,6 +1461,11 @@ find_anonymous_clone(pe_working_set_t * data_set, node_t * node, resource_t * pa
-             GListPtr locations = NULL;
-             resource_t *child = rIter->data;
- 
-+            if (is_set(child->flags, pe_rsc_block)) {
-+                pe_rsc_trace(child, "Skip: blocked in stopped state");
-+                continue;
-+            }
-+
-             child->fns->location(child, &locations, TRUE);
-             if (locations == NULL) {
-                 /* ->find_rsc() because we might be a cloned group */
diff --git a/SOURCES/pacemaker-fix_pe_do_not_restart_resources_that_depend_on_unmanaged_resources.patch b/SOURCES/pacemaker-fix_pe_do_not_restart_resources_that_depend_on_unmanaged_resources.patch
deleted file mode 100644
index edac887..0000000
--- a/SOURCES/pacemaker-fix_pe_do_not_restart_resources_that_depend_on_unmanaged_resources.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-commit 0c996a1df48fc0067796c3c436117623963a5d7e
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Thu Aug 1 16:25:36 2013 +1000
-
-    Fix: PE: Do not restart resources that depend on unmanaged resources
-
-diff --git a/pengine/native.c b/pengine/native.c
-index 9d85a3e..ef8ae0f 100644
---- a/pengine/native.c
-+++ b/pengine/native.c
-@@ -1715,7 +1715,9 @@ native_update_actions(action_t * first, action_t * then, node_t * node, enum pe_
-         CRM_ASSERT(first->rsc && first->rsc->variant == pe_native);
-         CRM_ASSERT(then->rsc && then->rsc->variant == pe_native);
- 
--        if ((filter & pe_action_runnable) && (then->flags & pe_action_runnable) == 0) {
-+        if ((filter & pe_action_runnable)
-+            && (then->flags & pe_action_runnable) == 0
-+            && (then->rsc->flags & pe_rsc_managed)) {
-             reason = "shutdown";
-         }
- 
diff --git a/SOURCES/pacemaker-fix_services_prevent_use-of-null_in_g_error_free.patch b/SOURCES/pacemaker-fix_services_prevent_use-of-null_in_g_error_free.patch
deleted file mode 100644
index 29dbca9..0000000
--- a/SOURCES/pacemaker-fix_services_prevent_use-of-null_in_g_error_free.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-commit 52146c384a606efb913ef932b23a34ca3105f878
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Thu Aug 8 12:50:29 2013 +1000
-
-    Fix: services: Prevent use-of-NULL in g_error_free
-
-diff --git a/lib/services/systemd.c b/lib/services/systemd.c
-index b18f86f..74cf53e 100644
---- a/lib/services/systemd.c
-+++ b/lib/services/systemd.c
-@@ -264,7 +264,9 @@ systemd_unit_listall(void)
- 
-     if (error || _ret == NULL) {
-         crm_info("Call to ListUnits failed: %s", error ? error->message : "unknown");
--        g_error_free(error);
-+        if(error) {
-+            g_error_free(error);
-+        }
-         return NULL;
-     }
- 
-@@ -308,9 +310,11 @@ systemd_unit_exists(const char *name)
-     pass = systemd_unit_by_name(systemd_proxy, name, &path, NULL, &error);
- 
-     if (error || pass == FALSE) {
--        crm_err("Call to ListUnits failed: %s", error ? error->message : "unknown");
--        g_error_free(error);
-         pass = FALSE;
-+        crm_err("Call to ListUnits failed: %s", error ? error->message : "unknown");
-+        if(error) {
-+            g_error_free(error);
-+        }
- 
-     } else {
-         crm_trace("Got %s", path);
-@@ -438,7 +442,9 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
-         if (error && strstr(error->message, "systemd1.NoSuchUnit")) {
-             op->rc = PCMK_EXECRA_NOT_INSTALLED;
-         }
--        g_error_free(error);
-+        if(error) {
-+            g_error_free(error);
-+        }
-         goto cleanup;
-     }
- 
-@@ -480,7 +486,6 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
-         systemd_daemon_reload(systemd_proxy, &error);
-         if(error) {
-             g_error_free(error);
--            error = NULL;
-         }
-         free(override_file);
-         free(override_dir);
-@@ -492,7 +497,9 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
-         unlink(override_file);
-         free(override_file);
-         systemd_daemon_reload(systemd_proxy, &error);
--        g_error_free(error); error = NULL;
-+        if(error) {
-+            g_error_free(error);
-+        }
- 
-     } else if (g_strcmp0(action, "restart") == 0) {
-         action = "RestartUnit";
-diff --git a/lib/services/upstart.c b/lib/services/upstart.c
-index 357152b..f5fa189 100644
---- a/lib/services/upstart.c
-+++ b/lib/services/upstart.c
-@@ -317,7 +317,9 @@ upstart_job_running(const gchar * name)
-     pass = upstart_job_by_name(upstart_proxy, name, &job, NULL, &error);
-     if (error || pass == FALSE) {
-         crm_err("Call to ListUnits failed: %s", error ? error->message : "unknown");
--        g_error_free(error);
-+        if(error) {
-+            g_error_free(error);
-+        }
- 
-     } else {
-         char *instance = get_first_instance(job);
diff --git a/SOURCES/pacemaker-fix_systemd_prevent_glib_assertion_-_only_call_g_error_free_with_non-null_arguments.patch b/SOURCES/pacemaker-fix_systemd_prevent_glib_assertion_-_only_call_g_error_free_with_non-null_arguments.patch
deleted file mode 100644
index 845f8e2..0000000
--- a/SOURCES/pacemaker-fix_systemd_prevent_glib_assertion_-_only_call_g_error_free_with_non-null_arguments.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-commit 93d8690481f2a09904f528ea5f01099cdd5dfbed
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Tue Aug 6 12:42:12 2013 +1000
-
-    Fix: systemd: Prevent glib assertion - only call g_error_free() with non-NULL arguments
-
-diff --git a/lib/services/systemd.c b/lib/services/systemd.c
-index 2a66da5..b18f86f 100644
---- a/lib/services/systemd.c
-+++ b/lib/services/systemd.c
-@@ -478,7 +478,10 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
-             fclose(file_strm);
-         }
-         systemd_daemon_reload(systemd_proxy, &error);
--        g_error_free(error); error = NULL;
-+        if(error) {
-+            g_error_free(error);
-+            error = NULL;
-+        }
-         free(override_file);
-         free(override_dir);
- 
diff --git a/SOURCES/pacemaker-log_crm_mon_clean_up_the_output_for_failed_operations.patch b/SOURCES/pacemaker-log_crm_mon_clean_up_the_output_for_failed_operations.patch
deleted file mode 100644
index 139d75a..0000000
--- a/SOURCES/pacemaker-log_crm_mon_clean_up_the_output_for_failed_operations.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-commit a301734d5c3e0c16c96df02d83db074e68c6acf7
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Aug 7 12:11:42 2013 +1000
-
-    Log: crm_mon: Clean up the output for failed operations
-
-diff --git a/tools/crm_mon.c b/tools/crm_mon.c
-index a6a20c6..d3e43c4 100644
---- a/tools/crm_mon.c
-+++ b/tools/crm_mon.c
-@@ -1383,31 +1383,35 @@ print_status(pe_working_set_t * data_set)
-         print_as("\nFailed actions:\n");
-         for (xml_op = __xml_first_child(data_set->failed); xml_op != NULL;
-              xml_op = __xml_next(xml_op)) {
--            int val = 0;
-+            int status = 0;
-+            int rc = 0;
-             const char *id = ID(xml_op);
-             const char *op_key = crm_element_value(xml_op, XML_LRM_ATTR_TASK_KEY);
-             const char *last = crm_element_value(xml_op, XML_RSC_OP_LAST_CHANGE);
-             const char *node = crm_element_value(xml_op, XML_ATTR_UNAME);
-             const char *call = crm_element_value(xml_op, XML_LRM_ATTR_CALLID);
--            const char *rc = crm_element_value(xml_op, XML_LRM_ATTR_RC);
--            const char *status = crm_element_value(xml_op, XML_LRM_ATTR_OPSTATUS);
-+            const char *rc_s = crm_element_value(xml_op, XML_LRM_ATTR_RC);
-+            const char *status_s = crm_element_value(xml_op, XML_LRM_ATTR_OPSTATUS);
- 
--            val = crm_parse_int(status, "0");
--            print_as("    %s (node=%s, call=%s, rc=%s, status=%s",
--                     op_key ? op_key : id, node, call, rc, services_lrm_status_str(val));
-+            rc = crm_parse_int(rc_s, "0");
-+            status = crm_parse_int(status_s, "0");
- 
-             if (last) {
-                 time_t run_at = crm_parse_int(last, "0");
-+                char *run_at_s = ctime(&run_at);
-+                if(run_at_s) {
-+                    run_at_s[24] = 0; /* Overwrite the newline */
-+                }
- 
--                print_as(", last-rc-change=%s, queued=%sms, exec=%sms\n",
--                         ctime(&run_at),
--                         crm_element_value(xml_op, XML_RSC_OP_T_EXEC),
--                         crm_element_value(xml_op, XML_RSC_OP_T_QUEUE));
-+                print_as("    %s on %s '%s' (%d): call=%s, status=%s, last-rc-change='%s', queued=%sms, exec=%sms\n",
-+                         op_key ? op_key : id, node, lrmd_event_rc2str(rc), rc, call, services_lrm_status_str(status),
-+                         run_at_s, crm_element_value(xml_op, XML_RSC_OP_T_EXEC), crm_element_value(xml_op, XML_RSC_OP_T_QUEUE));
-+            } else {
-+                print_as("    %s on %s '%s' (%d): call=%s, status=%s\n",
-+                         op_key ? op_key : id, node, lrmd_event_rc2str(rc), rc, call, services_lrm_status_str(status));
-             }
--
--            val = crm_parse_int(rc, "0");
--            print_as("): %s\n", lrmd_event_rc2str(val));
-         }
-+        print_as("\n");
-     }
- 
-     if (print_tickets || print_neg_location_prefix) {
diff --git a/SOURCES/pacemaker-log_pe_better_indicate_when_a_resource_has_failed.patch b/SOURCES/pacemaker-log_pe_better_indicate_when_a_resource_has_failed.patch
deleted file mode 100644
index cdd7dd9..0000000
--- a/SOURCES/pacemaker-log_pe_better_indicate_when_a_resource_has_failed.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-commit 65e481e7966d5144a0439d16ebb2a9bcffb26506
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Aug 7 14:33:26 2013 +1000
-
-    Log: PE: Better indicate when a resource has failed
-
-diff --git a/lib/pengine/native.c b/lib/pengine/native.c
-index c1fe89d..c81a218 100644
---- a/lib/pengine/native.c
-+++ b/lib/pengine/native.c
-@@ -413,16 +413,20 @@ native_print(resource_t * rsc, const char *pre_text, long options, void *print_d
-     if(is_set(rsc->flags, pe_rsc_orphan)) {
-         offset += snprintf(buffer + offset, LINE_MAX - offset, " ORPHANED ");
-     }
--    offset += snprintf(buffer + offset, LINE_MAX - offset, "%s ", role2text(rsc->role));
-+    if(rsc->role > RSC_ROLE_SLAVE && is_set(rsc->flags, pe_rsc_failed)) {
-+        offset += snprintf(buffer + offset, LINE_MAX - offset, "FAILED %s ", role2text(rsc->role));
-+    } else if(is_set(rsc->flags, pe_rsc_failed)) {
-+        offset += snprintf(buffer + offset, LINE_MAX - offset, "FAILED ");
-+    } else {
-+        offset += snprintf(buffer + offset, LINE_MAX - offset, "%s ", role2text(rsc->role));
-+    }
-+
-     if(node) {
-         offset += snprintf(buffer + offset, LINE_MAX - offset, "%s ", node->details->uname);
-     }
-     if(is_not_set(rsc->flags, pe_rsc_managed)) {
-         offset += snprintf(buffer + offset, LINE_MAX - offset, "(unmanaged) ");
-     }
--    if(is_set(rsc->flags, pe_rsc_failed)) {
--        offset += snprintf(buffer + offset, LINE_MAX - offset, "FAILED ");
--    }
-     if(is_set(rsc->flags, pe_rsc_failure_ignored)) {
-         offset += snprintf(buffer + offset, LINE_MAX - offset, "(failure ignored)");
-     }
diff --git a/SOURCES/pacemaker-no-quorum-log.patch b/SOURCES/pacemaker-no-quorum-log.patch
new file mode 100644
index 0000000..db5804f
--- /dev/null
+++ b/SOURCES/pacemaker-no-quorum-log.patch
@@ -0,0 +1,19 @@
+commit af02935f3e53223d7ffc3413dcf1e38ce7f86915
+Author: Andrew Beekhof <andrew@beekhof.net>
+Date:   Fri Oct 24 14:23:39 2014 +1100
+
+    Log: PE: Reduce 'no quorum' logging severity
+
+diff --git a/lib/pengine/status.c b/lib/pengine/status.c
+index a1c5630..b986987 100644
+--- a/lib/pengine/status.c
++++ b/lib/pengine/status.c
+@@ -91,7 +91,7 @@ cluster_status(pe_working_set_t * data_set)
+    if (is_not_set(data_set->flags, pe_flag_quick_location)
+        && is_not_set(data_set->flags, pe_flag_have_quorum)
+        && data_set->no_quorum_policy != no_quorum_ignore) {
+-        crm_warn("We do not have quorum - fencing and resource management disabled");
++        crm_notice("We do not have quorum - fencing and resource management disabled");
+     }
+ 
+     unpack_nodes(cib_nodes, data_set);
diff --git a/SOURCES/pacemaker-resource-restart-segfault.patch b/SOURCES/pacemaker-resource-restart-segfault.patch
new file mode 100644
index 0000000..a1ee40a
--- /dev/null
+++ b/SOURCES/pacemaker-resource-restart-segfault.patch
@@ -0,0 +1,39 @@
+commit cbdcd47aa56dd4a1ad369b1fa403588261421f33
+Author: Andrew Beekhof <andrew@beekhof.net>
+Date:   Thu Jan 15 14:11:45 2015 +1100
+
+    Fix: crm_resource: Use-after-free when restarting a resource
+
+diff --git a/tools/crm_resource.c b/tools/crm_resource.c
+index 968683a..3cb3fc3 100644
+--- a/tools/crm_resource.c
++++ b/tools/crm_resource.c
+@@ -1415,6 +1415,9 @@ update_dataset(cib_t *cib, pe_working_set_t * data_set, bool simulate)
+         goto cleanup;
+     }
+ 
++    if(data_set->input) {
++        free_xml(data_set->input);
++    }
+     set_working_set_defaults(data_set);
+     data_set->input = cib_xml_copy;
+     data_set->now = crm_time_new(NULL);
+@@ -1452,8 +1455,8 @@ update_dataset(cib_t *cib, pe_working_set_t * data_set, bool simulate)
+     }
+ 
+   cleanup:
++    /* Do not free 'cib_xml_copy' here, we need rsc->xml to be valid later on */
+     cib_delete(shadow_cib);
+-    free_xml(cib_xml_copy);
+     free(pid);
+ 
+     if(shadow_file) {
+@@ -1782,7 +1785,7 @@ static struct crm_option long_options[] = {
+     {"-spacer-",   1, 0, '-', "\nAdvanced Commands:"},
+     {"delete",     0, 0, 'D', "\t\t(Advanced) Delete a resource from the CIB"},
+     {"fail",       0, 0, 'F', "\t\t(Advanced) Tell the cluster this resource has failed"},
+-    {"restart",    0, 0,  0,  NULL, 1},
++    {"restart",    0, 0,  0,  "\t\t(Advanced) Tell the cluster to restart this resource and anything that depends on it"},
+     {"force-stop", 0, 0,  0,  "\t(Advanced) Bypass the cluster and stop a resource on the local node. Additional detail with -V"},
+     {"force-start",0, 0,  0,  "\t(Advanced) Bypass the cluster and start a resource on the local node. Additional detail with -V"},
+     {"force-check",0, 0,  0,  "\t(Advanced) Bypass the cluster and check the state of a resource on the local node. Additional detail with -V\n"},
diff --git a/SOURCES/pacemaker-resource-restart.patch b/SOURCES/pacemaker-resource-restart.patch
new file mode 100644
index 0000000..aa31e76
--- /dev/null
+++ b/SOURCES/pacemaker-resource-restart.patch
@@ -0,0 +1,4667 @@
+diff --git a/cts/patterns.py b/cts/patterns.py
+index e734f40..13307e5 100644
+--- a/cts/patterns.py
++++ b/cts/patterns.py
+@@ -180,6 +180,9 @@ class crm_cs_v0(BasePatterns):
+             r"error: log_operation:.*Operation 'reboot' .* with device 'FencingFail' returned:",
+             r"Child process .* terminated with signal 9",
+             r"getinfo response error: 1$",
++            "sbd.* error: inquisitor_child: DEBUG MODE IS ACTIVE",
++            "sbd.* pcmk:    error: crm_ipc_read: Connection to cib_ro failed",
++            "sbd.* pcmk:    error: mainloop_gio_callback: Connection to cib_ro.* closed .I/O condition=17",
+         ]
+ 
+         self.BadNews = [
+diff --git a/lib/pengine/utils.c b/lib/pengine/utils.c
+index 7423af1..baf6cb9 100644
+--- a/lib/pengine/utils.c
++++ b/lib/pengine/utils.c
+@@ -74,6 +74,7 @@ node_copy(node_t * this_node)
+ 
+     crm_trace("Copying %p (%s) to %p", this_node, this_node->details->uname, new_node);
+ 
++    new_node->rsc_discover_mode = this_node->rsc_discover_mode;
+     new_node->weight = this_node->weight;
+     new_node->fixed = this_node->fixed;
+     new_node->details = this_node->details;
+diff --git a/lib/services/systemd.c b/lib/services/systemd.c
+index 51ade44..a8bf1b4 100644
+--- a/lib/services/systemd.c
++++ b/lib/services/systemd.c
+@@ -461,10 +461,10 @@ systemd_async_dispatch(DBusPendingCall *pending, void *user_data)
+ 
+     if(op) {
+         crm_trace("Got result: %p for %p for %s, %s", reply, pending, op->rsc, op->action);
++        op->opaque->pending = NULL;
+     } else {
+         crm_trace("Got result: %p for %p", reply, pending);
+     }
+-    op->opaque->pending = NULL;
+     systemd_exec_result(reply, op);
+ 
+     if(pending) {
+diff --git a/pengine/allocate.c b/pengine/allocate.c
+index e708e26..45e2212 100644
+--- a/pengine/allocate.c
++++ b/pengine/allocate.c
+@@ -948,6 +948,28 @@ probe_resources(pe_working_set_t * data_set)
+     return TRUE;
+ }
+ 
++static void
++rsc_discover_filter(resource_t *rsc, node_t *node)
++{
++    GListPtr gIter = rsc->children;
++    resource_t *top = uber_parent(rsc);
++    node_t *match;
++
++    if (rsc->exclusive_discover == FALSE && top->exclusive_discover == FALSE) {
++        return;
++    }
++
++    for (; gIter != NULL; gIter = gIter->next) {
++        resource_t *child_rsc = (resource_t *) gIter->data;
++        rsc_discover_filter(child_rsc, node);
++    }
++
++    match = g_hash_table_lookup(rsc->allowed_nodes, node->details->id);
++    if (match && match->rsc_discover_mode != discover_exclusive) {
++        match->weight = -INFINITY;
++    }
++}
++
+ /*
+  * Count how many valid nodes we have (so we know the maximum number of
+  *  colors we can resolve).
+@@ -986,6 +1008,7 @@ stage2(pe_working_set_t * data_set)
+             resource_t *rsc = (resource_t *) gIter2->data;
+ 
+             common_apply_stickiness(rsc, node, data_set);
++            rsc_discover_filter(rsc, node);
+         }
+     }
+ 
+diff --git a/pengine/native.c b/pengine/native.c
+index 3dca702..6d62010 100644
+--- a/pengine/native.c
++++ b/pengine/native.c
+@@ -2103,6 +2103,9 @@ native_rsc_location(resource_t * rsc, rsc_to_node_t * constraint)
+         }
+ 
+         if (other_node->rsc_discover_mode < constraint->discover_mode) {
++            if (constraint->discover_mode == discover_exclusive) {
++                rsc->exclusive_discover = TRUE;
++            }
+             /* exclusive > never > always... always is default */
+             other_node->rsc_discover_mode = constraint->discover_mode;
+         }
+diff --git a/pengine/test10/resource-discovery.dot b/pengine/test10/resource-discovery.dot
+index efb2434..5b1aab9 100644
+--- a/pengine/test10/resource-discovery.dot
++++ b/pengine/test10/resource-discovery.dot
+@@ -1,41 +1,26 @@
+  digraph "g" {
+-"FAKE1_monitor_0 18builder" -> "probe_complete 18builder" [ style = bold]
+-"FAKE1_monitor_0 18builder" [ style=bold color="green" fontcolor="black"]
+-"FAKE1_monitor_0 18node1" -> "probe_complete 18node1" [ style = bold]
+-"FAKE1_monitor_0 18node1" [ style=bold color="green" fontcolor="black"]
+-"FAKE1_monitor_0 18node2" -> "probe_complete 18node2" [ style = bold]
+-"FAKE1_monitor_0 18node2" [ style=bold color="green" fontcolor="black"]
+-"FAKE1_monitor_0 18node3" -> "probe_complete 18node3" [ style = bold]
+-"FAKE1_monitor_0 18node3" [ style=bold color="green" fontcolor="black"]
+ "FAKE1_monitor_0 18node4" -> "probe_complete 18node4" [ style = bold]
+ "FAKE1_monitor_0 18node4" [ style=bold color="green" fontcolor="black"]
+-"FAKE1_monitor_60000 18node2" [ style=bold color="green" fontcolor="black"]
+-"FAKE1_start_0 18node2" -> "FAKE1_monitor_60000 18node2" [ style = bold]
+-"FAKE1_start_0 18node2" [ style=bold color="green" fontcolor="black"]
+-"FAKE2_monitor_60000 18node3" [ style=bold color="green" fontcolor="black"]
+-"FAKE2_start_0 18node3" -> "FAKE2_monitor_60000 18node3" [ style = bold]
+-"FAKE2_start_0 18node3" [ style=bold color="green" fontcolor="black"]
+-"FAKE2_stop_0 18node2" -> "FAKE2_start_0 18node3" [ style = bold]
+-"FAKE2_stop_0 18node2" -> "all_stopped" [ style = bold]
+-"FAKE2_stop_0 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKE1_monitor_60000 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKE1_start_0 18node4" -> "FAKE1_monitor_60000 18node4" [ style = bold]
++"FAKE1_start_0 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKE2_monitor_0 18node1" -> "probe_complete 18node1" [ style = bold]
++"FAKE2_monitor_0 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKE2_monitor_0 18node2" -> "probe_complete 18node2" [ style = bold]
++"FAKE2_monitor_0 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKE2_monitor_60000 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKE2_start_0 18node2" -> "FAKE2_monitor_60000 18node2" [ style = bold]
++"FAKE2_start_0 18node2" [ style=bold color="green" fontcolor="black"]
+ "FAKE3_monitor_0 18node3" -> "probe_complete 18node3" [ style = bold]
+ "FAKE3_monitor_0 18node3" [ style=bold color="green" fontcolor="black"]
+ "FAKE3_monitor_60000 18node3" [ style=bold color="green" fontcolor="black"]
+ "FAKE3_start_0 18node3" -> "FAKE3_monitor_60000 18node3" [ style = bold]
+ "FAKE3_start_0 18node3" [ style=bold color="green" fontcolor="black"]
+-"FAKE3_stop_0 18builder" -> "FAKE3_start_0 18node3" [ style = bold]
+-"FAKE3_stop_0 18builder" -> "all_stopped" [ style = bold]
+-"FAKE3_stop_0 18builder" [ style=bold color="green" fontcolor="black"]
+ "FAKE4_monitor_0 18node4" -> "probe_complete 18node4" [ style = bold]
+ "FAKE4_monitor_0 18node4" [ style=bold color="green" fontcolor="black"]
+ "FAKE4_monitor_60000 18node4" [ style=bold color="green" fontcolor="black"]
+ "FAKE4_start_0 18node4" -> "FAKE4_monitor_60000 18node4" [ style = bold]
+ "FAKE4_start_0 18node4" [ style=bold color="green" fontcolor="black"]
+-"FAKE4_stop_0 18node1" -> "FAKE4_start_0 18node4" [ style = bold]
+-"FAKE4_stop_0 18node1" -> "all_stopped" [ style = bold]
+-"FAKE4_stop_0 18node1" [ style=bold color="green" fontcolor="black"]
+-"FAKE5_monitor_0 18builder" -> "probe_complete 18builder" [ style = bold]
+-"FAKE5_monitor_0 18builder" [ style=bold color="green" fontcolor="black"]
+ "FAKE5_monitor_0 18node1" -> "probe_complete 18node1" [ style = bold]
+ "FAKE5_monitor_0 18node1" [ style=bold color="green" fontcolor="black"]
+ "FAKE5_monitor_0 18node2" -> "probe_complete 18node2" [ style = bold]
+@@ -49,56 +34,54 @@
+ "FAKE5_monitor_60000 remote1" [ style=bold color="green" fontcolor="black"]
+ "FAKE5_start_0 remote1" -> "FAKE5_monitor_60000 remote1" [ style = bold]
+ "FAKE5_start_0 remote1" [ style=bold color="green" fontcolor="black"]
++"FAKE6_monitor_0 18node1" -> "probe_complete 18node1" [ style = bold]
++"FAKE6_monitor_0 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKE6_monitor_0 18node2" -> "probe_complete 18node2" [ style = bold]
++"FAKE6_monitor_0 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKE6_monitor_10000 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKE6_start_0 18node1" -> "FAKE6_monitor_10000 18node1" [ style = bold]
++"FAKE6_start_0 18node1" -> "FAKE7_start_0 18node1" [ style = bold]
++"FAKE6_start_0 18node1" -> "FAKEGROUP_running_0" [ style = bold]
++"FAKE6_start_0 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKE7_monitor_0 18node1" -> "probe_complete 18node1" [ style = bold]
++"FAKE7_monitor_0 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKE7_monitor_0 18node2" -> "probe_complete 18node2" [ style = bold]
++"FAKE7_monitor_0 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKE7_monitor_10000 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKE7_start_0 18node1" -> "FAKE7_monitor_10000 18node1" [ style = bold]
++"FAKE7_start_0 18node1" -> "FAKEGROUP_running_0" [ style = bold]
++"FAKE7_start_0 18node1" [ style=bold color="green" fontcolor="black"]
+ "FAKECLONE1-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+ "FAKECLONE1-clone_start_0" -> "FAKECLONE1-clone_running_0" [ style = bold]
+-"FAKECLONE1-clone_start_0" -> "FAKECLONE1:0_start_0 18builder" [ style = bold]
+-"FAKECLONE1-clone_start_0" -> "FAKECLONE1:1_start_0 18node1" [ style = bold]
+-"FAKECLONE1-clone_start_0" -> "FAKECLONE1:2_start_0 18node2" [ style = bold]
+-"FAKECLONE1-clone_start_0" -> "FAKECLONE1:3_start_0 18node4" [ style = bold]
+-"FAKECLONE1-clone_start_0" -> "FAKECLONE1:4_start_0 remote1" [ style = bold]
+-"FAKECLONE1-clone_start_0" -> "FAKECLONE1:5_start_0 18node3" [ style = bold]
++"FAKECLONE1-clone_start_0" -> "FAKECLONE1:0_start_0 18node1" [ style = bold]
++"FAKECLONE1-clone_start_0" -> "FAKECLONE1:1_start_0 remote1" [ style = bold]
+ "FAKECLONE1-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+-"FAKECLONE1:0_monitor_60000 18builder" [ style=bold color="green" fontcolor="black"]
+-"FAKECLONE1:0_start_0 18builder" -> "FAKECLONE1-clone_running_0" [ style = bold]
+-"FAKECLONE1:0_start_0 18builder" -> "FAKECLONE1:0_monitor_60000 18builder" [ style = bold]
+-"FAKECLONE1:0_start_0 18builder" [ style=bold color="green" fontcolor="black"]
+-"FAKECLONE1:1_monitor_60000 18node1" [ style=bold color="green" fontcolor="black"]
+-"FAKECLONE1:1_start_0 18node1" -> "FAKECLONE1-clone_running_0" [ style = bold]
+-"FAKECLONE1:1_start_0 18node1" -> "FAKECLONE1:1_monitor_60000 18node1" [ style = bold]
+-"FAKECLONE1:1_start_0 18node1" [ style=bold color="green" fontcolor="black"]
+-"FAKECLONE1:2_monitor_60000 18node2" [ style=bold color="green" fontcolor="black"]
+-"FAKECLONE1:2_start_0 18node2" -> "FAKECLONE1-clone_running_0" [ style = bold]
+-"FAKECLONE1:2_start_0 18node2" -> "FAKECLONE1:2_monitor_60000 18node2" [ style = bold]
+-"FAKECLONE1:2_start_0 18node2" [ style=bold color="green" fontcolor="black"]
+-"FAKECLONE1:3_monitor_60000 18node4" [ style=bold color="green" fontcolor="black"]
+-"FAKECLONE1:3_start_0 18node4" -> "FAKECLONE1-clone_running_0" [ style = bold]
+-"FAKECLONE1:3_start_0 18node4" -> "FAKECLONE1:3_monitor_60000 18node4" [ style = bold]
+-"FAKECLONE1:3_start_0 18node4" [ style=bold color="green" fontcolor="black"]
+-"FAKECLONE1:4_monitor_0 remote1" -> "probe_complete remote1" [ style = bold]
+-"FAKECLONE1:4_monitor_0 remote1" [ style=bold color="green" fontcolor="black"]
+-"FAKECLONE1:4_monitor_60000 remote1" [ style=bold color="green" fontcolor="black"]
+-"FAKECLONE1:4_start_0 remote1" -> "FAKECLONE1-clone_running_0" [ style = bold]
+-"FAKECLONE1:4_start_0 remote1" -> "FAKECLONE1:4_monitor_60000 remote1" [ style = bold]
+-"FAKECLONE1:4_start_0 remote1" [ style=bold color="green" fontcolor="black"]
+-"FAKECLONE1:5_monitor_60000 18node3" [ style=bold color="green" fontcolor="black"]
+-"FAKECLONE1:5_start_0 18node3" -> "FAKECLONE1-clone_running_0" [ style = bold]
+-"FAKECLONE1:5_start_0 18node3" -> "FAKECLONE1:5_monitor_60000 18node3" [ style = bold]
+-"FAKECLONE1:5_start_0 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:0_monitor_0 18node1" -> "probe_complete 18node1" [ style = bold]
++"FAKECLONE1:0_monitor_0 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:0_monitor_60000 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:0_start_0 18node1" -> "FAKECLONE1-clone_running_0" [ style = bold]
++"FAKECLONE1:0_start_0 18node1" -> "FAKECLONE1:0_monitor_60000 18node1" [ style = bold]
++"FAKECLONE1:0_start_0 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:1_monitor_0 remote1" -> "probe_complete remote1" [ style = bold]
++"FAKECLONE1:1_monitor_0 remote1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:1_monitor_60000 remote1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:1_start_0 remote1" -> "FAKECLONE1-clone_running_0" [ style = bold]
++"FAKECLONE1:1_start_0 remote1" -> "FAKECLONE1:1_monitor_60000 remote1" [ style = bold]
++"FAKECLONE1:1_start_0 remote1" [ style=bold color="green" fontcolor="black"]
+ "FAKECLONE2-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+ "FAKECLONE2-clone_start_0" -> "FAKECLONE2-clone_running_0" [ style = bold]
+-"FAKECLONE2-clone_start_0" -> "FAKECLONE2:0_start_0 18builder" [ style = bold]
++"FAKECLONE2-clone_start_0" -> "FAKECLONE2:0_start_0 18node3" [ style = bold]
+ "FAKECLONE2-clone_start_0" -> "FAKECLONE2:1_start_0 18node1" [ style = bold]
+ "FAKECLONE2-clone_start_0" -> "FAKECLONE2:2_start_0 18node2" [ style = bold]
+ "FAKECLONE2-clone_start_0" -> "FAKECLONE2:3_start_0 18node4" [ style = bold]
+ "FAKECLONE2-clone_start_0" -> "FAKECLONE2:4_start_0 remote1" [ style = bold]
+-"FAKECLONE2-clone_start_0" -> "FAKECLONE2:5_start_0 18node3" [ style = bold]
+ "FAKECLONE2-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+-"FAKECLONE2:0_monitor_0 18builder" -> "probe_complete 18builder" [ style = bold]
+-"FAKECLONE2:0_monitor_0 18builder" [ style=bold color="green" fontcolor="black"]
+-"FAKECLONE2:0_monitor_60000 18builder" [ style=bold color="green" fontcolor="black"]
+-"FAKECLONE2:0_start_0 18builder" -> "FAKECLONE2-clone_running_0" [ style = bold]
+-"FAKECLONE2:0_start_0 18builder" -> "FAKECLONE2:0_monitor_60000 18builder" [ style = bold]
+-"FAKECLONE2:0_start_0 18builder" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:0_monitor_0 18node3" -> "probe_complete 18node3" [ style = bold]
++"FAKECLONE2:0_monitor_0 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:0_monitor_60000 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:0_start_0 18node3" -> "FAKECLONE2-clone_running_0" [ style = bold]
++"FAKECLONE2:0_start_0 18node3" -> "FAKECLONE2:0_monitor_60000 18node3" [ style = bold]
++"FAKECLONE2:0_start_0 18node3" [ style=bold color="green" fontcolor="black"]
+ "FAKECLONE2:1_monitor_0 18node1" -> "probe_complete 18node1" [ style = bold]
+ "FAKECLONE2:1_monitor_0 18node1" [ style=bold color="green" fontcolor="black"]
+ "FAKECLONE2:1_monitor_60000 18node1" [ style=bold color="green" fontcolor="black"]
+@@ -121,15 +104,11 @@
+ "FAKECLONE2:4_start_0 remote1" -> "FAKECLONE2-clone_running_0" [ style = bold]
+ "FAKECLONE2:4_start_0 remote1" -> "FAKECLONE2:4_monitor_60000 remote1" [ style = bold]
+ "FAKECLONE2:4_start_0 remote1" [ style=bold color="green" fontcolor="black"]
+-"FAKECLONE2:5_monitor_0 18node3" -> "probe_complete 18node3" [ style = bold]
+-"FAKECLONE2:5_monitor_0 18node3" [ style=bold color="green" fontcolor="black"]
+-"FAKECLONE2:5_monitor_60000 18node3" [ style=bold color="green" fontcolor="black"]
+-"FAKECLONE2:5_start_0 18node3" -> "FAKECLONE2-clone_running_0" [ style = bold]
+-"FAKECLONE2:5_start_0 18node3" -> "FAKECLONE2:5_monitor_60000 18node3" [ style = bold]
+-"FAKECLONE2:5_start_0 18node3" [ style=bold color="green" fontcolor="black"]
+-"all_stopped" [ style=bold color="green" fontcolor="orange"]
+-"probe_complete 18builder" -> "probe_nodes_complete" [ style = bold]
+-"probe_complete 18builder" [ style=bold color="green" fontcolor="black"]
++"FAKEGROUP_running_0" [ style=bold color="green" fontcolor="orange"]
++"FAKEGROUP_start_0" -> "FAKE6_start_0 18node1" [ style = bold]
++"FAKEGROUP_start_0" -> "FAKE7_start_0 18node1" [ style = bold]
++"FAKEGROUP_start_0" -> "FAKEGROUP_running_0" [ style = bold]
++"FAKEGROUP_start_0" [ style=bold color="green" fontcolor="orange"]
+ "probe_complete 18node1" -> "probe_nodes_complete" [ style = bold]
+ "probe_complete 18node1" [ style=bold color="green" fontcolor="black"]
+ "probe_complete 18node2" -> "probe_nodes_complete" [ style = bold]
+@@ -140,46 +119,53 @@
+ "probe_complete 18node4" [ style=bold color="green" fontcolor="black"]
+ "probe_complete remote1" -> "probe_complete" [ style = bold]
+ "probe_complete remote1" [ style=bold color="green" fontcolor="black"]
+-"probe_complete" -> "FAKE1_start_0 18node2" [ style = bold]
+-"probe_complete" -> "FAKE2_stop_0 18node2" [ style = bold]
++"probe_complete" -> "FAKE1_start_0 18node4" [ style = bold]
++"probe_complete" -> "FAKE2_start_0 18node2" [ style = bold]
+ "probe_complete" -> "FAKE3_start_0 18node3" [ style = bold]
+-"probe_complete" -> "FAKE3_stop_0 18builder" [ style = bold]
+ "probe_complete" -> "FAKE4_start_0 18node4" [ style = bold]
+-"probe_complete" -> "FAKE4_stop_0 18node1" [ style = bold]
+ "probe_complete" -> "FAKE5_start_0 remote1" [ style = bold]
+-"probe_complete" -> "FAKECLONE1:0_start_0 18builder" [ style = bold]
+-"probe_complete" -> "FAKECLONE1:1_start_0 18node1" [ style = bold]
+-"probe_complete" -> "FAKECLONE1:2_start_0 18node2" [ style = bold]
+-"probe_complete" -> "FAKECLONE1:3_start_0 18node4" [ style = bold]
+-"probe_complete" -> "FAKECLONE1:4_start_0 remote1" [ style = bold]
+-"probe_complete" -> "FAKECLONE1:5_start_0 18node3" [ style = bold]
+-"probe_complete" -> "FAKECLONE2:0_start_0 18builder" [ style = bold]
++"probe_complete" -> "FAKE6_start_0 18node1" [ style = bold]
++"probe_complete" -> "FAKE7_start_0 18node1" [ style = bold]
++"probe_complete" -> "FAKECLONE1:0_start_0 18node1" [ style = bold]
++"probe_complete" -> "FAKECLONE1:1_start_0 remote1" [ style = bold]
++"probe_complete" -> "FAKECLONE2:0_start_0 18node3" [ style = bold]
+ "probe_complete" -> "FAKECLONE2:1_start_0 18node1" [ style = bold]
+ "probe_complete" -> "FAKECLONE2:2_start_0 18node2" [ style = bold]
+ "probe_complete" -> "FAKECLONE2:3_start_0 18node4" [ style = bold]
+ "probe_complete" -> "FAKECLONE2:4_start_0 remote1" [ style = bold]
+-"probe_complete" -> "FAKECLONE2:5_start_0 18node3" [ style = bold]
++"probe_complete" -> "shooter_start_0 18node2" [ style = bold]
+ "probe_complete" [ style=bold color="green" fontcolor="orange"]
+-"probe_nodes_complete" -> "remote1_start_0 18builder" [ style = bold]
++"probe_nodes_complete" -> "remote1_start_0 18node1" [ style = bold]
+ "probe_nodes_complete" [ style=bold color="green" fontcolor="orange"]
++"remote1_monitor_0 18node1" -> "probe_complete 18node1" [ style = bold]
++"remote1_monitor_0 18node1" [ style=bold color="green" fontcolor="black"]
++"remote1_monitor_0 18node2" -> "probe_complete 18node2" [ style = bold]
++"remote1_monitor_0 18node2" [ style=bold color="green" fontcolor="black"]
+ "remote1_monitor_0 18node3" -> "probe_complete 18node3" [ style = bold]
+ "remote1_monitor_0 18node3" [ style=bold color="green" fontcolor="black"]
+ "remote1_monitor_0 18node4" -> "probe_complete 18node4" [ style = bold]
+ "remote1_monitor_0 18node4" [ style=bold color="green" fontcolor="black"]
+-"remote1_monitor_60000 18builder" [ style=bold color="green" fontcolor="black"]
+-"remote1_start_0 18builder" -> "FAKE5_monitor_0 remote1" [ style = bold]
+-"remote1_start_0 18builder" -> "FAKE5_monitor_60000 remote1" [ style = bold]
+-"remote1_start_0 18builder" -> "FAKE5_start_0 remote1" [ style = bold]
+-"remote1_start_0 18builder" -> "FAKECLONE1:4_monitor_0 remote1" [ style = bold]
+-"remote1_start_0 18builder" -> "FAKECLONE1:4_monitor_60000 remote1" [ style = bold]
+-"remote1_start_0 18builder" -> "FAKECLONE1:4_start_0 remote1" [ style = bold]
+-"remote1_start_0 18builder" -> "FAKECLONE2:4_monitor_0 remote1" [ style = bold]
+-"remote1_start_0 18builder" -> "FAKECLONE2:4_monitor_60000 remote1" [ style = bold]
+-"remote1_start_0 18builder" -> "FAKECLONE2:4_start_0 remote1" [ style = bold]
+-"remote1_start_0 18builder" -> "remote1_monitor_60000 18builder" [ style = bold]
+-"remote1_start_0 18builder" [ style=bold color="green" fontcolor="black"]
++"remote1_monitor_60000 18node1" [ style=bold color="green" fontcolor="black"]
++"remote1_start_0 18node1" -> "FAKE5_monitor_0 remote1" [ style = bold]
++"remote1_start_0 18node1" -> "FAKE5_monitor_60000 remote1" [ style = bold]
++"remote1_start_0 18node1" -> "FAKE5_start_0 remote1" [ style = bold]
++"remote1_start_0 18node1" -> "FAKECLONE1:1_monitor_0 remote1" [ style = bold]
++"remote1_start_0 18node1" -> "FAKECLONE1:1_monitor_60000 remote1" [ style = bold]
++"remote1_start_0 18node1" -> "FAKECLONE1:1_start_0 remote1" [ style = bold]
++"remote1_start_0 18node1" -> "FAKECLONE2:4_monitor_0 remote1" [ style = bold]
++"remote1_start_0 18node1" -> "FAKECLONE2:4_monitor_60000 remote1" [ style = bold]
++"remote1_start_0 18node1" -> "FAKECLONE2:4_start_0 remote1" [ style = bold]
++"remote1_start_0 18node1" -> "remote1_monitor_60000 18node1" [ style = bold]
++"remote1_start_0 18node1" [ style=bold color="green" fontcolor="black"]
++"shooter_monitor_0 18node1" -> "probe_complete 18node1" [ style = bold]
++"shooter_monitor_0 18node1" [ style=bold color="green" fontcolor="black"]
++"shooter_monitor_0 18node2" -> "probe_complete 18node2" [ style = bold]
++"shooter_monitor_0 18node2" [ style=bold color="green" fontcolor="black"]
+ "shooter_monitor_0 18node3" -> "probe_complete 18node3" [ style = bold]
+ "shooter_monitor_0 18node3" [ style=bold color="green" fontcolor="black"]
+ "shooter_monitor_0 18node4" -> "probe_complete 18node4" [ style = bold]
+ "shooter_monitor_0 18node4" [ style=bold color="green" fontcolor="black"]
++"shooter_monitor_60000 18node2" [ style=bold color="green" fontcolor="black"]
++"shooter_start_0 18node2" -> "shooter_monitor_60000 18node2" [ style = bold]
++"shooter_start_0 18node2" [ style=bold color="green" fontcolor="black"]
+ }
+diff --git a/pengine/test10/resource-discovery.exp b/pengine/test10/resource-discovery.exp
+index 2770f4e..5459bd7 100644
+--- a/pengine/test10/resource-discovery.exp
++++ b/pengine/test10/resource-discovery.exp
+@@ -1,52 +1,52 @@
+ <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+   <synapse id="0">
+     <action_set>
+-      <rsc_op id="27" operation="monitor" operation_key="shooter_monitor_0" on_node="18node4" on_node_uuid="4">
++      <rsc_op id="38" operation="monitor" operation_key="shooter_monitor_60000" on_node="18node2" on_node_uuid="2">
+         <primitive id="shooter" class="stonith" type="fence_xvm"/>
+-        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+-    <inputs/>
++    <inputs>
++      <trigger>
++        <rsc_op id="37" operation="start" operation_key="shooter_start_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
+   </synapse>
+   <synapse id="1">
+     <action_set>
+-      <rsc_op id="20" operation="monitor" operation_key="shooter_monitor_0" on_node="18node3" on_node_uuid="3">
++      <rsc_op id="37" operation="start" operation_key="shooter_start_0" on_node="18node2" on_node_uuid="2">
+         <primitive id="shooter" class="stonith" type="fence_xvm"/>
+-        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++        <attributes CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+-    <inputs/>
++    <inputs>
++      <trigger>
++        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++    </inputs>
+   </synapse>
+   <synapse id="2">
+     <action_set>
+-      <rsc_op id="40" operation="monitor" operation_key="remote1_monitor_60000" on_node="18builder" on_node_uuid="5">
+-        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
+-        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      <rsc_op id="27" operation="monitor" operation_key="shooter_monitor_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="shooter" class="stonith" type="fence_xvm"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+-    <inputs>
+-      <trigger>
+-        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
+-      </trigger>
+-    </inputs>
++    <inputs/>
+   </synapse>
+   <synapse id="3">
+     <action_set>
+-      <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5">
+-        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
+-        <attributes CRM_meta_timeout="20000" />
++      <rsc_op id="21" operation="monitor" operation_key="shooter_monitor_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="shooter" class="stonith" type="fence_xvm"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+-    <inputs>
+-      <trigger>
+-        <pseudo_event id="7" operation="probe_nodes_complete" operation_key="probe_nodes_complete"/>
+-      </trigger>
+-    </inputs>
++    <inputs/>
+   </synapse>
+   <synapse id="4">
+     <action_set>
+-      <rsc_op id="28" operation="monitor" operation_key="remote1_monitor_0" on_node="18node4" on_node_uuid="4">
+-        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
++      <rsc_op id="14" operation="monitor" operation_key="shooter_monitor_0" on_node="18node2" on_node_uuid="2">
++        <primitive id="shooter" class="stonith" type="fence_xvm"/>
+         <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+@@ -54,8 +54,8 @@
+   </synapse>
+   <synapse id="5">
+     <action_set>
+-      <rsc_op id="21" operation="monitor" operation_key="remote1_monitor_0" on_node="18node3" on_node_uuid="3">
+-        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
++      <rsc_op id="5" operation="monitor" operation_key="shooter_monitor_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="shooter" class="stonith" type="fence_xvm"/>
+         <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+@@ -63,34 +63,34 @@
+   </synapse>
+   <synapse id="6">
+     <action_set>
+-      <rsc_op id="42" operation="monitor" operation_key="FAKE1_monitor_60000" on_node="18node2" on_node_uuid="2">
+-        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++      <rsc_op id="40" operation="monitor" operation_key="remote1_monitor_60000" on_node="18node1" on_node_uuid="1">
++        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
+         <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="41" operation="start" operation_key="FAKE1_start_0" on_node="18node2" on_node_uuid="2"/>
++        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+     </inputs>
+   </synapse>
+   <synapse id="7">
+     <action_set>
+-      <rsc_op id="41" operation="start" operation_key="FAKE1_start_0" on_node="18node2" on_node_uuid="2">
+-        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++      <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
+         <attributes CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++        <pseudo_event id="3" operation="probe_nodes_complete" operation_key="probe_nodes_complete"/>
+       </trigger>
+     </inputs>
+   </synapse>
+   <synapse id="8">
+     <action_set>
+-      <rsc_op id="29" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node4" on_node_uuid="4">
+-        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++      <rsc_op id="28" operation="monitor" operation_key="remote1_monitor_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
+         <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+@@ -98,8 +98,8 @@
+   </synapse>
+   <synapse id="9">
+     <action_set>
+-      <rsc_op id="22" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node3" on_node_uuid="3">
+-        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++      <rsc_op id="22" operation="monitor" operation_key="remote1_monitor_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
+         <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+@@ -107,8 +107,8 @@
+   </synapse>
+   <synapse id="10">
+     <action_set>
+-      <rsc_op id="17" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node2" on_node_uuid="2">
+-        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++      <rsc_op id="15" operation="monitor" operation_key="remote1_monitor_0" on_node="18node2" on_node_uuid="2">
++        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
+         <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+@@ -116,8 +116,8 @@
+   </synapse>
+   <synapse id="11">
+     <action_set>
+-      <rsc_op id="13" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node1" on_node_uuid="1">
+-        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++      <rsc_op id="6" operation="monitor" operation_key="remote1_monitor_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
+         <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+@@ -125,95 +125,110 @@
+   </synapse>
+   <synapse id="12">
+     <action_set>
+-      <rsc_op id="9" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18builder" on_node_uuid="5">
++      <rsc_op id="42" operation="monitor" operation_key="FAKE1_monitor_60000" on_node="18node4" on_node_uuid="4">
+         <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+-      </rsc_op>
+-    </action_set>
+-    <inputs/>
+-  </synapse>
+-  <synapse id="13">
+-    <action_set>
+-      <rsc_op id="45" operation="monitor" operation_key="FAKE2_monitor_60000" on_node="18node3" on_node_uuid="3">
+-        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
+         <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="44" operation="start" operation_key="FAKE2_start_0" on_node="18node3" on_node_uuid="3"/>
++        <rsc_op id="41" operation="start" operation_key="FAKE1_start_0" on_node="18node4" on_node_uuid="4"/>
+       </trigger>
+     </inputs>
+   </synapse>
+-  <synapse id="14">
++  <synapse id="13">
+     <action_set>
+-      <rsc_op id="44" operation="start" operation_key="FAKE2_start_0" on_node="18node3" on_node_uuid="3">
+-        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
++      <rsc_op id="41" operation="start" operation_key="FAKE1_start_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
+         <attributes CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="43" operation="stop" operation_key="FAKE2_stop_0" on_node="18node2" on_node_uuid="2"/>
++        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+       </trigger>
+     </inputs>
+   </synapse>
++  <synapse id="14">
++    <action_set>
++      <rsc_op id="29" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
+   <synapse id="15">
+     <action_set>
+-      <rsc_op id="43" operation="stop" operation_key="FAKE2_stop_0" on_node="18node2" on_node_uuid="2">
++      <rsc_op id="44" operation="monitor" operation_key="FAKE2_monitor_60000" on_node="18node2" on_node_uuid="2">
+         <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_timeout="20000" />
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++        <rsc_op id="43" operation="start" operation_key="FAKE2_start_0" on_node="18node2" on_node_uuid="2"/>
+       </trigger>
+     </inputs>
+   </synapse>
+   <synapse id="16">
+     <action_set>
+-      <rsc_op id="48" operation="monitor" operation_key="FAKE3_monitor_60000" on_node="18node3" on_node_uuid="3">
+-        <primitive id="FAKE3" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      <rsc_op id="43" operation="start" operation_key="FAKE2_start_0" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="47" operation="start" operation_key="FAKE3_start_0" on_node="18node3" on_node_uuid="3"/>
++        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+       </trigger>
+     </inputs>
+   </synapse>
+   <synapse id="17">
+     <action_set>
+-      <rsc_op id="47" operation="start" operation_key="FAKE3_start_0" on_node="18node3" on_node_uuid="3">
++      <rsc_op id="16" operation="monitor" operation_key="FAKE2_monitor_0" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="18">
++    <action_set>
++      <rsc_op id="7" operation="monitor" operation_key="FAKE2_monitor_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="19">
++    <action_set>
++      <rsc_op id="46" operation="monitor" operation_key="FAKE3_monitor_60000" on_node="18node3" on_node_uuid="3">
+         <primitive id="FAKE3" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_timeout="20000" />
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
+-      </trigger>
+-      <trigger>
+-        <rsc_op id="46" operation="stop" operation_key="FAKE3_stop_0" on_node="18builder" on_node_uuid="5"/>
++        <rsc_op id="45" operation="start" operation_key="FAKE3_start_0" on_node="18node3" on_node_uuid="3"/>
+       </trigger>
+     </inputs>
+   </synapse>
+-  <synapse id="18">
++  <synapse id="20">
+     <action_set>
+-      <rsc_op id="46" operation="stop" operation_key="FAKE3_stop_0" on_node="18builder" on_node_uuid="5">
++      <rsc_op id="45" operation="start" operation_key="FAKE3_start_0" on_node="18node3" on_node_uuid="3">
+         <primitive id="FAKE3" class="ocf" provider="heartbeat" type="Dummy"/>
+         <attributes CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+       </trigger>
+     </inputs>
+   </synapse>
+-  <synapse id="19">
++  <synapse id="21">
+     <action_set>
+       <rsc_op id="23" operation="monitor" operation_key="FAKE3_monitor_0" on_node="18node3" on_node_uuid="3">
+         <primitive id="FAKE3" class="ocf" provider="heartbeat" type="Dummy"/>
+@@ -222,49 +237,33 @@
+     </action_set>
+     <inputs/>
+   </synapse>
+-  <synapse id="20">
++  <synapse id="22">
+     <action_set>
+-      <rsc_op id="51" operation="monitor" operation_key="FAKE4_monitor_60000" on_node="18node4" on_node_uuid="4">
++      <rsc_op id="48" operation="monitor" operation_key="FAKE4_monitor_60000" on_node="18node4" on_node_uuid="4">
+         <primitive id="FAKE4" class="ocf" provider="heartbeat" type="Dummy"/>
+         <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="50" operation="start" operation_key="FAKE4_start_0" on_node="18node4" on_node_uuid="4"/>
++        <rsc_op id="47" operation="start" operation_key="FAKE4_start_0" on_node="18node4" on_node_uuid="4"/>
+       </trigger>
+     </inputs>
+   </synapse>
+-  <synapse id="21">
+-    <action_set>
+-      <rsc_op id="50" operation="start" operation_key="FAKE4_start_0" on_node="18node4" on_node_uuid="4">
+-        <primitive id="FAKE4" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_timeout="20000" />
+-      </rsc_op>
+-    </action_set>
+-    <inputs>
+-      <trigger>
+-        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
+-      </trigger>
+-      <trigger>
+-        <rsc_op id="49" operation="stop" operation_key="FAKE4_stop_0" on_node="18node1" on_node_uuid="1"/>
+-      </trigger>
+-    </inputs>
+-  </synapse>
+-  <synapse id="22">
++  <synapse id="23">
+     <action_set>
+-      <rsc_op id="49" operation="stop" operation_key="FAKE4_stop_0" on_node="18node1" on_node_uuid="1">
++      <rsc_op id="47" operation="start" operation_key="FAKE4_start_0" on_node="18node4" on_node_uuid="4">
+         <primitive id="FAKE4" class="ocf" provider="heartbeat" type="Dummy"/>
+         <attributes CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+       </trigger>
+     </inputs>
+   </synapse>
+-  <synapse id="23">
++  <synapse id="24">
+     <action_set>
+       <rsc_op id="30" operation="monitor" operation_key="FAKE4_monitor_0" on_node="18node4" on_node_uuid="4">
+         <primitive id="FAKE4" class="ocf" provider="heartbeat" type="Dummy"/>
+@@ -273,63 +272,54 @@
+     </action_set>
+     <inputs/>
+   </synapse>
+-  <synapse id="24">
++  <synapse id="25">
+     <action_set>
+-      <rsc_op id="53" operation="monitor" operation_key="FAKE5_monitor_60000" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
++      <rsc_op id="50" operation="monitor" operation_key="FAKE5_monitor_60000" on_node="remote1" on_node_uuid="remote1" router_node="18node1">
+         <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
+         <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
++        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+       <trigger>
+-        <rsc_op id="52" operation="start" operation_key="FAKE5_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++        <rsc_op id="49" operation="start" operation_key="FAKE5_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18node1"/>
+       </trigger>
+     </inputs>
+   </synapse>
+-  <synapse id="25">
++  <synapse id="26">
+     <action_set>
+-      <rsc_op id="52" operation="start" operation_key="FAKE5_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
++      <rsc_op id="49" operation="start" operation_key="FAKE5_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18node1">
+         <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
+         <attributes CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+       </trigger>
+       <trigger>
+-        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
++        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+     </inputs>
+   </synapse>
+-  <synapse id="26">
++  <synapse id="27">
+     <action_set>
+-      <rsc_op id="34" operation="monitor" operation_key="FAKE5_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
++      <rsc_op id="34" operation="monitor" operation_key="FAKE5_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18node1">
+         <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
+         <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
++        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+     </inputs>
+   </synapse>
+-  <synapse id="27">
+-    <action_set>
+-      <rsc_op id="31" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node4" on_node_uuid="4">
+-        <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+-      </rsc_op>
+-    </action_set>
+-    <inputs/>
+-  </synapse>
+   <synapse id="28">
+     <action_set>
+-      <rsc_op id="24" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node3" on_node_uuid="3">
++      <rsc_op id="31" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node4" on_node_uuid="4">
+         <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
+         <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+       </rsc_op>
+@@ -338,7 +328,7 @@
+   </synapse>
+   <synapse id="29">
+     <action_set>
+-      <rsc_op id="18" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node2" on_node_uuid="2">
++      <rsc_op id="24" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node3" on_node_uuid="3">
+         <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
+         <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+       </rsc_op>
+@@ -347,7 +337,7 @@
+   </synapse>
+   <synapse id="30">
+     <action_set>
+-      <rsc_op id="14" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node1" on_node_uuid="1">
++      <rsc_op id="17" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node2" on_node_uuid="2">
+         <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
+         <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+       </rsc_op>
+@@ -356,7 +346,7 @@
+   </synapse>
+   <synapse id="31">
+     <action_set>
+-      <rsc_op id="10" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18builder" on_node_uuid="5">
++      <rsc_op id="8" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node1" on_node_uuid="1">
+         <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
+         <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+       </rsc_op>
+@@ -365,517 +355,480 @@
+   </synapse>
+   <synapse id="32">
+     <action_set>
+-      <rsc_op id="55" operation="monitor" operation_key="FAKECLONE1:0_monitor_60000" on_node="18builder" on_node_uuid="5">
++      <rsc_op id="52" operation="monitor" operation_key="FAKECLONE1:0_monitor_60000" on_node="18node1" on_node_uuid="1">
+         <primitive id="FAKECLONE1" long-id="FAKECLONE1:0" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="0" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="54" operation="start" operation_key="FAKECLONE1:0_start_0" on_node="18builder" on_node_uuid="5"/>
++        <rsc_op id="51" operation="start" operation_key="FAKECLONE1:0_start_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+     </inputs>
+   </synapse>
+   <synapse id="33">
+     <action_set>
+-      <rsc_op id="54" operation="start" operation_key="FAKECLONE1:0_start_0" on_node="18builder" on_node_uuid="5">
++      <rsc_op id="51" operation="start" operation_key="FAKECLONE1:0_start_0" on_node="18node1" on_node_uuid="1">
+         <primitive id="FAKECLONE1" long-id="FAKECLONE1:0" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="0" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+       </trigger>
+       <trigger>
+-        <pseudo_event id="66" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
++        <pseudo_event id="55" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
+       </trigger>
+     </inputs>
+   </synapse>
+   <synapse id="34">
+     <action_set>
+-      <rsc_op id="57" operation="monitor" operation_key="FAKECLONE1:1_monitor_60000" on_node="18node1" on_node_uuid="1">
+-        <primitive id="FAKECLONE1" long-id="FAKECLONE1:1" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="1" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      <rsc_op id="9" operation="monitor" operation_key="FAKECLONE1:0_monitor_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+-    <inputs>
+-      <trigger>
+-        <rsc_op id="56" operation="start" operation_key="FAKECLONE1:1_start_0" on_node="18node1" on_node_uuid="1"/>
+-      </trigger>
+-    </inputs>
++    <inputs/>
+   </synapse>
+   <synapse id="35">
+     <action_set>
+-      <rsc_op id="56" operation="start" operation_key="FAKECLONE1:1_start_0" on_node="18node1" on_node_uuid="1">
++      <rsc_op id="54" operation="monitor" operation_key="FAKECLONE1:1_monitor_60000" on_node="remote1" on_node_uuid="remote1" router_node="18node1">
+         <primitive id="FAKECLONE1" long-id="FAKECLONE1:1" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="1" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+       <trigger>
+-        <pseudo_event id="66" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
++        <rsc_op id="53" operation="start" operation_key="FAKECLONE1:1_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18node1"/>
+       </trigger>
+     </inputs>
+   </synapse>
+   <synapse id="36">
+     <action_set>
+-      <rsc_op id="59" operation="monitor" operation_key="FAKECLONE1:2_monitor_60000" on_node="18node2" on_node_uuid="2">
+-        <primitive id="FAKECLONE1" long-id="FAKECLONE1:2" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="2" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      <rsc_op id="53" operation="start" operation_key="FAKECLONE1:1_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18node1">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="58" operation="start" operation_key="FAKECLONE1:2_start_0" on_node="18node2" on_node_uuid="2"/>
++        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+       </trigger>
+-    </inputs>
+-  </synapse>
+-  <synapse id="37">
+-    <action_set>
+-      <rsc_op id="58" operation="start" operation_key="FAKECLONE1:2_start_0" on_node="18node2" on_node_uuid="2">
+-        <primitive id="FAKECLONE1" long-id="FAKECLONE1:2" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="2" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+-      </rsc_op>
+-    </action_set>
+-    <inputs>
+       <trigger>
+-        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+       <trigger>
+-        <pseudo_event id="66" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
++        <pseudo_event id="55" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
+       </trigger>
+     </inputs>
+   </synapse>
+-  <synapse id="38">
++  <synapse id="37">
+     <action_set>
+-      <rsc_op id="61" operation="monitor" operation_key="FAKECLONE1:3_monitor_60000" on_node="18node4" on_node_uuid="4">
+-        <primitive id="FAKECLONE1" long-id="FAKECLONE1:3" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="3" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      <rsc_op id="35" operation="monitor" operation_key="FAKECLONE1:1_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18node1">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="60" operation="start" operation_key="FAKECLONE1:3_start_0" on_node="18node4" on_node_uuid="4"/>
++        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+     </inputs>
+   </synapse>
+-  <synapse id="39">
++  <synapse id="38" priority="1000000">
+     <action_set>
+-      <rsc_op id="60" operation="start" operation_key="FAKECLONE1:3_start_0" on_node="18node4" on_node_uuid="4">
+-        <primitive id="FAKECLONE1" long-id="FAKECLONE1:3" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="3" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+-      </rsc_op>
++      <pseudo_event id="56" operation="running" operation_key="FAKECLONE1-clone_running_0">
++        <attributes CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++        <rsc_op id="51" operation="start" operation_key="FAKECLONE1:0_start_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+       <trigger>
+-        <pseudo_event id="66" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
++        <rsc_op id="53" operation="start" operation_key="FAKECLONE1:1_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18node1"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="55" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
+       </trigger>
+     </inputs>
+   </synapse>
++  <synapse id="39">
++    <action_set>
++      <pseudo_event id="55" operation="start" operation_key="FAKECLONE1-clone_start_0">
++        <attributes CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs/>
++  </synapse>
+   <synapse id="40">
+     <action_set>
+-      <rsc_op id="63" operation="monitor" operation_key="FAKECLONE1:4_monitor_60000" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
+-        <primitive id="FAKECLONE1" long-id="FAKECLONE1:4" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="4" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      <rsc_op id="60" operation="monitor" operation_key="FAKECLONE2:0_monitor_60000" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
+-      </trigger>
+-      <trigger>
+-        <rsc_op id="62" operation="start" operation_key="FAKECLONE1:4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++        <rsc_op id="59" operation="start" operation_key="FAKECLONE2:0_start_0" on_node="18node3" on_node_uuid="3"/>
+       </trigger>
+     </inputs>
+   </synapse>
+   <synapse id="41">
+     <action_set>
+-      <rsc_op id="62" operation="start" operation_key="FAKECLONE1:4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
+-        <primitive id="FAKECLONE1" long-id="FAKECLONE1:4" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="4" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      <rsc_op id="59" operation="start" operation_key="FAKECLONE2:0_start_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+       </trigger>
+       <trigger>
+-        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
+-      </trigger>
+-      <trigger>
+-        <pseudo_event id="66" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
++        <pseudo_event id="69" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
+       </trigger>
+     </inputs>
+   </synapse>
+   <synapse id="42">
+     <action_set>
+-      <rsc_op id="35" operation="monitor" operation_key="FAKECLONE1:4_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
+-        <primitive id="FAKECLONE1" long-id="FAKECLONE1:4" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="4" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      <rsc_op id="25" operation="monitor" operation_key="FAKECLONE2:0_monitor_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+-    <inputs>
+-      <trigger>
+-        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
+-      </trigger>
+-    </inputs>
++    <inputs/>
+   </synapse>
+   <synapse id="43">
+     <action_set>
+-      <rsc_op id="65" operation="monitor" operation_key="FAKECLONE1:5_monitor_60000" on_node="18node3" on_node_uuid="3">
+-        <primitive id="FAKECLONE1" long-id="FAKECLONE1:5" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="5" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      <rsc_op id="62" operation="monitor" operation_key="FAKECLONE2:1_monitor_60000" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="64" operation="start" operation_key="FAKECLONE1:5_start_0" on_node="18node3" on_node_uuid="3"/>
++        <rsc_op id="61" operation="start" operation_key="FAKECLONE2:1_start_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+     </inputs>
+   </synapse>
+   <synapse id="44">
+     <action_set>
+-      <rsc_op id="64" operation="start" operation_key="FAKECLONE1:5_start_0" on_node="18node3" on_node_uuid="3">
+-        <primitive id="FAKECLONE1" long-id="FAKECLONE1:5" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="5" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      <rsc_op id="61" operation="start" operation_key="FAKECLONE2:1_start_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+       </trigger>
+       <trigger>
+-        <pseudo_event id="66" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
++        <pseudo_event id="69" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
+       </trigger>
+     </inputs>
+   </synapse>
+-  <synapse id="45" priority="1000000">
++  <synapse id="45">
+     <action_set>
+-      <pseudo_event id="67" operation="running" operation_key="FAKECLONE1-clone_running_0">
+-        <attributes CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+-      </pseudo_event>
++      <rsc_op id="10" operation="monitor" operation_key="FAKECLONE2:1_monitor_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="46">
++    <action_set>
++      <rsc_op id="64" operation="monitor" operation_key="FAKECLONE2:2_monitor_60000" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="2" CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="54" operation="start" operation_key="FAKECLONE1:0_start_0" on_node="18builder" on_node_uuid="5"/>
+-      </trigger>
+-      <trigger>
+-        <rsc_op id="56" operation="start" operation_key="FAKECLONE1:1_start_0" on_node="18node1" on_node_uuid="1"/>
+-      </trigger>
+-      <trigger>
+-        <rsc_op id="58" operation="start" operation_key="FAKECLONE1:2_start_0" on_node="18node2" on_node_uuid="2"/>
+-      </trigger>
+-      <trigger>
+-        <rsc_op id="60" operation="start" operation_key="FAKECLONE1:3_start_0" on_node="18node4" on_node_uuid="4"/>
+-      </trigger>
+-      <trigger>
+-        <rsc_op id="62" operation="start" operation_key="FAKECLONE1:4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++        <rsc_op id="63" operation="start" operation_key="FAKECLONE2:2_start_0" on_node="18node2" on_node_uuid="2"/>
+       </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="47">
++    <action_set>
++      <rsc_op id="63" operation="start" operation_key="FAKECLONE2:2_start_0" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="2" CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
+       <trigger>
+-        <rsc_op id="64" operation="start" operation_key="FAKECLONE1:5_start_0" on_node="18node3" on_node_uuid="3"/>
++        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+       </trigger>
+       <trigger>
+-        <pseudo_event id="66" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
++        <pseudo_event id="69" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
+       </trigger>
+     </inputs>
+   </synapse>
+-  <synapse id="46">
+-    <action_set>
+-      <pseudo_event id="66" operation="start" operation_key="FAKECLONE1-clone_start_0">
+-        <attributes CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+-      </pseudo_event>
+-    </action_set>
+-    <inputs/>
+-  </synapse>
+-  <synapse id="47">
++  <synapse id="48">
+     <action_set>
+-      <rsc_op id="71" operation="monitor" operation_key="FAKECLONE2:0_monitor_60000" on_node="18builder" on_node_uuid="5">
+-        <primitive id="FAKECLONE2" long-id="FAKECLONE2:0" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="0" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      <rsc_op id="66" operation="monitor" operation_key="FAKECLONE2:3_monitor_60000" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="3" CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="70" operation="start" operation_key="FAKECLONE2:0_start_0" on_node="18builder" on_node_uuid="5"/>
++        <rsc_op id="65" operation="start" operation_key="FAKECLONE2:3_start_0" on_node="18node4" on_node_uuid="4"/>
+       </trigger>
+     </inputs>
+   </synapse>
+-  <synapse id="48">
++  <synapse id="49">
+     <action_set>
+-      <rsc_op id="70" operation="start" operation_key="FAKECLONE2:0_start_0" on_node="18builder" on_node_uuid="5">
+-        <primitive id="FAKECLONE2" long-id="FAKECLONE2:0" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="0" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      <rsc_op id="65" operation="start" operation_key="FAKECLONE2:3_start_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="3" CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+       </trigger>
+       <trigger>
+-        <pseudo_event id="82" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
++        <pseudo_event id="69" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
+       </trigger>
+     </inputs>
+   </synapse>
+-  <synapse id="49">
++  <synapse id="50">
+     <action_set>
+-      <rsc_op id="11" operation="monitor" operation_key="FAKECLONE2:0_monitor_0" on_node="18builder" on_node_uuid="5">
+-        <primitive id="FAKECLONE2" long-id="FAKECLONE2:0" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="0" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      <rsc_op id="32" operation="monitor" operation_key="FAKECLONE2:3_monitor_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="3" CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs/>
+   </synapse>
+-  <synapse id="50">
++  <synapse id="51">
+     <action_set>
+-      <rsc_op id="73" operation="monitor" operation_key="FAKECLONE2:1_monitor_60000" on_node="18node1" on_node_uuid="1">
+-        <primitive id="FAKECLONE2" long-id="FAKECLONE2:1" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="1" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      <rsc_op id="68" operation="monitor" operation_key="FAKECLONE2:4_monitor_60000" on_node="remote1" on_node_uuid="remote1" router_node="18node1">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="4" CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="72" operation="start" operation_key="FAKECLONE2:1_start_0" on_node="18node1" on_node_uuid="1"/>
++        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="67" operation="start" operation_key="FAKECLONE2:4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18node1"/>
+       </trigger>
+     </inputs>
+   </synapse>
+-  <synapse id="51">
++  <synapse id="52">
+     <action_set>
+-      <rsc_op id="72" operation="start" operation_key="FAKECLONE2:1_start_0" on_node="18node1" on_node_uuid="1">
+-        <primitive id="FAKECLONE2" long-id="FAKECLONE2:1" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="1" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      <rsc_op id="67" operation="start" operation_key="FAKECLONE2:4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18node1">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="4" CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+       <trigger>
+-        <pseudo_event id="82" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
++        <pseudo_event id="69" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
+       </trigger>
+     </inputs>
+   </synapse>
+-  <synapse id="52">
+-    <action_set>
+-      <rsc_op id="15" operation="monitor" operation_key="FAKECLONE2:1_monitor_0" on_node="18node1" on_node_uuid="1">
+-        <primitive id="FAKECLONE2" long-id="FAKECLONE2:1" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="1" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+-      </rsc_op>
+-    </action_set>
+-    <inputs/>
+-  </synapse>
+   <synapse id="53">
+     <action_set>
+-      <rsc_op id="75" operation="monitor" operation_key="FAKECLONE2:2_monitor_60000" on_node="18node2" on_node_uuid="2">
+-        <primitive id="FAKECLONE2" long-id="FAKECLONE2:2" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="2" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      <rsc_op id="36" operation="monitor" operation_key="FAKECLONE2:4_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18node1">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="4" CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="74" operation="start" operation_key="FAKECLONE2:2_start_0" on_node="18node2" on_node_uuid="2"/>
++        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+     </inputs>
+   </synapse>
+-  <synapse id="54">
++  <synapse id="54" priority="1000000">
+     <action_set>
+-      <rsc_op id="74" operation="start" operation_key="FAKECLONE2:2_start_0" on_node="18node2" on_node_uuid="2">
+-        <primitive id="FAKECLONE2" long-id="FAKECLONE2:2" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="2" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+-      </rsc_op>
++      <pseudo_event id="70" operation="running" operation_key="FAKECLONE2-clone_running_0">
++        <attributes CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++        <rsc_op id="59" operation="start" operation_key="FAKECLONE2:0_start_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="61" operation="start" operation_key="FAKECLONE2:1_start_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="63" operation="start" operation_key="FAKECLONE2:2_start_0" on_node="18node2" on_node_uuid="2"/>
+       </trigger>
+       <trigger>
+-        <pseudo_event id="82" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
++        <rsc_op id="65" operation="start" operation_key="FAKECLONE2:3_start_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="67" operation="start" operation_key="FAKECLONE2:4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18node1"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="69" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
+       </trigger>
+     </inputs>
+   </synapse>
+   <synapse id="55">
+     <action_set>
+-      <rsc_op id="77" operation="monitor" operation_key="FAKECLONE2:3_monitor_60000" on_node="18node4" on_node_uuid="4">
+-        <primitive id="FAKECLONE2" long-id="FAKECLONE2:3" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="3" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+-      </rsc_op>
++      <pseudo_event id="69" operation="start" operation_key="FAKECLONE2-clone_start_0">
++        <attributes CRM_meta_clone_max="5" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
+     </action_set>
+-    <inputs>
+-      <trigger>
+-        <rsc_op id="76" operation="start" operation_key="FAKECLONE2:3_start_0" on_node="18node4" on_node_uuid="4"/>
+-      </trigger>
+-    </inputs>
++    <inputs/>
+   </synapse>
+   <synapse id="56">
+     <action_set>
+-      <rsc_op id="76" operation="start" operation_key="FAKECLONE2:3_start_0" on_node="18node4" on_node_uuid="4">
+-        <primitive id="FAKECLONE2" long-id="FAKECLONE2:3" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="3" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+-      </rsc_op>
++      <pseudo_event id="78" operation="running" operation_key="FAKEGROUP_running_0">
++        <attributes CRM_meta_timeout="20000" />
++      </pseudo_event>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++        <rsc_op id="73" operation="start" operation_key="FAKE6_start_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="75" operation="start" operation_key="FAKE7_start_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+       <trigger>
+-        <pseudo_event id="82" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
++        <pseudo_event id="77" operation="start" operation_key="FAKEGROUP_start_0"/>
+       </trigger>
+     </inputs>
+   </synapse>
+   <synapse id="57">
+     <action_set>
+-      <rsc_op id="32" operation="monitor" operation_key="FAKECLONE2:3_monitor_0" on_node="18node4" on_node_uuid="4">
+-        <primitive id="FAKECLONE2" long-id="FAKECLONE2:3" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="3" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+-      </rsc_op>
++      <pseudo_event id="77" operation="start" operation_key="FAKEGROUP_start_0">
++        <attributes CRM_meta_timeout="20000" />
++      </pseudo_event>
+     </action_set>
+     <inputs/>
+   </synapse>
+   <synapse id="58">
+     <action_set>
+-      <rsc_op id="79" operation="monitor" operation_key="FAKECLONE2:4_monitor_60000" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
+-        <primitive id="FAKECLONE2" long-id="FAKECLONE2:4" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="4" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      <rsc_op id="74" operation="monitor" operation_key="FAKE6_monitor_10000" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKE6" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
+-      </trigger>
+-      <trigger>
+-        <rsc_op id="78" operation="start" operation_key="FAKECLONE2:4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++        <rsc_op id="73" operation="start" operation_key="FAKE6_start_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+     </inputs>
+   </synapse>
+   <synapse id="59">
+     <action_set>
+-      <rsc_op id="78" operation="start" operation_key="FAKECLONE2:4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
+-        <primitive id="FAKECLONE2" long-id="FAKECLONE2:4" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="4" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      <rsc_op id="73" operation="start" operation_key="FAKE6_start_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKE6" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
+-      </trigger>
+-      <trigger>
+-        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
++        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+       </trigger>
+       <trigger>
+-        <pseudo_event id="82" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
++        <pseudo_event id="77" operation="start" operation_key="FAKEGROUP_start_0"/>
+       </trigger>
+     </inputs>
+   </synapse>
+   <synapse id="60">
+     <action_set>
+-      <rsc_op id="36" operation="monitor" operation_key="FAKECLONE2:4_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
+-        <primitive id="FAKECLONE2" long-id="FAKECLONE2:4" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="4" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      <rsc_op id="18" operation="monitor" operation_key="FAKE6_monitor_0" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKE6" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+-    <inputs>
+-      <trigger>
+-        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
+-      </trigger>
+-    </inputs>
++    <inputs/>
+   </synapse>
+   <synapse id="61">
+     <action_set>
+-      <rsc_op id="81" operation="monitor" operation_key="FAKECLONE2:5_monitor_60000" on_node="18node3" on_node_uuid="3">
+-        <primitive id="FAKECLONE2" long-id="FAKECLONE2:5" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="5" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      <rsc_op id="11" operation="monitor" operation_key="FAKE6_monitor_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKE6" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+-    <inputs>
+-      <trigger>
+-        <rsc_op id="80" operation="start" operation_key="FAKECLONE2:5_start_0" on_node="18node3" on_node_uuid="3"/>
+-      </trigger>
+-    </inputs>
++    <inputs/>
+   </synapse>
+   <synapse id="62">
+     <action_set>
+-      <rsc_op id="80" operation="start" operation_key="FAKECLONE2:5_start_0" on_node="18node3" on_node_uuid="3">
+-        <primitive id="FAKECLONE2" long-id="FAKECLONE2:5" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="5" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      <rsc_op id="76" operation="monitor" operation_key="FAKE7_monitor_10000" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKE7" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
+-      </trigger>
+-      <trigger>
+-        <pseudo_event id="82" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
++        <rsc_op id="75" operation="start" operation_key="FAKE7_start_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+     </inputs>
+   </synapse>
+   <synapse id="63">
+     <action_set>
+-      <rsc_op id="25" operation="monitor" operation_key="FAKECLONE2:5_monitor_0" on_node="18node3" on_node_uuid="3">
+-        <primitive id="FAKECLONE2" long-id="FAKECLONE2:5" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_clone="5" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      <rsc_op id="75" operation="start" operation_key="FAKE7_start_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKE7" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
+       </rsc_op>
+     </action_set>
+-    <inputs/>
+-  </synapse>
+-  <synapse id="64" priority="1000000">
+-    <action_set>
+-      <pseudo_event id="83" operation="running" operation_key="FAKECLONE2-clone_running_0">
+-        <attributes CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+-      </pseudo_event>
+-    </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="70" operation="start" operation_key="FAKECLONE2:0_start_0" on_node="18builder" on_node_uuid="5"/>
+-      </trigger>
+-      <trigger>
+-        <rsc_op id="72" operation="start" operation_key="FAKECLONE2:1_start_0" on_node="18node1" on_node_uuid="1"/>
++        <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+       </trigger>
+       <trigger>
+-        <rsc_op id="74" operation="start" operation_key="FAKECLONE2:2_start_0" on_node="18node2" on_node_uuid="2"/>
++        <rsc_op id="73" operation="start" operation_key="FAKE6_start_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+       <trigger>
+-        <rsc_op id="76" operation="start" operation_key="FAKECLONE2:3_start_0" on_node="18node4" on_node_uuid="4"/>
+-      </trigger>
+-      <trigger>
+-        <rsc_op id="78" operation="start" operation_key="FAKECLONE2:4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
+-      </trigger>
+-      <trigger>
+-        <rsc_op id="80" operation="start" operation_key="FAKECLONE2:5_start_0" on_node="18node3" on_node_uuid="3"/>
+-      </trigger>
+-      <trigger>
+-        <pseudo_event id="82" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
++        <pseudo_event id="77" operation="start" operation_key="FAKEGROUP_start_0"/>
+       </trigger>
+     </inputs>
+   </synapse>
++  <synapse id="64">
++    <action_set>
++      <rsc_op id="19" operation="monitor" operation_key="FAKE7_monitor_0" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKE7" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
+   <synapse id="65">
+     <action_set>
+-      <pseudo_event id="82" operation="start" operation_key="FAKECLONE2-clone_start_0">
+-        <attributes CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+-      </pseudo_event>
++      <rsc_op id="12" operation="monitor" operation_key="FAKE7_monitor_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKE7" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
+     </action_set>
+     <inputs/>
+   </synapse>
+   <synapse id="66" priority="1000000">
+     <action_set>
+-      <rsc_op id="33" operation="probe_complete" operation_key="probe_complete-remote1" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
++      <rsc_op id="33" operation="probe_complete" operation_key="probe_complete-remote1" on_node="remote1" on_node_uuid="remote1" router_node="18node1">
+         <attributes CRM_meta_op_no_wait="true" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="34" operation="monitor" operation_key="FAKE5_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++        <rsc_op id="34" operation="monitor" operation_key="FAKE5_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18node1"/>
+       </trigger>
+       <trigger>
+-        <rsc_op id="35" operation="monitor" operation_key="FAKECLONE1:4_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++        <rsc_op id="35" operation="monitor" operation_key="FAKECLONE1:1_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18node1"/>
+       </trigger>
+       <trigger>
+-        <rsc_op id="36" operation="monitor" operation_key="FAKECLONE2:4_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++        <rsc_op id="36" operation="monitor" operation_key="FAKECLONE2:4_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18node1"/>
+       </trigger>
+     </inputs>
+   </synapse>
+@@ -908,19 +861,16 @@
+   </synapse>
+   <synapse id="68" priority="1000000">
+     <action_set>
+-      <rsc_op id="19" operation="probe_complete" operation_key="probe_complete-18node3" on_node="18node3" on_node_uuid="3">
++      <rsc_op id="20" operation="probe_complete" operation_key="probe_complete-18node3" on_node="18node3" on_node_uuid="3">
+         <attributes CRM_meta_op_no_wait="true" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="20" operation="monitor" operation_key="shooter_monitor_0" on_node="18node3" on_node_uuid="3"/>
+-      </trigger>
+-      <trigger>
+-        <rsc_op id="21" operation="monitor" operation_key="remote1_monitor_0" on_node="18node3" on_node_uuid="3"/>
++        <rsc_op id="21" operation="monitor" operation_key="shooter_monitor_0" on_node="18node3" on_node_uuid="3"/>
+       </trigger>
+       <trigger>
+-        <rsc_op id="22" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node3" on_node_uuid="3"/>
++        <rsc_op id="22" operation="monitor" operation_key="remote1_monitor_0" on_node="18node3" on_node_uuid="3"/>
+       </trigger>
+       <trigger>
+         <rsc_op id="23" operation="monitor" operation_key="FAKE3_monitor_0" on_node="18node3" on_node_uuid="3"/>
+@@ -929,112 +879,100 @@
+         <rsc_op id="24" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node3" on_node_uuid="3"/>
+       </trigger>
+       <trigger>
+-        <rsc_op id="25" operation="monitor" operation_key="FAKECLONE2:5_monitor_0" on_node="18node3" on_node_uuid="3"/>
++        <rsc_op id="25" operation="monitor" operation_key="FAKECLONE2:0_monitor_0" on_node="18node3" on_node_uuid="3"/>
+       </trigger>
+     </inputs>
+   </synapse>
+   <synapse id="69" priority="1000000">
+     <action_set>
+-      <rsc_op id="16" operation="probe_complete" operation_key="probe_complete-18node2" on_node="18node2" on_node_uuid="2">
++      <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-18node2" on_node="18node2" on_node_uuid="2">
+         <attributes CRM_meta_op_no_wait="true" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="17" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node2" on_node_uuid="2"/>
++        <rsc_op id="14" operation="monitor" operation_key="shooter_monitor_0" on_node="18node2" on_node_uuid="2"/>
+       </trigger>
+       <trigger>
+-        <rsc_op id="18" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node2" on_node_uuid="2"/>
++        <rsc_op id="15" operation="monitor" operation_key="remote1_monitor_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="16" operation="monitor" operation_key="FAKE2_monitor_0" on_node="18node2" on_node_uuid="2"/>
+       </trigger>
+-    </inputs>
+-  </synapse>
+-  <synapse id="70" priority="1000000">
+-    <action_set>
+-      <rsc_op id="12" operation="probe_complete" operation_key="probe_complete-18node1" on_node="18node1" on_node_uuid="1">
+-        <attributes CRM_meta_op_no_wait="true" />
+-      </rsc_op>
+-    </action_set>
+-    <inputs>
+       <trigger>
+-        <rsc_op id="13" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node1" on_node_uuid="1"/>
++        <rsc_op id="17" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node2" on_node_uuid="2"/>
+       </trigger>
+       <trigger>
+-        <rsc_op id="14" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node1" on_node_uuid="1"/>
++        <rsc_op id="18" operation="monitor" operation_key="FAKE6_monitor_0" on_node="18node2" on_node_uuid="2"/>
+       </trigger>
+       <trigger>
+-        <rsc_op id="15" operation="monitor" operation_key="FAKECLONE2:1_monitor_0" on_node="18node1" on_node_uuid="1"/>
++        <rsc_op id="19" operation="monitor" operation_key="FAKE7_monitor_0" on_node="18node2" on_node_uuid="2"/>
+       </trigger>
+     </inputs>
+   </synapse>
+-  <synapse id="71" priority="1000000">
++  <synapse id="70" priority="1000000">
+     <action_set>
+-      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-18builder" on_node="18builder" on_node_uuid="5">
++      <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-18node1" on_node="18node1" on_node_uuid="1">
+         <attributes CRM_meta_op_no_wait="true" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="9" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18builder" on_node_uuid="5"/>
++        <rsc_op id="5" operation="monitor" operation_key="shooter_monitor_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+       <trigger>
+-        <rsc_op id="10" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18builder" on_node_uuid="5"/>
++        <rsc_op id="6" operation="monitor" operation_key="remote1_monitor_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+       <trigger>
+-        <rsc_op id="11" operation="monitor" operation_key="FAKECLONE2:0_monitor_0" on_node="18builder" on_node_uuid="5"/>
++        <rsc_op id="7" operation="monitor" operation_key="FAKE2_monitor_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+-    </inputs>
+-  </synapse>
+-  <synapse id="72">
+-    <action_set>
+-      <pseudo_event id="7" operation="probe_nodes_complete" operation_key="probe_nodes_complete">
+-        <attributes />
+-      </pseudo_event>
+-    </action_set>
+-    <inputs>
+       <trigger>
+-        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-18builder" on_node="18builder" on_node_uuid="5"/>
++        <rsc_op id="8" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+       <trigger>
+-        <rsc_op id="12" operation="probe_complete" operation_key="probe_complete-18node1" on_node="18node1" on_node_uuid="1"/>
++        <rsc_op id="9" operation="monitor" operation_key="FAKECLONE1:0_monitor_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+       <trigger>
+-        <rsc_op id="16" operation="probe_complete" operation_key="probe_complete-18node2" on_node="18node2" on_node_uuid="2"/>
++        <rsc_op id="10" operation="monitor" operation_key="FAKECLONE2:1_monitor_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+       <trigger>
+-        <rsc_op id="19" operation="probe_complete" operation_key="probe_complete-18node3" on_node="18node3" on_node_uuid="3"/>
++        <rsc_op id="11" operation="monitor" operation_key="FAKE6_monitor_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+       <trigger>
+-        <rsc_op id="26" operation="probe_complete" operation_key="probe_complete-18node4" on_node="18node4" on_node_uuid="4"/>
++        <rsc_op id="12" operation="monitor" operation_key="FAKE7_monitor_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+     </inputs>
+   </synapse>
+-  <synapse id="73">
++  <synapse id="71">
+     <action_set>
+-      <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete">
++      <pseudo_event id="3" operation="probe_nodes_complete" operation_key="probe_nodes_complete">
+         <attributes />
+       </pseudo_event>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="33" operation="probe_complete" operation_key="probe_complete-remote1" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++        <rsc_op id="4" operation="probe_complete" operation_key="probe_complete-18node1" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-18node2" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="20" operation="probe_complete" operation_key="probe_complete-18node3" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="26" operation="probe_complete" operation_key="probe_complete-18node4" on_node="18node4" on_node_uuid="4"/>
+       </trigger>
+     </inputs>
+   </synapse>
+-  <synapse id="74">
++  <synapse id="72">
+     <action_set>
+-      <pseudo_event id="5" operation="all_stopped" operation_key="all_stopped">
++      <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete">
+         <attributes />
+       </pseudo_event>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="43" operation="stop" operation_key="FAKE2_stop_0" on_node="18node2" on_node_uuid="2"/>
+-      </trigger>
+-      <trigger>
+-        <rsc_op id="46" operation="stop" operation_key="FAKE3_stop_0" on_node="18builder" on_node_uuid="5"/>
+-      </trigger>
+-      <trigger>
+-        <rsc_op id="49" operation="stop" operation_key="FAKE4_stop_0" on_node="18node1" on_node_uuid="1"/>
++        <rsc_op id="33" operation="probe_complete" operation_key="probe_complete-remote1" on_node="remote1" on_node_uuid="remote1" router_node="18node1"/>
+       </trigger>
+     </inputs>
+   </synapse>
+diff --git a/pengine/test10/resource-discovery.scores b/pengine/test10/resource-discovery.scores
+index e1fa78e..9b56b96 100644
+--- a/pengine/test10/resource-discovery.scores
++++ b/pengine/test10/resource-discovery.scores
+@@ -1,197 +1,169 @@
+ Allocation scores:
+-clone_color: FAKECLONE1-clone allocation score on 18builder: 0
+ clone_color: FAKECLONE1-clone allocation score on 18node1: 0
+-clone_color: FAKECLONE1-clone allocation score on 18node2: 0
+-clone_color: FAKECLONE1-clone allocation score on 18node3: 0
+-clone_color: FAKECLONE1-clone allocation score on 18node4: 0
++clone_color: FAKECLONE1-clone allocation score on 18node2: -INFINITY
++clone_color: FAKECLONE1-clone allocation score on 18node3: -INFINITY
++clone_color: FAKECLONE1-clone allocation score on 18node4: -INFINITY
+ clone_color: FAKECLONE1-clone allocation score on remote1: 0
+-clone_color: FAKECLONE1:0 allocation score on 18builder: 0
+ clone_color: FAKECLONE1:0 allocation score on 18node1: 0
+-clone_color: FAKECLONE1:0 allocation score on 18node2: 0
+-clone_color: FAKECLONE1:0 allocation score on 18node3: 0
+-clone_color: FAKECLONE1:0 allocation score on 18node4: 0
++clone_color: FAKECLONE1:0 allocation score on 18node2: -INFINITY
++clone_color: FAKECLONE1:0 allocation score on 18node3: -INFINITY
++clone_color: FAKECLONE1:0 allocation score on 18node4: -INFINITY
+ clone_color: FAKECLONE1:0 allocation score on remote1: 0
+-clone_color: FAKECLONE1:1 allocation score on 18builder: 0
+ clone_color: FAKECLONE1:1 allocation score on 18node1: 0
+-clone_color: FAKECLONE1:1 allocation score on 18node2: 0
+-clone_color: FAKECLONE1:1 allocation score on 18node3: 0
+-clone_color: FAKECLONE1:1 allocation score on 18node4: 0
++clone_color: FAKECLONE1:1 allocation score on 18node2: -INFINITY
++clone_color: FAKECLONE1:1 allocation score on 18node3: -INFINITY
++clone_color: FAKECLONE1:1 allocation score on 18node4: -INFINITY
+ clone_color: FAKECLONE1:1 allocation score on remote1: 0
+-clone_color: FAKECLONE1:2 allocation score on 18builder: 0
+ clone_color: FAKECLONE1:2 allocation score on 18node1: 0
+-clone_color: FAKECLONE1:2 allocation score on 18node2: 0
+-clone_color: FAKECLONE1:2 allocation score on 18node3: 0
+-clone_color: FAKECLONE1:2 allocation score on 18node4: 0
++clone_color: FAKECLONE1:2 allocation score on 18node2: -INFINITY
++clone_color: FAKECLONE1:2 allocation score on 18node3: -INFINITY
++clone_color: FAKECLONE1:2 allocation score on 18node4: -INFINITY
+ clone_color: FAKECLONE1:2 allocation score on remote1: 0
+-clone_color: FAKECLONE1:3 allocation score on 18builder: 0
+ clone_color: FAKECLONE1:3 allocation score on 18node1: 0
+-clone_color: FAKECLONE1:3 allocation score on 18node2: 0
+-clone_color: FAKECLONE1:3 allocation score on 18node3: 0
+-clone_color: FAKECLONE1:3 allocation score on 18node4: 0
++clone_color: FAKECLONE1:3 allocation score on 18node2: -INFINITY
++clone_color: FAKECLONE1:3 allocation score on 18node3: -INFINITY
++clone_color: FAKECLONE1:3 allocation score on 18node4: -INFINITY
+ clone_color: FAKECLONE1:3 allocation score on remote1: 0
+-clone_color: FAKECLONE1:4 allocation score on 18builder: 0
+ clone_color: FAKECLONE1:4 allocation score on 18node1: 0
+-clone_color: FAKECLONE1:4 allocation score on 18node2: 0
+-clone_color: FAKECLONE1:4 allocation score on 18node3: 0
+-clone_color: FAKECLONE1:4 allocation score on 18node4: 0
++clone_color: FAKECLONE1:4 allocation score on 18node2: -INFINITY
++clone_color: FAKECLONE1:4 allocation score on 18node3: -INFINITY
++clone_color: FAKECLONE1:4 allocation score on 18node4: -INFINITY
+ clone_color: FAKECLONE1:4 allocation score on remote1: 0
+-clone_color: FAKECLONE1:5 allocation score on 18builder: 0
+-clone_color: FAKECLONE1:5 allocation score on 18node1: 0
+-clone_color: FAKECLONE1:5 allocation score on 18node2: 0
+-clone_color: FAKECLONE1:5 allocation score on 18node3: 0
+-clone_color: FAKECLONE1:5 allocation score on 18node4: 0
+-clone_color: FAKECLONE1:5 allocation score on remote1: 0
+-clone_color: FAKECLONE2-clone allocation score on 18builder: 0
+ clone_color: FAKECLONE2-clone allocation score on 18node1: 0
+ clone_color: FAKECLONE2-clone allocation score on 18node2: 0
+ clone_color: FAKECLONE2-clone allocation score on 18node3: 0
+ clone_color: FAKECLONE2-clone allocation score on 18node4: 0
+ clone_color: FAKECLONE2-clone allocation score on remote1: 0
+-clone_color: FAKECLONE2:0 allocation score on 18builder: 0
+ clone_color: FAKECLONE2:0 allocation score on 18node1: 0
+ clone_color: FAKECLONE2:0 allocation score on 18node2: 0
+ clone_color: FAKECLONE2:0 allocation score on 18node3: 0
+ clone_color: FAKECLONE2:0 allocation score on 18node4: 0
+ clone_color: FAKECLONE2:0 allocation score on remote1: 0
+-clone_color: FAKECLONE2:1 allocation score on 18builder: 0
+ clone_color: FAKECLONE2:1 allocation score on 18node1: 0
+ clone_color: FAKECLONE2:1 allocation score on 18node2: 0
+ clone_color: FAKECLONE2:1 allocation score on 18node3: 0
+ clone_color: FAKECLONE2:1 allocation score on 18node4: 0
+ clone_color: FAKECLONE2:1 allocation score on remote1: 0
+-clone_color: FAKECLONE2:2 allocation score on 18builder: 0
+ clone_color: FAKECLONE2:2 allocation score on 18node1: 0
+ clone_color: FAKECLONE2:2 allocation score on 18node2: 0
+ clone_color: FAKECLONE2:2 allocation score on 18node3: 0
+ clone_color: FAKECLONE2:2 allocation score on 18node4: 0
+ clone_color: FAKECLONE2:2 allocation score on remote1: 0
+-clone_color: FAKECLONE2:3 allocation score on 18builder: 0
+ clone_color: FAKECLONE2:3 allocation score on 18node1: 0
+ clone_color: FAKECLONE2:3 allocation score on 18node2: 0
+ clone_color: FAKECLONE2:3 allocation score on 18node3: 0
+ clone_color: FAKECLONE2:3 allocation score on 18node4: 0
+ clone_color: FAKECLONE2:3 allocation score on remote1: 0
+-clone_color: FAKECLONE2:4 allocation score on 18builder: 0
+ clone_color: FAKECLONE2:4 allocation score on 18node1: 0
+ clone_color: FAKECLONE2:4 allocation score on 18node2: 0
+ clone_color: FAKECLONE2:4 allocation score on 18node3: 0
+ clone_color: FAKECLONE2:4 allocation score on 18node4: 0
+ clone_color: FAKECLONE2:4 allocation score on remote1: 0
+-clone_color: FAKECLONE2:5 allocation score on 18builder: 0
+-clone_color: FAKECLONE2:5 allocation score on 18node1: 0
+-clone_color: FAKECLONE2:5 allocation score on 18node2: 0
+-clone_color: FAKECLONE2:5 allocation score on 18node3: 0
+-clone_color: FAKECLONE2:5 allocation score on 18node4: 0
+-clone_color: FAKECLONE2:5 allocation score on remote1: 0
+-native_color: FAKE1 allocation score on 18builder: 0
+-native_color: FAKE1 allocation score on 18node1: 0
+-native_color: FAKE1 allocation score on 18node2: 0
+-native_color: FAKE1 allocation score on 18node3: 0
++group_color: FAKE6 allocation score on 18node1: 0
++group_color: FAKE6 allocation score on 18node2: 0
++group_color: FAKE6 allocation score on 18node3: -INFINITY
++group_color: FAKE6 allocation score on 18node4: -INFINITY
++group_color: FAKE6 allocation score on remote1: -INFINITY
++group_color: FAKE7 allocation score on 18node1: 0
++group_color: FAKE7 allocation score on 18node2: 0
++group_color: FAKE7 allocation score on 18node3: -INFINITY
++group_color: FAKE7 allocation score on 18node4: -INFINITY
++group_color: FAKE7 allocation score on remote1: -INFINITY
++group_color: FAKEGROUP allocation score on 18node1: 0
++group_color: FAKEGROUP allocation score on 18node2: 0
++group_color: FAKEGROUP allocation score on 18node3: -INFINITY
++group_color: FAKEGROUP allocation score on 18node4: -INFINITY
++group_color: FAKEGROUP allocation score on remote1: -INFINITY
++native_color: FAKE1 allocation score on 18node1: -INFINITY
++native_color: FAKE1 allocation score on 18node2: -INFINITY
++native_color: FAKE1 allocation score on 18node3: -INFINITY
+ native_color: FAKE1 allocation score on 18node4: 0
+ native_color: FAKE1 allocation score on remote1: -INFINITY
+-native_color: FAKE2 allocation score on 18builder: 0
+-native_color: FAKE2 allocation score on 18node1: 0
+-native_color: FAKE2 allocation score on 18node2: -INFINITY
+-native_color: FAKE2 allocation score on 18node3: 0
+-native_color: FAKE2 allocation score on 18node4: 0
+-native_color: FAKE2 allocation score on remote1: 0
+-native_color: FAKE3 allocation score on 18builder: 0
+-native_color: FAKE3 allocation score on 18node1: 0
+-native_color: FAKE3 allocation score on 18node2: 0
++native_color: FAKE2 allocation score on 18node1: 10
++native_color: FAKE2 allocation score on 18node2: 100
++native_color: FAKE2 allocation score on 18node3: -INFINITY
++native_color: FAKE2 allocation score on 18node4: -INFINITY
++native_color: FAKE2 allocation score on remote1: -INFINITY
++native_color: FAKE3 allocation score on 18node1: -INFINITY
++native_color: FAKE3 allocation score on 18node2: -INFINITY
+ native_color: FAKE3 allocation score on 18node3: INFINITY
+-native_color: FAKE3 allocation score on 18node4: 0
+-native_color: FAKE3 allocation score on remote1: 0
+-native_color: FAKE4 allocation score on 18builder: 0
+-native_color: FAKE4 allocation score on 18node1: 0
+-native_color: FAKE4 allocation score on 18node2: 0
+-native_color: FAKE4 allocation score on 18node3: 0
++native_color: FAKE3 allocation score on 18node4: -INFINITY
++native_color: FAKE3 allocation score on remote1: -INFINITY
++native_color: FAKE4 allocation score on 18node1: -INFINITY
++native_color: FAKE4 allocation score on 18node2: -INFINITY
++native_color: FAKE4 allocation score on 18node3: -INFINITY
+ native_color: FAKE4 allocation score on 18node4: 0
+-native_color: FAKE4 allocation score on remote1: 0
+-native_color: FAKE5 allocation score on 18builder: 0
++native_color: FAKE4 allocation score on remote1: -INFINITY
+ native_color: FAKE5 allocation score on 18node1: 0
+ native_color: FAKE5 allocation score on 18node2: 0
+ native_color: FAKE5 allocation score on 18node3: 0
+ native_color: FAKE5 allocation score on 18node4: 0
+ native_color: FAKE5 allocation score on remote1: 0
+-native_color: FAKECLONE1:0 allocation score on 18builder: 0
++native_color: FAKE6 allocation score on 18node1: 0
++native_color: FAKE6 allocation score on 18node2: 0
++native_color: FAKE6 allocation score on 18node3: -INFINITY
++native_color: FAKE6 allocation score on 18node4: -INFINITY
++native_color: FAKE6 allocation score on remote1: -INFINITY
++native_color: FAKE7 allocation score on 18node1: 0
++native_color: FAKE7 allocation score on 18node2: -INFINITY
++native_color: FAKE7 allocation score on 18node3: -INFINITY
++native_color: FAKE7 allocation score on 18node4: -INFINITY
++native_color: FAKE7 allocation score on remote1: -INFINITY
+ native_color: FAKECLONE1:0 allocation score on 18node1: 0
+-native_color: FAKECLONE1:0 allocation score on 18node2: 0
+-native_color: FAKECLONE1:0 allocation score on 18node3: 0
+-native_color: FAKECLONE1:0 allocation score on 18node4: 0
++native_color: FAKECLONE1:0 allocation score on 18node2: -INFINITY
++native_color: FAKECLONE1:0 allocation score on 18node3: -INFINITY
++native_color: FAKECLONE1:0 allocation score on 18node4: -INFINITY
+ native_color: FAKECLONE1:0 allocation score on remote1: 0
+-native_color: FAKECLONE1:1 allocation score on 18builder: -INFINITY
+-native_color: FAKECLONE1:1 allocation score on 18node1: 0
+-native_color: FAKECLONE1:1 allocation score on 18node2: 0
+-native_color: FAKECLONE1:1 allocation score on 18node3: 0
+-native_color: FAKECLONE1:1 allocation score on 18node4: 0
++native_color: FAKECLONE1:1 allocation score on 18node1: -INFINITY
++native_color: FAKECLONE1:1 allocation score on 18node2: -INFINITY
++native_color: FAKECLONE1:1 allocation score on 18node3: -INFINITY
++native_color: FAKECLONE1:1 allocation score on 18node4: -INFINITY
+ native_color: FAKECLONE1:1 allocation score on remote1: 0
+-native_color: FAKECLONE1:2 allocation score on 18builder: -INFINITY
+ native_color: FAKECLONE1:2 allocation score on 18node1: -INFINITY
+-native_color: FAKECLONE1:2 allocation score on 18node2: 0
+-native_color: FAKECLONE1:2 allocation score on 18node3: 0
+-native_color: FAKECLONE1:2 allocation score on 18node4: 0
+-native_color: FAKECLONE1:2 allocation score on remote1: 0
+-native_color: FAKECLONE1:3 allocation score on 18builder: -INFINITY
++native_color: FAKECLONE1:2 allocation score on 18node2: -INFINITY
++native_color: FAKECLONE1:2 allocation score on 18node3: -INFINITY
++native_color: FAKECLONE1:2 allocation score on 18node4: -INFINITY
++native_color: FAKECLONE1:2 allocation score on remote1: -INFINITY
+ native_color: FAKECLONE1:3 allocation score on 18node1: -INFINITY
+ native_color: FAKECLONE1:3 allocation score on 18node2: -INFINITY
+-native_color: FAKECLONE1:3 allocation score on 18node3: 0
+-native_color: FAKECLONE1:3 allocation score on 18node4: 0
+-native_color: FAKECLONE1:3 allocation score on remote1: 0
+-native_color: FAKECLONE1:4 allocation score on 18builder: -INFINITY
++native_color: FAKECLONE1:3 allocation score on 18node3: -INFINITY
++native_color: FAKECLONE1:3 allocation score on 18node4: -INFINITY
++native_color: FAKECLONE1:3 allocation score on remote1: -INFINITY
+ native_color: FAKECLONE1:4 allocation score on 18node1: -INFINITY
+ native_color: FAKECLONE1:4 allocation score on 18node2: -INFINITY
+-native_color: FAKECLONE1:4 allocation score on 18node3: 0
++native_color: FAKECLONE1:4 allocation score on 18node3: -INFINITY
+ native_color: FAKECLONE1:4 allocation score on 18node4: -INFINITY
+-native_color: FAKECLONE1:4 allocation score on remote1: 0
+-native_color: FAKECLONE1:5 allocation score on 18builder: -INFINITY
+-native_color: FAKECLONE1:5 allocation score on 18node1: -INFINITY
+-native_color: FAKECLONE1:5 allocation score on 18node2: -INFINITY
+-native_color: FAKECLONE1:5 allocation score on 18node3: 0
+-native_color: FAKECLONE1:5 allocation score on 18node4: -INFINITY
+-native_color: FAKECLONE1:5 allocation score on remote1: -INFINITY
+-native_color: FAKECLONE2:0 allocation score on 18builder: 0
++native_color: FAKECLONE1:4 allocation score on remote1: -INFINITY
+ native_color: FAKECLONE2:0 allocation score on 18node1: 0
+ native_color: FAKECLONE2:0 allocation score on 18node2: 0
+ native_color: FAKECLONE2:0 allocation score on 18node3: 0
+ native_color: FAKECLONE2:0 allocation score on 18node4: 0
+ native_color: FAKECLONE2:0 allocation score on remote1: 0
+-native_color: FAKECLONE2:1 allocation score on 18builder: -INFINITY
+ native_color: FAKECLONE2:1 allocation score on 18node1: 0
+ native_color: FAKECLONE2:1 allocation score on 18node2: 0
+-native_color: FAKECLONE2:1 allocation score on 18node3: 0
++native_color: FAKECLONE2:1 allocation score on 18node3: -INFINITY
+ native_color: FAKECLONE2:1 allocation score on 18node4: 0
+ native_color: FAKECLONE2:1 allocation score on remote1: 0
+-native_color: FAKECLONE2:2 allocation score on 18builder: -INFINITY
+ native_color: FAKECLONE2:2 allocation score on 18node1: -INFINITY
+ native_color: FAKECLONE2:2 allocation score on 18node2: 0
+-native_color: FAKECLONE2:2 allocation score on 18node3: 0
++native_color: FAKECLONE2:2 allocation score on 18node3: -INFINITY
+ native_color: FAKECLONE2:2 allocation score on 18node4: 0
+ native_color: FAKECLONE2:2 allocation score on remote1: 0
+-native_color: FAKECLONE2:3 allocation score on 18builder: -INFINITY
+ native_color: FAKECLONE2:3 allocation score on 18node1: -INFINITY
+ native_color: FAKECLONE2:3 allocation score on 18node2: -INFINITY
+-native_color: FAKECLONE2:3 allocation score on 18node3: 0
++native_color: FAKECLONE2:3 allocation score on 18node3: -INFINITY
+ native_color: FAKECLONE2:3 allocation score on 18node4: 0
+ native_color: FAKECLONE2:3 allocation score on remote1: 0
+-native_color: FAKECLONE2:4 allocation score on 18builder: -INFINITY
+ native_color: FAKECLONE2:4 allocation score on 18node1: -INFINITY
+ native_color: FAKECLONE2:4 allocation score on 18node2: -INFINITY
+-native_color: FAKECLONE2:4 allocation score on 18node3: 0
++native_color: FAKECLONE2:4 allocation score on 18node3: -INFINITY
+ native_color: FAKECLONE2:4 allocation score on 18node4: -INFINITY
+ native_color: FAKECLONE2:4 allocation score on remote1: 0
+-native_color: FAKECLONE2:5 allocation score on 18builder: -INFINITY
+-native_color: FAKECLONE2:5 allocation score on 18node1: -INFINITY
+-native_color: FAKECLONE2:5 allocation score on 18node2: -INFINITY
+-native_color: FAKECLONE2:5 allocation score on 18node3: 0
+-native_color: FAKECLONE2:5 allocation score on 18node4: -INFINITY
+-native_color: FAKECLONE2:5 allocation score on remote1: -INFINITY
+-native_color: remote1 allocation score on 18builder: 0
+ native_color: remote1 allocation score on 18node1: 0
+ native_color: remote1 allocation score on 18node2: 0
+ native_color: remote1 allocation score on 18node3: 0
+ native_color: remote1 allocation score on 18node4: 0
+ native_color: remote1 allocation score on remote1: -INFINITY
+-native_color: shooter allocation score on 18builder: 0
+ native_color: shooter allocation score on 18node1: 0
+ native_color: shooter allocation score on 18node2: 0
+ native_color: shooter allocation score on 18node3: 0
+diff --git a/pengine/test10/resource-discovery.summary b/pengine/test10/resource-discovery.summary
+index af0e5b3..e3d23a5 100644
+--- a/pengine/test10/resource-discovery.summary
++++ b/pengine/test10/resource-discovery.summary
+@@ -1,124 +1,128 @@
+ 
+ Current cluster status:
+-Online: [ 18builder 18node1 18node2 18node3 18node4 ]
++Online: [ 18node1 18node2 18node3 18node4 ]
+ RemoteOFFLINE: [ remote1 ]
+ 
+- shooter	(stonith:fence_xvm):	Started 18node1 
++ shooter	(stonith:fence_xvm):	Stopped 
+  remote1	(ocf::pacemaker:remote):	Stopped 
+  FAKE1	(ocf::heartbeat:Dummy):	Stopped 
+- FAKE2	(ocf::heartbeat:Dummy):	Started 18node2 
+- FAKE3	(ocf::heartbeat:Dummy):	Started 18builder 
+- FAKE4	(ocf::heartbeat:Dummy):	Started 18node1 
++ FAKE2	(ocf::heartbeat:Dummy):	Stopped 
++ FAKE3	(ocf::heartbeat:Dummy):	Stopped 
++ FAKE4	(ocf::heartbeat:Dummy):	Stopped 
+  FAKE5	(ocf::heartbeat:Dummy):	Stopped 
+  Clone Set: FAKECLONE1-clone [FAKECLONE1]
+-     Stopped: [ 18builder 18node1 18node2 18node3 18node4 remote1 ]
++     Stopped: [ 18node1 18node2 18node3 18node4 remote1 ]
+  Clone Set: FAKECLONE2-clone [FAKECLONE2]
+-     Stopped: [ 18builder 18node1 18node2 18node3 18node4 remote1 ]
++     Stopped: [ 18node1 18node2 18node3 18node4 remote1 ]
++ Resource Group: FAKEGROUP
++     FAKE6	(ocf::heartbeat:Dummy):	Stopped 
++     FAKE7	(ocf::heartbeat:Dummy):	Stopped 
+ 
+ Transition Summary:
+- * Start   remote1	(18builder)
+- * Start   FAKE1	(18node2)
+- * Move    FAKE2	(Started 18node2 -> 18node3)
+- * Move    FAKE3	(Started 18builder -> 18node3)
+- * Move    FAKE4	(Started 18node1 -> 18node4)
++ * Start   shooter	(18node2)
++ * Start   remote1	(18node1)
++ * Start   FAKE1	(18node4)
++ * Start   FAKE2	(18node2)
++ * Start   FAKE3	(18node3)
++ * Start   FAKE4	(18node4)
+  * Start   FAKE5	(remote1)
+- * Start   FAKECLONE1:0	(18builder)
+- * Start   FAKECLONE1:1	(18node1)
+- * Start   FAKECLONE1:2	(18node2)
+- * Start   FAKECLONE1:3	(18node4)
+- * Start   FAKECLONE1:4	(remote1)
+- * Start   FAKECLONE1:5	(18node3)
+- * Start   FAKECLONE2:0	(18builder)
++ * Start   FAKECLONE1:0	(18node1)
++ * Start   FAKECLONE1:1	(remote1)
++ * Start   FAKECLONE2:0	(18node3)
+  * Start   FAKECLONE2:1	(18node1)
+  * Start   FAKECLONE2:2	(18node2)
+  * Start   FAKECLONE2:3	(18node4)
+  * Start   FAKECLONE2:4	(remote1)
+- * Start   FAKECLONE2:5	(18node3)
++ * Start   FAKE6	(18node1)
++ * Start   FAKE7	(18node1)
+ 
+ Executing cluster transition:
+  * Resource action: shooter         monitor on 18node4
+  * Resource action: shooter         monitor on 18node3
++ * Resource action: shooter         monitor on 18node2
++ * Resource action: shooter         monitor on 18node1
+  * Resource action: remote1         monitor on 18node4
+  * Resource action: remote1         monitor on 18node3
++ * Resource action: remote1         monitor on 18node2
++ * Resource action: remote1         monitor on 18node1
+  * Resource action: FAKE1           monitor on 18node4
+- * Resource action: FAKE1           monitor on 18node3
+- * Resource action: FAKE1           monitor on 18node2
+- * Resource action: FAKE1           monitor on 18node1
+- * Resource action: FAKE1           monitor on 18builder
++ * Resource action: FAKE2           monitor on 18node2
++ * Resource action: FAKE2           monitor on 18node1
+  * Resource action: FAKE3           monitor on 18node3
+  * Resource action: FAKE4           monitor on 18node4
+  * Resource action: FAKE5           monitor on 18node4
+  * Resource action: FAKE5           monitor on 18node3
+  * Resource action: FAKE5           monitor on 18node2
+  * Resource action: FAKE5           monitor on 18node1
+- * Resource action: FAKE5           monitor on 18builder
++ * Resource action: FAKECLONE1:0    monitor on 18node1
+  * Pseudo action:   FAKECLONE1-clone_start_0
+- * Resource action: FAKECLONE2:0    monitor on 18builder
++ * Resource action: FAKECLONE2:0    monitor on 18node3
+  * Resource action: FAKECLONE2:1    monitor on 18node1
+  * Resource action: FAKECLONE2:3    monitor on 18node4
+- * Resource action: FAKECLONE2:5    monitor on 18node3
+  * Pseudo action:   FAKECLONE2-clone_start_0
++ * Pseudo action:   FAKEGROUP_start_0
++ * Resource action: FAKE6           monitor on 18node2
++ * Resource action: FAKE6           monitor on 18node1
++ * Resource action: FAKE7           monitor on 18node2
++ * Resource action: FAKE7           monitor on 18node1
+  * Pseudo action:   probe_nodes_complete
+- * Resource action: remote1         start on 18builder
++ * Resource action: remote1         start on 18node1
+  * Resource action: FAKE5           monitor on remote1
+- * Resource action: FAKECLONE1:4    monitor on remote1
++ * Resource action: FAKECLONE1:1    monitor on remote1
+  * Resource action: FAKECLONE2:4    monitor on remote1
+  * Pseudo action:   probe_complete
+- * Resource action: remote1         monitor=60000 on 18builder
+- * Resource action: FAKE1           start on 18node2
+- * Resource action: FAKE2           stop on 18node2
+- * Resource action: FAKE3           stop on 18builder
+- * Resource action: FAKE4           stop on 18node1
++ * Resource action: shooter         start on 18node2
++ * Resource action: remote1         monitor=60000 on 18node1
++ * Resource action: FAKE1           start on 18node4
++ * Resource action: FAKE2           start on 18node2
++ * Resource action: FAKE3           start on 18node3
++ * Resource action: FAKE4           start on 18node4
+  * Resource action: FAKE5           start on remote1
+- * Resource action: FAKECLONE1:0    start on 18builder
+- * Resource action: FAKECLONE1:1    start on 18node1
+- * Resource action: FAKECLONE1:2    start on 18node2
+- * Resource action: FAKECLONE1:3    start on 18node4
+- * Resource action: FAKECLONE1:4    start on remote1
+- * Resource action: FAKECLONE1:5    start on 18node3
++ * Resource action: FAKECLONE1:0    start on 18node1
++ * Resource action: FAKECLONE1:1    start on remote1
+  * Pseudo action:   FAKECLONE1-clone_running_0
+- * Resource action: FAKECLONE2:0    start on 18builder
++ * Resource action: FAKECLONE2:0    start on 18node3
+  * Resource action: FAKECLONE2:1    start on 18node1
+  * Resource action: FAKECLONE2:2    start on 18node2
+  * Resource action: FAKECLONE2:3    start on 18node4
+  * Resource action: FAKECLONE2:4    start on remote1
+- * Resource action: FAKECLONE2:5    start on 18node3
+  * Pseudo action:   FAKECLONE2-clone_running_0
+- * Pseudo action:   all_stopped
+- * Resource action: FAKE1           monitor=60000 on 18node2
+- * Resource action: FAKE2           start on 18node3
+- * Resource action: FAKE3           start on 18node3
+- * Resource action: FAKE4           start on 18node4
++ * Resource action: FAKE6           start on 18node1
++ * Resource action: FAKE7           start on 18node1
++ * Resource action: shooter         monitor=60000 on 18node2
++ * Resource action: FAKE1           monitor=60000 on 18node4
++ * Resource action: FAKE2           monitor=60000 on 18node2
++ * Resource action: FAKE3           monitor=60000 on 18node3
++ * Resource action: FAKE4           monitor=60000 on 18node4
+  * Resource action: FAKE5           monitor=60000 on remote1
+- * Resource action: FAKECLONE1:0    monitor=60000 on 18builder
+- * Resource action: FAKECLONE1:1    monitor=60000 on 18node1
+- * Resource action: FAKECLONE1:2    monitor=60000 on 18node2
+- * Resource action: FAKECLONE1:3    monitor=60000 on 18node4
+- * Resource action: FAKECLONE1:4    monitor=60000 on remote1
+- * Resource action: FAKECLONE1:5    monitor=60000 on 18node3
+- * Resource action: FAKECLONE2:0    monitor=60000 on 18builder
++ * Resource action: FAKECLONE1:0    monitor=60000 on 18node1
++ * Resource action: FAKECLONE1:1    monitor=60000 on remote1
++ * Resource action: FAKECLONE2:0    monitor=60000 on 18node3
+  * Resource action: FAKECLONE2:1    monitor=60000 on 18node1
+  * Resource action: FAKECLONE2:2    monitor=60000 on 18node2
+  * Resource action: FAKECLONE2:3    monitor=60000 on 18node4
+  * Resource action: FAKECLONE2:4    monitor=60000 on remote1
+- * Resource action: FAKECLONE2:5    monitor=60000 on 18node3
+- * Resource action: FAKE2           monitor=60000 on 18node3
+- * Resource action: FAKE3           monitor=60000 on 18node3
+- * Resource action: FAKE4           monitor=60000 on 18node4
++ * Pseudo action:   FAKEGROUP_running_0
++ * Resource action: FAKE6           monitor=10000 on 18node1
++ * Resource action: FAKE7           monitor=10000 on 18node1
+ 
+ Revised cluster status:
+-Online: [ 18builder 18node1 18node2 18node3 18node4 ]
++Online: [ 18node1 18node2 18node3 18node4 ]
+ RemoteOnline: [ remote1 ]
+ 
+- shooter	(stonith:fence_xvm):	Started 18node1 
+- remote1	(ocf::pacemaker:remote):	Started 18builder 
+- FAKE1	(ocf::heartbeat:Dummy):	Started 18node2 
+- FAKE2	(ocf::heartbeat:Dummy):	Started 18node3 
++ shooter	(stonith:fence_xvm):	Started 18node2 
++ remote1	(ocf::pacemaker:remote):	Started 18node1 
++ FAKE1	(ocf::heartbeat:Dummy):	Started 18node4 
++ FAKE2	(ocf::heartbeat:Dummy):	Started 18node2 
+  FAKE3	(ocf::heartbeat:Dummy):	Started 18node3 
+  FAKE4	(ocf::heartbeat:Dummy):	Started 18node4 
+  FAKE5	(ocf::heartbeat:Dummy):	Started remote1 
+  Clone Set: FAKECLONE1-clone [FAKECLONE1]
+-     Started: [ 18builder 18node1 18node2 18node3 18node4 remote1 ]
++     Started: [ 18node1 remote1 ]
++     Stopped: [ 18node2 18node3 18node4 ]
+  Clone Set: FAKECLONE2-clone [FAKECLONE2]
+-     Started: [ 18builder 18node1 18node2 18node3 18node4 remote1 ]
++     Started: [ 18node1 18node2 18node3 18node4 remote1 ]
++ Resource Group: FAKEGROUP
++     FAKE6	(ocf::heartbeat:Dummy):	Started 18node1 
++     FAKE7	(ocf::heartbeat:Dummy):	Started 18node1 
+ 
+diff --git a/pengine/test10/resource-discovery.xml b/pengine/test10/resource-discovery.xml
+index 5836804..8b517df 100644
+--- a/pengine/test10/resource-discovery.xml
++++ b/pengine/test10/resource-discovery.xml
+@@ -1,4 +1,4 @@
+-<cib epoch="11" num_updates="1" admin_epoch="0" validate-with="pacemaker-next" cib-last-written="Tue Sep  3 17:59:24 2013" update-origin="18builder" update-client="crm_resource" crm_feature_set="3.0.7" have-quorum="1" dc-uuid="5">
++<cib admin_epoch="0" cib-last-written="Tue Sep  3 17:59:24 2013" crm_feature_set="3.0.7" dc-uuid="5" epoch="13" have-quorum="1" num_updates="0" update-client="crm_resource" update-origin="18builder" validate-with="pacemaker-next">
+   <configuration>
+     <crm_config>
+       <cluster_property_set id="cib-bootstrap-options">
+@@ -11,7 +11,6 @@
+       <node id="2" uname="18node2"/>
+       <node id="3" uname="18node3"/>
+       <node id="4" uname="18node4"/>
+-      <node id="5" uname="18builder"/>
+     </nodes>
+     <resources>
+       <primitive class="stonith" id="shooter" type="fence_xvm">
+@@ -29,16 +28,14 @@
+       </primitive>
+       <primitive class="ocf" id="FAKE1" provider="heartbeat" type="Dummy">
+         <instance_attributes id="FAKE1-instance_attributes"/>
+-        <meta_attributes id="FAKE1-meta_attributes">
+-        </meta_attributes>
++        <meta_attributes id="FAKE1-meta_attributes"/>
+         <operations>
+           <op id="FAKE1-monitor-interval-60s" interval="60s" name="monitor"/>
+         </operations>
+       </primitive>
+       <primitive class="ocf" id="FAKE2" provider="heartbeat" type="Dummy">
+         <instance_attributes id="FAKE2-instance_attributes"/>
+-        <meta_attributes id="FAKE2-meta_attributes">
+-        </meta_attributes>
++        <meta_attributes id="FAKE2-meta_attributes"/>
+         <operations>
+           <op id="FAKE2-monitor-interval-60s" interval="60s" name="monitor"/>
+         </operations>
+@@ -77,109 +74,70 @@
+           </operations>
+         </primitive>
+       </clone>
++      <group id="FAKEGROUP">
++        <primitive class="ocf" id="FAKE6" provider="heartbeat" type="Dummy">
++          <instance_attributes id="FAKE6-instance_attributes"/>
++          <operations>
++            <op id="FAKE6-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="FAKE6-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="FAKE6-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++        <primitive class="ocf" id="FAKE7" provider="heartbeat" type="Dummy">
++          <instance_attributes id="FAKE7-instance_attributes"/>
++          <operations>
++            <op id="FAKE7-start-timeout-20" interval="0s" name="start" timeout="20"/>
++            <op id="FAKE7-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++            <op id="FAKE7-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++          </operations>
++        </primitive>
++      </group>
+     </resources>
+     <constraints>
+-      <rsc_location id="location-FAKE1-remote1--INFINITY" node="remote1" rsc="FAKE1" score="-INFINITY" resource-discovery="never" />
+-      <rsc_location id="location-FAKE2-18node2--INFINITY" node="18node2" rsc="FAKE2" score="-INFINITY" resource-discovery="exclusive" />
+-      <rsc_location id="location-FAKE3-18node3--INFINITY" node="18node3" rsc="FAKE3" score="INFINITY" resource-discovery="exclusive" />
+-      <rsc_location id="location-FAKE4-1-18node3--INFINITY" node="18node4" rsc="FAKE4" score="0" resource-discovery="always" />
+-      <rsc_location id="location-FAKE4-2-18node3--INFINITY" node="18node4" rsc="FAKE4" score="0" resource-discovery="never" />
+-      <rsc_location id="location-FAKE4-3-18node3--INFINITY" node="18node4" rsc="FAKE4" score="0" resource-discovery="exclusive" />
+-      <rsc_location id="location-FAKE5-18node3--INFINITY" node="18node4" rsc="FAKE5" score="0" resource-discovery="always" />
+-      <rsc_location id="location-FAKECLONE1-remote--INFINITY" node="remote1" rsc="FAKECLONE1-clone" score="0" resource-discovery="exclusive" />
+-      <rsc_location id="location-FAKECLONE2-18node2--INFINITY" node="18node2" rsc="FAKECLONE2-clone" score="0" resource-discovery="never" />
++      <rsc_location id="location-FAKE1-remote1" node="remote1" resource-discovery="never" rsc="FAKE1" score="-INFINITY"/>
++      <rsc_location id="location-FAKE1-18node1" node="18node1" resource-discovery="never" rsc="FAKE1" score="-INFINITY"/>
++      <rsc_location id="location-FAKE1-18node2" node="18node2" resource-discovery="never" rsc="FAKE1" score="-INFINITY"/>
++      <rsc_location id="location-FAKE1-18node3" node="18node3" resource-discovery="never" rsc="FAKE1" score="-INFINITY"/>
++      <rsc_location id="location-FAKE2-18node1" node="18node1" resource-discovery="exclusive" rsc="FAKE2" score="10"/>
++      <rsc_location id="location-FAKE2-18node2" node="18node2" resource-discovery="exclusive" rsc="FAKE2" score="100"/>
++      <rsc_location id="location-FAKE3-18node3--INFINITY" node="18node3" resource-discovery="exclusive" rsc="FAKE3" score="INFINITY"/>
++      <rsc_location id="location-FAKE4-1-18node3--INFINITY" node="18node4" resource-discovery="always" rsc="FAKE4" score="0"/>
++      <rsc_location id="location-FAKE4-2-18node3--INFINITY" node="18node4" resource-discovery="never" rsc="FAKE4" score="0"/>
++      <rsc_location id="location-FAKE4-3-18node3--INFINITY" node="18node4" resource-discovery="exclusive" rsc="FAKE4" score="0"/>
++      <rsc_location id="location-FAKE5-18node3--INFINITY" node="18node4" resource-discovery="always" rsc="FAKE5" score="0"/>
++      <rsc_location id="location-FAKECLONE1-remote--INFINITY" node="remote1" resource-discovery="exclusive" rsc="FAKECLONE1-clone" score="0"/>
++      <rsc_location id="location-FAKECLONE1-18node1-INFINITY" node="18node1" resource-discovery="exclusive" rsc="FAKECLONE1-clone" score="0"/>
++      <rsc_location id="location-FAKECLONE2-18node2--INFINITY" node="18node2" resource-discovery="never" rsc="FAKECLONE2-clone" score="0"/>
++
++
++      <rsc_location id="location-FAKEGROUP-18node1" node="18node1" resource-discovery="exclusive" rsc="FAKEGROUP" score="0"/>
++      <rsc_location id="location-FAKEGROUP-18node2" node="18node2" resource-discovery="exclusive" rsc="FAKEGROUP" score="0"/>
+     </constraints>
+   </configuration>
+   <status>
+-    <node_state id="5" uname="18builder" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+-      <transient_attributes id="5">
+-        <instance_attributes id="status-5">
+-        </instance_attributes>
+-      </transient_attributes>
+-      <lrm id="5">
+-        <lrm_resources>
+-          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+-            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="11:4:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;11:4:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="16" rc-code="0" op-status="0" interval="0" last-run="1378248545" last-rc-change="1378248545" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+-            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="10:3:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;10:3:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="11" rc-code="0" op-status="0" interval="60000" last-rc-change="1378248534" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+-          </lrm_resource>
+-          <lrm_resource id="remote1" type="remote" class="ocf" provider="pacemaker">
+-            <lrm_rsc_op id="remote1_last_0" operation_key="remote1_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="12:6:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;12:6:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="13" rc-code="0" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+-            <lrm_rsc_op id="remote1_monitor_60000" operation_key="remote1_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="13:5:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;13:5:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="3" rc-code="0" op-status="0" interval="60000" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+-          </lrm_resource>
+-          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
+-            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="7:9:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;7:9:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="39" rc-code="7" op-status="0" interval="0" last-run="1378249145" last-rc-change="1378249145" exec-time="61" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+-          </lrm_resource>
+-          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
+-            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="18:11:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;18:11:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="53" rc-code="0" op-status="0" interval="0" last-run="1378249147" last-rc-change="1378249147" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+-            <lrm_rsc_op id="FAKE3_monitor_60000" operation_key="FAKE3_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="19:11:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;19:11:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="56" rc-code="0" op-status="0" interval="60000" last-rc-change="1378249147" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+-          </lrm_resource>
+-          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
+-            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="9:12:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;9:12:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="61" rc-code="7" op-status="0" interval="0" last-run="1378249149" last-rc-change="1378249149" exec-time="65" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+-          </lrm_resource>
+-        </lrm_resources>
++    <node_state crm-debug-origin="remote_init_cib_status" id="remote1" remote_node="true" uname="remote1">
++      <lrm id="remote1">
++        <lrm_resources/>
+       </lrm>
+     </node_state>
+-    <node_state id="1" uname="18node1" crmd="online" crm-debug-origin="do_update_resource" in_ccm="true" join="member" expected="member">
++    <node_state crm-debug-origin="do_update_resource" crmd="online" expected="member" id="1" in_ccm="true" join="member" uname="18node1">
+       <lrm id="1">
+-        <lrm_resources>
+-          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+-            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="12:4:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;12:4:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="9" rc-code="0" op-status="0" interval="0" last-run="1378248547" last-rc-change="1378248547" exec-time="19" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+-            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="13:4:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;13:4:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="12" rc-code="0" op-status="0" interval="60000" last-rc-change="1378248548" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+-          </lrm_resource>
+-          <lrm_resource id="remote1" type="remote" class="ocf" provider="pacemaker">
+-            <lrm_rsc_op id="remote1_last_0" operation_key="remote1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="8:4:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;8:4:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="1" rc-code="7" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+-          </lrm_resource>
+-          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
+-            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="9:9:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;9:9:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="25" rc-code="7" op-status="0" interval="0" last-run="1378249144" last-rc-change="1378249144" exec-time="28" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+-          </lrm_resource>
+-          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
+-            <lrm_rsc_op id="FAKE3_last_failure_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="10:10:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;10:10:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="30" rc-code="0" op-status="0" interval="0" last-run="1378249146" last-rc-change="1378249146" exec-time="32" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+-            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="17:11:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;17:11:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="33" rc-code="0" op-status="0" interval="0" last-run="1378249146" last-rc-change="1378249146" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+-          </lrm_resource>
+-          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
+-            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="22:12:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;22:12:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="40" rc-code="0" op-status="0" interval="0" last-run="1378249148" last-rc-change="1378249148" exec-time="36" queue-time="38" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+-            <lrm_rsc_op id="FAKE4_monitor_60000" operation_key="FAKE4_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="23:12:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;23:12:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="44" rc-code="0" op-status="0" interval="60000" last-rc-change="1378249148" exec-time="14" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+-          </lrm_resource>
+-        </lrm_resources>
++        <lrm_resources/>
+       </lrm>
+-      <transient_attributes id="1">
+-        <instance_attributes id="status-1">
+-        </instance_attributes>
+-      </transient_attributes>
+     </node_state>
+-    <node_state id="2" uname="18node2" crmd="online" crm-debug-origin="do_update_resource" in_ccm="true" join="member" expected="member">
++    <node_state crm-debug-origin="do_update_resource" crmd="online" expected="member" id="2" in_ccm="true" join="member" uname="18node2">
+       <lrm id="2">
+-        <lrm_resources>
+-          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+-            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="8:3:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;8:3:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1378248530" last-rc-change="1378248530" exec-time="980" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+-          </lrm_resource>
+-          <lrm_resource id="remote1" type="remote" class="ocf" provider="pacemaker">
+-            <lrm_rsc_op id="remote1_last_0" operation_key="remote1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="10:4:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;10:4:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="1" rc-code="7" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+-          </lrm_resource>
+-          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
+-            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="16:9:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;16:9:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="18" rc-code="0" op-status="0" interval="0" last-run="1378249144" last-rc-change="1378249144" exec-time="18" queue-time="9" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+-            <lrm_rsc_op id="FAKE2_monitor_60000" operation_key="FAKE2_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="17:9:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;17:9:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="22" rc-code="0" op-status="0" interval="60000" last-rc-change="1378249144" exec-time="20" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+-          </lrm_resource>
+-          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
+-            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="12:10:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;12:10:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="27" rc-code="7" op-status="0" interval="0" last-run="1378249146" last-rc-change="1378249146" exec-time="35" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+-          </lrm_resource>
+-          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
+-            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="13:12:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;13:12:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="32" rc-code="7" op-status="0" interval="0" last-run="1378249148" last-rc-change="1378249148" exec-time="33" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+-          </lrm_resource>
+-        </lrm_resources>
++        <lrm_resources/>
+       </lrm>
+-      <transient_attributes id="2">
+-        <instance_attributes id="status-2">
+-        </instance_attributes>
+-      </transient_attributes>
+     </node_state>
+-    <node_state id="3" uname="18node3" crmd="online" crm-debug-origin="do_update_resource" in_ccm="true" join="member" expected="member"/>
+-    <node_state id="4" uname="18node4" crmd="online" crm-debug-origin="do_update_resource" in_ccm="true" join="member" expected="member"/>
+-    <node_state remote_node="true" id="remote1" uname="remote1" crm-debug-origin="remote_init_cib_status">
+-      <transient_attributes id="remote1">
+-        <instance_attributes id="status-remote1">
+-        </instance_attributes>
+-      </transient_attributes>
++    <node_state crm-debug-origin="do_update_resource" crmd="online" expected="member" id="3" in_ccm="true" join="member" uname="18node3">
++      <lrm id="3">
++        <lrm_resources/>
++      </lrm>
+     </node_state>
++    <node_state crm-debug-origin="do_update_resource" crmd="online" expected="member" id="4" in_ccm="true" join="member" uname="18node4"/>
++    <lrm id="4">
++      <lrm_resources/>
++    </lrm>
+   </status>
+ </cib>
+diff --git a/tools/Makefile.am b/tools/Makefile.am
+index 5142b29..74b69e3 100644
+--- a/tools/Makefile.am
++++ b/tools/Makefile.am
+@@ -77,7 +77,7 @@ crm_node_SOURCES	= crm_node.c
+ crm_node_LDADD		= $(top_builddir)/lib/cluster/libcrmcluster.la \
+ 			  $(COMMONLIBS) $(CLUSTERLIBS)
+ 
+-crm_simulate_SOURCES	= crm_simulate.c
++crm_simulate_SOURCES	= crm_simulate.c fake_transition.c
+ crm_simulate_CFLAGS	= -I$(top_srcdir)/pengine
+ 
+ crm_simulate_LDADD	= $(top_builddir)/lib/pengine/libpe_status.la		\
+@@ -105,12 +105,14 @@ crm_verify_LDADD	= $(top_builddir)/lib/pengine/libpe_status.la 	\
+ crm_attribute_SOURCES	= crm_attribute.c
+ crm_attribute_LDADD	= $(top_builddir)/lib/cluster/libcrmcluster.la $(COMMONLIBS)
+ 
+-crm_resource_SOURCES	= crm_resource.c
+-crm_resource_LDADD	= $(top_builddir)/lib/pengine/libpe_rules.la  \
+-			$(top_builddir)/lib/lrmd/liblrmd.la \
+-			$(top_builddir)/lib/services/libcrmservice.la \
+-			$(top_builddir)/lib/pengine/libpe_status.la \
+-			$(top_builddir)/pengine/libpengine.la \
++crm_resource_SOURCES	= crm_resource.c fake_transition.c
++crm_resource_CFLAGS	= -I$(top_srcdir)/pengine
++crm_resource_LDADD	= $(top_builddir)/lib/pengine/libpe_rules.la  		\
++			$(top_builddir)/lib/lrmd/liblrmd.la 			\
++			$(top_builddir)/lib/services/libcrmservice.la 		\
++			$(top_builddir)/lib/pengine/libpe_status.la 		\
++			$(top_builddir)/pengine/libpengine.la 			\
++			$(top_builddir)/lib/transition/libtransitioner.la	\
+ 			$(COMMONLIBS)
+ 
+ iso8601_SOURCES		= test.iso8601.c
+diff --git a/tools/crm_failcount b/tools/crm_failcount
+index 94a8400..ed697e9 100755
+--- a/tools/crm_failcount
++++ b/tools/crm_failcount
+@@ -1,5 +1,6 @@
+ #!/bin/bash
+ 
++resource=""
+ options=""
+ target=`crm_node -n`
+ 
+@@ -11,15 +12,7 @@ if [ $? != 0 ] ; then echo "crm_failcount - A convenience wrapper for crm_attrib
+ # Note the quotes around `$TEMP': they are essential!
+ eval set -- "$TEMP"
+ 
+-while true ; do
+-    case "$1" in
+-	-N|--node) target="$2"; shift; shift;;
+-	-U|--uname) target="$2"; shift; shift;;
+-	-v|--attr-value|-i|--attr-id) options="$options $1 $2"; shift; shift;;
+-	-Q|--quiet|-D|--delete-attr|-G|--get-value|-V) options="$options $1"; shift;;
+-	-r|--resource-id) options="$options -n fail-count-$2"; shift; shift;;
+-	--version) crm_attribute --version; exit 0;;
+-	--help)
++function show_help() {
+ 	    echo "crm_failcount - A convenience wrapper for crm_attribute";
+ 	    echo "";
+ 	    echo "Set, update or remove the failcount for the specified resource on the named node";
+@@ -43,10 +36,27 @@ while true ; do
+ 	    echo " -l, --lifetime=value	Until when should the setting take affect."
+ 	    echo "	       		Valid values: reboot, forever"
+ 	    echo " -i, --id=value		(Advanced) The ID used to identify the attribute"
++}
++
++while true ; do
++    case "$1" in
++	-N|--node) target="$2"; shift; shift;;
++	-U|--uname) target="$2"; shift; shift;;
++	-v|--attr-value|-i|--attr-id) options="$options $1 $2"; shift; shift;;
++	-Q|--quiet|-D|--delete-attr|-G|--get-value|-V) options="$options $1"; shift;;
++	-r|--resource-id) options="$options -n fail-count-$2"; resource="$2"; shift; shift;;
++	--version) crm_attribute --version; exit 0;;
++	--help)
++	    show_help
+ 	    exit 0;;
+ 	--) shift ; break ;;
+ 	*) echo "Unknown option: $1. See --help for details." exit 1;;
+     esac
+ done
+ 
++if [ "x$resource" = x ]; then
++    echo "You must supply a resource name to check. See 'crm_failcount --help' for details"
++    exit 1
++fi
++
+ crm_attribute -N $target $options -t status -d 0
+diff --git a/tools/crm_resource.c b/tools/crm_resource.c
+index ff5effd..6e510e1 100644
+--- a/tools/crm_resource.c
++++ b/tools/crm_resource.c
+@@ -43,6 +43,9 @@
+ #include <crm/pengine/status.h>
+ #include <crm/pengine/internal.h>
+ 
++#include "fake_transition.h"
++extern xmlNode *do_calculations(pe_working_set_t * data_set, xmlNode * xml_input, crm_time_t * now);
++
+ bool scope_master = FALSE;
+ gboolean do_force = FALSE;
+ gboolean BE_QUIET = FALSE;
+@@ -1300,6 +1303,373 @@ generate_resource_params(resource_t * rsc, pe_working_set_t * data_set)
+     return combined;
+ }
+ 
++static bool resource_is_running_on(resource_t *rsc, const char *host) 
++{
++    bool found = TRUE;
++    GListPtr hIter = NULL;
++    GListPtr hosts = NULL;
++
++    if(rsc == NULL) {
++        return FALSE;
++    }
++
++    rsc->fns->location(rsc, &hosts, TRUE);
++    for (hIter = hosts; host != NULL && hIter != NULL; hIter = hIter->next) {
++        pe_node_t *node = (pe_node_t *) hIter->data;
++
++        if(strcmp(host, node->details->uname) == 0) {
++            crm_trace("Resource %s is running on %s\n", rsc->id, host);
++            goto done;
++        } else if(strcmp(host, node->details->id) == 0) {
++            crm_trace("Resource %s is running on %s\n", rsc->id, host);
++            goto done;
++        }
++    }
++
++    if(host != NULL) {
++        crm_trace("Resource %s is not running on: %s\n", rsc->id, host);
++        found = FALSE;
++
++    } else if(host == NULL && hosts == NULL) {
++        crm_trace("Resource %s is not running\n", rsc->id);
++        found = FALSE;
++    }
++
++  done:
++
++    g_list_free(hosts);
++    return found;
++}
++
++static GList *get_active_resources(const char *host, pe_working_set_t *data_set) 
++{
++    GList *rIter = NULL;
++    GList *active = NULL;
++
++    for (rIter = data_set->resources; rIter != NULL; rIter = rIter->next) {
++        resource_t *rsc = (resource_t *) rIter->data;
++
++        if(resource_is_running_on(rsc, host)) {
++            active = g_list_append(active, strdup(rsc->id));
++        }
++    }
++
++    return active;
++}
++
++static GList *subtract_lists(GList *from, GList *items) 
++{
++    GList *item = NULL;
++    GList *result = g_list_copy(from);
++
++    for (item = items; item != NULL; item = item->next) {
++        GList *candidate = NULL;
++        for (candidate = from; candidate != NULL; candidate = candidate->next) {
++            crm_info("Comparing %s with %s", candidate->data, item->data);
++            if(strcmp(candidate->data, item->data) == 0) {
++                result = g_list_remove(result, candidate->data);
++                break;
++            }
++        }
++    }
++
++    return result;
++}
++
++static void dump_list(GList *items, const char *tag) 
++{
++    int lpc = 0;
++    GList *item = NULL;
++
++    for (item = items; item != NULL; item = item->next) {
++        crm_trace("%s[%d]: %s", tag, lpc, item->data);
++        lpc++;
++    }
++}
++
++static void display_list(GList *items, const char *tag) 
++{
++    GList *item = NULL;
++
++    for (item = items; item != NULL; item = item->next) {
++        fprintf(stdout, "%s%s\n", tag, (const char *)item->data);
++    }
++}
++
++static int
++update_dataset(cib_t *cib, pe_working_set_t * data_set, bool simulate)
++{
++    xmlNode *cib_xml_copy = NULL;
++    int rc = cib->cmds->query(cib, NULL, &cib_xml_copy, cib_scope_local | cib_sync_call);
++
++    if(rc != pcmk_ok) {
++        fprintf(stdout, "Could not obtain the current CIB: %s (%d)\n", pcmk_strerror(rc), rc);
++        return crm_exit(rc);
++
++    } else if (cli_config_update(&cib_xml_copy, NULL, FALSE) == FALSE) {
++        fprintf(stderr, "Could not upgrade the current CIB\n");
++        return -ENOKEY;
++    }
++
++    set_working_set_defaults(data_set);
++    data_set->input = cib_xml_copy;
++    data_set->now = crm_time_new(NULL);
++
++    if(simulate) {
++        char *pid = crm_itoa(getpid());
++        cib_t *shadow_cib = cib_shadow_new(pid);
++        char *shadow_file = get_shadow_file(pid);
++
++        if (shadow_cib == NULL) {
++            fprintf(stderr, "Could not create shadow cib: '%s'\n", pid);
++            crm_exit(-ENXIO);
++        }
++
++        rc = write_xml_file(cib_xml_copy, shadow_file, FALSE);
++
++        if (rc < 0) {
++            fprintf(stderr, "Could not populate shadow cib: %s (%d)\n", pcmk_strerror(rc), rc);
++            free_xml(cib_xml_copy);
++            return rc;
++        }
++
++        rc = shadow_cib->cmds->signon(shadow_cib, crm_system_name, cib_command);
++        if(rc != pcmk_ok) {
++            fprintf(stderr, "Could not connect to shadow cib: %s (%d)\n", pcmk_strerror(rc), rc);
++            free_xml(cib_xml_copy);
++            return rc;
++        }
++
++        do_calculations(data_set, cib_xml_copy, NULL);
++        run_simulation(data_set, shadow_cib, NULL, TRUE);
++        rc = update_dataset(shadow_cib, data_set, FALSE);
++
++        cib_delete(shadow_cib);
++        /* unlink(shadow_file); */
++        free(shadow_file);
++
++    } else {
++        cluster_status(data_set);
++    }
++
++    return rc;
++}
++
++static int
++max_delay_in(pe_working_set_t * data_set, GList *resources) 
++{
++    int max_delay = 0;
++    GList *item = NULL;
++
++    for (item = resources; item != NULL; item = item->next) {
++        resource_t *rsc = pe_find_resource(data_set->resources, (const char *)item->data);
++
++        if(rsc) {
++            char *key = g_strdup_printf("%s_%s_0", rsc->id, RSC_STOP);
++            action_t *stop = custom_action(rsc, key, RSC_STOP, NULL, TRUE, FALSE, data_set);
++            const char *value = g_hash_table_lookup(stop->meta, XML_ATTR_TIMEOUT);
++            int delay = crm_int_helper(value, NULL);
++
++            if(delay > max_delay) {
++                crm_trace("Calculated new delay of %s ms due to %s", value, rsc->id);
++                max_delay = delay;
++            }
++
++            pe_free_action(stop);
++        }
++    }
++
++
++    return 5 + (max_delay / 1000);
++}
++
++static int
++resource_restart(resource_t * rsc, const char *host, int timeout_ms, cib_t * cib)
++{
++    int rc = 0;
++    int lpc = 0;
++    int before = 0;
++    int step_timeout_s = 0;
++    int sleep_interval = 2;
++    int timeout = timeout_ms / 1000;
++
++    bool is_clone = FALSE;
++    char *rsc_id = NULL;
++
++    GList *list_delta = NULL;
++    GList *target_active = NULL;
++    GList *current_active = NULL;
++    GList *restart_target_active = NULL;
++
++    pe_working_set_t data_set;
++
++    if(resource_is_running_on(rsc, host) == FALSE) {
++        return -ENXIO;
++    }
++
++
++    rsc_id = strdup(rsc->id);
++    if(rsc->variant > pe_group) {
++        is_clone = TRUE;
++    }
++
++    /*
++      grab full cib
++      determine resource state of list
++      disable or ban
++      poll and and watch for resources to get stopped
++      without --wait, calculate the stop timeout for each step and wait for that
++      if we hit --wait or the service timeout, re-enable or un-ban, report failure and indicate which resources we couldn't take down
++      if everything stopped, re-enable or un-ban
++      poll and and watch for resources to get stopped
++      without --wait, calculate the start timeout for each step and wait for that
++      if we hit --wait or the service timeout, report (different) failure and indicate which resources we couldn't bring back up
++      report success
++
++      Optimizations:
++      - use constraints to determine ordered list of affected resources
++      - Allow a --no-deps option (aka. --force-restart)
++    */
++
++
++    set_working_set_defaults(&data_set);
++    rc = update_dataset(cib, &data_set, FALSE);
++    if(rc != pcmk_ok) {
++        fprintf(stdout, "Could not get new resource list: %s (%d)\n", pcmk_strerror(rc), rc);
++        return rc;
++    }
++
++    restart_target_active = get_active_resources(host, &data_set);
++    current_active = get_active_resources(host, &data_set);
++
++    dump_list(current_active, "Origin");
++
++    if(is_clone && host) {
++        BE_QUIET = TRUE;
++        rc = ban_resource(rsc_id, host, NULL, cib);
++
++    } else {
++        rc = set_resource_attr(rsc_id, NULL, NULL, XML_RSC_ATTR_TARGET_ROLE, RSC_STOPPED, FALSE, cib, &data_set);
++    }
++    if(rc != pcmk_ok) {
++        fprintf(stderr, "Could not set target-role for %s: %s (%d)\n", rsc_id, pcmk_strerror(rc), rc);
++        return crm_exit(rc);
++    }
++
++    rc = update_dataset(cib, &data_set, TRUE);
++    if(rc != pcmk_ok) {
++        fprintf(stderr, "Could not determine which resources would be stopped\n");
++        goto failure;
++    }
++
++    target_active = get_active_resources(host, &data_set);
++    dump_list(target_active, "Target");
++
++    list_delta = subtract_lists(current_active, target_active);
++    fprintf(stdout, "Waiting for %d resources to stop:\n", g_list_length(list_delta));
++    display_list(list_delta, " * ");
++
++    step_timeout_s = timeout / sleep_interval;
++    while(g_list_length(list_delta) > 0) {
++        before = g_list_length(list_delta);
++        if(timeout_ms == 0) {
++            step_timeout_s = max_delay_in(&data_set, list_delta) / sleep_interval;
++        }
++
++        /* We probably don't need the entire step timeout */
++        for(lpc = 0; lpc < step_timeout_s && g_list_length(list_delta) > 0; lpc++) {
++            sleep(sleep_interval);
++            if(timeout) {
++                timeout -= sleep_interval;
++                crm_trace("%ds remaining", timeout);
++            }
++            rc = update_dataset(cib, &data_set, FALSE);
++            if(rc != pcmk_ok) {
++                fprintf(stderr, "Could not determine which resources were stopped\n");
++                goto failure;
++            }
++
++            current_active = get_active_resources(host, &data_set);
++            list_delta = subtract_lists(current_active, target_active);
++            dump_list(current_active, "Current");
++            dump_list(list_delta, "Delta");
++        }
++
++        crm_trace("%d (was %d) resources remaining", before, g_list_length(list_delta));
++        if(before == g_list_length(list_delta)) {
++            /* aborted during stop phase, print the contents of list_delta */
++            fprintf(stderr, "Could not complete shutdown of %s, %d resources remaining\n", rsc_id, g_list_length(list_delta));
++            display_list(list_delta, " * ");
++            rc = -ETIME;
++            goto failure;
++        }
++
++    }
++
++    if(is_clone && host) {
++        rc = clear_resource(rsc_id, host, NULL, cib);
++
++    } else {
++        rc = delete_resource_attr(rsc_id, NULL, NULL, XML_RSC_ATTR_TARGET_ROLE, cib, &data_set);
++    }
++
++    if(rc != pcmk_ok) {
++        fprintf(stderr, "Could not unset target-role for %s: %s (%d)\n", rsc_id, pcmk_strerror(rc), rc);
++        return crm_exit(rc);
++    }
++
++    target_active = restart_target_active;
++    list_delta = subtract_lists(target_active, current_active);
++    fprintf(stdout, "Waiting for %d resources to start again:\n", g_list_length(list_delta));
++    display_list(list_delta, " * ");
++
++    step_timeout_s = timeout / sleep_interval;
++    while(g_list_length(list_delta) > 0) {
++        if(timeout_ms == 0) {
++            step_timeout_s = max_delay_in(&data_set, list_delta) / sleep_interval;
++        }
++
++        /* We probably don't need the entire step timeout */
++        for(lpc = 0; lpc < step_timeout_s && g_list_length(list_delta) > 0; lpc++) {
++            sleep(sleep_interval);
++            if(timeout) {
++                timeout -= sleep_interval;
++                crm_trace("%ds remaining", timeout);
++            }
++
++            rc = update_dataset(cib, &data_set, FALSE);
++            if(rc != pcmk_ok) {
++                fprintf(stderr, "Could not determine which resources were started\n");
++                goto failure;
++            }
++
++            current_active = get_active_resources(host, &data_set);
++            list_delta = subtract_lists(target_active, current_active);
++            dump_list(current_active, "Current");
++            dump_list(list_delta, "Delta");
++        }
++
++        if(before == g_list_length(list_delta)) {
++            /* aborted during start phase, print the contents of list_delta */
++            fprintf(stdout, "Could not complete restart of %s, %d resources remaining\n", rsc_id, g_list_length(list_delta));
++            display_list(list_delta, " * ");
++            rc = -ETIME;
++            goto failure;
++        }
++
++    } while(g_list_length(list_delta) > 0);
++
++    return pcmk_ok;
++
++  failure:
++    if(is_clone && host) {
++        clear_resource(rsc_id, host, NULL, cib);
++
++    } else {
++        delete_resource_attr(rsc_id, NULL, NULL, XML_RSC_ATTR_TARGET_ROLE, cib, &data_set);
++    }
++    return rc;
++}
+ 
+ /* *INDENT-OFF* */
+ static struct crm_option long_options[] = {
+@@ -1371,6 +1741,7 @@ static struct crm_option long_options[] = {
+     {"-spacer-",   1, 0, '-', "\nAdvanced Commands:"},
+     {"delete",     0, 0, 'D', "\t\t(Advanced) Delete a resource from the CIB"},
+     {"fail",       0, 0, 'F', "\t\t(Advanced) Tell the cluster this resource has failed"},
++    {"restart",    0, 0,  0,  NULL, 1},
+     {"force-stop", 0, 0,  0,  "\t(Advanced) Bypass the cluster and stop a resource on the local node. Additional detail with -V"},
+     {"force-start",0, 0,  0,  "\t(Advanced) Bypass the cluster and start a resource on the local node. Additional detail with -V"},
+     {"force-check",0, 0,  0,  "\t(Advanced) Bypass the cluster and check the state of a resource on the local node. Additional detail with -V\n"},
+@@ -1384,6 +1755,7 @@ static struct crm_option long_options[] = {
+     {"utilization",	0, 0, 'z', "\tModify a resource's utilization attribute. For use with -p, -g, -d"},
+     {"set-name",        1, 0, 's', "\t(Advanced) ID of the instance_attributes object to change"},
+     {"nvpair",          1, 0, 'i', "\t(Advanced) ID of the nvpair object to change/delete"},
++    {"timeout",         1, 0, 'T',  "\t(Advanced) How long to wait for --restart to take effect", 1},
+     {"force",		0, 0, 'f', "\n" /* Is this actually true anymore?
+ 					   "\t\tForce the resource to move by creating a rule for the current location and a score of -INFINITY"
+ 					   "\n\t\tThis should be used if the resource's stickiness and constraint scores total more than INFINITY (Currently 100,000)"
+@@ -1444,6 +1816,7 @@ main(int argc, char **argv)
+ 
+     int rc = pcmk_ok;
+     int option_index = 0;
++    int timeout_ms = 0;
+     int argerr = 0;
+     int flag;
+ 
+@@ -1469,6 +1842,7 @@ main(int argc, char **argv)
+                     recursive = TRUE;
+ 
+                 } else if (safe_str_eq("force-stop", longname)
++                    || safe_str_eq("restart", longname)
+                     || safe_str_eq("force-start", longname)
+                     || safe_str_eq("force-check", longname)) {
+                     rsc_cmd = flag;
+@@ -1618,6 +1992,9 @@ main(int argc, char **argv)
+             case 't':
+                 rsc_type = optarg;
+                 break;
++            case 'T':
++                timeout_ms = crm_get_msec(optarg);
++                break;
+             case 'C':
+             case 'R':
+             case 'P':
+@@ -1769,6 +2146,11 @@ main(int argc, char **argv)
+             goto bail;
+         }
+ 
++    } else if (rsc_cmd == 0 && rsc_long_cmd && safe_str_eq(rsc_long_cmd, "restart")) {
++        resource_t *rsc = pe_find_resource(data_set.resources, rsc_id);
++
++        rc = resource_restart(rsc, host_uname, timeout_ms, cib_conn);
++
+     } else if (rsc_cmd == 0 && rsc_long_cmd) {
+         svc_action_t *op = NULL;
+         const char *rtype = NULL;
+@@ -1801,6 +2183,16 @@ main(int argc, char **argv)
+             action = "monitor";
+         }
+ 
++        if(rsc->variant == pe_clone || rsc->variant == pe_master) {
++            /* Grab the first child resource in the hope its not a group */
++            rsc = rsc->children->data;
++        }
++
++        if(rsc->variant == pe_group) {
++            CMD_ERR("Sorry, --%s doesn't support group resources\n", rsc_long_cmd);
++            crm_exit(EOPNOTSUPP);
++        }
++
+         rclass = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
+         rprov = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER);
+         rtype = crm_element_value(rsc->xml, XML_ATTR_TYPE);
+diff --git a/tools/crm_simulate.c b/tools/crm_simulate.c
+index 7c0dcc7..d4e2238 100644
+--- a/tools/crm_simulate.c
++++ b/tools/crm_simulate.c
+@@ -34,19 +34,14 @@
+ #include <crm/common/iso8601.h>
+ #include <crm/pengine/status.h>
+ #include <allocate.h>
++#include "fake_transition.h"
+ 
+ cib_t *global_cib = NULL;
+ GListPtr op_fail = NULL;
+ gboolean quiet = FALSE;
+-gboolean bringing_nodes_online = FALSE;
+ gboolean print_pending = FALSE;
+ char *temp_shadow = NULL;
+-
+-#define new_node_template "//"XML_CIB_TAG_NODE"[@uname='%s']"
+-#define node_template "//"XML_CIB_TAG_STATE"[@uname='%s']"
+-#define rsc_template "//"XML_CIB_TAG_STATE"[@uname='%s']//"XML_LRM_TAG_RESOURCE"[@id='%s']"
+-#define op_template  "//"XML_CIB_TAG_STATE"[@uname='%s']//"XML_LRM_TAG_RESOURCE"[@id='%s']/"XML_LRM_TAG_RSC_OP"[@id='%s']"
+-/* #define op_template  "//"XML_CIB_TAG_STATE"[@uname='%s']//"XML_LRM_TAG_RESOURCE"[@id='%s']/"XML_LRM_TAG_RSC_OP"[@id='%s' and @"XML_LRM_ATTR_CALLID"='%d']" */
++extern gboolean bringing_nodes_online;
+ 
+ #define quiet_log(fmt, args...) do {		\
+ 	if(quiet == FALSE) {			\
+@@ -68,472 +63,6 @@ get_date(void)
+     return NULL;
+ }
+ 
+-static xmlNode *
+-find_resource(xmlNode * cib_node, const char *resource)
+-{
+-    char *xpath = NULL;
+-    xmlNode *match = NULL;
+-    const char *node = crm_element_value(cib_node, XML_ATTR_UNAME);
+-    int max = strlen(rsc_template) + strlen(resource) + strlen(node) + 1;
+-
+-    xpath = calloc(1, max);
+-
+-    snprintf(xpath, max, rsc_template, node, resource);
+-    match = get_xpath_object(xpath, cib_node, LOG_DEBUG_2);
+-
+-    free(xpath);
+-    return match;
+-}
+-
+-static void
+-create_node_entry(cib_t * cib_conn, const char *node)
+-{
+-    int rc = pcmk_ok;
+-    int max = strlen(new_node_template) + strlen(node) + 1;
+-    char *xpath = NULL;
+-
+-    xpath = calloc(1, max);
+-
+-    snprintf(xpath, max, new_node_template, node);
+-    rc = cib_conn->cmds->query(cib_conn, xpath, NULL, cib_xpath | cib_sync_call | cib_scope_local);
+-
+-    if (rc == -ENXIO) {
+-        xmlNode *cib_object = create_xml_node(NULL, XML_CIB_TAG_NODE);
+-
+-        /* Using node uname as uuid ala corosync/openais */
+-        crm_xml_add(cib_object, XML_ATTR_ID, node);
+-        crm_xml_add(cib_object, XML_ATTR_UNAME, node);
+-        cib_conn->cmds->create(cib_conn, XML_CIB_TAG_NODES, cib_object,
+-                               cib_sync_call | cib_scope_local);
+-        /* Not bothering with subsequent query to see if it exists,
+-           we'll bomb out later in the call to query_node_uuid()... */
+-
+-        free_xml(cib_object);
+-    }
+-
+-    free(xpath);
+-}
+-
+-static xmlNode *
+-inject_node_state(cib_t * cib_conn, const char *node, const char *uuid)
+-{
+-    int rc = pcmk_ok;
+-    int max = strlen(rsc_template) + strlen(node) + 1;
+-    char *xpath = NULL;
+-    xmlNode *cib_object = NULL;
+-
+-    xpath = calloc(1, max);
+-
+-    if (bringing_nodes_online) {
+-        create_node_entry(cib_conn, node);
+-    }
+-
+-    snprintf(xpath, max, node_template, node);
+-    rc = cib_conn->cmds->query(cib_conn, xpath, &cib_object,
+-                               cib_xpath | cib_sync_call | cib_scope_local);
+-
+-    if (cib_object && ID(cib_object) == NULL) {
+-        crm_err("Detected multiple node_state entries for xpath=%s, bailing", xpath);
+-        crm_log_xml_warn(cib_object, "Duplicates");
+-        crm_exit(ENOTUNIQ);
+-    }
+-
+-    if (rc == -ENXIO) {
+-        char *found_uuid = NULL;
+-
+-        if (uuid == NULL) {
+-            query_node_uuid(cib_conn, node, &found_uuid, NULL);
+-        } else {
+-            found_uuid = strdup(uuid);
+-        }
+-
+-        cib_object = create_xml_node(NULL, XML_CIB_TAG_STATE);
+-        crm_xml_add(cib_object, XML_ATTR_UUID, found_uuid);
+-        crm_xml_add(cib_object, XML_ATTR_UNAME, node);
+-        cib_conn->cmds->create(cib_conn, XML_CIB_TAG_STATUS, cib_object,
+-                               cib_sync_call | cib_scope_local);
+-        free_xml(cib_object);
+-        free(found_uuid);
+-
+-        rc = cib_conn->cmds->query(cib_conn, xpath, &cib_object,
+-                                   cib_xpath | cib_sync_call | cib_scope_local);
+-        crm_trace("injecting node state for %s. rc is %d", node, rc);
+-    }
+-
+-    free(xpath);
+-    CRM_ASSERT(rc == pcmk_ok);
+-    return cib_object;
+-}
+-
+-static xmlNode *
+-modify_node(cib_t * cib_conn, char *node, gboolean up)
+-{
+-    xmlNode *cib_node = inject_node_state(cib_conn, node, NULL);
+-
+-    if (up) {
+-        crm_xml_add(cib_node, XML_NODE_IN_CLUSTER, XML_BOOLEAN_YES);
+-        crm_xml_add(cib_node, XML_NODE_IS_PEER, ONLINESTATUS);
+-        crm_xml_add(cib_node, XML_NODE_JOIN_STATE, CRMD_JOINSTATE_MEMBER);
+-        crm_xml_add(cib_node, XML_NODE_EXPECTED, CRMD_JOINSTATE_MEMBER);
+-
+-    } else {
+-        crm_xml_add(cib_node, XML_NODE_IN_CLUSTER, XML_BOOLEAN_NO);
+-        crm_xml_add(cib_node, XML_NODE_IS_PEER, OFFLINESTATUS);
+-        crm_xml_add(cib_node, XML_NODE_JOIN_STATE, CRMD_JOINSTATE_DOWN);
+-        crm_xml_add(cib_node, XML_NODE_EXPECTED, CRMD_JOINSTATE_DOWN);
+-    }
+-
+-    crm_xml_add(cib_node, XML_ATTR_ORIGIN, crm_system_name);
+-    return cib_node;
+-}
+-
+-static void
+-inject_transient_attr(xmlNode * cib_node, const char *name, const char *value)
+-{
+-    xmlNode *attrs = NULL;
+-    xmlNode *container = NULL;
+-    xmlNode *nvp = NULL;
+-    const char *node_uuid = ID(cib_node);
+-    char *nvp_id = crm_concat(name, node_uuid, '-');
+-
+-    crm_info("Injecting attribute %s=%s into %s '%s'", name, value, xmlGetNodePath(cib_node),
+-             ID(cib_node));
+-
+-    attrs = first_named_child(cib_node, XML_TAG_TRANSIENT_NODEATTRS);
+-    if (attrs == NULL) {
+-        attrs = create_xml_node(cib_node, XML_TAG_TRANSIENT_NODEATTRS);
+-        crm_xml_add(attrs, XML_ATTR_ID, node_uuid);
+-    }
+-
+-    container = first_named_child(attrs, XML_TAG_ATTR_SETS);
+-    if (container == NULL) {
+-        container = create_xml_node(attrs, XML_TAG_ATTR_SETS);
+-        crm_xml_add(container, XML_ATTR_ID, node_uuid);
+-    }
+-
+-    nvp = create_xml_node(container, XML_CIB_TAG_NVPAIR);
+-    crm_xml_add(nvp, XML_ATTR_ID, nvp_id);
+-    crm_xml_add(nvp, XML_NVPAIR_ATTR_NAME, name);
+-    crm_xml_add(nvp, XML_NVPAIR_ATTR_VALUE, value);
+-
+-    free(nvp_id);
+-}
+-
+-static xmlNode *
+-inject_resource(xmlNode * cib_node, const char *resource, const char *rclass, const char *rtype,
+-                const char *rprovider)
+-{
+-    xmlNode *lrm = NULL;
+-    xmlNode *container = NULL;
+-    xmlNode *cib_resource = NULL;
+-    char *xpath = NULL;
+-
+-    cib_resource = find_resource(cib_node, resource);
+-    if (cib_resource != NULL) {
+-        return cib_resource;
+-    }
+-
+-    /* One day, add query for class, provider, type */
+-
+-    if (rclass == NULL || rtype == NULL) {
+-        fprintf(stderr, "Resource %s not found in the status section of %s."
+-                "  Please supply the class and type to continue\n", resource, ID(cib_node));
+-        return NULL;
+-
+-    } else if (safe_str_neq(rclass, "ocf")
+-               && safe_str_neq(rclass, "stonith")
+-               && safe_str_neq(rclass, "heartbeat")
+-               && safe_str_neq(rclass, "service")
+-               && safe_str_neq(rclass, "upstart")
+-               && safe_str_neq(rclass, "systemd")
+-               && safe_str_neq(rclass, "lsb")) {
+-        fprintf(stderr, "Invalid class for %s: %s\n", resource, rclass);
+-        return NULL;
+-
+-    } else if (safe_str_eq(rclass, "ocf") && rprovider == NULL) {
+-        fprintf(stderr, "Please specify the provider for resource %s\n", resource);
+-        return NULL;
+-    }
+-
+-    xpath = (char *)xmlGetNodePath(cib_node);
+-    crm_info("Injecting new resource %s into %s '%s'", resource, xpath, ID(cib_node));
+-    free(xpath);
+-
+-    lrm = first_named_child(cib_node, XML_CIB_TAG_LRM);
+-    if (lrm == NULL) {
+-        const char *node_uuid = ID(cib_node);
+-
+-        lrm = create_xml_node(cib_node, XML_CIB_TAG_LRM);
+-        crm_xml_add(lrm, XML_ATTR_ID, node_uuid);
+-    }
+-
+-    container = first_named_child(lrm, XML_LRM_TAG_RESOURCES);
+-    if (container == NULL) {
+-        container = create_xml_node(lrm, XML_LRM_TAG_RESOURCES);
+-    }
+-
+-    cib_resource = create_xml_node(container, XML_LRM_TAG_RESOURCE);
+-    crm_xml_add(cib_resource, XML_ATTR_ID, resource);
+-
+-    crm_xml_add(cib_resource, XML_AGENT_ATTR_CLASS, rclass);
+-    crm_xml_add(cib_resource, XML_AGENT_ATTR_PROVIDER, rprovider);
+-    crm_xml_add(cib_resource, XML_ATTR_TYPE, rtype);
+-
+-    return cib_resource;
+-}
+-
+-static lrmd_event_data_t *
+-create_op(xmlNode * cib_resource, const char *task, int interval, int outcome)
+-{
+-    lrmd_event_data_t *op = NULL;
+-    xmlNode *xop = NULL;
+-
+-    op = calloc(1, sizeof(lrmd_event_data_t));
+-
+-    op->rsc_id = strdup(ID(cib_resource));
+-    op->interval = interval;
+-    op->op_type = strdup(task);
+-
+-    op->rc = outcome;
+-    op->op_status = 0;
+-    op->params = NULL;          /* TODO: Fill me in */
+-    op->t_run = time(NULL);
+-    op->t_rcchange = op->t_run;
+-
+-    op->call_id = 0;
+-    for (xop = __xml_first_child(cib_resource); xop != NULL; xop = __xml_next(xop)) {
+-        int tmp = 0;
+-
+-        crm_element_value_int(xop, XML_LRM_ATTR_CALLID, &tmp);
+-        if (tmp > op->call_id) {
+-            op->call_id = tmp;
+-        }
+-    }
+-    op->call_id++;
+-
+-    return op;
+-}
+-
+-static xmlNode *
+-inject_op(xmlNode * cib_resource, lrmd_event_data_t * op, int target_rc)
+-{
+-    return create_operation_update(cib_resource, op, CRM_FEATURE_SET, target_rc, crm_system_name,
+-                                   LOG_DEBUG_2);
+-}
+-
+-static void
+-update_failcounts(xmlNode * cib_node, const char *resource, int interval, int rc)
+-{
+-    if (rc == 0) {
+-        return;
+-
+-    } else if (rc == 7 && interval == 0) {
+-        return;
+-
+-    } else {
+-        char *name = NULL;
+-        char *now = crm_itoa(time(NULL));
+-
+-        name = crm_concat("fail-count", resource, '-');
+-        inject_transient_attr(cib_node, name, "value++");
+-
+-        name = crm_concat("last-failure", resource, '-');
+-        inject_transient_attr(cib_node, name, now);
+-
+-        free(name);
+-        free(now);
+-    }
+-}
+-
+-static gboolean
+-exec_pseudo_action(crm_graph_t * graph, crm_action_t * action)
+-{
+-    const char *node = crm_element_value(action->xml, XML_LRM_ATTR_TARGET);
+-    const char *task = crm_element_value(action->xml, XML_LRM_ATTR_TASK_KEY);
+-
+-    action->confirmed = TRUE;
+-
+-    quiet_log(" * Pseudo action:   %s%s%s\n", task, node ? " on " : "", node ? node : "");
+-    update_graph(graph, action);
+-    return TRUE;
+-}
+-
+-GListPtr resource_list = NULL;
+-
+-static gboolean
+-exec_rsc_action(crm_graph_t * graph, crm_action_t * action)
+-{
+-    int rc = 0;
+-    GListPtr gIter = NULL;
+-    lrmd_event_data_t *op = NULL;
+-    int target_outcome = 0;
+-    gboolean uname_is_uuid = FALSE;
+-
+-    const char *rtype = NULL;
+-    const char *rclass = NULL;
+-    const char *resource = NULL;
+-    const char *rprovider = NULL;
+-    const char *operation = crm_element_value(action->xml, "operation");
+-    const char *target_rc_s = crm_meta_value(action->params, XML_ATTR_TE_TARGET_RC);
+-
+-    xmlNode *cib_node = NULL;
+-    xmlNode *cib_resource = NULL;
+-    xmlNode *action_rsc = first_named_child(action->xml, XML_CIB_TAG_RESOURCE);
+-
+-    char *node = crm_element_value_copy(action->xml, XML_LRM_ATTR_TARGET);
+-    char *uuid = crm_element_value_copy(action->xml, XML_LRM_ATTR_TARGET_UUID);
+-    const char *router_node = crm_element_value(action->xml, XML_LRM_ATTR_ROUTER_NODE);
+-
+-    if (safe_str_eq(operation, CRM_OP_PROBED)
+-        || safe_str_eq(operation, CRM_OP_REPROBE)) {
+-        crm_info("Skipping %s op for %s\n", operation, node);
+-        goto done;
+-    }
+-
+-    if (action_rsc == NULL) {
+-        crm_log_xml_err(action->xml, "Bad");
+-        free(node); free(uuid);
+-        return FALSE;
+-    }
+-
+-    /* Look for the preferred name
+-     * If not found, try the expected 'local' name
+-     * If not found use the preferred name anyway
+-     */
+-    resource = crm_element_value(action_rsc, XML_ATTR_ID);
+-    if (pe_find_resource(resource_list, resource) == NULL) {
+-        const char *longname = crm_element_value(action_rsc, XML_ATTR_ID_LONG);
+-
+-        if (pe_find_resource(resource_list, longname)) {
+-            resource = longname;
+-        }
+-    }
+-
+-    if (safe_str_eq(operation, "delete")) {
+-        quiet_log(" * Resource action: %-15s delete on %s\n", resource, node);
+-        goto done;
+-    }
+-
+-    rclass = crm_element_value(action_rsc, XML_AGENT_ATTR_CLASS);
+-    rtype = crm_element_value(action_rsc, XML_ATTR_TYPE);
+-    rprovider = crm_element_value(action_rsc, XML_AGENT_ATTR_PROVIDER);
+-
+-    if (target_rc_s != NULL) {
+-        target_outcome = crm_parse_int(target_rc_s, "0");
+-    }
+-
+-    CRM_ASSERT(global_cib->cmds->query(global_cib, NULL, NULL, cib_sync_call | cib_scope_local) ==
+-               pcmk_ok);
+-
+-    if (router_node) {
+-        uname_is_uuid = TRUE;
+-    }
+-
+-    cib_node = inject_node_state(global_cib, node, uname_is_uuid ? node : uuid);
+-    CRM_ASSERT(cib_node != NULL);
+-
+-    cib_resource = inject_resource(cib_node, resource, rclass, rtype, rprovider);
+-    CRM_ASSERT(cib_resource != NULL);
+-
+-    op = convert_graph_action(cib_resource, action, 0, target_outcome);
+-    if (op->interval) {
+-        quiet_log(" * Resource action: %-15s %s=%d on %s\n", resource, op->op_type, op->interval,
+-                  node);
+-    } else {
+-        quiet_log(" * Resource action: %-15s %s on %s\n", resource, op->op_type, node);
+-    }
+-
+-    for (gIter = op_fail; gIter != NULL; gIter = gIter->next) {
+-        char *spec = (char *)gIter->data;
+-        char *key = NULL;
+-
+-        key = calloc(1, 1 + strlen(spec));
+-        snprintf(key, strlen(spec), "%s_%s_%d@%s=", resource, op->op_type, op->interval, node);
+-
+-        if (strncasecmp(key, spec, strlen(key)) == 0) {
+-            sscanf(spec, "%*[^=]=%d", (int *)&op->rc);
+-
+-            action->failed = TRUE;
+-            graph->abort_priority = INFINITY;
+-            printf("\tPretending action %d failed with rc=%d\n", action->id, op->rc);
+-            update_failcounts(cib_node, resource, op->interval, op->rc);
+-            free(key);
+-            break;
+-        }
+-        free(key);
+-    }
+-
+-    inject_op(cib_resource, op, target_outcome);
+-    lrmd_free_event(op);
+-
+-    rc = global_cib->cmds->modify(global_cib, XML_CIB_TAG_STATUS, cib_node,
+-                                  cib_sync_call | cib_scope_local);
+-    CRM_ASSERT(rc == pcmk_ok);
+-
+-  done:
+-    free(node); free(uuid);
+-    free_xml(cib_node);
+-    action->confirmed = TRUE;
+-    update_graph(graph, action);
+-    return TRUE;
+-}
+-
+-static gboolean
+-exec_crmd_action(crm_graph_t * graph, crm_action_t * action)
+-{
+-    const char *node = crm_element_value(action->xml, XML_LRM_ATTR_TARGET);
+-    const char *task = crm_element_value(action->xml, XML_LRM_ATTR_TASK);
+-    xmlNode *rsc = first_named_child(action->xml, XML_CIB_TAG_RESOURCE);
+-
+-    action->confirmed = TRUE;
+-
+-    if(rsc) {
+-        quiet_log(" * Cluster action:  %s for %s on %s\n", task, ID(rsc), node);
+-    } else {
+-        quiet_log(" * Cluster action:  %s on %s\n", task, node);
+-    }
+-    update_graph(graph, action);
+-    return TRUE;
+-}
+-
+-#define STATUS_PATH_MAX 512
+-static gboolean
+-exec_stonith_action(crm_graph_t * graph, crm_action_t * action)
+-{
+-    const char *op = crm_meta_value(action->params, "stonith_action");
+-    char *target = crm_element_value_copy(action->xml, XML_LRM_ATTR_TARGET);
+-
+-    quiet_log(" * Fencing %s (%s)\n", target, op);
+-    if(safe_str_neq(op, "on")) {
+-        int rc = 0;
+-        char xpath[STATUS_PATH_MAX];
+-        xmlNode *cib_node = modify_node(global_cib, target, FALSE);
+-
+-        crm_xml_add(cib_node, XML_ATTR_ORIGIN, __FUNCTION__);
+-        CRM_ASSERT(cib_node != NULL);
+-
+-        rc = global_cib->cmds->replace(global_cib, XML_CIB_TAG_STATUS, cib_node,
+-                                   cib_sync_call | cib_scope_local);
+-        CRM_ASSERT(rc == pcmk_ok);
+-
+-        snprintf(xpath, STATUS_PATH_MAX, "//node_state[@uname='%s']/%s", target, XML_CIB_TAG_LRM);
+-        global_cib->cmds->delete(global_cib, xpath, NULL,
+-                                      cib_xpath | cib_sync_call | cib_scope_local);
+-
+-        snprintf(xpath, STATUS_PATH_MAX, "//node_state[@uname='%s']/%s", target,
+-                 XML_TAG_TRANSIENT_NODEATTRS);
+-        global_cib->cmds->delete(global_cib, xpath, NULL,
+-                                      cib_xpath | cib_sync_call | cib_scope_local);
+-
+-        free_xml(cib_node);
+-    }
+-
+-    action->confirmed = TRUE;
+-    update_graph(graph, action);
+-    free(target);
+-    return TRUE;
+-}
+-
+ static void
+ print_cluster_status(pe_working_set_t * data_set, long options)
+ {
+@@ -657,62 +186,6 @@ print_cluster_status(pe_working_set_t * data_set, long options)
+     fprintf(stdout, "\n");
+ }
+ 
+-static int
+-run_simulation(pe_working_set_t * data_set)
+-{
+-    crm_graph_t *transition = NULL;
+-    enum transition_status graph_rc = -1;
+-
+-    crm_graph_functions_t exec_fns = {
+-        exec_pseudo_action,
+-        exec_rsc_action,
+-        exec_crmd_action,
+-        exec_stonith_action,
+-    };
+-
+-    set_graph_functions(&exec_fns);
+-
+-    quiet_log("\nExecuting cluster transition:\n");
+-    transition = unpack_graph(data_set->graph, crm_system_name);
+-    print_graph(LOG_DEBUG, transition);
+-
+-    resource_list = data_set->resources;
+-    do {
+-        graph_rc = run_graph(transition);
+-
+-    } while (graph_rc == transition_active);
+-    resource_list = NULL;
+-
+-    if (graph_rc != transition_complete) {
+-        fprintf(stdout, "Transition failed: %s\n", transition_status(graph_rc));
+-        print_graph(LOG_ERR, transition);
+-    }
+-    destroy_graph(transition);
+-    if (graph_rc != transition_complete) {
+-        fprintf(stdout, "An invalid transition was produced\n");
+-    }
+-
+-    if (quiet == FALSE) {
+-        xmlNode *cib_object = NULL;
+-        int rc =
+-            global_cib->cmds->query(global_cib, NULL, &cib_object, cib_sync_call | cib_scope_local);
+-
+-        CRM_ASSERT(rc == pcmk_ok);
+-        quiet_log("\nRevised cluster status:\n");
+-        cleanup_alloc_calculations(data_set);
+-        data_set->input = cib_object;
+-        data_set->now = get_date();
+-
+-        cluster_status(data_set);
+-        print_cluster_status(data_set, 0);
+-    }
+-
+-    if (graph_rc != transition_complete) {
+-        return graph_rc;
+-    }
+-    return 0;
+-}
+-
+ static char *
+ create_action_name(action_t * action)
+ {
+@@ -883,274 +356,6 @@ create_dotfile(pe_working_set_t * data_set, const char *dot_file, gboolean all_a
+     }
+ }
+ 
+-static int
+-find_ticket_state(cib_t * the_cib, const char *ticket_id, xmlNode ** ticket_state_xml)
+-{
+-    int offset = 0;
+-    static int xpath_max = 1024;
+-    int rc = pcmk_ok;
+-    xmlNode *xml_search = NULL;
+-
+-    char *xpath_string = NULL;
+-
+-    CRM_ASSERT(ticket_state_xml != NULL);
+-    *ticket_state_xml = NULL;
+-
+-    xpath_string = calloc(1, xpath_max);
+-    offset += snprintf(xpath_string + offset, xpath_max - offset, "%s", "/cib/status/tickets");
+-
+-    if (ticket_id) {
+-        offset += snprintf(xpath_string + offset, xpath_max - offset, "/%s[@id=\"%s\"]",
+-                           XML_CIB_TAG_TICKET_STATE, ticket_id);
+-    }
+-    CRM_LOG_ASSERT(offset > 0);
+-    rc = the_cib->cmds->query(the_cib, xpath_string, &xml_search,
+-                              cib_sync_call | cib_scope_local | cib_xpath);
+-
+-    if (rc != pcmk_ok) {
+-        goto bail;
+-    }
+-
+-    crm_log_xml_debug(xml_search, "Match");
+-    if (xml_has_children(xml_search)) {
+-        if (ticket_id) {
+-            fprintf(stdout, "Multiple ticket_states match ticket_id=%s\n", ticket_id);
+-        }
+-        *ticket_state_xml = xml_search;
+-    } else {
+-        *ticket_state_xml = xml_search;
+-    }
+-
+-  bail:
+-    free(xpath_string);
+-    return rc;
+-}
+-
+-static int
+-set_ticket_state_attr(const char *ticket_id, const char *attr_name,
+-                      const char *attr_value, cib_t * cib, int cib_options)
+-{
+-    int rc = pcmk_ok;
+-    xmlNode *xml_top = NULL;
+-    xmlNode *ticket_state_xml = NULL;
+-
+-    rc = find_ticket_state(cib, ticket_id, &ticket_state_xml);
+-    if (rc == pcmk_ok) {
+-        crm_debug("Found a match state for ticket: id=%s", ticket_id);
+-        xml_top = ticket_state_xml;
+-
+-    } else if (rc != -ENXIO) {
+-        return rc;
+-
+-    } else {
+-        xmlNode *xml_obj = NULL;
+-
+-        xml_top = create_xml_node(NULL, XML_CIB_TAG_STATUS);
+-        xml_obj = create_xml_node(xml_top, XML_CIB_TAG_TICKETS);
+-        ticket_state_xml = create_xml_node(xml_obj, XML_CIB_TAG_TICKET_STATE);
+-        crm_xml_add(ticket_state_xml, XML_ATTR_ID, ticket_id);
+-    }
+-
+-    crm_xml_add(ticket_state_xml, attr_name, attr_value);
+-
+-    crm_log_xml_debug(xml_top, "Update");
+-
+-    rc = cib->cmds->modify(cib, XML_CIB_TAG_STATUS, xml_top, cib_options);
+-
+-    free_xml(xml_top);
+-
+-    return rc;
+-}
+-
+-static void
+-modify_configuration(pe_working_set_t * data_set,
+-                     const char *quorum, const char *watchdog, GListPtr node_up, GListPtr node_down, GListPtr node_fail,
+-                     GListPtr op_inject, GListPtr ticket_grant, GListPtr ticket_revoke,
+-                     GListPtr ticket_standby, GListPtr ticket_activate)
+-{
+-    int rc = pcmk_ok;
+-    GListPtr gIter = NULL;
+-
+-    xmlNode *cib_op = NULL;
+-    xmlNode *cib_node = NULL;
+-    xmlNode *cib_resource = NULL;
+-
+-    lrmd_event_data_t *op = NULL;
+-
+-    if (quorum) {
+-        xmlNode *top = create_xml_node(NULL, XML_TAG_CIB);
+-
+-        quiet_log(" + Setting quorum: %s\n", quorum);
+-        /* crm_xml_add(top, XML_ATTR_DC_UUID, dc_uuid);      */
+-        crm_xml_add(top, XML_ATTR_HAVE_QUORUM, quorum);
+-
+-        rc = global_cib->cmds->modify(global_cib, NULL, top, cib_sync_call | cib_scope_local);
+-        CRM_ASSERT(rc == pcmk_ok);
+-    }
+-
+-    if (watchdog) {
+-        quiet_log(" + Setting watchdog: %s\n", watchdog);
+-
+-        rc = update_attr_delegate(global_cib, cib_sync_call | cib_scope_local,
+-                             XML_CIB_TAG_CRMCONFIG, NULL, NULL, NULL, NULL,
+-                             XML_ATTR_HAVE_WATCHDOG, watchdog, FALSE, NULL, NULL);
+-
+-        CRM_ASSERT(rc == pcmk_ok);
+-    }
+-
+-    for (gIter = node_up; gIter != NULL; gIter = gIter->next) {
+-        char *node = (char *)gIter->data;
+-
+-        quiet_log(" + Bringing node %s online\n", node);
+-        cib_node = modify_node(global_cib, node, TRUE);
+-        CRM_ASSERT(cib_node != NULL);
+-
+-        rc = global_cib->cmds->modify(global_cib, XML_CIB_TAG_STATUS, cib_node,
+-                                      cib_sync_call | cib_scope_local);
+-        CRM_ASSERT(rc == pcmk_ok);
+-        free_xml(cib_node);
+-    }
+-
+-    for (gIter = node_down; gIter != NULL; gIter = gIter->next) {
+-        char xpath[STATUS_PATH_MAX];
+-        char *node = (char *)gIter->data;
+-
+-        quiet_log(" + Taking node %s offline\n", node);
+-        cib_node = modify_node(global_cib, node, FALSE);
+-        CRM_ASSERT(cib_node != NULL);
+-
+-        rc = global_cib->cmds->modify(global_cib, XML_CIB_TAG_STATUS, cib_node,
+-                                      cib_sync_call | cib_scope_local);
+-        CRM_ASSERT(rc == pcmk_ok);
+-        free_xml(cib_node);
+-
+-        snprintf(xpath, STATUS_PATH_MAX, "//node_state[@uname='%s']/%s", node, XML_CIB_TAG_LRM);
+-        global_cib->cmds->delete(global_cib, xpath, NULL,
+-                                      cib_xpath | cib_sync_call | cib_scope_local);
+-
+-        snprintf(xpath, STATUS_PATH_MAX, "//node_state[@uname='%s']/%s", node,
+-                 XML_TAG_TRANSIENT_NODEATTRS);
+-        global_cib->cmds->delete(global_cib, xpath, NULL,
+-                                      cib_xpath | cib_sync_call | cib_scope_local);
+-
+-    }
+-
+-    for (gIter = node_fail; gIter != NULL; gIter = gIter->next) {
+-        char *node = (char *)gIter->data;
+-
+-        quiet_log(" + Failing node %s\n", node);
+-        cib_node = modify_node(global_cib, node, TRUE);
+-        crm_xml_add(cib_node, XML_NODE_IN_CLUSTER, XML_BOOLEAN_NO);
+-        CRM_ASSERT(cib_node != NULL);
+-
+-        rc = global_cib->cmds->modify(global_cib, XML_CIB_TAG_STATUS, cib_node,
+-                                      cib_sync_call | cib_scope_local);
+-        CRM_ASSERT(rc == pcmk_ok);
+-        free_xml(cib_node);
+-    }
+-
+-    for (gIter = ticket_grant; gIter != NULL; gIter = gIter->next) {
+-        char *ticket_id = (char *)gIter->data;
+-
+-        quiet_log(" + Granting ticket %s\n", ticket_id);
+-        rc = set_ticket_state_attr(ticket_id, "granted", "true",
+-                                   global_cib, cib_sync_call | cib_scope_local);
+-
+-        CRM_ASSERT(rc == pcmk_ok);
+-    }
+-
+-    for (gIter = ticket_revoke; gIter != NULL; gIter = gIter->next) {
+-        char *ticket_id = (char *)gIter->data;
+-
+-        quiet_log(" + Revoking ticket %s\n", ticket_id);
+-        rc = set_ticket_state_attr(ticket_id, "granted", "false",
+-                                   global_cib, cib_sync_call | cib_scope_local);
+-
+-        CRM_ASSERT(rc == pcmk_ok);
+-    }
+-
+-    for (gIter = ticket_standby; gIter != NULL; gIter = gIter->next) {
+-        char *ticket_id = (char *)gIter->data;
+-
+-        quiet_log(" + Making ticket %s standby\n", ticket_id);
+-        rc = set_ticket_state_attr(ticket_id, "standby", "true",
+-                                   global_cib, cib_sync_call | cib_scope_local);
+-
+-        CRM_ASSERT(rc == pcmk_ok);
+-    }
+-
+-    for (gIter = ticket_activate; gIter != NULL; gIter = gIter->next) {
+-        char *ticket_id = (char *)gIter->data;
+-
+-        quiet_log(" + Activating ticket %s\n", ticket_id);
+-        rc = set_ticket_state_attr(ticket_id, "standby", "false",
+-                                   global_cib, cib_sync_call | cib_scope_local);
+-
+-        CRM_ASSERT(rc == pcmk_ok);
+-    }
+-
+-    for (gIter = op_inject; gIter != NULL; gIter = gIter->next) {
+-        char *spec = (char *)gIter->data;
+-
+-        int rc = 0;
+-        int outcome = 0;
+-        int interval = 0;
+-
+-        char *key = NULL;
+-        char *node = NULL;
+-        char *task = NULL;
+-        char *resource = NULL;
+-
+-        const char *rtype = NULL;
+-        const char *rclass = NULL;
+-        const char *rprovider = NULL;
+-
+-        resource_t *rsc = NULL;
+-
+-        quiet_log(" + Injecting %s into the configuration\n", spec);
+-
+-        key = calloc(1, strlen(spec) + 1);
+-        node = calloc(1, strlen(spec) + 1);
+-        rc = sscanf(spec, "%[^@]@%[^=]=%d", key, node, &outcome);
+-        CRM_CHECK(rc == 3,
+-                  fprintf(stderr, "Invalid operation spec: %s.  Only found %d fields\n", spec, rc);
+-                  continue);
+-
+-        parse_op_key(key, &resource, &task, &interval);
+-
+-        rsc = pe_find_resource(data_set->resources, resource);
+-        if (rsc == NULL) {
+-            fprintf(stderr, " - Invalid resource name: %s\n", resource);
+-        } else {
+-            rclass = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
+-            rtype = crm_element_value(rsc->xml, XML_ATTR_TYPE);
+-            rprovider = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER);
+-
+-            cib_node = inject_node_state(global_cib, node, NULL);
+-            CRM_ASSERT(cib_node != NULL);
+-
+-            update_failcounts(cib_node, resource, interval, outcome);
+-
+-            cib_resource = inject_resource(cib_node, resource, rclass, rtype, rprovider);
+-            CRM_ASSERT(cib_resource != NULL);
+-
+-            op = create_op(cib_resource, task, interval, outcome);
+-            CRM_ASSERT(op != NULL);
+-
+-            cib_op = inject_op(cib_resource, op, 0);
+-            CRM_ASSERT(cib_op != NULL);
+-            lrmd_free_event(op);
+-
+-            rc = global_cib->cmds->modify(global_cib, XML_CIB_TAG_STATUS, cib_node,
+-                                          cib_sync_call | cib_scope_local);
+-            CRM_ASSERT(rc == pcmk_ok);
+-        }
+-        free(task);
+-        free(node);
+-        free(key);
+-    }
+-}
+-
+ static void
+ setup_input(const char *input, const char *output)
+ {
+@@ -1571,7 +776,7 @@ main(int argc, char **argv)
+ 
+     if (modified) {
+         quiet_log("Performing requested modifications\n");
+-        modify_configuration(&data_set, quorum, watchdog, node_up, node_down, node_fail, op_inject,
++        modify_configuration(&data_set, global_cib, quorum, watchdog, node_up, node_down, node_fail, op_inject,
+                              ticket_grant, ticket_revoke, ticket_standby, ticket_activate);
+ 
+         rc = global_cib->cmds->query(global_cib, NULL, &input, cib_sync_call);
+@@ -1632,7 +837,14 @@ main(int argc, char **argv)
+     }
+ 
+     if (simulate) {
+-        rc = run_simulation(&data_set);
++        rc = run_simulation(&data_set, global_cib, op_fail, quiet);
++        if(quiet == FALSE) {
++            data_set.now = get_date();
++
++            quiet_log("\nRevised cluster status:\n");
++            cluster_status(&data_set);
++            print_cluster_status(&data_set, 0);
++        }
+     }
+ 
+   done:
+diff --git a/tools/fake_transition.c b/tools/fake_transition.c
+new file mode 100644
+index 0000000..d6d71eb
+--- /dev/null
++++ b/tools/fake_transition.c
+@@ -0,0 +1,846 @@
++/*
++ * Copyright (C) 2009 Andrew Beekhof <andrew@beekhof.net>
++ *
++ * This program is free software; you can redistribute it and/or
++ * modify it under the terms of the GNU General Public
++ * License as published by the Free Software Foundation; either
++ * version 2 of the License, or (at your option) any later version.
++ *
++ * This software is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++ * General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public
++ * License along with this library; if not, write to the Free Software
++ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
++ */
++
++#include <crm_internal.h>
++
++#include <stdio.h>
++#include <unistd.h>
++#include <stdlib.h>
++
++#include <sys/stat.h>
++#include <sys/param.h>
++#include <sys/types.h>
++#include <dirent.h>
++
++#include <crm/crm.h>
++#include <crm/cib.h>
++#include <crm/common/util.h>
++#include <crm/transition.h>
++#include <crm/common/iso8601.h>
++#include <crm/pengine/status.h>
++#include <allocate.h>
++#include "fake_transition.h"
++
++static bool fake_quiet = FALSE;
++static cib_t *fake_cib = NULL;
++static GListPtr fake_resource_list = NULL;
++static GListPtr fake_op_fail_list = NULL;
++gboolean bringing_nodes_online = FALSE;
++
++#define STATUS_PATH_MAX 512
++
++#define quiet_log(fmt, args...) do {              \
++              if(fake_quiet) {                         \
++                  crm_trace(fmt, ##args);         \
++              } else {                            \
++                  printf(fmt , ##args);           \
++              }                                   \
++    } while(0)
++
++#define new_node_template "//"XML_CIB_TAG_NODE"[@uname='%s']"
++#define node_template "//"XML_CIB_TAG_STATE"[@uname='%s']"
++#define rsc_template "//"XML_CIB_TAG_STATE"[@uname='%s']//"XML_LRM_TAG_RESOURCE"[@id='%s']"
++#define op_template  "//"XML_CIB_TAG_STATE"[@uname='%s']//"XML_LRM_TAG_RESOURCE"[@id='%s']/"XML_LRM_TAG_RSC_OP"[@id='%s']"
++/* #define op_template  "//"XML_CIB_TAG_STATE"[@uname='%s']//"XML_LRM_TAG_RESOURCE"[@id='%s']/"XML_LRM_TAG_RSC_OP"[@id='%s' and @"XML_LRM_ATTR_CALLID"='%d']" */
++
++
++static void
++inject_transient_attr(xmlNode * cib_node, const char *name, const char *value)
++{
++    xmlNode *attrs = NULL;
++    xmlNode *container = NULL;
++    xmlNode *nvp = NULL;
++    const char *node_uuid = ID(cib_node);
++    char *nvp_id = crm_concat(name, node_uuid, '-');
++
++    quiet_log("Injecting attribute %s=%s into %s '%s'", name, value, xmlGetNodePath(cib_node),
++             ID(cib_node));
++
++    attrs = first_named_child(cib_node, XML_TAG_TRANSIENT_NODEATTRS);
++    if (attrs == NULL) {
++        attrs = create_xml_node(cib_node, XML_TAG_TRANSIENT_NODEATTRS);
++        crm_xml_add(attrs, XML_ATTR_ID, node_uuid);
++    }
++
++    container = first_named_child(attrs, XML_TAG_ATTR_SETS);
++    if (container == NULL) {
++        container = create_xml_node(attrs, XML_TAG_ATTR_SETS);
++        crm_xml_add(container, XML_ATTR_ID, node_uuid);
++    }
++
++    nvp = create_xml_node(container, XML_CIB_TAG_NVPAIR);
++    crm_xml_add(nvp, XML_ATTR_ID, nvp_id);
++    crm_xml_add(nvp, XML_NVPAIR_ATTR_NAME, name);
++    crm_xml_add(nvp, XML_NVPAIR_ATTR_VALUE, value);
++
++    free(nvp_id);
++}
++
++static void
++update_failcounts(xmlNode * cib_node, const char *resource, int interval, int rc)
++{
++    if (rc == 0) {
++        return;
++
++    } else if (rc == 7 && interval == 0) {
++        return;
++
++    } else {
++        char *name = NULL;
++        char *now = crm_itoa(time(NULL));
++
++        name = crm_concat("fail-count", resource, '-');
++        inject_transient_attr(cib_node, name, "value++");
++
++        name = crm_concat("last-failure", resource, '-');
++        inject_transient_attr(cib_node, name, now);
++
++        free(name);
++        free(now);
++    }
++}
++
++static void
++create_node_entry(cib_t * cib_conn, const char *node)
++{
++    int rc = pcmk_ok;
++    int max = strlen(new_node_template) + strlen(node) + 1;
++    char *xpath = NULL;
++
++    xpath = calloc(1, max);
++
++    snprintf(xpath, max, new_node_template, node);
++    rc = cib_conn->cmds->query(cib_conn, xpath, NULL, cib_xpath | cib_sync_call | cib_scope_local);
++
++    if (rc == -ENXIO) {
++        xmlNode *cib_object = create_xml_node(NULL, XML_CIB_TAG_NODE);
++
++        /* Using node uname as uuid ala corosync/openais */
++        crm_xml_add(cib_object, XML_ATTR_ID, node);
++        crm_xml_add(cib_object, XML_ATTR_UNAME, node);
++        cib_conn->cmds->create(cib_conn, XML_CIB_TAG_NODES, cib_object,
++                               cib_sync_call | cib_scope_local);
++        /* Not bothering with subsequent query to see if it exists,
++           we'll bomb out later in the call to query_node_uuid()... */
++
++        free_xml(cib_object);
++    }
++
++    free(xpath);
++}
++
++static lrmd_event_data_t *
++create_op(xmlNode * cib_resource, const char *task, int interval, int outcome)
++{
++    lrmd_event_data_t *op = NULL;
++    xmlNode *xop = NULL;
++
++    op = calloc(1, sizeof(lrmd_event_data_t));
++
++    op->rsc_id = strdup(ID(cib_resource));
++    op->interval = interval;
++    op->op_type = strdup(task);
++
++    op->rc = outcome;
++    op->op_status = 0;
++    op->params = NULL;          /* TODO: Fill me in */
++    op->t_run = time(NULL);
++    op->t_rcchange = op->t_run;
++
++    op->call_id = 0;
++    for (xop = __xml_first_child(cib_resource); xop != NULL; xop = __xml_next(xop)) {
++        int tmp = 0;
++
++        crm_element_value_int(xop, XML_LRM_ATTR_CALLID, &tmp);
++        if (tmp > op->call_id) {
++            op->call_id = tmp;
++        }
++    }
++    op->call_id++;
++
++    return op;
++}
++
++static xmlNode *
++inject_op(xmlNode * cib_resource, lrmd_event_data_t * op, int target_rc)
++{
++    return create_operation_update(cib_resource, op, CRM_FEATURE_SET, target_rc, crm_system_name,
++                                   LOG_DEBUG_2);
++}
++
++static xmlNode *
++inject_node_state(cib_t * cib_conn, const char *node, const char *uuid)
++{
++    int rc = pcmk_ok;
++    int max = strlen(rsc_template) + strlen(node) + 1;
++    char *xpath = NULL;
++    xmlNode *cib_object = NULL;
++
++    xpath = calloc(1, max);
++
++    if (bringing_nodes_online) {
++        create_node_entry(cib_conn, node);
++    }
++
++    snprintf(xpath, max, node_template, node);
++    rc = cib_conn->cmds->query(cib_conn, xpath, &cib_object,
++                               cib_xpath | cib_sync_call | cib_scope_local);
++
++    if (cib_object && ID(cib_object) == NULL) {
++        crm_err("Detected multiple node_state entries for xpath=%s, bailing", xpath);
++        crm_log_xml_warn(cib_object, "Duplicates");
++        crm_exit(ENOTUNIQ);
++    }
++
++    if (rc == -ENXIO) {
++        char *found_uuid = NULL;
++
++        if (uuid == NULL) {
++            query_node_uuid(cib_conn, node, &found_uuid, NULL);
++        } else {
++            found_uuid = strdup(uuid);
++        }
++
++        cib_object = create_xml_node(NULL, XML_CIB_TAG_STATE);
++        crm_xml_add(cib_object, XML_ATTR_UUID, found_uuid);
++        crm_xml_add(cib_object, XML_ATTR_UNAME, node);
++        cib_conn->cmds->create(cib_conn, XML_CIB_TAG_STATUS, cib_object,
++                               cib_sync_call | cib_scope_local);
++        free_xml(cib_object);
++        free(found_uuid);
++
++        rc = cib_conn->cmds->query(cib_conn, xpath, &cib_object,
++                                   cib_xpath | cib_sync_call | cib_scope_local);
++        crm_trace("injecting node state for %s. rc is %d", node, rc);
++    }
++
++    free(xpath);
++    CRM_ASSERT(rc == pcmk_ok);
++    return cib_object;
++}
++
++static xmlNode *
++modify_node(cib_t * cib_conn, char *node, gboolean up)
++{
++    xmlNode *cib_node = inject_node_state(cib_conn, node, NULL);
++
++    if (up) {
++        crm_xml_add(cib_node, XML_NODE_IN_CLUSTER, XML_BOOLEAN_YES);
++        crm_xml_add(cib_node, XML_NODE_IS_PEER, ONLINESTATUS);
++        crm_xml_add(cib_node, XML_NODE_JOIN_STATE, CRMD_JOINSTATE_MEMBER);
++        crm_xml_add(cib_node, XML_NODE_EXPECTED, CRMD_JOINSTATE_MEMBER);
++
++    } else {
++        crm_xml_add(cib_node, XML_NODE_IN_CLUSTER, XML_BOOLEAN_NO);
++        crm_xml_add(cib_node, XML_NODE_IS_PEER, OFFLINESTATUS);
++        crm_xml_add(cib_node, XML_NODE_JOIN_STATE, CRMD_JOINSTATE_DOWN);
++        crm_xml_add(cib_node, XML_NODE_EXPECTED, CRMD_JOINSTATE_DOWN);
++    }
++
++    crm_xml_add(cib_node, XML_ATTR_ORIGIN, crm_system_name);
++    return cib_node;
++}
++
++static xmlNode *
++find_resource_xml(xmlNode * cib_node, const char *resource)
++{
++    char *xpath = NULL;
++    xmlNode *match = NULL;
++    const char *node = crm_element_value(cib_node, XML_ATTR_UNAME);
++    int max = strlen(rsc_template) + strlen(resource) + strlen(node) + 1;
++
++    xpath = calloc(1, max);
++
++    snprintf(xpath, max, rsc_template, node, resource);
++    match = get_xpath_object(xpath, cib_node, LOG_DEBUG_2);
++
++    free(xpath);
++    return match;
++}
++
++
++static xmlNode *
++inject_resource(xmlNode * cib_node, const char *resource, const char *rclass, const char *rtype,
++                const char *rprovider)
++{
++    xmlNode *lrm = NULL;
++    xmlNode *container = NULL;
++    xmlNode *cib_resource = NULL;
++    char *xpath = NULL;
++
++    cib_resource = find_resource_xml(cib_node, resource);
++    if (cib_resource != NULL) {
++        return cib_resource;
++    }
++
++    /* One day, add query for class, provider, type */
++
++    if (rclass == NULL || rtype == NULL) {
++        fprintf(stderr, "Resource %s not found in the status section of %s."
++                "  Please supply the class and type to continue\n", resource, ID(cib_node));
++        return NULL;
++
++    } else if (safe_str_neq(rclass, "ocf")
++               && safe_str_neq(rclass, "stonith")
++               && safe_str_neq(rclass, "heartbeat")
++               && safe_str_neq(rclass, "service")
++               && safe_str_neq(rclass, "upstart")
++               && safe_str_neq(rclass, "systemd")
++               && safe_str_neq(rclass, "lsb")) {
++        fprintf(stderr, "Invalid class for %s: %s\n", resource, rclass);
++        return NULL;
++
++    } else if (safe_str_eq(rclass, "ocf") && rprovider == NULL) {
++        fprintf(stderr, "Please specify the provider for resource %s\n", resource);
++        return NULL;
++    }
++
++    xpath = (char *)xmlGetNodePath(cib_node);
++    crm_info("Injecting new resource %s into %s '%s'", resource, xpath, ID(cib_node));
++    free(xpath);
++
++    lrm = first_named_child(cib_node, XML_CIB_TAG_LRM);
++    if (lrm == NULL) {
++        const char *node_uuid = ID(cib_node);
++
++        lrm = create_xml_node(cib_node, XML_CIB_TAG_LRM);
++        crm_xml_add(lrm, XML_ATTR_ID, node_uuid);
++    }
++
++    container = first_named_child(lrm, XML_LRM_TAG_RESOURCES);
++    if (container == NULL) {
++        container = create_xml_node(lrm, XML_LRM_TAG_RESOURCES);
++    }
++
++    cib_resource = create_xml_node(container, XML_LRM_TAG_RESOURCE);
++    crm_xml_add(cib_resource, XML_ATTR_ID, resource);
++
++    crm_xml_add(cib_resource, XML_AGENT_ATTR_CLASS, rclass);
++    crm_xml_add(cib_resource, XML_AGENT_ATTR_PROVIDER, rprovider);
++    crm_xml_add(cib_resource, XML_ATTR_TYPE, rtype);
++
++    return cib_resource;
++}
++
++static int
++find_ticket_state(cib_t * the_cib, const char *ticket_id, xmlNode ** ticket_state_xml)
++{
++    int offset = 0;
++    static int xpath_max = 1024;
++    int rc = pcmk_ok;
++    xmlNode *xml_search = NULL;
++
++    char *xpath_string = NULL;
++
++    CRM_ASSERT(ticket_state_xml != NULL);
++    *ticket_state_xml = NULL;
++
++    xpath_string = calloc(1, xpath_max);
++    offset += snprintf(xpath_string + offset, xpath_max - offset, "%s", "/cib/status/tickets");
++
++    if (ticket_id) {
++        offset += snprintf(xpath_string + offset, xpath_max - offset, "/%s[@id=\"%s\"]",
++                           XML_CIB_TAG_TICKET_STATE, ticket_id);
++    }
++    CRM_LOG_ASSERT(offset > 0);
++    rc = the_cib->cmds->query(the_cib, xpath_string, &xml_search,
++                              cib_sync_call | cib_scope_local | cib_xpath);
++
++    if (rc != pcmk_ok) {
++        goto bail;
++    }
++
++    crm_log_xml_debug(xml_search, "Match");
++    if (xml_has_children(xml_search)) {
++        if (ticket_id) {
++            fprintf(stdout, "Multiple ticket_states match ticket_id=%s\n", ticket_id);
++        }
++        *ticket_state_xml = xml_search;
++    } else {
++        *ticket_state_xml = xml_search;
++    }
++
++  bail:
++    free(xpath_string);
++    return rc;
++}
++
++static int
++set_ticket_state_attr(const char *ticket_id, const char *attr_name,
++                      const char *attr_value, cib_t * cib, int cib_options)
++{
++    int rc = pcmk_ok;
++    xmlNode *xml_top = NULL;
++    xmlNode *ticket_state_xml = NULL;
++
++    rc = find_ticket_state(cib, ticket_id, &ticket_state_xml);
++    if (rc == pcmk_ok) {
++        crm_debug("Found a match state for ticket: id=%s", ticket_id);
++        xml_top = ticket_state_xml;
++
++    } else if (rc != -ENXIO) {
++        return rc;
++
++    } else {
++        xmlNode *xml_obj = NULL;
++
++        xml_top = create_xml_node(NULL, XML_CIB_TAG_STATUS);
++        xml_obj = create_xml_node(xml_top, XML_CIB_TAG_TICKETS);
++        ticket_state_xml = create_xml_node(xml_obj, XML_CIB_TAG_TICKET_STATE);
++        crm_xml_add(ticket_state_xml, XML_ATTR_ID, ticket_id);
++    }
++
++    crm_xml_add(ticket_state_xml, attr_name, attr_value);
++
++    crm_log_xml_debug(xml_top, "Update");
++
++    rc = cib->cmds->modify(cib, XML_CIB_TAG_STATUS, xml_top, cib_options);
++
++    free_xml(xml_top);
++
++    return rc;
++}
++
++void
++modify_configuration(pe_working_set_t * data_set, cib_t *cib,
++                     const char *quorum, const char *watchdog, GListPtr node_up, GListPtr node_down, GListPtr node_fail,
++                     GListPtr op_inject, GListPtr ticket_grant, GListPtr ticket_revoke,
++                     GListPtr ticket_standby, GListPtr ticket_activate)
++{
++    int rc = pcmk_ok;
++    GListPtr gIter = NULL;
++
++    xmlNode *cib_op = NULL;
++    xmlNode *cib_node = NULL;
++    xmlNode *cib_resource = NULL;
++
++    lrmd_event_data_t *op = NULL;
++
++    if (quorum) {
++        xmlNode *top = create_xml_node(NULL, XML_TAG_CIB);
++
++        quiet_log(" + Setting quorum: %s\n", quorum);
++        /* crm_xml_add(top, XML_ATTR_DC_UUID, dc_uuid);      */
++        crm_xml_add(top, XML_ATTR_HAVE_QUORUM, quorum);
++
++        rc = cib->cmds->modify(cib, NULL, top, cib_sync_call | cib_scope_local);
++        CRM_ASSERT(rc == pcmk_ok);
++    }
++
++    if (watchdog) {
++        quiet_log(" + Setting watchdog: %s\n", watchdog);
++
++        rc = update_attr_delegate(cib, cib_sync_call | cib_scope_local,
++                             XML_CIB_TAG_CRMCONFIG, NULL, NULL, NULL, NULL,
++                             XML_ATTR_HAVE_WATCHDOG, watchdog, FALSE, NULL, NULL);
++
++        CRM_ASSERT(rc == pcmk_ok);
++    }
++
++    for (gIter = node_up; gIter != NULL; gIter = gIter->next) {
++        char *node = (char *)gIter->data;
++
++        quiet_log(" + Bringing node %s online\n", node);
++        cib_node = modify_node(cib, node, TRUE);
++        CRM_ASSERT(cib_node != NULL);
++
++        rc = cib->cmds->modify(cib, XML_CIB_TAG_STATUS, cib_node,
++                                      cib_sync_call | cib_scope_local);
++        CRM_ASSERT(rc == pcmk_ok);
++        free_xml(cib_node);
++    }
++
++    for (gIter = node_down; gIter != NULL; gIter = gIter->next) {
++        char xpath[STATUS_PATH_MAX];
++        char *node = (char *)gIter->data;
++
++        quiet_log(" + Taking node %s offline\n", node);
++        cib_node = modify_node(cib, node, FALSE);
++        CRM_ASSERT(cib_node != NULL);
++
++        rc = cib->cmds->modify(cib, XML_CIB_TAG_STATUS, cib_node,
++                                      cib_sync_call | cib_scope_local);
++        CRM_ASSERT(rc == pcmk_ok);
++        free_xml(cib_node);
++
++        snprintf(xpath, STATUS_PATH_MAX, "//node_state[@uname='%s']/%s", node, XML_CIB_TAG_LRM);
++        cib->cmds->delete(cib, xpath, NULL,
++                                      cib_xpath | cib_sync_call | cib_scope_local);
++
++        snprintf(xpath, STATUS_PATH_MAX, "//node_state[@uname='%s']/%s", node,
++                 XML_TAG_TRANSIENT_NODEATTRS);
++        cib->cmds->delete(cib, xpath, NULL,
++                                      cib_xpath | cib_sync_call | cib_scope_local);
++
++    }
++
++    for (gIter = node_fail; gIter != NULL; gIter = gIter->next) {
++        char *node = (char *)gIter->data;
++
++        quiet_log(" + Failing node %s\n", node);
++        cib_node = modify_node(cib, node, TRUE);
++        crm_xml_add(cib_node, XML_NODE_IN_CLUSTER, XML_BOOLEAN_NO);
++        CRM_ASSERT(cib_node != NULL);
++
++        rc = cib->cmds->modify(cib, XML_CIB_TAG_STATUS, cib_node,
++                                      cib_sync_call | cib_scope_local);
++        CRM_ASSERT(rc == pcmk_ok);
++        free_xml(cib_node);
++    }
++
++    for (gIter = ticket_grant; gIter != NULL; gIter = gIter->next) {
++        char *ticket_id = (char *)gIter->data;
++
++        quiet_log(" + Granting ticket %s\n", ticket_id);
++        rc = set_ticket_state_attr(ticket_id, "granted", "true",
++                                   cib, cib_sync_call | cib_scope_local);
++
++        CRM_ASSERT(rc == pcmk_ok);
++    }
++
++    for (gIter = ticket_revoke; gIter != NULL; gIter = gIter->next) {
++        char *ticket_id = (char *)gIter->data;
++
++        quiet_log(" + Revoking ticket %s\n", ticket_id);
++        rc = set_ticket_state_attr(ticket_id, "granted", "false",
++                                   cib, cib_sync_call | cib_scope_local);
++
++        CRM_ASSERT(rc == pcmk_ok);
++    }
++
++    for (gIter = ticket_standby; gIter != NULL; gIter = gIter->next) {
++        char *ticket_id = (char *)gIter->data;
++
++        quiet_log(" + Making ticket %s standby\n", ticket_id);
++        rc = set_ticket_state_attr(ticket_id, "standby", "true",
++                                   cib, cib_sync_call | cib_scope_local);
++
++        CRM_ASSERT(rc == pcmk_ok);
++    }
++
++    for (gIter = ticket_activate; gIter != NULL; gIter = gIter->next) {
++        char *ticket_id = (char *)gIter->data;
++
++        quiet_log(" + Activating ticket %s\n", ticket_id);
++        rc = set_ticket_state_attr(ticket_id, "standby", "false",
++                                   cib, cib_sync_call | cib_scope_local);
++
++        CRM_ASSERT(rc == pcmk_ok);
++    }
++
++    for (gIter = op_inject; gIter != NULL; gIter = gIter->next) {
++        char *spec = (char *)gIter->data;
++
++        int rc = 0;
++        int outcome = 0;
++        int interval = 0;
++
++        char *key = NULL;
++        char *node = NULL;
++        char *task = NULL;
++        char *resource = NULL;
++
++        const char *rtype = NULL;
++        const char *rclass = NULL;
++        const char *rprovider = NULL;
++
++        resource_t *rsc = NULL;
++
++        quiet_log(" + Injecting %s into the configuration\n", spec);
++
++        key = calloc(1, strlen(spec) + 1);
++        node = calloc(1, strlen(spec) + 1);
++        rc = sscanf(spec, "%[^@]@%[^=]=%d", key, node, &outcome);
++        CRM_CHECK(rc == 3,
++                  fprintf(stderr, "Invalid operation spec: %s.  Only found %d fields\n", spec, rc);
++                  continue);
++
++        parse_op_key(key, &resource, &task, &interval);
++
++        rsc = pe_find_resource(data_set->resources, resource);
++        if (rsc == NULL) {
++            fprintf(stderr, " - Invalid resource name: %s\n", resource);
++        } else {
++            rclass = crm_element_value(rsc->xml, XML_AGENT_ATTR_CLASS);
++            rtype = crm_element_value(rsc->xml, XML_ATTR_TYPE);
++            rprovider = crm_element_value(rsc->xml, XML_AGENT_ATTR_PROVIDER);
++
++            cib_node = inject_node_state(cib, node, NULL);
++            CRM_ASSERT(cib_node != NULL);
++
++            update_failcounts(cib_node, resource, interval, outcome);
++
++            cib_resource = inject_resource(cib_node, resource, rclass, rtype, rprovider);
++            CRM_ASSERT(cib_resource != NULL);
++
++            op = create_op(cib_resource, task, interval, outcome);
++            CRM_ASSERT(op != NULL);
++
++            cib_op = inject_op(cib_resource, op, 0);
++            CRM_ASSERT(cib_op != NULL);
++            lrmd_free_event(op);
++
++            rc = cib->cmds->modify(cib, XML_CIB_TAG_STATUS, cib_node,
++                                          cib_sync_call | cib_scope_local);
++            CRM_ASSERT(rc == pcmk_ok);
++        }
++        free(task);
++        free(node);
++        free(key);
++    }
++}
++
++static gboolean
++exec_pseudo_action(crm_graph_t * graph, crm_action_t * action)
++{
++    const char *node = crm_element_value(action->xml, XML_LRM_ATTR_TARGET);
++    const char *task = crm_element_value(action->xml, XML_LRM_ATTR_TASK_KEY);
++
++    action->confirmed = TRUE;
++
++    quiet_log(" * Pseudo action:   %s%s%s\n", task, node ? " on " : "", node ? node : "");
++    update_graph(graph, action);
++    return TRUE;
++}
++
++static gboolean
++exec_rsc_action(crm_graph_t * graph, crm_action_t * action)
++{
++    int rc = 0;
++    GListPtr gIter = NULL;
++    lrmd_event_data_t *op = NULL;
++    int target_outcome = 0;
++    gboolean uname_is_uuid = FALSE;
++
++    const char *rtype = NULL;
++    const char *rclass = NULL;
++    const char *resource = NULL;
++    const char *rprovider = NULL;
++    const char *operation = crm_element_value(action->xml, "operation");
++    const char *target_rc_s = crm_meta_value(action->params, XML_ATTR_TE_TARGET_RC);
++
++    xmlNode *cib_node = NULL;
++    xmlNode *cib_resource = NULL;
++    xmlNode *action_rsc = first_named_child(action->xml, XML_CIB_TAG_RESOURCE);
++
++    char *node = crm_element_value_copy(action->xml, XML_LRM_ATTR_TARGET);
++    char *uuid = crm_element_value_copy(action->xml, XML_LRM_ATTR_TARGET_UUID);
++    const char *router_node = crm_element_value(action->xml, XML_LRM_ATTR_ROUTER_NODE);
++
++    if (safe_str_eq(operation, CRM_OP_PROBED)
++        || safe_str_eq(operation, CRM_OP_REPROBE)) {
++        crm_info("Skipping %s op for %s\n", operation, node);
++        goto done;
++    }
++
++    if (action_rsc == NULL) {
++        crm_log_xml_err(action->xml, "Bad");
++        free(node); free(uuid);
++        return FALSE;
++    }
++
++    /* Look for the preferred name
++     * If not found, try the expected 'local' name
++     * If not found use the preferred name anyway
++     */
++    resource = crm_element_value(action_rsc, XML_ATTR_ID);
++    if (pe_find_resource(fake_resource_list, resource) == NULL) {
++        const char *longname = crm_element_value(action_rsc, XML_ATTR_ID_LONG);
++
++        if (pe_find_resource(fake_resource_list, longname)) {
++            resource = longname;
++        }
++    }
++
++    if (safe_str_eq(operation, "delete")) {
++        quiet_log(" * Resource action: %-15s delete on %s\n", resource, node);
++        goto done;
++    }
++
++    rclass = crm_element_value(action_rsc, XML_AGENT_ATTR_CLASS);
++    rtype = crm_element_value(action_rsc, XML_ATTR_TYPE);
++    rprovider = crm_element_value(action_rsc, XML_AGENT_ATTR_PROVIDER);
++
++    if (target_rc_s != NULL) {
++        target_outcome = crm_parse_int(target_rc_s, "0");
++    }
++
++    CRM_ASSERT(fake_cib->cmds->query(fake_cib, NULL, NULL, cib_sync_call | cib_scope_local) ==
++               pcmk_ok);
++
++    if (router_node) {
++        uname_is_uuid = TRUE;
++    }
++
++    cib_node = inject_node_state(fake_cib, node, uname_is_uuid ? node : uuid);
++    CRM_ASSERT(cib_node != NULL);
++
++    cib_resource = inject_resource(cib_node, resource, rclass, rtype, rprovider);
++    CRM_ASSERT(cib_resource != NULL);
++
++    op = convert_graph_action(cib_resource, action, 0, target_outcome);
++    if (op->interval) {
++        quiet_log(" * Resource action: %-15s %s=%d on %s\n", resource, op->op_type, op->interval,
++                  node);
++    } else {
++        quiet_log(" * Resource action: %-15s %s on %s\n", resource, op->op_type, node);
++    }
++
++    for (gIter = fake_op_fail_list; gIter != NULL; gIter = gIter->next) {
++        char *spec = (char *)gIter->data;
++        char *key = NULL;
++
++        key = calloc(1, 1 + strlen(spec));
++        snprintf(key, strlen(spec), "%s_%s_%d@%s=", resource, op->op_type, op->interval, node);
++
++        if (strncasecmp(key, spec, strlen(key)) == 0) {
++            sscanf(spec, "%*[^=]=%d", (int *)&op->rc);
++
++            action->failed = TRUE;
++            graph->abort_priority = INFINITY;
++            printf("\tPretending action %d failed with rc=%d\n", action->id, op->rc);
++            update_failcounts(cib_node, resource, op->interval, op->rc);
++            free(key);
++            break;
++        }
++        free(key);
++    }
++
++    inject_op(cib_resource, op, target_outcome);
++    lrmd_free_event(op);
++
++    rc = fake_cib->cmds->modify(fake_cib, XML_CIB_TAG_STATUS, cib_node,
++                                  cib_sync_call | cib_scope_local);
++    CRM_ASSERT(rc == pcmk_ok);
++
++  done:
++    free(node); free(uuid);
++    free_xml(cib_node);
++    action->confirmed = TRUE;
++    update_graph(graph, action);
++    return TRUE;
++}
++
++static gboolean
++exec_crmd_action(crm_graph_t * graph, crm_action_t * action)
++{
++    const char *node = crm_element_value(action->xml, XML_LRM_ATTR_TARGET);
++    const char *task = crm_element_value(action->xml, XML_LRM_ATTR_TASK);
++    xmlNode *rsc = first_named_child(action->xml, XML_CIB_TAG_RESOURCE);
++
++    action->confirmed = TRUE;
++
++    if(rsc) {
++        quiet_log(" * Cluster action:  %s for %s on %s\n", task, ID(rsc), node);
++    } else {
++        quiet_log(" * Cluster action:  %s on %s\n", task, node);
++    }
++    update_graph(graph, action);
++    return TRUE;
++}
++
++static gboolean
++exec_stonith_action(crm_graph_t * graph, crm_action_t * action)
++{
++    const char *op = crm_meta_value(action->params, "stonith_action");
++    char *target = crm_element_value_copy(action->xml, XML_LRM_ATTR_TARGET);
++
++    quiet_log(" * Fencing %s (%s)\n", target, op);
++    if(safe_str_neq(op, "on")) {
++        int rc = 0;
++        char xpath[STATUS_PATH_MAX];
++        xmlNode *cib_node = modify_node(fake_cib, target, FALSE);
++
++        crm_xml_add(cib_node, XML_ATTR_ORIGIN, __FUNCTION__);
++        CRM_ASSERT(cib_node != NULL);
++
++        rc = fake_cib->cmds->replace(fake_cib, XML_CIB_TAG_STATUS, cib_node,
++                                   cib_sync_call | cib_scope_local);
++        CRM_ASSERT(rc == pcmk_ok);
++
++        snprintf(xpath, STATUS_PATH_MAX, "//node_state[@uname='%s']/%s", target, XML_CIB_TAG_LRM);
++        fake_cib->cmds->delete(fake_cib, xpath, NULL,
++                                      cib_xpath | cib_sync_call | cib_scope_local);
++
++        snprintf(xpath, STATUS_PATH_MAX, "//node_state[@uname='%s']/%s", target,
++                 XML_TAG_TRANSIENT_NODEATTRS);
++        fake_cib->cmds->delete(fake_cib, xpath, NULL,
++                                      cib_xpath | cib_sync_call | cib_scope_local);
++
++        free_xml(cib_node);
++    }
++
++    action->confirmed = TRUE;
++    update_graph(graph, action);
++    free(target);
++    return TRUE;
++}
++
++int
++run_simulation(pe_working_set_t * data_set, cib_t *cib, GListPtr op_fail_list, bool quiet)
++{
++    crm_graph_t *transition = NULL;
++    enum transition_status graph_rc = -1;
++
++    crm_graph_functions_t exec_fns = {
++        exec_pseudo_action,
++        exec_rsc_action,
++        exec_crmd_action,
++        exec_stonith_action,
++    };
++
++    fake_cib = cib;
++    fake_quiet = quiet;
++    fake_op_fail_list = op_fail_list;
++
++    quiet_log("\nExecuting cluster transition:\n");
++
++    set_graph_functions(&exec_fns);
++    transition = unpack_graph(data_set->graph, crm_system_name);
++    print_graph(LOG_DEBUG, transition);
++
++    fake_resource_list = data_set->resources;
++    do {
++        graph_rc = run_graph(transition);
++
++    } while (graph_rc == transition_active);
++    fake_resource_list = NULL;
++
++    if (graph_rc != transition_complete) {
++        fprintf(stdout, "Transition failed: %s\n", transition_status(graph_rc));
++        print_graph(LOG_ERR, transition);
++    }
++    destroy_graph(transition);
++    if (graph_rc != transition_complete) {
++        fprintf(stdout, "An invalid transition was produced\n");
++    }
++
++    if (quiet == FALSE) {
++        xmlNode *cib_object = NULL;
++        int rc = fake_cib->cmds->query(fake_cib, NULL, &cib_object, cib_sync_call | cib_scope_local);
++
++        CRM_ASSERT(rc == pcmk_ok);
++        cleanup_alloc_calculations(data_set);
++        data_set->input = cib_object;
++    }
++
++    if (graph_rc != transition_complete) {
++        return graph_rc;
++    }
++    return 0;
++}
+diff --git a/tools/fake_transition.h b/tools/fake_transition.h
+new file mode 100644
+index 0000000..2ee7af9
+--- /dev/null
++++ b/tools/fake_transition.h
+@@ -0,0 +1,8 @@
++void modify_configuration(
++    pe_working_set_t * data_set, cib_t *cib,
++    const char *quorum, const char *watchdog, GListPtr node_up, GListPtr node_down, GListPtr node_fail,
++    GListPtr op_inject, GListPtr ticket_grant, GListPtr ticket_revoke,
++    GListPtr ticket_standby, GListPtr ticket_activate);
++
++int run_simulation(pe_working_set_t * data_set, cib_t *cib, GListPtr op_fail_list, bool quiet);
++
diff --git a/SOURCES/pacemaker-rollup-031e46c.patch b/SOURCES/pacemaker-rollup-031e46c.patch
new file mode 100644
index 0000000..20a130e
--- /dev/null
+++ b/SOURCES/pacemaker-rollup-031e46c.patch
@@ -0,0 +1,6369 @@
+diff --git a/GNUmakefile b/GNUmakefile
+index b17fb4c..f28dea8 100644
+--- a/GNUmakefile
++++ b/GNUmakefile
+@@ -58,6 +58,8 @@ BUILD_COUNTER	?= build.counter
+ LAST_COUNT      = $(shell test ! -e $(BUILD_COUNTER) && echo 0; test -e $(BUILD_COUNTER) && cat $(BUILD_COUNTER))
+ COUNT           = $(shell expr 1 + $(LAST_COUNT))
+ 
++SPECVERSION	?= $(COUNT)
++
+ init:
+ 	./autogen.sh
+ 
+@@ -144,7 +146,7 @@ srpm-%:	export $(PACKAGE)-%.spec
+ 	if [ -e $(BUILD_COUNTER) ]; then					\
+ 		echo $(COUNT) > $(BUILD_COUNTER);				\
+ 	fi
+-	sed -i 's/global\ specversion.*/global\ specversion\ $(COUNT)/' $(PACKAGE).spec
++	sed -i 's/global\ specversion.*/global\ specversion\ $(SPECVERSION)/' $(PACKAGE).spec
+ 	sed -i 's/global\ commit.*/global\ commit\ $(TAG)/' $(PACKAGE).spec
+ 	case "$(WITH)" in 	\
+ 	  *pre_release*)	\
+diff --git a/attrd/commands.c b/attrd/commands.c
+index c48ef1b..12771ee 100644
+--- a/attrd/commands.c
++++ b/attrd/commands.c
+@@ -202,21 +202,27 @@ attrd_client_message(crm_client_t *client, xmlNode *xml)
+             crm_debug("Setting %s to %s", regex, value);
+             if (regcomp(r_patt, regex, REG_EXTENDED)) {
+                 crm_err("Bad regex '%s' for update", regex);
+-                regfree(r_patt);
+-                free(r_patt);
+-                return;
+-            }
+ 
+-            g_hash_table_iter_init(&aIter, attributes);
+-            while (g_hash_table_iter_next(&aIter, (gpointer *) & attr, NULL)) {
+-                int status = regexec(r_patt, attr, 0, NULL, 0);
++            } else {
+ 
+-                if(status == 0) {
+-                    crm_trace("Matched %s with %s", attr, regex);
+-                    crm_xml_add(xml, F_ATTRD_ATTRIBUTE, attr);
+-                    send_attrd_message(NULL, xml);
++                g_hash_table_iter_init(&aIter, attributes);
++                while (g_hash_table_iter_next(&aIter, (gpointer *) & attr, NULL)) {
++                    int status = regexec(r_patt, attr, 0, NULL, 0);
++
++                    if(status == 0) {
++                        crm_trace("Matched %s with %s", attr, regex);
++                        crm_xml_add(xml, F_ATTRD_ATTRIBUTE, attr);
++                        send_attrd_message(NULL, xml);
++                    }
+                 }
+             }
++
++            free(key);
++            free(set);
++            free(host);
++
++            regfree(r_patt);
++            free(r_patt);
+             return;
+ 
+         } else if(host == NULL) {
+diff --git a/cib/callbacks.c b/cib/callbacks.c
+index 610aa0a..9fb2de9 100644
+--- a/cib/callbacks.c
++++ b/cib/callbacks.c
+@@ -382,6 +382,9 @@ do_local_notify(xmlNode * notify_src, const char *client_id,
+     /* send callback to originating child */
+     crm_client_t *client_obj = NULL;
+     int local_rc = pcmk_ok;
++    int call_id = 0;
++
++    crm_element_value_int(notify_src, F_CIB_CALLID, &call_id);
+ 
+     if (client_id != NULL) {
+         client_obj = crm_client_get_by_id(client_id);
+@@ -389,7 +392,7 @@ do_local_notify(xmlNode * notify_src, const char *client_id,
+ 
+     if (client_obj == NULL) {
+         local_rc = -ECONNRESET;
+-        crm_trace("No client to sent the response to. F_CIB_CLIENTID not set.");
++        crm_trace("No client to sent response %d to, F_CIB_CLIENTID not set.", call_id);
+ 
+     } else {
+         int rid = 0;
+@@ -405,13 +408,13 @@ do_local_notify(xmlNode * notify_src, const char *client_id,
+                           rid, client_obj->name,
+                           from_peer ? "(originator of delegated request)" : "");
+             } else {
+-                crm_trace("Sending response to %s %s",
+-                          client_obj->name, from_peer ? "(originator of delegated request)" : "");
++                crm_trace("Sending response [call %d] to %s %s",
++                          call_id, client_obj->name, from_peer ? "(originator of delegated request)" : "");
+             }
+ 
+         } else {
+-            crm_trace("Sending an event to %s %s",
+-                      client_obj->name, from_peer ? "(originator of delegated request)" : "");
++            crm_trace("Sending event %d to %s %s",
++                      call_id, client_obj->name, from_peer ? "(originator of delegated request)" : "");
+         }
+ 
+         switch (client_obj->kind) {
+diff --git a/crmd/control.c b/crmd/control.c
+index 99ef659..8989859 100644
+--- a/crmd/control.c
++++ b/crmd/control.c
+@@ -945,17 +945,23 @@ config_query_callback(xmlNode * msg, int call_id, int rc, xmlNode * output, void
+         throttle_load_target = strtof(value, NULL) / 100;
+     }
+ 
++    value = getenv("SBD_WATCHDOG_TIMEOUT");
++
++    if(value == NULL) {
++        value = crmd_pref(config_hash, "stonith-watchdog-timeout");
++    }
++
+     value = crmd_pref(config_hash, "stonith-watchdog-timeout");
+-    if(crm_get_msec(value) > 0 && daemon_option("watchdog") == NULL) {
++    if(crm_get_msec(value) > 0 && !daemon_option_enabled(crm_system_name, "watchdog")) {
+         do_crm_log_always(LOG_EMERG, "Shutting down pacemaker, no watchdog device configured");
+         crmd_exit(DAEMON_RESPAWN_STOP);
+ 
+-    } else if(crm_get_msec(value) <= 0 && daemon_option("watchdog")) {
++    } else if(crm_get_msec(value) <= 0 && daemon_option_enabled(crm_system_name, "watchdog")) {
+         crm_warn("Watchdog enabled but no stonith-watchdog-timeout configured");
+     }
+ 
+     value = crmd_pref(config_hash, "no-quorum-policy");
+-    if (safe_str_eq(value, "suicide") && daemon_option("watchdog")) {
++    if (safe_str_eq(value, "suicide") && daemon_option_enabled(crm_system_name, "watchdog")) {
+         no_quorum_suicide_escalation = TRUE;
+     }
+ 
+diff --git a/crmd/election.c b/crmd/election.c
+index e0bd6c4..a4f2e99 100644
+--- a/crmd/election.c
++++ b/crmd/election.c
+@@ -208,6 +208,9 @@ do_dc_takeover(long long action,
+     fsa_register_cib_callback(rc, FALSE, NULL, feature_update_callback);
+ 
+     update_attr_delegate(fsa_cib_conn, cib_none, XML_CIB_TAG_CRMCONFIG, NULL, NULL, NULL, NULL,
++                         XML_ATTR_HAVE_WATCHDOG, daemon_option("watchdog"), FALSE, NULL, NULL);
++
++    update_attr_delegate(fsa_cib_conn, cib_none, XML_CIB_TAG_CRMCONFIG, NULL, NULL, NULL, NULL,
+                          "dc-version", VERSION "-" BUILD_VERSION, FALSE, NULL, NULL);
+ 
+     update_attr_delegate(fsa_cib_conn, cib_none, XML_CIB_TAG_CRMCONFIG, NULL, NULL, NULL, NULL,
+diff --git a/crmd/pengine.c b/crmd/pengine.c
+index ab426be..2f7513f 100644
+--- a/crmd/pengine.c
++++ b/crmd/pengine.c
+@@ -237,6 +237,48 @@ do_pe_invoke(long long action,
+     fsa_register_cib_callback(fsa_pe_query, FALSE, NULL, do_pe_invoke_callback);
+ }
+ 
++static void
++force_local_option(xmlNode *xml, const char *attr_name, const char *attr_value)
++{
++    int max = 0;
++    int lpc = 0;
++    int xpath_max = 1024;
++    char *xpath_string = NULL;
++    xmlXPathObjectPtr xpathObj = NULL;
++
++    xpath_string = calloc(1, xpath_max);
++    lpc = snprintf(xpath_string, xpath_max, "%.128s//%s//nvpair[@name='%.128s']",
++                       get_object_path(XML_CIB_TAG_CRMCONFIG), XML_CIB_TAG_PROPSET, attr_name);
++    CRM_LOG_ASSERT(lpc > 0);
++
++    xpathObj = xpath_search(xml, xpath_string);
++    max = numXpathResults(xpathObj);
++    free(xpath_string);
++
++    for (lpc = 0; lpc < max; lpc++) {
++        xmlNode *match = getXpathResult(xpathObj, lpc);
++        crm_trace("Forcing %s/%s = %s", ID(match), attr_name, attr_value);
++        crm_xml_add(match, XML_NVPAIR_ATTR_VALUE, attr_value);
++    }
++
++    if(max == 0) {
++        char *attr_id = crm_concat(CIB_OPTIONS_FIRST, attr_name, '-');
++
++        crm_trace("Creating %s/%s = %s", attr_id, attr_name, attr_value);
++        xml = create_xml_node(xml, XML_CIB_TAG_CRMCONFIG);
++        xml = create_xml_node(xml, XML_CIB_TAG_PROPSET);
++        crm_xml_add(xml, XML_ATTR_ID, CIB_OPTIONS_FIRST);
++
++        xml = create_xml_node(xml, XML_CIB_TAG_NVPAIR);
++
++        crm_xml_add(xml, XML_ATTR_ID, attr_id);
++        crm_xml_add(xml, XML_NVPAIR_ATTR_NAME, attr_name);
++        crm_xml_add(xml, XML_NVPAIR_ATTR_VALUE, attr_value);
++
++        free(attr_id);
++    }
++}
++
+ void
+ do_pe_invoke_callback(xmlNode * msg, int call_id, int rc, xmlNode * output, void *user_data)
+ {
+@@ -279,6 +321,7 @@ do_pe_invoke_callback(xmlNode * msg, int call_id, int rc, xmlNode * output, void
+ 
+     crm_xml_add(output, XML_ATTR_DC_UUID, fsa_our_uuid);
+     crm_xml_add_int(output, XML_ATTR_HAVE_QUORUM, fsa_has_quorum);
++    force_local_option(output, XML_ATTR_HAVE_WATCHDOG, daemon_option("watchdog"));
+ 
+     if (ever_had_quorum && crm_have_quorum == FALSE) {
+         crm_xml_add_int(output, XML_ATTR_QUORUM_PANIC, 1);
+diff --git a/crmd/remote_lrmd_ra.c b/crmd/remote_lrmd_ra.c
+index f3dedeb..2f658ee 100644
+--- a/crmd/remote_lrmd_ra.c
++++ b/crmd/remote_lrmd_ra.c
+@@ -140,8 +140,6 @@ recurring_helper(gpointer data)
+ 
+         ra_data->recurring_cmds = g_list_remove(ra_data->recurring_cmds, cmd);
+ 
+-        cmd->call_id = generate_callid();
+-
+         ra_data->cmds = g_list_append(ra_data->cmds, cmd);
+         mainloop_set_trigger(ra_data->work);
+     }
+@@ -177,6 +175,24 @@ report_remote_ra_result(remote_ra_cmd_t * cmd)
+     op.interval = cmd->interval;
+     op.rc = cmd->rc;
+     op.op_status = cmd->op_status;
++    op.t_run = cmd->start_time;
++    op.t_rcchange = cmd->start_time;
++    if (cmd->reported_success && cmd->rc != PCMK_OCF_OK) {
++        op.t_rcchange = time(NULL);
++        /* This edge case will likely never ever occur, but if it does the
++         * result is that a failure will not be processed correctly. This is only
++         * remotely possible because we are able to detect a connection resource's tcp
++         * connection has failed at any moment after start has completed. The actual
++         * recurring operation is just a connectivity ping.
++         *
++         * basically, we are not guaranteed that the first successful monitor op and
++         * a subsequent failed monitor op will not occur in the same timestamp. We have to
++         * make it look like the operations occurred at separate times though. */
++        if (op.t_rcchange == op.t_run) {
++            op.t_rcchange++;
++        }
++    }
++
+     if (cmd->params) {
+         lrmd_key_value_t *tmp;
+ 
+diff --git a/crmd/te_utils.c b/crmd/te_utils.c
+index 66ed1da..69c22e3 100644
+--- a/crmd/te_utils.c
++++ b/crmd/te_utils.c
+@@ -126,19 +126,19 @@ tengine_stonith_notify(stonith_t * st, stonith_event_t * st_event)
+ 
+     if (st_event->result == pcmk_ok && safe_str_eq("on", st_event->action)) {
+         crm_notice("%s was successfully unfenced by %s (at the request of %s)",
+-                   st_event->target, st_event->executioner, st_event->origin);
++                   st_event->target, st_event->executioner ? st_event->executioner : "<anyone>", st_event->origin);
+                 /* TODO: Hook up st_event->device */
+         return;
+ 
+     } else if (safe_str_eq("on", st_event->action)) {
+         crm_err("Unfencing of %s by %s failed: %s (%d)",
+-                st_event->target, st_event->executioner,
++                st_event->target, st_event->executioner ? st_event->executioner : "<anyone>",
+                 pcmk_strerror(st_event->result), st_event->result);
+         return;
+ 
+     } else if (st_event->result == pcmk_ok && crm_str_eq(st_event->target, fsa_our_uname, TRUE)) {
+         crm_crit("We were allegedly just fenced by %s for %s!",
+-                 st_event->executioner, st_event->origin); /* Dumps blackbox if enabled */
++                 st_event->executioner ? st_event->executioner : "<anyone>", st_event->origin); /* Dumps blackbox if enabled */
+ 
+         qb_log_fini(); /* Try to get the above log message to disk - somehow */
+ 
+diff --git a/cts/CIB.py b/cts/CIB.py
+index 6ce38e9..d26efdb 100644
+--- a/cts/CIB.py
++++ b/cts/CIB.py
+@@ -177,6 +177,8 @@ class CIB11(ConfigBase):
+                 for node in self.CM.Env["nodes"]:
+                     ftype = self.CM.Env.RandomGen.choice(["levels-and", "levels-or ", "broadcast "])
+                     self.CM.log(" - Using %s fencing for node: %s" % (ftype, node))
++                    # for baremetal remote node tests
++                    stt_nodes.append("remote_%s" % node)
+                     if ftype == "levels-and":
+                         stl.level(1, node, "FencingPass,Fencing")
+                         stt_nodes.append(node)
+diff --git a/cts/CTStests.py b/cts/CTStests.py
+index cd5b7ce..d2b7668 100644
+--- a/cts/CTStests.py
++++ b/cts/CTStests.py
+@@ -453,8 +453,8 @@ class StonithdTest(CTSTest):
+         is_dc = self.CM.is_node_dc(node)
+ 
+         watchpats = []
+-        watchpats.append("Operation .* for host '%s' with device .* returned: 0" % node)
+-        watchpats.append("tengine_stonith_notify:.*Peer %s was terminated .*: OK" % node)
++        watchpats.append(self.templates["Pat:FenceOpOK"] % node)
++        watchpats.append(self.templates["Pat:NodeFenced"] % node)
+ 
+         if self.Env["at-boot"] == 0:
+             self.debug("Expecting %s to stay down" % node)
+@@ -2634,11 +2634,11 @@ AllTestClasses.append(RemoteLXC)
+ 
+ 
+ ###################################################################
+-class RemoteBaremetal(CTSTest):
++class RemoteDriver(CTSTest):
+ ###################################################################
+     def __init__(self, cm):
+         CTSTest.__init__(self,cm)
+-        self.name = "RemoteBaremetal"
++        self.name = "RemoteDriver"
+         self.is_docker_unsafe = 1
+         self.start = StartTest(cm)
+         self.startall = SimulStartLite(cm)
+@@ -2647,9 +2647,8 @@ class RemoteBaremetal(CTSTest):
+         self.failed = 0
+         self.fail_string = ""
+         self.remote_node_added = 0
+-        self.remote_node = "remote1"
+         self.remote_rsc_added = 0
+-        self.remote_rsc = "remote1-rsc"
++        self.remote_rsc = "remote-rsc"
+         self.cib_cmd = """cibadmin -C -o %s -X '%s' """
+ 
+     def del_rsc(self, node, rsc):
+@@ -2679,10 +2678,11 @@ class RemoteBaremetal(CTSTest):
+ 
+     def add_primitive_rsc(self, node):
+         rsc_xml = """
+-<primitive class="ocf" id="%s" provider="pacemaker" type="Dummy">
++<primitive class="ocf" id="%s" provider="heartbeat" type="Dummy">
+     <operations>
+-      <op id="remote1-rsc-monitor-interval-10s" interval="10s" name="monitor"/>
++      <op id="remote-rsc-monitor-interval-10s" interval="10s" name="monitor"/>
+     </operations>
++    <meta_attributes id="remote-meta_attributes"/>
+ </primitive>""" % (self.remote_rsc)
+         self.add_rsc(node, rsc_xml)
+         if self.failed == 0:
+@@ -2691,21 +2691,38 @@ class RemoteBaremetal(CTSTest):
+     def add_connection_rsc(self, node):
+         rsc_xml = """
+ <primitive class="ocf" id="%s" provider="pacemaker" type="remote">
+-    <instance_attributes id="remote1-instance_attributes"/>
+-        <instance_attributes id="remote1-instance_attributes">
+-          <nvpair id="remote1-instance_attributes-server" name="server" value="%s"/>
++    <instance_attributes id="remote-instance_attributes"/>
++        <instance_attributes id="remote-instance_attributes">
++          <nvpair id="remote-instance_attributes-server" name="server" value="%s"/>
+         </instance_attributes>
+     <operations>
+-      <op id="remote1-monitor-interval-60s" interval="60s" name="monitor"/>
+-          <op id="remote1-name-start-interval-0-timeout-60" interval="0" name="start" timeout="60"/>
++      <op id="remote-monitor-interval-60s" interval="60s" name="monitor"/>
++      <op id="remote-name-start-interval-0-timeout-120" interval="0" name="start" timeout="120"/>
+     </operations>
+-    <meta_attributes id="remote1-meta_attributes"/>
+ </primitive>""" % (self.remote_node, node)
+         self.add_rsc(node, rsc_xml)
+         if self.failed == 0:
+             self.remote_node_added = 1
+ 
+-    def step1_start_metal(self, node):
++    def stop_pcmk_remote(self, node):
++        # disable pcmk remote
++        for i in range(10):
++            rc = self.rsh(node, "service pacemaker_remote stop")
++            if rc != 0:
++                time.sleep(6)
++            else:
++                break
++
++    def start_pcmk_remote(self, node):
++        for i in range(10):
++            rc = self.rsh(node, "service pacemaker_remote start")
++            if rc != 0:
++                time.sleep(6)
++            else:
++                self.pcmk_started = 1
++                break
++
++    def start_metal(self, node):
+         pcmk_started = 0
+ 
+         # make sure the resource doesn't already exist for some reason
+@@ -2717,13 +2734,7 @@ class RemoteBaremetal(CTSTest):
+             self.fail_string = "Failed to shutdown cluster node %s" % (node)
+             return
+ 
+-        for i in range(10):
+-            rc = self.rsh(node, "service pacemaker_remote start")
+-            if rc != 0:
+-                time.sleep(6)
+-            else:
+-                self.pcmk_started = 1
+-                break
++        self.start_pcmk_remote(node)
+ 
+         if self.pcmk_started == 0:
+             self.failed = 1
+@@ -2735,6 +2746,7 @@ class RemoteBaremetal(CTSTest):
+         watch = self.create_watch(pats, 120)
+         watch.setwatch()
+         pats.append(self.templates["Pat:RscOpOK"] % (self.remote_node, "start"))
++        pats.append(self.templates["Pat:DC_IDLE"])
+ 
+         self.add_connection_rsc(node)
+ 
+@@ -2745,7 +2757,112 @@ class RemoteBaremetal(CTSTest):
+             self.fail_string = "Unmatched patterns: %s" % (repr(watch.unmatched))
+             self.failed = 1
+ 
+-    def step2_add_rsc(self, node):
++    def migrate_connection(self, node):
++        if self.failed == 1:
++            return
++
++        pats = [ ]
++        pats.append(self.templates["Pat:RscOpOK"] % (self.remote_node, "migrate_to"))
++        pats.append(self.templates["Pat:RscOpOK"] % (self.remote_node, "migrate_from"))
++        pats.append(self.templates["Pat:DC_IDLE"])
++        watch = self.create_watch(pats, 120)
++        watch.setwatch()
++
++        (rc, lines) = self.rsh(node, "crm_resource -M -r %s" % (self.remote_node), None)
++        if rc != 0:
++            self.fail_string = "failed to move remote node connection resource"
++            self.logger.log(self.fail_string)
++            self.failed = 1
++            return
++
++        self.set_timer("remoteMetalMigrate")
++        watch.lookforall()
++        self.log_timer("remoteMetalMigrate")
++
++        if watch.unmatched:
++            self.fail_string = "Unmatched patterns: %s" % (repr(watch.unmatched))
++            self.logger.log(self.fail_string)
++            self.failed = 1
++            return
++
++    def fail_rsc(self, node):
++        if self.failed == 1:
++            return
++
++        watchpats = [ ]
++        watchpats.append(self.templates["Pat:RscRemoteOpOK"] % (self.remote_rsc, "stop", self.remote_node))
++        watchpats.append(self.templates["Pat:RscRemoteOpOK"] % (self.remote_rsc, "start", self.remote_node))
++        watchpats.append(self.templates["Pat:DC_IDLE"])
++
++        watch = self.create_watch(watchpats, 120)
++        watch.setwatch()
++
++        self.debug("causing dummy rsc to fail.")
++
++        rc = self.rsh(node, "rm -f /var/run/resource-agents/Dummy*")
++
++        self.set_timer("remoteRscFail")
++        watch.lookforall()
++        self.log_timer("remoteRscFail")
++        if watch.unmatched:
++            self.fail_string = "Unmatched patterns during rsc fail: %s" % (repr(watch.unmatched))
++            self.logger.log(self.fail_string)
++            self.failed = 1
++
++    def fail_connection(self, node):
++        if self.failed == 1:
++            return
++
++        watchpats = [ ]
++        watchpats.append(self.templates["Pat:FenceOpOK"] % self.remote_node)
++        watchpats.append(self.templates["Pat:NodeFenced"] % self.remote_node)
++
++        watch = self.create_watch(watchpats, 120)
++        watch.setwatch()
++
++        # force stop the pcmk remote daemon. this will result in fencing
++        self.debug("Force stopped active remote node")
++        self.stop_pcmk_remote(node)
++
++        self.debug("Waiting for remote node to be fenced.")
++        self.set_timer("remoteMetalFence")
++        watch.lookforall()
++        self.log_timer("remoteMetalFence")
++        if watch.unmatched:
++            self.fail_string = "Unmatched patterns: %s" % (repr(watch.unmatched))
++            self.logger.log(self.fail_string)
++            self.failed = 1
++            return
++
++        self.debug("Waiting for the remote node to come back up")
++        self.CM.ns.WaitForNodeToComeUp(node, 120);
++
++        pats = [ ]
++        watch = self.create_watch(pats, 120)
++        watch.setwatch()
++        pats.append(self.templates["Pat:RscOpOK"] % (self.remote_node, "start"))
++        if self.remote_rsc_added == 1:
++            pats.append(self.templates["Pat:RscOpOK"] % (self.remote_rsc, "monitor"))
++
++        # start the remote node again watch it integrate back into cluster.
++        self.start_pcmk_remote(node)
++        if self.pcmk_started == 0:
++            self.failed = 1
++            self.fail_string = "Failed to start pacemaker_remote on node %s" % (node)
++            self.logger.log(self.fail_string)
++            return
++
++        self.debug("Waiting for remote node to rejoin cluster after being fenced.")
++        self.set_timer("remoteMetalRestart")
++        watch.lookforall()
++        self.log_timer("remoteMetalRestart")
++        if watch.unmatched:
++            self.fail_string = "Unmatched patterns: %s" % (repr(watch.unmatched))
++            self.failed = 1
++            self.logger.log(self.fail_string)
++            return
++
++    def add_dummy_rsc(self, node):
+         if self.failed == 1:
+             return
+ 
+@@ -2753,33 +2870,19 @@ class RemoteBaremetal(CTSTest):
+         pats = [ ]
+         watch = self.create_watch(pats, 120)
+         watch.setwatch()
+-        pats.append("process_lrm_event:.*Operation %s_start_0.*node=%s, .*confirmed.*true" % (self.remote_rsc, self.remote_node))
++        pats.append(self.templates["Pat:RscRemoteOpOK"] % (self.remote_rsc, "start", self.remote_node))
++        pats.append(self.templates["Pat:DC_IDLE"])
+ 
+         # Add a resource that must live on remote-node
+         self.add_primitive_rsc(node)
+-        # this crm_resource command actually occurs on the remote node
+-        # which verifies that the ipc proxy works
+-        time.sleep(1)
+ 
+-        (rc, lines) = self.rsh(node, "crm_resource -W -r remote1-rsc --quiet", None)
++        # force that rsc to prefer the remote node. 
++        (rc, line) = self.CM.rsh(node, "crm_resource -M -r %s -N %s -f" % (self.remote_rsc, self.remote_node), None)
+         if rc != 0:
+-            self.fail_string = "Failed to get location of resource remote1-rsc"
++            self.fail_string = "Failed to place remote resource on remote node."
+             self.failed = 1
+             return
+ 
+-        find = 0
+-        for line in lines:
+-            if self.remote_node in line.split():
+-                find = 1
+-                break
+-
+-        if find == 0:
+-            rc = self.rsh(node, "crm_resource -M -r remote1-rsc -N %s" % (self.remote_node))
+-            if rc != 0:
+-                self.fail_string = "Failed to place primitive on remote-node"
+-                self.failed = 1
+-                return
+-
+         self.set_timer("remoteMetalRsc")
+         watch.lookforall()
+         self.log_timer("remoteMetalRsc")
+@@ -2787,7 +2890,7 @@ class RemoteBaremetal(CTSTest):
+             self.fail_string = "Unmatched patterns: %s" % (repr(watch.unmatched))
+             self.failed = 1
+ 
+-    def step3_test_attributes(self, node):
++    def test_attributes(self, node):
+         if self.failed == 1:
+             return
+ 
+@@ -2827,9 +2930,10 @@ class RemoteBaremetal(CTSTest):
+ 
+         self.set_timer("remoteMetalCleanup")
+         if self.remote_rsc_added == 1:
+-            self.rsh(node, "crm_resource -U -r remote1-rsc -N %s" % (self.remote_node))
++            self.rsh(node, "crm_resource -U -r %s -N %s" % (self.remote_rsc, self.remote_node))
+             self.del_rsc(node, self.remote_rsc)
+         if self.remote_node_added == 1:
++            self.rsh(node, "crm_resource -U -r %s" % (self.remote_node))
+             self.del_rsc(node, self.remote_node)
+         watch.lookforall()
+         self.log_timer("remoteMetalCleanup")
+@@ -2838,15 +2942,11 @@ class RemoteBaremetal(CTSTest):
+             self.fail_string = "Unmatched patterns: %s" % (repr(watch.unmatched))
+             self.failed = 1
+ 
+-        # disable pcmk remote
+-        for i in range(10):
+-            rc = self.rsh(node, "service pacemaker_remote stop")
+-            if rc != 0:
+-                time.sleep(6)
+-            else:
+-                break
++        self.stop_pcmk_remote(node)
+ 
+-    def setup_env(self):
++    def setup_env(self, node):
++
++        self.remote_node = "remote_%s" % (node)
+         sync_key = 0
+ 
+         # we are assuming if all nodes have a key, that it is
+@@ -2887,10 +2987,10 @@ class RemoteBaremetal(CTSTest):
+         if not ret:
+             return self.failure("Setup failed, start all nodes failed.")
+ 
+-        self.setup_env()
+-        self.step1_start_metal(node)
+-        self.step2_add_rsc(node)
+-        self.step3_test_attributes(node)
++        self.setup_env(node)
++        self.start_metal(node)
++        self.add_dummy_rsc(node)
++        self.test_attributes(node)
+         self.cleanup_metal(node)
+ 
+         self.debug("Waiting for the cluster to recover")
+@@ -2902,11 +3002,201 @@ class RemoteBaremetal(CTSTest):
+ 
+     def errorstoignore(self):
+         '''Return list of errors which should be ignored'''
+-        return [ """is running on remote1 which isn't allowed""",
++        return [ """is running on remote.*which isn't allowed""",
+                  """Connection terminated""",
+                  """Failed to send remote""",
+                 ]
+ 
+-AllTestClasses.append(RemoteBaremetal)
++# Remote driver is called by other tests.
++
++###################################################################
++class RemoteBasic(CTSTest):
++###################################################################
++    def __init__(self, cm):
++        CTSTest.__init__(self,cm)
++        self.name = "RemoteBasic"
++        self.start = StartTest(cm)
++        self.startall = SimulStartLite(cm)
++        self.driver = RemoteDriver(cm)
++        self.is_docker_unsafe = 1
++
++    def __call__(self, node):
++        '''Perform the 'RemoteBaremetal' test. '''
++        self.incr("calls")
++
++        ret = self.startall(None)
++        if not ret:
++            return self.failure("Setup failed, start all nodes failed.")
++
++        self.driver.setup_env(node)
++        self.driver.start_metal(node)
++        self.driver.add_dummy_rsc(node)
++        self.driver.test_attributes(node)
++        self.driver.cleanup_metal(node)
++
++        self.debug("Waiting for the cluster to recover")
++        self.CM.cluster_stable()
++        if self.driver.failed == 1:
++            return self.failure(self.driver.fail_string)
++
++        return self.success()
++
++    def is_applicable(self):
++        return self.driver.is_applicable()
++
++    def errorstoignore(self):
++        return self.driver.errorstoignore()
++
++AllTestClasses.append(RemoteBasic)
++
++###################################################################
++class RemoteStonithd(CTSTest):
++###################################################################
++    def __init__(self, cm):
++        CTSTest.__init__(self,cm)
++        self.name = "RemoteStonithd"
++        self.start = StartTest(cm)
++        self.startall = SimulStartLite(cm)
++        self.driver = RemoteDriver(cm)
++        self.is_docker_unsafe = 1
++
++    def __call__(self, node):
++        '''Perform the 'RemoteStonithd' test. '''
++        self.incr("calls")
++
++        ret = self.startall(None)
++        if not ret:
++            return self.failure("Setup failed, start all nodes failed.")
++
++        self.driver.setup_env(node)
++        self.driver.start_metal(node)
++        self.driver.add_dummy_rsc(node)
++
++        self.driver.fail_connection(node)
++        self.driver.cleanup_metal(node)
++
++        self.debug("Waiting for the cluster to recover")
++        self.CM.cluster_stable()
++        if self.driver.failed == 1:
++            return self.failure(self.driver.fail_string)
++
++        return self.success()
++
++    def is_applicable(self):
++        if not self.driver.is_applicable():
++            return False
++
++        if self.Env.has_key("DoFencing"):
++            return self.Env["DoFencing"]
++
++        return True
++
++    def errorstoignore(self):
++        ignore_pats = [
++            """Unexpected disconnect on remote-node""",
++            """error: process_lrm_event: Operation remote_.*_monitor""",
++            """LogActions: Recover remote_""",
++            """Calculated Transition .* /var/lib/pacemaker/pengine/pe-error""",
++            """error: native_create_actions: Resource .*ocf::.* is active on 2 nodes attempting recovery""",
++        ]
++
++        ignore_pats.extend(self.driver.errorstoignore())
++        return ignore_pats
++
++AllTestClasses.append(RemoteStonithd)
++
++###################################################################
++class RemoteMigrate(CTSTest):
++###################################################################
++    def __init__(self, cm):
++        CTSTest.__init__(self,cm)
++        self.name = "RemoteMigrate"
++        self.start = StartTest(cm)
++        self.startall = SimulStartLite(cm)
++        self.driver = RemoteDriver(cm)
++        self.is_docker_unsafe = 1
++
++    def __call__(self, node):
++        '''Perform the 'RemoteMigrate' test. '''
++        self.incr("calls")
++
++        ret = self.startall(None)
++        if not ret:
++            return self.failure("Setup failed, start all nodes failed.")
++
++        self.driver.setup_env(node)
++        self.driver.start_metal(node)
++        self.driver.add_dummy_rsc(node)
++        self.driver.migrate_connection(node)
++        self.driver.cleanup_metal(node)
++
++        self.debug("Waiting for the cluster to recover")
++        self.CM.cluster_stable()
++        if self.driver.failed == 1:
++            return self.failure(self.driver.fail_string)
++
++        return self.success()
++
++    def is_applicable(self):
++        return self.driver.is_applicable()
++
++    def errorstoignore(self):
++        return self.driver.errorstoignore()
++
++AllTestClasses.append(RemoteMigrate)
++
++
++###################################################################
++class RemoteRscFailure(CTSTest):
++###################################################################
++    def __init__(self, cm):
++
++        # fail a rsc on a remote node, verify recovery.
++        CTSTest.__init__(self,cm)
++        self.name = "RemoteRscFailure"
++        self.start = StartTest(cm)
++        self.startall = SimulStartLite(cm)
++        self.driver = RemoteDriver(cm)
++        self.is_docker_unsafe = 1
++
++    def __call__(self, node):
++        '''Perform the 'RemoteRscFailure' test. '''
++        self.incr("calls")
++
++        ret = self.startall(None)
++        if not ret:
++            return self.failure("Setup failed, start all nodes failed.")
++
++        self.driver.setup_env(node)
++        self.driver.start_metal(node)
++        self.driver.add_dummy_rsc(node)
++
++        # This is an important step. We are migrating the connection
++        # before failing the resource. This verifies that the migration
++        # has properly maintained control over the remote-node.
++        self.driver.migrate_connection(node)
++
++        self.driver.fail_rsc(node)
++        self.driver.cleanup_metal(node)
++
++        self.debug("Waiting for the cluster to recover")
++        self.CM.cluster_stable()
++        if self.driver.failed == 1:
++            return self.failure(self.driver.fail_string)
++
++        return self.success()
++
++    def is_applicable(self):
++        return self.driver.is_applicable()
++
++    def errorstoignore(self):
++        ignore_pats = [
++            """LogActions: Recover remote-rsc""",
++        ]
++
++        ignore_pats.extend(self.driver.errorstoignore())
++        return ignore_pats
++
++AllTestClasses.append(RemoteRscFailure)
+ 
+ # vim:ts=4:sw=4:et:
+diff --git a/cts/patterns.py b/cts/patterns.py
+index 8d34e1c..e734f40 100644
+--- a/cts/patterns.py
++++ b/cts/patterns.py
+@@ -56,6 +56,9 @@ class BasePatterns:
+             "Pat:Fencing_ok"    : "stonith.*remote_op_done:.*Operation .* of %s by .*: OK",
+ 
+             "Pat:RscOpOK"       : "process_lrm_event:.*Operation %s_%s.*ok.*confirmed",
++            "Pat:RscRemoteOpOK" : "process_lrm_event:.*Operation %s_%s.*ok.*node=%s, .*confirmed.*true",
++            "Pat:NodeFenced"    : "tengine_stonith_notify:.*Peer %s was terminated .*: OK",
++            "Pat:FenceOpOK"     : "Operation .* for host '%s' with device .* returned: 0",
+         }
+ 
+     def get_component(self, key):
+diff --git a/cts/watcher.py b/cts/watcher.py
+index 5e6ee43..41e4100 100644
+--- a/cts/watcher.py
++++ b/cts/watcher.py
+@@ -31,7 +31,8 @@ from cts.remote import *
+ from cts.logging import *
+ 
+ has_log_watcher = {}
+-log_watcher_bin = CTSvars.CRM_DAEMON_DIR + "/cts_log_watcher.py"
++log_watcher_file = "cts_log_watcher.py"
++log_watcher_bin = CTSvars.CRM_DAEMON_DIR + "/" + log_watcher_file
+ log_watcher = """
+ import sys, os, fcntl
+ 
+@@ -164,14 +165,16 @@ class FileObj(SearchObj):
+             global log_watcher
+             global log_watcher_bin
+ 
+-            self.debug("Installing %s on %s" % (log_watcher_bin, host))
++            self.debug("Installing %s on %s" % (log_watcher_file, host))
+ 
+-            os.system("cat << END >> %s\n%s\nEND" %(log_watcher_bin, log_watcher))
+-            os.system("chmod 755 %s" %(log_watcher_bin))
++            os.system("cat << END >> %s\n%s\nEND" %(log_watcher_file, log_watcher))
++            os.system("chmod 755 %s" %(log_watcher_file))
+ 
+-            self.rsh.cp(log_watcher_bin, "root@%s:%s" % (host, log_watcher_bin))
++            self.rsh.cp(log_watcher_file, "root@%s:%s" % (host, log_watcher_bin))
+             has_log_watcher[host] = 1
+ 
++            os.system("rm -f %s" %(log_watcher_file))
++
+         self.harvest()
+ 
+     def async_complete(self, pid, returncode, outLines, errLines):
+diff --git a/doc/Makefile.am b/doc/Makefile.am
+index 8798365..9194f1d 100644
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -29,6 +29,7 @@ publican_docs   =
+ generated_docs	=
+ generated_mans	=
+ 
++ASCIIDOC_CLI_TYPE := pcs
+ DOCBOOK_FORMATS := html-desktop
+ DOCBOOK_LANGS   := en-US
+ DOTs = $(wildcard */en-US/images/*.dot)
+@@ -154,17 +155,15 @@ pdf:
+ 	make DOCBOOK_FORMATS="pdf" ASCIIDOC_CLI_TYPE=$(ASCIIDOC_CLI_TYPE) all-local
+ 
+ # Make sure www-(pcs|crmsh) happen in serial
+-www:
+-	make www-pcs
+-	make www-crmsh
+-	make $(generated_docs) $(ascii)
++www: clean-local $(generated_docs) $(ascii)
++	make www-cli
+ 	rsync -rtz --progress $(generated_docs) $(ascii) $(asciiman) root@www.clusterlabs.org:/var/www/html/doc/
+ 
+ www-crmsh:
+ 	make ASCIIDOC_CLI_TYPE=crmsh clean-local www-cli
+ 
+ www-pcs:
+-	make ASCIIDOC_CLI_TYPE=pcs clean-local www-cli
++	make ASCIIDOC_CLI_TYPE=pcs www-cli
+ 
+ www-cli:
+ 	for book in $(docbook); do 										\
+diff --git a/doc/Pacemaker_Explained/en-US/Ch-Options.txt b/doc/Pacemaker_Explained/en-US/Ch-Options.txt
+index cf1478f..3a6ee0b 100644
+--- a/doc/Pacemaker_Explained/en-US/Ch-Options.txt
++++ b/doc/Pacemaker_Explained/en-US/Ch-Options.txt
+@@ -89,22 +89,22 @@ cluster cannot start resources or fence other nodes. See
+ +no-quorum-policy+ below.
+ 
+ | dc-version |
+-indexterm:[dc-version,Cluster Peroperty]
+-indexterm:[Cluster,Peroperty,dc-version]
++indexterm:[dc-version,Cluster Property]
++indexterm:[Cluster,Property,dc-version]
+ Version of Pacemaker on the cluster's DC.
+ 
+ Often includes the hash which identifies the exact Git changeset it
+ was built from.  Used for diagnostic purposes.
+ 
+ | cluster-infrastructure |
+-indexterm:[cluster-infrastructure,Cluster Peroperty]
+-indexterm:[Cluster,Peroperty,cluster-infrastructure]
++indexterm:[cluster-infrastructure,Cluster Property]
++indexterm:[Cluster,Property,cluster-infrastructure]
+ The messaging stack on which Pacemaker is currently running.
+ Used for informational and diagnostic purposes.
+ 
+ | expected-quorum-votes |
+-indexterm:[expected-quorum-votes,Cluster Peroperty]
+-indexterm:[Cluster,Peroperty,expected-quorum-votes]
++indexterm:[expected-quorum-votes,Cluster Property]
++indexterm:[Cluster,Property,expected-quorum-votes]
+ The number of nodes expected to be in the cluster
+ 
+ Used to calculate quorum in Corosync 1.x (not CMAN) based clusters.
+diff --git a/extra/resources/ping b/extra/resources/ping
+index b9a69b8..e7b9973 100755
+--- a/extra/resources/ping
++++ b/extra/resources/ping
+@@ -77,7 +77,7 @@ The name of the attributes to set.  This is the name to be used in the constrain
+ The number by which to multiply the number of connected ping nodes by
+ </longdesc>
+ <shortdesc lang="en">Value multiplier</shortdesc>
+-<content type="integer" default=""/>
++<content type="integer" default="1"/>
+ </parameter>
+ 
+ <parameter name="host_list" unique="0" required="1">
+@@ -93,7 +93,7 @@ The list of ping nodes to count.
+ Number of ping attempts, per host, before declaring it dead
+ </longdesc>
+ <shortdesc lang="en">no. of ping attempts</shortdesc>
+-<content type="integer" default="2"/>
++<content type="integer" default="3"/>
+ </parameter>
+ 
+ <parameter name="timeout" unique="0">
+@@ -121,6 +121,15 @@ Default never fails.
+ <content type="integer" default=""/>
+ </parameter>
+ 
++<parameter name="use_fping" unique="0">
++<longdesc lang="en">
++Use fping rather than ping, if found. If set to 0, fping
++will not be used even if present.
++</longdesc>
++<shortdesc lang="en">Use fping if available</shortdesc>
++<content type="boolean" default="1"/>
++</parameter>
++
+ <parameter name="debug" unique="0">
+ <longdesc lang="en">
+ Enables to use default attrd_updater verbose logging on every call.
+@@ -154,7 +163,7 @@ ping_conditional_log() {
+ 
+ ping_usage() {
+ 	cat <<END
+-usage: $0 {start|stop|monitor|migrate_to|migrate_from|validate-all|meta-data}
++usage: $0 {start|stop|monitor|validate-all|meta-data}
+ 
+ Expects to have a fully populated OCF RA-compliant environment set.
+ END
+@@ -225,7 +234,7 @@ fping_check() {
+     n=$OCF_RESKEY_attempts
+     timeout=`expr $OCF_RESKEY_timeout \* 1000 / $OCF_RESKEY_attempts`
+ 
+-    cmd="fping -r $OCF_RESKEY_attempts -t $timeout -B 1.0 $OCF_RESKEY_host_list"
++    cmd="fping -r $OCF_RESKEY_attempts -t $timeout -B 1.0 $OCF_RESKEY_options $OCF_RESKEY_host_list"
+     $cmd>$f_out 2>$f_err; rc=$?
+     active=`grep alive $f_out|wc -l`
+ 
+@@ -274,7 +283,7 @@ ping_check() {
+ 
+ ping_update() {
+     
+-    if have_binary fping; then
++    if ocf_is_true "$OCF_RESKEY_use_fping" && have_binary fping; then
+ 	fping_check
+ 	active=$?
+     else
+@@ -306,6 +315,7 @@ ping_update() {
+ : ${OCF_RESKEY_multiplier:="1"}
+ : ${OCF_RESKEY_debug:="false"}
+ : ${OCF_RESKEY_failure_score:="0"}
++: ${OCF_RESKEY_use_fping:="1"}
+ 
+ : ${OCF_RESKEY_CRM_meta_timeout:="20000"}
+ : ${OCF_RESKEY_CRM_meta_globally_unique:="true"}
+diff --git a/extra/resources/remote b/extra/resources/remote
+index 9f141a2..d79c4c3 100644
+--- a/extra/resources/remote
++++ b/extra/resources/remote
+@@ -58,12 +58,12 @@ meta_data() {
+        tcp port to connect to.
+     </longdesc>
+     <shortdesc lang="en">tcp port</shortdesc>
+-    <content type="string" default="1984"/>
++    <content type="string" default="3121"/>
+     </parameter>
+   </parameters>
+   <actions>
+-    <action name="start"   timeout="40" />
+-    <action name="stop"    timeout="40" />
++    <action name="start"   timeout="60" />
++    <action name="stop"    timeout="60" />
+     <action name="monitor"    timeout="30" />
+     <action name="migrate_to"   timeout="60" />
+     <action name="migrate_from" timeout="60" />
+diff --git a/fencing/main.c b/fencing/main.c
+index b03659e..fe6560d 100644
+--- a/fencing/main.c
++++ b/fencing/main.c
+@@ -1002,15 +1002,22 @@ update_cib_cache_cb(const char *event, xmlNode * msg)
+         stonith_enabled_s = crm_element_value(stonith_enabled_xml, XML_NVPAIR_ATTR_VALUE);
+     }
+ 
+-    if(daemon_option("watchdog")) {
+-        stonith_watchdog_xml = get_xpath_object("//nvpair[@name='stonith-watchdog-timeout']", local_cib, LOG_TRACE);
+-    }
++    if(daemon_option_enabled(crm_system_name, "watchdog")) {
++        const char *value = getenv("SBD_WATCHDOG_TIMEOUT");
+ 
+-    if (stonith_watchdog_xml) {
+-        const char *value = crm_element_value(stonith_watchdog_xml, XML_NVPAIR_ATTR_VALUE);
+-        stonith_watchdog_timeout_ms = crm_get_msec(value);
+-    } else {
+-        stonith_watchdog_timeout_ms = 0;
++        if(value == NULL) {
++            stonith_watchdog_xml = get_xpath_object("//nvpair[@name='stonith-watchdog-timeout']", local_cib, LOG_TRACE);
++            if (stonith_watchdog_xml) {
++                value = crm_element_value(stonith_watchdog_xml, XML_NVPAIR_ATTR_VALUE);
++            }
++        }
++
++        if(value) {
++            stonith_watchdog_timeout_ms = crm_get_msec(value);
++
++        } else {
++            stonith_watchdog_timeout_ms = 0;
++        }
+     }
+ 
+     if (stonith_enabled_s && crm_is_true(stonith_enabled_s) == FALSE) {
+@@ -1354,11 +1361,12 @@ main(int argc, char **argv)
+ 
+     topology = g_hash_table_new_full(crm_str_hash, g_str_equal, NULL, free_topology_entry);
+ 
+-    if(daemon_option("watchdog")) {
++    if(daemon_option_enabled(crm_system_name, "watchdog")) {
+         xmlNode *xml;
+         stonith_key_value_t *params = NULL;
+ 
+-        stonith_key_value_add(params, STONITH_ATTR_HOSTLIST, stonith_our_uname);
++        params = stonith_key_value_add(params, STONITH_ATTR_HOSTLIST, stonith_our_uname);
++
+         xml = create_device_registration_xml("watchdog", "internal", STONITH_WATCHDOG_AGENT, params, NULL);
+         stonith_device_register(xml, NULL, FALSE);
+ 
+diff --git a/fencing/remote.c b/fencing/remote.c
+index 3f4f5ca..63c0274 100644
+--- a/fencing/remote.c
++++ b/fencing/remote.c
+@@ -277,11 +277,9 @@ remote_op_done(remote_fencing_op_t * op, xmlNode * data, int rc, int dup)
+     }
+ 
+     if (!op->delegate && data) {
+-        xmlNode *ndata = get_xpath_object("//@" F_STONITH_DELEGATE, data, LOG_WARNING);
++        xmlNode *ndata = get_xpath_object("//@" F_STONITH_DELEGATE, data, LOG_TRACE);
+         if(ndata) {
+             op->delegate = crm_element_value_copy(ndata, F_STONITH_DELEGATE);
+-        } else {
+-            op->delegate = crm_element_value_copy(data, F_ORIG);
+         }
+     }
+ 
+@@ -1055,9 +1053,10 @@ call_remote_stonith(remote_fencing_op_t * op, st_query_result_t * peer)
+ 
+         } else {
+             timeout_one = TIMEOUT_MULTIPLY_FACTOR * get_peer_timeout(peer, op->base_timeout);
+-            crm_info("Requesting that %s perform op %s %s for %s (%ds)",
+-                     peer->host, op->action, op->target, op->client_name, timeout_one);
++            crm_info("Requesting that %s perform op %s %s for %s (%ds, %ds)",
++                     peer->host, op->action, op->target, op->client_name, timeout_one, stonith_watchdog_timeout_ms);
+             crm_xml_add(remote_op, F_STONITH_MODE, "smart");
++
+         }
+ 
+         op->state = st_exec;
+@@ -1065,7 +1064,17 @@ call_remote_stonith(remote_fencing_op_t * op, st_query_result_t * peer)
+             g_source_remove(op->op_timer_one);
+         }
+ 
+-        if(device && stonith_watchdog_timeout_ms && safe_str_eq(device, "watchdog")) {
++        if(stonith_watchdog_timeout_ms > 0 && device && safe_str_eq(device, "watchdog")) {
++            crm_notice("Waiting %ds for %s to self-terminate for %s.%.8s (%p)",
++                       stonith_watchdog_timeout_ms/1000, op->target, op->client_name, op->id, device);
++            op->op_timer_one = g_timeout_add(stonith_watchdog_timeout_ms, remote_op_watchdog_done, op);
++
++            /* TODO: We should probably look into peer->device_list to verify watchdog is going to be in use */
++        } else if(stonith_watchdog_timeout_ms > 0
++                  && safe_str_eq(peer->host, op->target)
++                  && safe_str_neq(op->action, "on")) {
++            crm_notice("Waiting %ds for %s to self-terminate for %s.%.8s (%p)",
++                       stonith_watchdog_timeout_ms/1000, op->target, op->client_name, op->id, device);
+             op->op_timer_one = g_timeout_add(stonith_watchdog_timeout_ms, remote_op_watchdog_done, op);
+ 
+         } else {
+@@ -1094,6 +1103,14 @@ call_remote_stonith(remote_fencing_op_t * op, st_query_result_t * peer)
+         /* if the operation never left the query state,
+          * but we have all the expected replies, then no devices
+          * are available to execute the fencing operation. */
++        if(stonith_watchdog_timeout_ms && (device == NULL || safe_str_eq(device, "watchdog"))) {
++            crm_notice("Waiting %ds for %s to self-terminate for %s.%.8s (%p)",
++                     stonith_watchdog_timeout_ms/1000, op->target, op->client_name, op->id, device);
++
++            op->op_timer_one = g_timeout_add(stonith_watchdog_timeout_ms, remote_op_watchdog_done, op);
++            return;
++        }
++
+         if (op->state == st_query) {
+            crm_info("None of the %d peers have devices capable of terminating %s for %s (%d)",
+                    op->replies, op->target, op->client_name, op->state);
+diff --git a/include/crm/msg_xml.h b/include/crm/msg_xml.h
+index 1ff425c..d3c2643 100644
+--- a/include/crm/msg_xml.h
++++ b/include/crm/msg_xml.h
+@@ -86,6 +86,7 @@
+ 
+ #  define XML_ATTR_QUORUM_PANIC		"no-quorum-panic"
+ #  define XML_ATTR_HAVE_QUORUM		"have-quorum"
++#  define XML_ATTR_HAVE_WATCHDOG	"have-watchdog"
+ #  define XML_ATTR_EXPECTED_VOTES	"expected-quorum-votes"
+ #  define XML_ATTR_GENERATION		"epoch"
+ #  define XML_ATTR_GENERATION_ADMIN	"admin_epoch"
+@@ -298,6 +299,8 @@
+ #  define XML_CONS_TAG_RSC_SET		"resource_set"
+ #  define XML_CONS_ATTR_SYMMETRICAL	"symmetrical"
+ 
++#  define XML_LOCATION_ATTR_DISCOVERY	"resource-discovery"
++
+ #  define XML_COLOC_ATTR_SOURCE		"rsc"
+ #  define XML_COLOC_ATTR_SOURCE_ROLE	"rsc-role"
+ #  define XML_COLOC_ATTR_TARGET		"with-rsc"
+@@ -321,6 +324,7 @@
+ #  define XML_NVPAIR_ATTR_VALUE        	"value"
+ 
+ #  define XML_NODE_ATTR_STATE		"state"
++#  define XML_NODE_ATTR_RSC_DISCOVERY   "resource-discovery-enabled"
+ 
+ #  define XML_CONFIG_ATTR_DC_DEADTIME	"dc-deadtime"
+ #  define XML_CONFIG_ATTR_ELECTION_FAIL	"election-timeout"
+diff --git a/include/crm/pengine/status.h b/include/crm/pengine/status.h
+index d0ba856..f08a910 100644
+--- a/include/crm/pengine/status.h
++++ b/include/crm/pengine/status.h
+@@ -136,6 +136,8 @@ struct node_shared_s {
+     gboolean shutdown;
+     gboolean expected_up;
+     gboolean is_dc;
++    gboolean rsc_discovery_enabled;
++
+     int num_resources;
+     GListPtr running_rsc;       /* resource_t* */
+     GListPtr allocated_rsc;     /* resource_t* */
+@@ -156,6 +158,7 @@ struct node_shared_s {
+ struct node_s {
+     int weight;
+     gboolean fixed;
++    int rsc_discover_mode;
+     int count;
+     struct node_shared_s *details;
+ };
+@@ -252,6 +255,7 @@ struct resource_s {
+     int migration_threshold;
+ 
+     gboolean is_remote_node;
++    gboolean exclusive_discover;
+ 
+     unsigned long long flags;
+ 
+diff --git a/lib/cib/cib_utils.c b/lib/cib/cib_utils.c
+index 022a8ab..15b354b 100644
+--- a/lib/cib/cib_utils.c
++++ b/lib/cib/cib_utils.c
+@@ -665,7 +665,7 @@ cib_native_callback(cib_t * cib, xmlNode * msg, int call_id, int rc)
+         crm_trace("Invoking global callback for call %d", call_id);
+         cib->op_callback(msg, call_id, rc, output);
+     }
+-    crm_trace("OP callback activated.");
++    crm_trace("OP callback activated for %d", call_id);
+ }
+ 
+ void
+diff --git a/lib/common/mainloop.c b/lib/common/mainloop.c
+index ac395ec..f2295ff 100644
+--- a/lib/common/mainloop.c
++++ b/lib/common/mainloop.c
+@@ -799,7 +799,7 @@ mainloop_add_fd(const char *name, int priority, int fd, void *userdata,
+ {
+     mainloop_io_t *client = NULL;
+ 
+-    if (fd > 0) {
++    if (fd >= 0) {
+         client = calloc(1, sizeof(mainloop_io_t));
+         client->name = strdup(name);
+         client->userdata = userdata;
+diff --git a/lib/common/utils.c b/lib/common/utils.c
+index dc54e6d..6b8b12c 100644
+--- a/lib/common/utils.c
++++ b/lib/common/utils.c
+@@ -2008,6 +2008,7 @@ attrd_update_delegate(crm_ipc_t * ipc, char command, const char *host, const cha
+         case 'u':
+             crm_xml_add(update, F_ATTRD_TASK, "update");
+             crm_xml_add(update, F_ATTRD_REGEX, name);
++            break;
+         case 'D':
+         case 'U':
+         case 'v':
+diff --git a/lib/common/watchdog.c b/lib/common/watchdog.c
+index 7d70f91..3c616cd 100644
+--- a/lib/common/watchdog.c
++++ b/lib/common/watchdog.c
+@@ -211,10 +211,10 @@ pcmk_panic_local(void)
+ 
+     if(ppid > 1) {
+         /* child daemon */
+-        crm_exit(pcmk_err_panic);
++        exit(pcmk_err_panic);
+     } else {
+         /* pacemakerd or orphan child */
+-        crm_exit(DAEMON_RESPAWN_STOP);
++        exit(DAEMON_RESPAWN_STOP);
+     }
+ }
+ 
+@@ -222,6 +222,7 @@ static void
+ pcmk_panic_sbd(void) 
+ {
+     union sigval signal_value;
++    pid_t ppid = getppid();
+ 
+     do_crm_log_always(LOG_EMERG, "Signaling sbd(%d) to panic", sbd_pid);
+ 
+@@ -232,7 +233,13 @@ pcmk_panic_sbd(void)
+         pcmk_panic_local();
+     }
+ 
+-    crm_exit(DAEMON_RESPAWN_STOP);
++    if(ppid > 1) {
++        /* child daemon */
++        exit(pcmk_err_panic);
++    } else {
++        /* pacemakerd or orphan child */
++        exit(DAEMON_RESPAWN_STOP);
++    }
+ }
+ 
+ void
+@@ -275,17 +282,27 @@ pcmk_locate_sbd(void)
+     }
+ 
+     /* Look for the pid file */
++    pidfile = g_strdup_printf("%s/sbd.pid", HA_STATE_DIR);
+ 
+     /* Read the pid file */
+     if(pidfile) {
+         int rc = crm_pidfile_inuse(pidfile, 1);
+         if(rc < pcmk_ok && rc != -ENOENT) {
+             sbd_pid = crm_read_pidfile(pidfile);
++            crm_trace("SBD detected at pid=%d (file)");
+         }
+     }
+ 
+-    /* Fall back to /proc for systems that support it */
+-    sbd_pid = pcmk_locate_proc_entry("sbd");
++    if(sbd_pid < 0) {
++        /* Fall back to /proc for systems that support it */
++        sbd_pid = pcmk_locate_proc_entry("sbd");
++        crm_trace("SBD detected at pid=%d (proc)");
++    }
++
++    if(sbd_pid < 0) {
++        sbd_pid = 0;
++    }
+ 
++    free(pidfile);
+     return sbd_pid;
+ }
+diff --git a/lib/common/xml.c b/lib/common/xml.c
+index 06de44c..58d0a00 100644
+--- a/lib/common/xml.c
++++ b/lib/common/xml.c
+@@ -386,6 +386,7 @@ static int __xml_build_schema_list(void)
+                     xslt = get_schema_path(NULL, transform);
+                     if(stat(xslt, &s) != 0) {
+                         crm_err("Transform %s not found", xslt);
++                        free(xslt);
+                         __xml_schema_add(2, version, NULL, NULL, NULL, -1);
+                         break;
+                     } else {
+@@ -1950,9 +1951,11 @@ bool xml_patch_versions(xmlNode *patchset, int add[3], int del[3])
+             return -EINVAL;
+     }
+ 
+-    for(lpc = 0; lpc < DIMOF(vfields); lpc++) {
+-        crm_element_value_int(tmp, vfields[lpc], &(del[lpc]));
+-        crm_trace("Got %d for del[%s]", del[lpc], vfields[lpc]);
++    if (tmp) {
++        for(lpc = 0; lpc < DIMOF(vfields); lpc++) {
++            crm_element_value_int(tmp, vfields[lpc], &(del[lpc]));
++            crm_trace("Got %d for del[%s]", del[lpc], vfields[lpc]);
++        }
+     }
+ 
+     switch(format) {
+@@ -1973,9 +1976,11 @@ bool xml_patch_versions(xmlNode *patchset, int add[3], int del[3])
+             return -EINVAL;
+     }
+ 
+-    for(lpc = 0; lpc < DIMOF(vfields); lpc++) {
+-        crm_element_value_int(tmp, vfields[lpc], &(add[lpc]));
+-        crm_trace("Got %d for add[%s]", add[lpc], vfields[lpc]);
++    if (tmp) {
++        for(lpc = 0; lpc < DIMOF(vfields); lpc++) {
++            crm_element_value_int(tmp, vfields[lpc], &(add[lpc]));
++            crm_trace("Got %d for add[%s]", add[lpc], vfields[lpc]);
++        }
+     }
+ 
+     return pcmk_ok;
+diff --git a/lib/pengine/common.c b/lib/pengine/common.c
+index e98e1d3..e5e4ea7 100644
+--- a/lib/pengine/common.c
++++ b/lib/pengine/common.c
+@@ -106,6 +106,8 @@ pe_cluster_option pe_opts[] = {
+ 	  "Action to send to STONITH device", NULL },
+ 	{ "stonith-timeout", NULL, "time", NULL, "60s", &check_timer,
+ 	  "How long to wait for the STONITH action to complete", NULL },
++	{ XML_ATTR_HAVE_WATCHDOG, NULL, "boolean", NULL, "false", &check_boolean,
++	  "Enable watchdog integration", "Set automatically by the cluster if SBD is detected.  User configured values are ignored." },
+ 	{ "startup-fencing", "startup_fencing", "boolean", NULL, "true", &check_boolean,
+ 	  "STONITH unseen nodes", "Advanced Use Only!  Not using the default is very unsafe!" },
+ 
+diff --git a/lib/pengine/unpack.c b/lib/pengine/unpack.c
+index 7127c12..a19bdff 100644
+--- a/lib/pengine/unpack.c
++++ b/lib/pengine/unpack.c
+@@ -140,6 +140,12 @@ unpack_config(xmlNode * config, pe_working_set_t * data_set)
+         crm_info("Startup probes: disabled (dangerous)");
+     }
+ 
++    value = pe_pref(data_set->config_hash, XML_ATTR_HAVE_WATCHDOG);
++    if (value && crm_is_true(value)) {
++        crm_notice("Relying on watchdog integration for fencing");
++        set_bit(data_set->flags, pe_flag_have_stonith_resource);
++    }
++
+     value = pe_pref(data_set->config_hash, "stonith-timeout");
+     data_set->stonith_timeout = crm_get_msec(value);
+     crm_debug("STONITH timeout: %d", data_set->stonith_timeout);
+@@ -294,6 +300,7 @@ create_node(const char *id, const char *uname, const char *type, const char *sco
+     new_node->details->uname = uname;
+     new_node->details->online = FALSE;
+     new_node->details->shutdown = FALSE;
++    new_node->details->rsc_discovery_enabled = TRUE;
+     new_node->details->running_rsc = NULL;
+     new_node->details->type = node_ping;
+ 
+@@ -308,6 +315,13 @@ create_node(const char *id, const char *uname, const char *type, const char *sco
+     new_node->details->attrs = g_hash_table_new_full(crm_str_hash, g_str_equal,
+                                                      g_hash_destroy_str,
+                                                      g_hash_destroy_str);
++
++    if (is_remote_node(new_node)) {
++        g_hash_table_insert(new_node->details->attrs, strdup("#kind"), strdup("remote"));
++    } else {
++        g_hash_table_insert(new_node->details->attrs, strdup("#kind"), strdup("cluster"));
++    }
++
+     new_node->details->utilization =
+         g_hash_table_new_full(crm_str_hash, g_str_equal, g_hash_destroy_str,
+                               g_hash_destroy_str);
+@@ -657,7 +671,10 @@ link_rsc2remotenode(pe_working_set_t *data_set, resource_t *new_rsc)
+      * as cluster nodes. */
+     if (new_rsc->container == NULL) {
+         handle_startup_fencing(data_set, remote_node);
+-        return;
++    } else {
++        /* At this point we know if the remote node is a container or baremetal
++         * remote node, update the #kind attribute if a container is involved */
++        g_hash_table_replace(remote_node->details->attrs, strdup("#kind"), strdup("container"));
+     }
+ }
+ 
+@@ -723,10 +740,12 @@ unpack_resources(xmlNode * xml_resources, pe_working_set_t * data_set)
+     }
+ 
+     data_set->resources = g_list_sort(data_set->resources, sort_rsc_priority);
++    if (is_set(data_set->flags, pe_flag_quick_location)) {
++        /* Ignore */
++
++    } else if (is_set(data_set->flags, pe_flag_stonith_enabled)
++               && is_set(data_set->flags, pe_flag_have_stonith_resource) == FALSE) {
+ 
+-    if (is_not_set(data_set->flags, pe_flag_quick_location)
+-        && is_set(data_set->flags, pe_flag_stonith_enabled)
+-        && is_set(data_set->flags, pe_flag_have_stonith_resource) == FALSE) {
+         crm_config_err("Resource start-up disabled since no STONITH resources have been defined");
+         crm_config_err("Either configure some or disable STONITH with the stonith-enabled option");
+         crm_config_err("NOTE: Clusters with shared data need STONITH to ensure data integrity");
+@@ -988,6 +1007,7 @@ unpack_status(xmlNode * status, pe_working_set_t * data_set)
+ 
+         if (crm_str_eq((const char *)state->name, XML_CIB_TAG_STATE, TRUE)) {
+             xmlNode *attrs = NULL;
++            const char *resource_discovery_enabled = NULL;
+ 
+             id = crm_element_value(state, XML_ATTR_ID);
+             uname = crm_element_value(state, XML_ATTR_UNAME);
+@@ -1027,6 +1047,12 @@ unpack_status(xmlNode * status, pe_working_set_t * data_set)
+                 this_node->details->maintenance = TRUE;
+             }
+ 
++            resource_discovery_enabled = g_hash_table_lookup(this_node->details->attrs, XML_NODE_ATTR_RSC_DISCOVERY);
++            if (resource_discovery_enabled && !crm_is_true(resource_discovery_enabled)) {
++                crm_warn("ignoring %s attribute on node %s, disabling resource discovery is not allowed on cluster nodes",
++                    XML_NODE_ATTR_RSC_DISCOVERY, this_node->details->uname);
++            }
++
+             crm_trace("determining node state");
+             determine_online_status(state, this_node, data_set);
+ 
+@@ -1102,6 +1128,7 @@ unpack_remote_status(xmlNode * status, pe_working_set_t * data_set)
+ 
+     /* process attributes */
+     for (state = __xml_first_child(status); state != NULL; state = __xml_next(state)) {
++        const char *resource_discovery_enabled = NULL;
+         xmlNode *attrs = NULL;
+         if (crm_str_eq((const char *)state->name, XML_CIB_TAG_STATE, TRUE) == FALSE) {
+             continue;
+@@ -1125,6 +1152,26 @@ unpack_remote_status(xmlNode * status, pe_working_set_t * data_set)
+             crm_info("Node %s is in standby-mode", this_node->details->uname);
+             this_node->details->standby = TRUE;
+         }
++
++        if (crm_is_true(g_hash_table_lookup(this_node->details->attrs, "maintenance"))) {
++            crm_info("Node %s is in maintenance-mode", this_node->details->uname);
++            this_node->details->maintenance = TRUE;
++        }
++
++        resource_discovery_enabled = g_hash_table_lookup(this_node->details->attrs, XML_NODE_ATTR_RSC_DISCOVERY);
++        if (resource_discovery_enabled && !crm_is_true(resource_discovery_enabled)) {
++            if (is_baremetal_remote_node(this_node) && is_not_set(data_set->flags, pe_flag_stonith_enabled)) {
++                crm_warn("ignoring %s attribute on baremetal remote node %s, disabling resource discovery requires stonith to be enabled.",
++                    XML_NODE_ATTR_RSC_DISCOVERY, this_node->details->uname);
++            } else {
++                /* if we're here, this is either a baremetal node and fencing is enabled,
++                 * or this is a container node which we don't care if fencing is enabled 
++                 * or not on. container nodes are 'fenced' by recovering the container resource
++                 * regardless of whether fencing is enabled. */
++                crm_info("Node %s has resource discovery disabled", this_node->details->uname);
++                this_node->details->rsc_discovery_enabled = FALSE;
++            }
++        }
+     }
+ 
+     /* process node rsc status */
+@@ -1858,7 +1905,7 @@ process_rsc_state(resource_t * rsc, node_t * node,
+      * reconnect to the remote-node in this transition or not. */
+     if (is_set(rsc->flags, pe_rsc_failed) && rsc->is_remote_node) {
+         node_t *tmpnode = pe_find_node(data_set->nodes, rsc->id);
+-        if (tmpnode->details->unclean) {
++        if (tmpnode && tmpnode->details->unclean) {
+             tmpnode->details->unseen = FALSE;
+         }
+     }
+@@ -3050,8 +3097,7 @@ add_node_attrs(xmlNode * xml_obj, node_t * node, gboolean overwrite, pe_working_
+ 
+     g_hash_table_insert(node->details->attrs,
+                         strdup("#uname"), strdup(node->details->uname));
+-    g_hash_table_insert(node->details->attrs,
+-                        strdup("#kind"), strdup(node->details->remote_rsc?"container":"cluster"));
++
+     g_hash_table_insert(node->details->attrs, strdup("#" XML_ATTR_ID), strdup(node->details->id));
+     if (safe_str_eq(node->details->id, data_set->dc_uuid)) {
+         data_set->dc_node = node;
+diff --git a/lib/services/dbus.c b/lib/services/dbus.c
+index 587589c..f4632f2 100644
+--- a/lib/services/dbus.c
++++ b/lib/services/dbus.c
+@@ -355,6 +355,11 @@ pcmk_dbus_get_property(
+         DBusMessage *reply = pcmk_dbus_send_recv(msg, connection, NULL);
+ 
+         output = pcmk_dbus_lookup_result(reply, query_data);
++        free(query_data->target);
++        free(query_data->object);
++        free(query_data->name);
++        free(query_data);
++
+         if(reply) {
+             dbus_message_unref(reply);
+         }
+diff --git a/lib/services/services.c b/lib/services/services.c
+index 8590b56..753e257 100644
+--- a/lib/services/services.c
++++ b/lib/services/services.c
+@@ -313,6 +313,7 @@ services_action_free(svc_action_t * op)
+ 
+     if (op->opaque->repeat_timer) {
+         g_source_remove(op->opaque->repeat_timer);
++        op->opaque->repeat_timer = 0;
+     }
+     if (op->opaque->stderr_gsource) {
+         mainloop_del_fd(op->opaque->stderr_gsource);
+@@ -425,6 +426,7 @@ services_action_kick(const char *name, const char *action, int interval /* ms */
+     } else {
+         if (op->opaque->repeat_timer) {
+             g_source_remove(op->opaque->repeat_timer);
++            op->opaque->repeat_timer = 0;
+         }
+         recurring_action_timer(op);
+         return TRUE;
+@@ -459,6 +461,7 @@ handle_duplicate_recurring(svc_action_t * op, void (*action_callback) (svc_actio
+         if (dup->pid != 0) {
+             if (op->opaque->repeat_timer) {
+                 g_source_remove(op->opaque->repeat_timer);
++                op->opaque->repeat_timer = 0;
+             }
+             recurring_action_timer(dup);
+         }
+diff --git a/lib/services/services_linux.c b/lib/services/services_linux.c
+index 961ff18..2279e4e 100644
+--- a/lib/services/services_linux.c
++++ b/lib/services/services_linux.c
+@@ -227,6 +227,7 @@ recurring_action_timer(gpointer data)
+     op->stdout_data = NULL;
+     free(op->stderr_data);
+     op->stderr_data = NULL;
++    op->opaque->repeat_timer = 0;
+ 
+     services_action_async(op, NULL);
+     return FALSE;
+diff --git a/lib/services/systemd.c b/lib/services/systemd.c
+index c967430..9a7b078 100644
+--- a/lib/services/systemd.c
++++ b/lib/services/systemd.c
+@@ -303,10 +303,14 @@ systemd_unit_listall(void)
+ gboolean
+ systemd_unit_exists(const char *name)
+ {
++    char *unit = NULL;
++
+     /* Note: Makes a blocking dbus calls
+      * Used by resources_find_service_class() when resource class=service
+      */
+-    if(systemd_unit_by_name(name, NULL)) {
++    unit = systemd_unit_by_name(name, NULL);
++    if(unit) {
++        free(unit);
+         return TRUE;
+     }
+     return FALSE;
+@@ -542,9 +546,15 @@ systemd_unit_exec_with_unit(svc_action_t * op, const char *unit)
+ 
+         reply = pcmk_dbus_send_recv(msg, systemd_proxy, &error);
+         systemd_exec_result(reply, op);
++
+         if(reply) {
+             dbus_message_unref(reply);
+         }
++        if(msg) {
++            dbus_message_unref(msg);
++        }
++
++        return FALSE;
+     }
+ 
+     if(msg) {
+@@ -563,6 +573,8 @@ systemd_unit_exec_with_unit(svc_action_t * op, const char *unit)
+ gboolean
+ systemd_unit_exec(svc_action_t * op)
+ {
++    char *unit = NULL;
++
+     CRM_ASSERT(op);
+     CRM_ASSERT(systemd_init());
+     op->rc = PCMK_OCF_UNKNOWN_ERROR;
+@@ -580,7 +592,9 @@ systemd_unit_exec(svc_action_t * op)
+         return TRUE;
+     }
+ 
+-    systemd_unit_by_name(op->agent, op);
++    unit = systemd_unit_by_name(op->agent, op);
++    free(unit);
++
+     if (op->synchronous == FALSE) {
+         return TRUE;
+     }
+diff --git a/lrmd/lrmd.c b/lrmd/lrmd.c
+index 7075b9f..d3ede18 100644
+--- a/lrmd/lrmd.c
++++ b/lrmd/lrmd.c
+@@ -837,7 +837,9 @@ action_complete(svc_action_t * action)
+             }
+ 
+             cmd_reset(cmd);
+-            rsc->active = NULL;
++            if(rsc) {
++                rsc->active = NULL;
++            }
+             schedule_lrmd_cmd(rsc, cmd);
+             return;
+ 
+diff --git a/mcp/pacemaker.c b/mcp/pacemaker.c
+index ba3c88f..c7852c3 100644
+--- a/mcp/pacemaker.c
++++ b/mcp/pacemaker.c
+@@ -1038,6 +1038,10 @@ main(int argc, char **argv)
+         crm_exit(ENOPROTOOPT);
+     }
+ 
++    if(pcmk_locate_sbd() > 0) {
++        setenv("PCMK_watchdog", "true", 1);
++    }
++
+     find_and_track_existing_processes();
+ 
+     cluster.destroy = mcp_cpg_destroy;
+diff --git a/mcp/pacemaker.service.in b/mcp/pacemaker.service.in
+index b9f3336..7871167 100644
+--- a/mcp/pacemaker.service.in
++++ b/mcp/pacemaker.service.in
+@@ -18,6 +18,7 @@ KillMode=process
+ NotifyAccess=main
+ SysVStartPriority=99
+ EnvironmentFile=-@sysconfdir@/sysconfig/pacemaker
++EnvironmentFile=-@sysconfdir@/sysconfig/sbd
+ SuccessExitStatus=100
+ 
+ ExecStart=@sbindir@/pacemakerd -f
+diff --git a/pengine/allocate.c b/pengine/allocate.c
+index 8d02d9b..e708e26 100644
+--- a/pengine/allocate.c
++++ b/pengine/allocate.c
+@@ -755,7 +755,7 @@ apply_system_health(pe_working_set_t * data_set)
+             for (; gIter2 != NULL; gIter2 = gIter2->next) {
+                 resource_t *rsc = (resource_t *) gIter2->data;
+ 
+-                rsc2node_new(health_strategy, rsc, system_health, node, data_set);
++                rsc2node_new(health_strategy, rsc, system_health, NULL, node, data_set);
+             }
+         }
+ 
+@@ -861,6 +861,10 @@ probe_resources(pe_working_set_t * data_set)
+             /* TODO enable container node probes once ordered probing is implemented. */
+             continue;
+ 
++        } else if (node->details->rsc_discovery_enabled == FALSE) {
++            /* resource discovery is disabled for this node */
++            continue;
++
+         } else if (probe_complete == NULL) {
+             probe_complete = get_pseudo_op(CRM_OP_PROBED, data_set);
+             if (is_set(data_set->flags, pe_flag_have_remote_nodes)) {
+diff --git a/pengine/constraints.c b/pengine/constraints.c
+index 1aa848e..88e382b 100644
+--- a/pengine/constraints.c
++++ b/pengine/constraints.c
+@@ -658,6 +658,7 @@ unpack_rsc_location(xmlNode * xml_obj, resource_t * rsc_lh, const char * role,
+     const char *id_lh = crm_element_value(xml_obj, XML_COLOC_ATTR_SOURCE);
+     const char *id = crm_element_value(xml_obj, XML_ATTR_ID);
+     const char *node = crm_element_value(xml_obj, XML_CIB_TAG_NODE);
++    const char *discovery = crm_element_value(xml_obj, XML_LOCATION_ATTR_DISCOVERY);
+ 
+     if (rsc_lh == NULL) {
+         /* only a warn as BSC adds the constraint then the resource */
+@@ -676,7 +677,7 @@ unpack_rsc_location(xmlNode * xml_obj, resource_t * rsc_lh, const char * role,
+         if (!match) {
+             return FALSE;
+         }
+-        location = rsc2node_new(id, rsc_lh, score_i, match, data_set);
++        location = rsc2node_new(id, rsc_lh, score_i, discovery, match, data_set);
+ 
+     } else {
+         xmlNode *rule_xml = NULL;
+@@ -720,6 +721,7 @@ unpack_rsc_location(xmlNode * xml_obj, resource_t * rsc_lh, const char * role,
+             }
+         }
+     }
++
+     return TRUE;
+ }
+ 
+@@ -958,7 +960,7 @@ generate_location_rule(resource_t * rsc, xmlNode * rule_xml, pe_working_set_t *
+         do_and = FALSE;
+     }
+ 
+-    location_rule = rsc2node_new(rule_id, rsc, 0, NULL, data_set);
++    location_rule = rsc2node_new(rule_id, rsc, 0, NULL, NULL, data_set);
+ 
+     if (location_rule == NULL) {
+         return NULL;
+diff --git a/pengine/native.c b/pengine/native.c
+index 5db8c60..0020344 100644
+--- a/pengine/native.c
++++ b/pengine/native.c
+@@ -2097,9 +2097,14 @@ native_rsc_location(resource_t * rsc, rsc_to_node_t * constraint)
+             other_node->weight = merge_weights(other_node->weight, node->weight);
+ 
+         } else {
+-            node_t *new_node = node_copy(node);
++            other_node = node_copy(node);
+ 
+-            g_hash_table_insert(rsc->allowed_nodes, (gpointer) new_node->details->id, new_node);
++            g_hash_table_insert(rsc->allowed_nodes, (gpointer) other_node->details->id, other_node);
++        }
++
++        if (other_node->rsc_discover_mode < constraint->discover_mode) {
++            /* exclusive > never > always... always is default */
++            other_node->rsc_discover_mode = constraint->discover_mode;
+         }
+     }
+ 
+@@ -2704,6 +2709,7 @@ native_create_probe(resource_t * rsc, node_t * node, action_t * complete,
+     char *key = NULL;
+     action_t *probe = NULL;
+     node_t *running = NULL;
++    node_t *allowed = NULL;
+     resource_t *top = uber_parent(rsc);
+ 
+     static const char *rc_master = NULL;
+@@ -2780,6 +2786,23 @@ native_create_probe(resource_t * rsc, node_t * node, action_t * complete,
+         return FALSE;
+     }
+ 
++    allowed = g_hash_table_lookup(rsc->allowed_nodes, node->details->id);
++    if (rsc->exclusive_discover || top->exclusive_discover) {
++        if (allowed == NULL) {
++            /* exclusive discover is enabled and this node is not in the allowed list. */    
++            return FALSE;
++        } else if (allowed->rsc_discover_mode != discover_exclusive) {
++            /* exclusive discover is enabled and this node is not marked
++             * as a node this resource should be discovered on */ 
++            return FALSE;
++        }
++    }
++    if (allowed && allowed->rsc_discover_mode == discover_never) {
++        /* this resource is marked as not needing to be discovered on this node */
++        return FALSE;
++    }
++
++
+     key = generate_op_key(rsc->id, RSC_STATUS, 0);
+     probe = custom_action(rsc, key, RSC_STATUS, node, FALSE, TRUE, data_set);
+     update_action_flags(probe, pe_action_optional | pe_action_clear);
+diff --git a/pengine/pengine.h b/pengine/pengine.h
+index 653fadf..87fa150 100644
+--- a/pengine/pengine.h
++++ b/pengine/pengine.h
+@@ -75,11 +75,18 @@ struct rsc_ticket_s {
+     int role_lh;
+ };
+ 
++enum rsc_discover_e {
++    discover_always = 0,
++    discover_never,
++    discover_exclusive,
++};
++
+ struct rsc_to_node_s {
+     const char *id;
+     resource_t *rsc_lh;
+ 
+     enum rsc_role_e role_filter;
++    enum rsc_discover_e discover_mode;
+     GListPtr node_list_rh;      /* node_t* */
+ };
+ 
+diff --git a/pengine/regression.sh b/pengine/regression.sh
+index bdc7d3a..a9a5605 100755
+--- a/pengine/regression.sh
++++ b/pengine/regression.sh
+@@ -768,5 +768,10 @@ do_test remote-disable         "Disable a baremetal remote-node"
+ do_test remote-orphaned        "Properly shutdown orphaned connection resource"
+ do_test remote-recover         "Recover connection resource after cluster-node fails."
+ do_test remote-stale-node-entry "Make sure we properly handle leftover remote-node entries in the node section"
++
++echo ""
++do_test resource-discovery      "Exercises resource-discovery location constraint option."
++do_test rsc-discovery-per-node  "Disable resource discovery per node"
++
+ echo ""
+ test_results
+diff --git a/pengine/test10/remote-disable.dot b/pengine/test10/remote-disable.dot
+index 2e21fef..fbcea60 100644
+--- a/pengine/test10/remote-disable.dot
++++ b/pengine/test10/remote-disable.dot
+@@ -1,8 +1,4 @@
+  digraph "g" {
+-"FAKE2_monitor_60000 18builder" [ style=bold color="green" fontcolor="black"]
+-"FAKE2_start_0 18builder" -> "FAKE2_monitor_60000 18builder" [ style = bold]
+-"FAKE2_start_0 18builder" [ style=bold color="green" fontcolor="black"]
+-"FAKE2_stop_0 remote1" -> "FAKE2_start_0 18builder" [ style = bold]
+ "FAKE2_stop_0 remote1" -> "all_stopped" [ style = bold]
+ "FAKE2_stop_0 remote1" -> "remote1_stop_0 18builder" [ style = bold]
+ "FAKE2_stop_0 remote1" [ style=bold color="green" fontcolor="black"]
+diff --git a/pengine/test10/remote-disable.exp b/pengine/test10/remote-disable.exp
+index 3273bb2..99c1c55 100644
+--- a/pengine/test10/remote-disable.exp
++++ b/pengine/test10/remote-disable.exp
+@@ -14,32 +14,6 @@
+   </synapse>
+   <synapse id="1">
+     <action_set>
+-      <rsc_op id="20" operation="monitor" operation_key="FAKE2_monitor_60000" on_node="18builder" on_node_uuid="5">
+-        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
+-      </rsc_op>
+-    </action_set>
+-    <inputs>
+-      <trigger>
+-        <rsc_op id="19" operation="start" operation_key="FAKE2_start_0" on_node="18builder" on_node_uuid="5"/>
+-      </trigger>
+-    </inputs>
+-  </synapse>
+-  <synapse id="2">
+-    <action_set>
+-      <rsc_op id="19" operation="start" operation_key="FAKE2_start_0" on_node="18builder" on_node_uuid="5">
+-        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
+-        <attributes CRM_meta_timeout="20000" />
+-      </rsc_op>
+-    </action_set>
+-    <inputs>
+-      <trigger>
+-        <rsc_op id="18" operation="stop" operation_key="FAKE2_stop_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
+-      </trigger>
+-    </inputs>
+-  </synapse>
+-  <synapse id="3">
+-    <action_set>
+       <rsc_op id="18" operation="stop" operation_key="FAKE2_stop_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
+         <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
+         <attributes CRM_meta_timeout="20000" />
+@@ -47,7 +21,7 @@
+     </action_set>
+     <inputs/>
+   </synapse>
+-  <synapse id="4">
++  <synapse id="2">
+     <action_set>
+       <pseudo_event id="7" operation="all_stopped" operation_key="all_stopped">
+         <attributes />
+diff --git a/pengine/test10/remote-disable.scores b/pengine/test10/remote-disable.scores
+index 4efd7d8..d66861f 100644
+--- a/pengine/test10/remote-disable.scores
++++ b/pengine/test10/remote-disable.scores
+@@ -3,9 +3,9 @@ native_color: FAKE1 allocation score on 18builder: 0
+ native_color: FAKE1 allocation score on 18node1: 0
+ native_color: FAKE1 allocation score on 18node2: 0
+ native_color: FAKE1 allocation score on remote1: 0
+-native_color: FAKE2 allocation score on 18builder: 0
+-native_color: FAKE2 allocation score on 18node1: 0
+-native_color: FAKE2 allocation score on 18node2: 0
++native_color: FAKE2 allocation score on 18builder: -INFINITY
++native_color: FAKE2 allocation score on 18node1: -INFINITY
++native_color: FAKE2 allocation score on 18node2: -INFINITY
+ native_color: FAKE2 allocation score on remote1: 0
+ native_color: FAKE3 allocation score on 18builder: 0
+ native_color: FAKE3 allocation score on 18node1: 0
+diff --git a/pengine/test10/remote-disable.summary b/pengine/test10/remote-disable.summary
+index 57b06fe..0627647 100644
+--- a/pengine/test10/remote-disable.summary
++++ b/pengine/test10/remote-disable.summary
+@@ -12,14 +12,12 @@ RemoteOnline: [ remote1 ]
+ 
+ Transition Summary:
+  * Stop    remote1	(18builder)
+- * Move    FAKE2	(Started remote1 -> 18builder)
++ * Stop    FAKE2	(remote1)
+ 
+ Executing cluster transition:
+  * Resource action: FAKE2           stop on remote1
+  * Resource action: remote1         stop on 18builder
+- * Resource action: FAKE2           start on 18builder
+  * Pseudo action:   all_stopped
+- * Resource action: FAKE2           monitor=60000 on 18builder
+ 
+ Revised cluster status:
+ Online: [ 18builder 18node1 18node2 ]
+@@ -28,7 +26,7 @@ RemoteOFFLINE: [ remote1 ]
+  shooter	(stonith:fence_xvm):	Started 18node1 
+  remote1	(ocf::pacemaker:remote):	Stopped 
+  FAKE1	(ocf::heartbeat:Dummy):	Started 18node2 
+- FAKE2	(ocf::heartbeat:Dummy):	Started 18builder 
++ FAKE2	(ocf::heartbeat:Dummy):	Stopped 
+  FAKE3	(ocf::heartbeat:Dummy):	Started 18builder 
+  FAKE4	(ocf::heartbeat:Dummy):	Started 18node1 
+ 
+diff --git a/pengine/test10/remote-disable.xml b/pengine/test10/remote-disable.xml
+index eae0055..1637801 100644
+--- a/pengine/test10/remote-disable.xml
++++ b/pengine/test10/remote-disable.xml
+@@ -52,7 +52,13 @@
+         </operations>
+       </primitive>
+     </resources>
+-    <constraints/>
++    <constraints>
++      <rsc_location id="FAKE2-location" rsc="FAKE2">
++        <rule id="FAKE2-on-remote" score="-INFINITY">
++          <expression id="FAKE2-on-remote-exp" attribute="#kind" operation="ne" value="remote"/>
++        </rule>
++      </rsc_location>
++    </constraints>
+   </configuration>
+   <status>
+     <node_state id="5" uname="18builder" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+diff --git a/pengine/test10/resource-discovery.dot b/pengine/test10/resource-discovery.dot
+new file mode 100644
+index 0000000..efb2434
+--- /dev/null
++++ b/pengine/test10/resource-discovery.dot
+@@ -0,0 +1,185 @@
++ digraph "g" {
++"FAKE1_monitor_0 18builder" -> "probe_complete 18builder" [ style = bold]
++"FAKE1_monitor_0 18builder" [ style=bold color="green" fontcolor="black"]
++"FAKE1_monitor_0 18node1" -> "probe_complete 18node1" [ style = bold]
++"FAKE1_monitor_0 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKE1_monitor_0 18node2" -> "probe_complete 18node2" [ style = bold]
++"FAKE1_monitor_0 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKE1_monitor_0 18node3" -> "probe_complete 18node3" [ style = bold]
++"FAKE1_monitor_0 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKE1_monitor_0 18node4" -> "probe_complete 18node4" [ style = bold]
++"FAKE1_monitor_0 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKE1_monitor_60000 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKE1_start_0 18node2" -> "FAKE1_monitor_60000 18node2" [ style = bold]
++"FAKE1_start_0 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKE2_monitor_60000 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKE2_start_0 18node3" -> "FAKE2_monitor_60000 18node3" [ style = bold]
++"FAKE2_start_0 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKE2_stop_0 18node2" -> "FAKE2_start_0 18node3" [ style = bold]
++"FAKE2_stop_0 18node2" -> "all_stopped" [ style = bold]
++"FAKE2_stop_0 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKE3_monitor_0 18node3" -> "probe_complete 18node3" [ style = bold]
++"FAKE3_monitor_0 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKE3_monitor_60000 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKE3_start_0 18node3" -> "FAKE3_monitor_60000 18node3" [ style = bold]
++"FAKE3_start_0 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKE3_stop_0 18builder" -> "FAKE3_start_0 18node3" [ style = bold]
++"FAKE3_stop_0 18builder" -> "all_stopped" [ style = bold]
++"FAKE3_stop_0 18builder" [ style=bold color="green" fontcolor="black"]
++"FAKE4_monitor_0 18node4" -> "probe_complete 18node4" [ style = bold]
++"FAKE4_monitor_0 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKE4_monitor_60000 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKE4_start_0 18node4" -> "FAKE4_monitor_60000 18node4" [ style = bold]
++"FAKE4_start_0 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKE4_stop_0 18node1" -> "FAKE4_start_0 18node4" [ style = bold]
++"FAKE4_stop_0 18node1" -> "all_stopped" [ style = bold]
++"FAKE4_stop_0 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKE5_monitor_0 18builder" -> "probe_complete 18builder" [ style = bold]
++"FAKE5_monitor_0 18builder" [ style=bold color="green" fontcolor="black"]
++"FAKE5_monitor_0 18node1" -> "probe_complete 18node1" [ style = bold]
++"FAKE5_monitor_0 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKE5_monitor_0 18node2" -> "probe_complete 18node2" [ style = bold]
++"FAKE5_monitor_0 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKE5_monitor_0 18node3" -> "probe_complete 18node3" [ style = bold]
++"FAKE5_monitor_0 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKE5_monitor_0 18node4" -> "probe_complete 18node4" [ style = bold]
++"FAKE5_monitor_0 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKE5_monitor_0 remote1" -> "probe_complete remote1" [ style = bold]
++"FAKE5_monitor_0 remote1" [ style=bold color="green" fontcolor="black"]
++"FAKE5_monitor_60000 remote1" [ style=bold color="green" fontcolor="black"]
++"FAKE5_start_0 remote1" -> "FAKE5_monitor_60000 remote1" [ style = bold]
++"FAKE5_start_0 remote1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1-clone_running_0" [ style=bold color="green" fontcolor="orange"]
++"FAKECLONE1-clone_start_0" -> "FAKECLONE1-clone_running_0" [ style = bold]
++"FAKECLONE1-clone_start_0" -> "FAKECLONE1:0_start_0 18builder" [ style = bold]
++"FAKECLONE1-clone_start_0" -> "FAKECLONE1:1_start_0 18node1" [ style = bold]
++"FAKECLONE1-clone_start_0" -> "FAKECLONE1:2_start_0 18node2" [ style = bold]
++"FAKECLONE1-clone_start_0" -> "FAKECLONE1:3_start_0 18node4" [ style = bold]
++"FAKECLONE1-clone_start_0" -> "FAKECLONE1:4_start_0 remote1" [ style = bold]
++"FAKECLONE1-clone_start_0" -> "FAKECLONE1:5_start_0 18node3" [ style = bold]
++"FAKECLONE1-clone_start_0" [ style=bold color="green" fontcolor="orange"]
++"FAKECLONE1:0_monitor_60000 18builder" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:0_start_0 18builder" -> "FAKECLONE1-clone_running_0" [ style = bold]
++"FAKECLONE1:0_start_0 18builder" -> "FAKECLONE1:0_monitor_60000 18builder" [ style = bold]
++"FAKECLONE1:0_start_0 18builder" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:1_monitor_60000 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:1_start_0 18node1" -> "FAKECLONE1-clone_running_0" [ style = bold]
++"FAKECLONE1:1_start_0 18node1" -> "FAKECLONE1:1_monitor_60000 18node1" [ style = bold]
++"FAKECLONE1:1_start_0 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:2_monitor_60000 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:2_start_0 18node2" -> "FAKECLONE1-clone_running_0" [ style = bold]
++"FAKECLONE1:2_start_0 18node2" -> "FAKECLONE1:2_monitor_60000 18node2" [ style = bold]
++"FAKECLONE1:2_start_0 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:3_monitor_60000 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:3_start_0 18node4" -> "FAKECLONE1-clone_running_0" [ style = bold]
++"FAKECLONE1:3_start_0 18node4" -> "FAKECLONE1:3_monitor_60000 18node4" [ style = bold]
++"FAKECLONE1:3_start_0 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:4_monitor_0 remote1" -> "probe_complete remote1" [ style = bold]
++"FAKECLONE1:4_monitor_0 remote1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:4_monitor_60000 remote1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:4_start_0 remote1" -> "FAKECLONE1-clone_running_0" [ style = bold]
++"FAKECLONE1:4_start_0 remote1" -> "FAKECLONE1:4_monitor_60000 remote1" [ style = bold]
++"FAKECLONE1:4_start_0 remote1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:5_monitor_60000 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:5_start_0 18node3" -> "FAKECLONE1-clone_running_0" [ style = bold]
++"FAKECLONE1:5_start_0 18node3" -> "FAKECLONE1:5_monitor_60000 18node3" [ style = bold]
++"FAKECLONE1:5_start_0 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2-clone_running_0" [ style=bold color="green" fontcolor="orange"]
++"FAKECLONE2-clone_start_0" -> "FAKECLONE2-clone_running_0" [ style = bold]
++"FAKECLONE2-clone_start_0" -> "FAKECLONE2:0_start_0 18builder" [ style = bold]
++"FAKECLONE2-clone_start_0" -> "FAKECLONE2:1_start_0 18node1" [ style = bold]
++"FAKECLONE2-clone_start_0" -> "FAKECLONE2:2_start_0 18node2" [ style = bold]
++"FAKECLONE2-clone_start_0" -> "FAKECLONE2:3_start_0 18node4" [ style = bold]
++"FAKECLONE2-clone_start_0" -> "FAKECLONE2:4_start_0 remote1" [ style = bold]
++"FAKECLONE2-clone_start_0" -> "FAKECLONE2:5_start_0 18node3" [ style = bold]
++"FAKECLONE2-clone_start_0" [ style=bold color="green" fontcolor="orange"]
++"FAKECLONE2:0_monitor_0 18builder" -> "probe_complete 18builder" [ style = bold]
++"FAKECLONE2:0_monitor_0 18builder" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:0_monitor_60000 18builder" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:0_start_0 18builder" -> "FAKECLONE2-clone_running_0" [ style = bold]
++"FAKECLONE2:0_start_0 18builder" -> "FAKECLONE2:0_monitor_60000 18builder" [ style = bold]
++"FAKECLONE2:0_start_0 18builder" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:1_monitor_0 18node1" -> "probe_complete 18node1" [ style = bold]
++"FAKECLONE2:1_monitor_0 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:1_monitor_60000 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:1_start_0 18node1" -> "FAKECLONE2-clone_running_0" [ style = bold]
++"FAKECLONE2:1_start_0 18node1" -> "FAKECLONE2:1_monitor_60000 18node1" [ style = bold]
++"FAKECLONE2:1_start_0 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:2_monitor_60000 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:2_start_0 18node2" -> "FAKECLONE2-clone_running_0" [ style = bold]
++"FAKECLONE2:2_start_0 18node2" -> "FAKECLONE2:2_monitor_60000 18node2" [ style = bold]
++"FAKECLONE2:2_start_0 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:3_monitor_0 18node4" -> "probe_complete 18node4" [ style = bold]
++"FAKECLONE2:3_monitor_0 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:3_monitor_60000 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:3_start_0 18node4" -> "FAKECLONE2-clone_running_0" [ style = bold]
++"FAKECLONE2:3_start_0 18node4" -> "FAKECLONE2:3_monitor_60000 18node4" [ style = bold]
++"FAKECLONE2:3_start_0 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:4_monitor_0 remote1" -> "probe_complete remote1" [ style = bold]
++"FAKECLONE2:4_monitor_0 remote1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:4_monitor_60000 remote1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:4_start_0 remote1" -> "FAKECLONE2-clone_running_0" [ style = bold]
++"FAKECLONE2:4_start_0 remote1" -> "FAKECLONE2:4_monitor_60000 remote1" [ style = bold]
++"FAKECLONE2:4_start_0 remote1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:5_monitor_0 18node3" -> "probe_complete 18node3" [ style = bold]
++"FAKECLONE2:5_monitor_0 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:5_monitor_60000 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:5_start_0 18node3" -> "FAKECLONE2-clone_running_0" [ style = bold]
++"FAKECLONE2:5_start_0 18node3" -> "FAKECLONE2:5_monitor_60000 18node3" [ style = bold]
++"FAKECLONE2:5_start_0 18node3" [ style=bold color="green" fontcolor="black"]
++"all_stopped" [ style=bold color="green" fontcolor="orange"]
++"probe_complete 18builder" -> "probe_nodes_complete" [ style = bold]
++"probe_complete 18builder" [ style=bold color="green" fontcolor="black"]
++"probe_complete 18node1" -> "probe_nodes_complete" [ style = bold]
++"probe_complete 18node1" [ style=bold color="green" fontcolor="black"]
++"probe_complete 18node2" -> "probe_nodes_complete" [ style = bold]
++"probe_complete 18node2" [ style=bold color="green" fontcolor="black"]
++"probe_complete 18node3" -> "probe_nodes_complete" [ style = bold]
++"probe_complete 18node3" [ style=bold color="green" fontcolor="black"]
++"probe_complete 18node4" -> "probe_nodes_complete" [ style = bold]
++"probe_complete 18node4" [ style=bold color="green" fontcolor="black"]
++"probe_complete remote1" -> "probe_complete" [ style = bold]
++"probe_complete remote1" [ style=bold color="green" fontcolor="black"]
++"probe_complete" -> "FAKE1_start_0 18node2" [ style = bold]
++"probe_complete" -> "FAKE2_stop_0 18node2" [ style = bold]
++"probe_complete" -> "FAKE3_start_0 18node3" [ style = bold]
++"probe_complete" -> "FAKE3_stop_0 18builder" [ style = bold]
++"probe_complete" -> "FAKE4_start_0 18node4" [ style = bold]
++"probe_complete" -> "FAKE4_stop_0 18node1" [ style = bold]
++"probe_complete" -> "FAKE5_start_0 remote1" [ style = bold]
++"probe_complete" -> "FAKECLONE1:0_start_0 18builder" [ style = bold]
++"probe_complete" -> "FAKECLONE1:1_start_0 18node1" [ style = bold]
++"probe_complete" -> "FAKECLONE1:2_start_0 18node2" [ style = bold]
++"probe_complete" -> "FAKECLONE1:3_start_0 18node4" [ style = bold]
++"probe_complete" -> "FAKECLONE1:4_start_0 remote1" [ style = bold]
++"probe_complete" -> "FAKECLONE1:5_start_0 18node3" [ style = bold]
++"probe_complete" -> "FAKECLONE2:0_start_0 18builder" [ style = bold]
++"probe_complete" -> "FAKECLONE2:1_start_0 18node1" [ style = bold]
++"probe_complete" -> "FAKECLONE2:2_start_0 18node2" [ style = bold]
++"probe_complete" -> "FAKECLONE2:3_start_0 18node4" [ style = bold]
++"probe_complete" -> "FAKECLONE2:4_start_0 remote1" [ style = bold]
++"probe_complete" -> "FAKECLONE2:5_start_0 18node3" [ style = bold]
++"probe_complete" [ style=bold color="green" fontcolor="orange"]
++"probe_nodes_complete" -> "remote1_start_0 18builder" [ style = bold]
++"probe_nodes_complete" [ style=bold color="green" fontcolor="orange"]
++"remote1_monitor_0 18node3" -> "probe_complete 18node3" [ style = bold]
++"remote1_monitor_0 18node3" [ style=bold color="green" fontcolor="black"]
++"remote1_monitor_0 18node4" -> "probe_complete 18node4" [ style = bold]
++"remote1_monitor_0 18node4" [ style=bold color="green" fontcolor="black"]
++"remote1_monitor_60000 18builder" [ style=bold color="green" fontcolor="black"]
++"remote1_start_0 18builder" -> "FAKE5_monitor_0 remote1" [ style = bold]
++"remote1_start_0 18builder" -> "FAKE5_monitor_60000 remote1" [ style = bold]
++"remote1_start_0 18builder" -> "FAKE5_start_0 remote1" [ style = bold]
++"remote1_start_0 18builder" -> "FAKECLONE1:4_monitor_0 remote1" [ style = bold]
++"remote1_start_0 18builder" -> "FAKECLONE1:4_monitor_60000 remote1" [ style = bold]
++"remote1_start_0 18builder" -> "FAKECLONE1:4_start_0 remote1" [ style = bold]
++"remote1_start_0 18builder" -> "FAKECLONE2:4_monitor_0 remote1" [ style = bold]
++"remote1_start_0 18builder" -> "FAKECLONE2:4_monitor_60000 remote1" [ style = bold]
++"remote1_start_0 18builder" -> "FAKECLONE2:4_start_0 remote1" [ style = bold]
++"remote1_start_0 18builder" -> "remote1_monitor_60000 18builder" [ style = bold]
++"remote1_start_0 18builder" [ style=bold color="green" fontcolor="black"]
++"shooter_monitor_0 18node3" -> "probe_complete 18node3" [ style = bold]
++"shooter_monitor_0 18node3" [ style=bold color="green" fontcolor="black"]
++"shooter_monitor_0 18node4" -> "probe_complete 18node4" [ style = bold]
++"shooter_monitor_0 18node4" [ style=bold color="green" fontcolor="black"]
++}
+diff --git a/pengine/test10/resource-discovery.exp b/pengine/test10/resource-discovery.exp
+new file mode 100644
+index 0000000..2770f4e
+--- /dev/null
++++ b/pengine/test10/resource-discovery.exp
+@@ -0,0 +1,1041 @@
++<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
++  <synapse id="0">
++    <action_set>
++      <rsc_op id="27" operation="monitor" operation_key="shooter_monitor_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="shooter" class="stonith" type="fence_xvm"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="1">
++    <action_set>
++      <rsc_op id="20" operation="monitor" operation_key="shooter_monitor_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="shooter" class="stonith" type="fence_xvm"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="2">
++    <action_set>
++      <rsc_op id="40" operation="monitor" operation_key="remote1_monitor_60000" on_node="18builder" on_node_uuid="5">
++        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="3">
++    <action_set>
++      <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5">
++        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="7" operation="probe_nodes_complete" operation_key="probe_nodes_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="4">
++    <action_set>
++      <rsc_op id="28" operation="monitor" operation_key="remote1_monitor_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="5">
++    <action_set>
++      <rsc_op id="21" operation="monitor" operation_key="remote1_monitor_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="6">
++    <action_set>
++      <rsc_op id="42" operation="monitor" operation_key="FAKE1_monitor_60000" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="41" operation="start" operation_key="FAKE1_start_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="7">
++    <action_set>
++      <rsc_op id="41" operation="start" operation_key="FAKE1_start_0" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="8">
++    <action_set>
++      <rsc_op id="29" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="9">
++    <action_set>
++      <rsc_op id="22" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="10">
++    <action_set>
++      <rsc_op id="17" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="11">
++    <action_set>
++      <rsc_op id="13" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="12">
++    <action_set>
++      <rsc_op id="9" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18builder" on_node_uuid="5">
++        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="13">
++    <action_set>
++      <rsc_op id="45" operation="monitor" operation_key="FAKE2_monitor_60000" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="44" operation="start" operation_key="FAKE2_start_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="14">
++    <action_set>
++      <rsc_op id="44" operation="start" operation_key="FAKE2_start_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="43" operation="stop" operation_key="FAKE2_stop_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="15">
++    <action_set>
++      <rsc_op id="43" operation="stop" operation_key="FAKE2_stop_0" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="16">
++    <action_set>
++      <rsc_op id="48" operation="monitor" operation_key="FAKE3_monitor_60000" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKE3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="47" operation="start" operation_key="FAKE3_start_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="17">
++    <action_set>
++      <rsc_op id="47" operation="start" operation_key="FAKE3_start_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKE3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="46" operation="stop" operation_key="FAKE3_stop_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="18">
++    <action_set>
++      <rsc_op id="46" operation="stop" operation_key="FAKE3_stop_0" on_node="18builder" on_node_uuid="5">
++        <primitive id="FAKE3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="19">
++    <action_set>
++      <rsc_op id="23" operation="monitor" operation_key="FAKE3_monitor_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKE3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="20">
++    <action_set>
++      <rsc_op id="51" operation="monitor" operation_key="FAKE4_monitor_60000" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKE4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="50" operation="start" operation_key="FAKE4_start_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="21">
++    <action_set>
++      <rsc_op id="50" operation="start" operation_key="FAKE4_start_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKE4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="49" operation="stop" operation_key="FAKE4_stop_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="22">
++    <action_set>
++      <rsc_op id="49" operation="stop" operation_key="FAKE4_stop_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKE4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="23">
++    <action_set>
++      <rsc_op id="30" operation="monitor" operation_key="FAKE4_monitor_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKE4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="24">
++    <action_set>
++      <rsc_op id="53" operation="monitor" operation_key="FAKE5_monitor_60000" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
++        <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="52" operation="start" operation_key="FAKE5_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="25">
++    <action_set>
++      <rsc_op id="52" operation="start" operation_key="FAKE5_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
++        <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="26">
++    <action_set>
++      <rsc_op id="34" operation="monitor" operation_key="FAKE5_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
++        <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="27">
++    <action_set>
++      <rsc_op id="31" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="28">
++    <action_set>
++      <rsc_op id="24" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="29">
++    <action_set>
++      <rsc_op id="18" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="30">
++    <action_set>
++      <rsc_op id="14" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="31">
++    <action_set>
++      <rsc_op id="10" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18builder" on_node_uuid="5">
++        <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="32">
++    <action_set>
++      <rsc_op id="55" operation="monitor" operation_key="FAKECLONE1:0_monitor_60000" on_node="18builder" on_node_uuid="5">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="54" operation="start" operation_key="FAKECLONE1:0_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="33">
++    <action_set>
++      <rsc_op id="54" operation="start" operation_key="FAKECLONE1:0_start_0" on_node="18builder" on_node_uuid="5">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="66" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="34">
++    <action_set>
++      <rsc_op id="57" operation="monitor" operation_key="FAKECLONE1:1_monitor_60000" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="56" operation="start" operation_key="FAKECLONE1:1_start_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="35">
++    <action_set>
++      <rsc_op id="56" operation="start" operation_key="FAKECLONE1:1_start_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="66" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="36">
++    <action_set>
++      <rsc_op id="59" operation="monitor" operation_key="FAKECLONE1:2_monitor_60000" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="2" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="58" operation="start" operation_key="FAKECLONE1:2_start_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="37">
++    <action_set>
++      <rsc_op id="58" operation="start" operation_key="FAKECLONE1:2_start_0" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="2" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="66" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="38">
++    <action_set>
++      <rsc_op id="61" operation="monitor" operation_key="FAKECLONE1:3_monitor_60000" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="3" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="60" operation="start" operation_key="FAKECLONE1:3_start_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="39">
++    <action_set>
++      <rsc_op id="60" operation="start" operation_key="FAKECLONE1:3_start_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="3" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="66" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="40">
++    <action_set>
++      <rsc_op id="63" operation="monitor" operation_key="FAKECLONE1:4_monitor_60000" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="4" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="62" operation="start" operation_key="FAKECLONE1:4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="41">
++    <action_set>
++      <rsc_op id="62" operation="start" operation_key="FAKECLONE1:4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="4" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="66" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="42">
++    <action_set>
++      <rsc_op id="35" operation="monitor" operation_key="FAKECLONE1:4_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="4" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="43">
++    <action_set>
++      <rsc_op id="65" operation="monitor" operation_key="FAKECLONE1:5_monitor_60000" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="5" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="64" operation="start" operation_key="FAKECLONE1:5_start_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="44">
++    <action_set>
++      <rsc_op id="64" operation="start" operation_key="FAKECLONE1:5_start_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="5" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="66" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="45" priority="1000000">
++    <action_set>
++      <pseudo_event id="67" operation="running" operation_key="FAKECLONE1-clone_running_0">
++        <attributes CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="54" operation="start" operation_key="FAKECLONE1:0_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="56" operation="start" operation_key="FAKECLONE1:1_start_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="58" operation="start" operation_key="FAKECLONE1:2_start_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="60" operation="start" operation_key="FAKECLONE1:3_start_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="62" operation="start" operation_key="FAKECLONE1:4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="64" operation="start" operation_key="FAKECLONE1:5_start_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="66" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="46">
++    <action_set>
++      <pseudo_event id="66" operation="start" operation_key="FAKECLONE1-clone_start_0">
++        <attributes CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="47">
++    <action_set>
++      <rsc_op id="71" operation="monitor" operation_key="FAKECLONE2:0_monitor_60000" on_node="18builder" on_node_uuid="5">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="70" operation="start" operation_key="FAKECLONE2:0_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="48">
++    <action_set>
++      <rsc_op id="70" operation="start" operation_key="FAKECLONE2:0_start_0" on_node="18builder" on_node_uuid="5">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="82" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="49">
++    <action_set>
++      <rsc_op id="11" operation="monitor" operation_key="FAKECLONE2:0_monitor_0" on_node="18builder" on_node_uuid="5">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="50">
++    <action_set>
++      <rsc_op id="73" operation="monitor" operation_key="FAKECLONE2:1_monitor_60000" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="72" operation="start" operation_key="FAKECLONE2:1_start_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="51">
++    <action_set>
++      <rsc_op id="72" operation="start" operation_key="FAKECLONE2:1_start_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="82" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="52">
++    <action_set>
++      <rsc_op id="15" operation="monitor" operation_key="FAKECLONE2:1_monitor_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="53">
++    <action_set>
++      <rsc_op id="75" operation="monitor" operation_key="FAKECLONE2:2_monitor_60000" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="2" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="74" operation="start" operation_key="FAKECLONE2:2_start_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="54">
++    <action_set>
++      <rsc_op id="74" operation="start" operation_key="FAKECLONE2:2_start_0" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="2" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="82" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="55">
++    <action_set>
++      <rsc_op id="77" operation="monitor" operation_key="FAKECLONE2:3_monitor_60000" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="3" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="76" operation="start" operation_key="FAKECLONE2:3_start_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="56">
++    <action_set>
++      <rsc_op id="76" operation="start" operation_key="FAKECLONE2:3_start_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="3" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="82" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="57">
++    <action_set>
++      <rsc_op id="32" operation="monitor" operation_key="FAKECLONE2:3_monitor_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="3" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="58">
++    <action_set>
++      <rsc_op id="79" operation="monitor" operation_key="FAKECLONE2:4_monitor_60000" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="4" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="78" operation="start" operation_key="FAKECLONE2:4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="59">
++    <action_set>
++      <rsc_op id="78" operation="start" operation_key="FAKECLONE2:4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="4" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="82" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="60">
++    <action_set>
++      <rsc_op id="36" operation="monitor" operation_key="FAKECLONE2:4_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="4" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="39" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="61">
++    <action_set>
++      <rsc_op id="81" operation="monitor" operation_key="FAKECLONE2:5_monitor_60000" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="5" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="80" operation="start" operation_key="FAKECLONE2:5_start_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="62">
++    <action_set>
++      <rsc_op id="80" operation="start" operation_key="FAKECLONE2:5_start_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="5" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="82" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="63">
++    <action_set>
++      <rsc_op id="25" operation="monitor" operation_key="FAKECLONE2:5_monitor_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="5" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="64" priority="1000000">
++    <action_set>
++      <pseudo_event id="83" operation="running" operation_key="FAKECLONE2-clone_running_0">
++        <attributes CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="70" operation="start" operation_key="FAKECLONE2:0_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="72" operation="start" operation_key="FAKECLONE2:1_start_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="74" operation="start" operation_key="FAKECLONE2:2_start_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="76" operation="start" operation_key="FAKECLONE2:3_start_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="78" operation="start" operation_key="FAKECLONE2:4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="80" operation="start" operation_key="FAKECLONE2:5_start_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="82" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="65">
++    <action_set>
++      <pseudo_event id="82" operation="start" operation_key="FAKECLONE2-clone_start_0">
++        <attributes CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="66" priority="1000000">
++    <action_set>
++      <rsc_op id="33" operation="probe_complete" operation_key="probe_complete-remote1" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
++        <attributes CRM_meta_op_no_wait="true" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="34" operation="monitor" operation_key="FAKE5_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="35" operation="monitor" operation_key="FAKECLONE1:4_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="36" operation="monitor" operation_key="FAKECLONE2:4_monitor_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="67" priority="1000000">
++    <action_set>
++      <rsc_op id="26" operation="probe_complete" operation_key="probe_complete-18node4" on_node="18node4" on_node_uuid="4">
++        <attributes CRM_meta_op_no_wait="true" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="27" operation="monitor" operation_key="shooter_monitor_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="28" operation="monitor" operation_key="remote1_monitor_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="29" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="30" operation="monitor" operation_key="FAKE4_monitor_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="31" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="32" operation="monitor" operation_key="FAKECLONE2:3_monitor_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="68" priority="1000000">
++    <action_set>
++      <rsc_op id="19" operation="probe_complete" operation_key="probe_complete-18node3" on_node="18node3" on_node_uuid="3">
++        <attributes CRM_meta_op_no_wait="true" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="20" operation="monitor" operation_key="shooter_monitor_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="21" operation="monitor" operation_key="remote1_monitor_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="22" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="23" operation="monitor" operation_key="FAKE3_monitor_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="24" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="25" operation="monitor" operation_key="FAKECLONE2:5_monitor_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="69" priority="1000000">
++    <action_set>
++      <rsc_op id="16" operation="probe_complete" operation_key="probe_complete-18node2" on_node="18node2" on_node_uuid="2">
++        <attributes CRM_meta_op_no_wait="true" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="17" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="18" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="70" priority="1000000">
++    <action_set>
++      <rsc_op id="12" operation="probe_complete" operation_key="probe_complete-18node1" on_node="18node1" on_node_uuid="1">
++        <attributes CRM_meta_op_no_wait="true" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="13" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="14" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="15" operation="monitor" operation_key="FAKECLONE2:1_monitor_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="71" priority="1000000">
++    <action_set>
++      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-18builder" on_node="18builder" on_node_uuid="5">
++        <attributes CRM_meta_op_no_wait="true" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="9" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="10" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="11" operation="monitor" operation_key="FAKECLONE2:0_monitor_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="72">
++    <action_set>
++      <pseudo_event id="7" operation="probe_nodes_complete" operation_key="probe_nodes_complete">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-18builder" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="12" operation="probe_complete" operation_key="probe_complete-18node1" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="16" operation="probe_complete" operation_key="probe_complete-18node2" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="19" operation="probe_complete" operation_key="probe_complete-18node3" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="26" operation="probe_complete" operation_key="probe_complete-18node4" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="73">
++    <action_set>
++      <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="33" operation="probe_complete" operation_key="probe_complete-remote1" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="74">
++    <action_set>
++      <pseudo_event id="5" operation="all_stopped" operation_key="all_stopped">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="43" operation="stop" operation_key="FAKE2_stop_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="46" operation="stop" operation_key="FAKE3_stop_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="49" operation="stop" operation_key="FAKE4_stop_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++</transition_graph>
+diff --git a/pengine/test10/resource-discovery.scores b/pengine/test10/resource-discovery.scores
+new file mode 100644
+index 0000000..e1fa78e
+--- /dev/null
++++ b/pengine/test10/resource-discovery.scores
+@@ -0,0 +1,199 @@
++Allocation scores:
++clone_color: FAKECLONE1-clone allocation score on 18builder: 0
++clone_color: FAKECLONE1-clone allocation score on 18node1: 0
++clone_color: FAKECLONE1-clone allocation score on 18node2: 0
++clone_color: FAKECLONE1-clone allocation score on 18node3: 0
++clone_color: FAKECLONE1-clone allocation score on 18node4: 0
++clone_color: FAKECLONE1-clone allocation score on remote1: 0
++clone_color: FAKECLONE1:0 allocation score on 18builder: 0
++clone_color: FAKECLONE1:0 allocation score on 18node1: 0
++clone_color: FAKECLONE1:0 allocation score on 18node2: 0
++clone_color: FAKECLONE1:0 allocation score on 18node3: 0
++clone_color: FAKECLONE1:0 allocation score on 18node4: 0
++clone_color: FAKECLONE1:0 allocation score on remote1: 0
++clone_color: FAKECLONE1:1 allocation score on 18builder: 0
++clone_color: FAKECLONE1:1 allocation score on 18node1: 0
++clone_color: FAKECLONE1:1 allocation score on 18node2: 0
++clone_color: FAKECLONE1:1 allocation score on 18node3: 0
++clone_color: FAKECLONE1:1 allocation score on 18node4: 0
++clone_color: FAKECLONE1:1 allocation score on remote1: 0
++clone_color: FAKECLONE1:2 allocation score on 18builder: 0
++clone_color: FAKECLONE1:2 allocation score on 18node1: 0
++clone_color: FAKECLONE1:2 allocation score on 18node2: 0
++clone_color: FAKECLONE1:2 allocation score on 18node3: 0
++clone_color: FAKECLONE1:2 allocation score on 18node4: 0
++clone_color: FAKECLONE1:2 allocation score on remote1: 0
++clone_color: FAKECLONE1:3 allocation score on 18builder: 0
++clone_color: FAKECLONE1:3 allocation score on 18node1: 0
++clone_color: FAKECLONE1:3 allocation score on 18node2: 0
++clone_color: FAKECLONE1:3 allocation score on 18node3: 0
++clone_color: FAKECLONE1:3 allocation score on 18node4: 0
++clone_color: FAKECLONE1:3 allocation score on remote1: 0
++clone_color: FAKECLONE1:4 allocation score on 18builder: 0
++clone_color: FAKECLONE1:4 allocation score on 18node1: 0
++clone_color: FAKECLONE1:4 allocation score on 18node2: 0
++clone_color: FAKECLONE1:4 allocation score on 18node3: 0
++clone_color: FAKECLONE1:4 allocation score on 18node4: 0
++clone_color: FAKECLONE1:4 allocation score on remote1: 0
++clone_color: FAKECLONE1:5 allocation score on 18builder: 0
++clone_color: FAKECLONE1:5 allocation score on 18node1: 0
++clone_color: FAKECLONE1:5 allocation score on 18node2: 0
++clone_color: FAKECLONE1:5 allocation score on 18node3: 0
++clone_color: FAKECLONE1:5 allocation score on 18node4: 0
++clone_color: FAKECLONE1:5 allocation score on remote1: 0
++clone_color: FAKECLONE2-clone allocation score on 18builder: 0
++clone_color: FAKECLONE2-clone allocation score on 18node1: 0
++clone_color: FAKECLONE2-clone allocation score on 18node2: 0
++clone_color: FAKECLONE2-clone allocation score on 18node3: 0
++clone_color: FAKECLONE2-clone allocation score on 18node4: 0
++clone_color: FAKECLONE2-clone allocation score on remote1: 0
++clone_color: FAKECLONE2:0 allocation score on 18builder: 0
++clone_color: FAKECLONE2:0 allocation score on 18node1: 0
++clone_color: FAKECLONE2:0 allocation score on 18node2: 0
++clone_color: FAKECLONE2:0 allocation score on 18node3: 0
++clone_color: FAKECLONE2:0 allocation score on 18node4: 0
++clone_color: FAKECLONE2:0 allocation score on remote1: 0
++clone_color: FAKECLONE2:1 allocation score on 18builder: 0
++clone_color: FAKECLONE2:1 allocation score on 18node1: 0
++clone_color: FAKECLONE2:1 allocation score on 18node2: 0
++clone_color: FAKECLONE2:1 allocation score on 18node3: 0
++clone_color: FAKECLONE2:1 allocation score on 18node4: 0
++clone_color: FAKECLONE2:1 allocation score on remote1: 0
++clone_color: FAKECLONE2:2 allocation score on 18builder: 0
++clone_color: FAKECLONE2:2 allocation score on 18node1: 0
++clone_color: FAKECLONE2:2 allocation score on 18node2: 0
++clone_color: FAKECLONE2:2 allocation score on 18node3: 0
++clone_color: FAKECLONE2:2 allocation score on 18node4: 0
++clone_color: FAKECLONE2:2 allocation score on remote1: 0
++clone_color: FAKECLONE2:3 allocation score on 18builder: 0
++clone_color: FAKECLONE2:3 allocation score on 18node1: 0
++clone_color: FAKECLONE2:3 allocation score on 18node2: 0
++clone_color: FAKECLONE2:3 allocation score on 18node3: 0
++clone_color: FAKECLONE2:3 allocation score on 18node4: 0
++clone_color: FAKECLONE2:3 allocation score on remote1: 0
++clone_color: FAKECLONE2:4 allocation score on 18builder: 0
++clone_color: FAKECLONE2:4 allocation score on 18node1: 0
++clone_color: FAKECLONE2:4 allocation score on 18node2: 0
++clone_color: FAKECLONE2:4 allocation score on 18node3: 0
++clone_color: FAKECLONE2:4 allocation score on 18node4: 0
++clone_color: FAKECLONE2:4 allocation score on remote1: 0
++clone_color: FAKECLONE2:5 allocation score on 18builder: 0
++clone_color: FAKECLONE2:5 allocation score on 18node1: 0
++clone_color: FAKECLONE2:5 allocation score on 18node2: 0
++clone_color: FAKECLONE2:5 allocation score on 18node3: 0
++clone_color: FAKECLONE2:5 allocation score on 18node4: 0
++clone_color: FAKECLONE2:5 allocation score on remote1: 0
++native_color: FAKE1 allocation score on 18builder: 0
++native_color: FAKE1 allocation score on 18node1: 0
++native_color: FAKE1 allocation score on 18node2: 0
++native_color: FAKE1 allocation score on 18node3: 0
++native_color: FAKE1 allocation score on 18node4: 0
++native_color: FAKE1 allocation score on remote1: -INFINITY
++native_color: FAKE2 allocation score on 18builder: 0
++native_color: FAKE2 allocation score on 18node1: 0
++native_color: FAKE2 allocation score on 18node2: -INFINITY
++native_color: FAKE2 allocation score on 18node3: 0
++native_color: FAKE2 allocation score on 18node4: 0
++native_color: FAKE2 allocation score on remote1: 0
++native_color: FAKE3 allocation score on 18builder: 0
++native_color: FAKE3 allocation score on 18node1: 0
++native_color: FAKE3 allocation score on 18node2: 0
++native_color: FAKE3 allocation score on 18node3: INFINITY
++native_color: FAKE3 allocation score on 18node4: 0
++native_color: FAKE3 allocation score on remote1: 0
++native_color: FAKE4 allocation score on 18builder: 0
++native_color: FAKE4 allocation score on 18node1: 0
++native_color: FAKE4 allocation score on 18node2: 0
++native_color: FAKE4 allocation score on 18node3: 0
++native_color: FAKE4 allocation score on 18node4: 0
++native_color: FAKE4 allocation score on remote1: 0
++native_color: FAKE5 allocation score on 18builder: 0
++native_color: FAKE5 allocation score on 18node1: 0
++native_color: FAKE5 allocation score on 18node2: 0
++native_color: FAKE5 allocation score on 18node3: 0
++native_color: FAKE5 allocation score on 18node4: 0
++native_color: FAKE5 allocation score on remote1: 0
++native_color: FAKECLONE1:0 allocation score on 18builder: 0
++native_color: FAKECLONE1:0 allocation score on 18node1: 0
++native_color: FAKECLONE1:0 allocation score on 18node2: 0
++native_color: FAKECLONE1:0 allocation score on 18node3: 0
++native_color: FAKECLONE1:0 allocation score on 18node4: 0
++native_color: FAKECLONE1:0 allocation score on remote1: 0
++native_color: FAKECLONE1:1 allocation score on 18builder: -INFINITY
++native_color: FAKECLONE1:1 allocation score on 18node1: 0
++native_color: FAKECLONE1:1 allocation score on 18node2: 0
++native_color: FAKECLONE1:1 allocation score on 18node3: 0
++native_color: FAKECLONE1:1 allocation score on 18node4: 0
++native_color: FAKECLONE1:1 allocation score on remote1: 0
++native_color: FAKECLONE1:2 allocation score on 18builder: -INFINITY
++native_color: FAKECLONE1:2 allocation score on 18node1: -INFINITY
++native_color: FAKECLONE1:2 allocation score on 18node2: 0
++native_color: FAKECLONE1:2 allocation score on 18node3: 0
++native_color: FAKECLONE1:2 allocation score on 18node4: 0
++native_color: FAKECLONE1:2 allocation score on remote1: 0
++native_color: FAKECLONE1:3 allocation score on 18builder: -INFINITY
++native_color: FAKECLONE1:3 allocation score on 18node1: -INFINITY
++native_color: FAKECLONE1:3 allocation score on 18node2: -INFINITY
++native_color: FAKECLONE1:3 allocation score on 18node3: 0
++native_color: FAKECLONE1:3 allocation score on 18node4: 0
++native_color: FAKECLONE1:3 allocation score on remote1: 0
++native_color: FAKECLONE1:4 allocation score on 18builder: -INFINITY
++native_color: FAKECLONE1:4 allocation score on 18node1: -INFINITY
++native_color: FAKECLONE1:4 allocation score on 18node2: -INFINITY
++native_color: FAKECLONE1:4 allocation score on 18node3: 0
++native_color: FAKECLONE1:4 allocation score on 18node4: -INFINITY
++native_color: FAKECLONE1:4 allocation score on remote1: 0
++native_color: FAKECLONE1:5 allocation score on 18builder: -INFINITY
++native_color: FAKECLONE1:5 allocation score on 18node1: -INFINITY
++native_color: FAKECLONE1:5 allocation score on 18node2: -INFINITY
++native_color: FAKECLONE1:5 allocation score on 18node3: 0
++native_color: FAKECLONE1:5 allocation score on 18node4: -INFINITY
++native_color: FAKECLONE1:5 allocation score on remote1: -INFINITY
++native_color: FAKECLONE2:0 allocation score on 18builder: 0
++native_color: FAKECLONE2:0 allocation score on 18node1: 0
++native_color: FAKECLONE2:0 allocation score on 18node2: 0
++native_color: FAKECLONE2:0 allocation score on 18node3: 0
++native_color: FAKECLONE2:0 allocation score on 18node4: 0
++native_color: FAKECLONE2:0 allocation score on remote1: 0
++native_color: FAKECLONE2:1 allocation score on 18builder: -INFINITY
++native_color: FAKECLONE2:1 allocation score on 18node1: 0
++native_color: FAKECLONE2:1 allocation score on 18node2: 0
++native_color: FAKECLONE2:1 allocation score on 18node3: 0
++native_color: FAKECLONE2:1 allocation score on 18node4: 0
++native_color: FAKECLONE2:1 allocation score on remote1: 0
++native_color: FAKECLONE2:2 allocation score on 18builder: -INFINITY
++native_color: FAKECLONE2:2 allocation score on 18node1: -INFINITY
++native_color: FAKECLONE2:2 allocation score on 18node2: 0
++native_color: FAKECLONE2:2 allocation score on 18node3: 0
++native_color: FAKECLONE2:2 allocation score on 18node4: 0
++native_color: FAKECLONE2:2 allocation score on remote1: 0
++native_color: FAKECLONE2:3 allocation score on 18builder: -INFINITY
++native_color: FAKECLONE2:3 allocation score on 18node1: -INFINITY
++native_color: FAKECLONE2:3 allocation score on 18node2: -INFINITY
++native_color: FAKECLONE2:3 allocation score on 18node3: 0
++native_color: FAKECLONE2:3 allocation score on 18node4: 0
++native_color: FAKECLONE2:3 allocation score on remote1: 0
++native_color: FAKECLONE2:4 allocation score on 18builder: -INFINITY
++native_color: FAKECLONE2:4 allocation score on 18node1: -INFINITY
++native_color: FAKECLONE2:4 allocation score on 18node2: -INFINITY
++native_color: FAKECLONE2:4 allocation score on 18node3: 0
++native_color: FAKECLONE2:4 allocation score on 18node4: -INFINITY
++native_color: FAKECLONE2:4 allocation score on remote1: 0
++native_color: FAKECLONE2:5 allocation score on 18builder: -INFINITY
++native_color: FAKECLONE2:5 allocation score on 18node1: -INFINITY
++native_color: FAKECLONE2:5 allocation score on 18node2: -INFINITY
++native_color: FAKECLONE2:5 allocation score on 18node3: 0
++native_color: FAKECLONE2:5 allocation score on 18node4: -INFINITY
++native_color: FAKECLONE2:5 allocation score on remote1: -INFINITY
++native_color: remote1 allocation score on 18builder: 0
++native_color: remote1 allocation score on 18node1: 0
++native_color: remote1 allocation score on 18node2: 0
++native_color: remote1 allocation score on 18node3: 0
++native_color: remote1 allocation score on 18node4: 0
++native_color: remote1 allocation score on remote1: -INFINITY
++native_color: shooter allocation score on 18builder: 0
++native_color: shooter allocation score on 18node1: 0
++native_color: shooter allocation score on 18node2: 0
++native_color: shooter allocation score on 18node3: 0
++native_color: shooter allocation score on 18node4: 0
++native_color: shooter allocation score on remote1: -INFINITY
+diff --git a/pengine/test10/resource-discovery.summary b/pengine/test10/resource-discovery.summary
+new file mode 100644
+index 0000000..af0e5b3
+--- /dev/null
++++ b/pengine/test10/resource-discovery.summary
+@@ -0,0 +1,124 @@
++
++Current cluster status:
++Online: [ 18builder 18node1 18node2 18node3 18node4 ]
++RemoteOFFLINE: [ remote1 ]
++
++ shooter	(stonith:fence_xvm):	Started 18node1 
++ remote1	(ocf::pacemaker:remote):	Stopped 
++ FAKE1	(ocf::heartbeat:Dummy):	Stopped 
++ FAKE2	(ocf::heartbeat:Dummy):	Started 18node2 
++ FAKE3	(ocf::heartbeat:Dummy):	Started 18builder 
++ FAKE4	(ocf::heartbeat:Dummy):	Started 18node1 
++ FAKE5	(ocf::heartbeat:Dummy):	Stopped 
++ Clone Set: FAKECLONE1-clone [FAKECLONE1]
++     Stopped: [ 18builder 18node1 18node2 18node3 18node4 remote1 ]
++ Clone Set: FAKECLONE2-clone [FAKECLONE2]
++     Stopped: [ 18builder 18node1 18node2 18node3 18node4 remote1 ]
++
++Transition Summary:
++ * Start   remote1	(18builder)
++ * Start   FAKE1	(18node2)
++ * Move    FAKE2	(Started 18node2 -> 18node3)
++ * Move    FAKE3	(Started 18builder -> 18node3)
++ * Move    FAKE4	(Started 18node1 -> 18node4)
++ * Start   FAKE5	(remote1)
++ * Start   FAKECLONE1:0	(18builder)
++ * Start   FAKECLONE1:1	(18node1)
++ * Start   FAKECLONE1:2	(18node2)
++ * Start   FAKECLONE1:3	(18node4)
++ * Start   FAKECLONE1:4	(remote1)
++ * Start   FAKECLONE1:5	(18node3)
++ * Start   FAKECLONE2:0	(18builder)
++ * Start   FAKECLONE2:1	(18node1)
++ * Start   FAKECLONE2:2	(18node2)
++ * Start   FAKECLONE2:3	(18node4)
++ * Start   FAKECLONE2:4	(remote1)
++ * Start   FAKECLONE2:5	(18node3)
++
++Executing cluster transition:
++ * Resource action: shooter         monitor on 18node4
++ * Resource action: shooter         monitor on 18node3
++ * Resource action: remote1         monitor on 18node4
++ * Resource action: remote1         monitor on 18node3
++ * Resource action: FAKE1           monitor on 18node4
++ * Resource action: FAKE1           monitor on 18node3
++ * Resource action: FAKE1           monitor on 18node2
++ * Resource action: FAKE1           monitor on 18node1
++ * Resource action: FAKE1           monitor on 18builder
++ * Resource action: FAKE3           monitor on 18node3
++ * Resource action: FAKE4           monitor on 18node4
++ * Resource action: FAKE5           monitor on 18node4
++ * Resource action: FAKE5           monitor on 18node3
++ * Resource action: FAKE5           monitor on 18node2
++ * Resource action: FAKE5           monitor on 18node1
++ * Resource action: FAKE5           monitor on 18builder
++ * Pseudo action:   FAKECLONE1-clone_start_0
++ * Resource action: FAKECLONE2:0    monitor on 18builder
++ * Resource action: FAKECLONE2:1    monitor on 18node1
++ * Resource action: FAKECLONE2:3    monitor on 18node4
++ * Resource action: FAKECLONE2:5    monitor on 18node3
++ * Pseudo action:   FAKECLONE2-clone_start_0
++ * Pseudo action:   probe_nodes_complete
++ * Resource action: remote1         start on 18builder
++ * Resource action: FAKE5           monitor on remote1
++ * Resource action: FAKECLONE1:4    monitor on remote1
++ * Resource action: FAKECLONE2:4    monitor on remote1
++ * Pseudo action:   probe_complete
++ * Resource action: remote1         monitor=60000 on 18builder
++ * Resource action: FAKE1           start on 18node2
++ * Resource action: FAKE2           stop on 18node2
++ * Resource action: FAKE3           stop on 18builder
++ * Resource action: FAKE4           stop on 18node1
++ * Resource action: FAKE5           start on remote1
++ * Resource action: FAKECLONE1:0    start on 18builder
++ * Resource action: FAKECLONE1:1    start on 18node1
++ * Resource action: FAKECLONE1:2    start on 18node2
++ * Resource action: FAKECLONE1:3    start on 18node4
++ * Resource action: FAKECLONE1:4    start on remote1
++ * Resource action: FAKECLONE1:5    start on 18node3
++ * Pseudo action:   FAKECLONE1-clone_running_0
++ * Resource action: FAKECLONE2:0    start on 18builder
++ * Resource action: FAKECLONE2:1    start on 18node1
++ * Resource action: FAKECLONE2:2    start on 18node2
++ * Resource action: FAKECLONE2:3    start on 18node4
++ * Resource action: FAKECLONE2:4    start on remote1
++ * Resource action: FAKECLONE2:5    start on 18node3
++ * Pseudo action:   FAKECLONE2-clone_running_0
++ * Pseudo action:   all_stopped
++ * Resource action: FAKE1           monitor=60000 on 18node2
++ * Resource action: FAKE2           start on 18node3
++ * Resource action: FAKE3           start on 18node3
++ * Resource action: FAKE4           start on 18node4
++ * Resource action: FAKE5           monitor=60000 on remote1
++ * Resource action: FAKECLONE1:0    monitor=60000 on 18builder
++ * Resource action: FAKECLONE1:1    monitor=60000 on 18node1
++ * Resource action: FAKECLONE1:2    monitor=60000 on 18node2
++ * Resource action: FAKECLONE1:3    monitor=60000 on 18node4
++ * Resource action: FAKECLONE1:4    monitor=60000 on remote1
++ * Resource action: FAKECLONE1:5    monitor=60000 on 18node3
++ * Resource action: FAKECLONE2:0    monitor=60000 on 18builder
++ * Resource action: FAKECLONE2:1    monitor=60000 on 18node1
++ * Resource action: FAKECLONE2:2    monitor=60000 on 18node2
++ * Resource action: FAKECLONE2:3    monitor=60000 on 18node4
++ * Resource action: FAKECLONE2:4    monitor=60000 on remote1
++ * Resource action: FAKECLONE2:5    monitor=60000 on 18node3
++ * Resource action: FAKE2           monitor=60000 on 18node3
++ * Resource action: FAKE3           monitor=60000 on 18node3
++ * Resource action: FAKE4           monitor=60000 on 18node4
++
++Revised cluster status:
++Online: [ 18builder 18node1 18node2 18node3 18node4 ]
++RemoteOnline: [ remote1 ]
++
++ shooter	(stonith:fence_xvm):	Started 18node1 
++ remote1	(ocf::pacemaker:remote):	Started 18builder 
++ FAKE1	(ocf::heartbeat:Dummy):	Started 18node2 
++ FAKE2	(ocf::heartbeat:Dummy):	Started 18node3 
++ FAKE3	(ocf::heartbeat:Dummy):	Started 18node3 
++ FAKE4	(ocf::heartbeat:Dummy):	Started 18node4 
++ FAKE5	(ocf::heartbeat:Dummy):	Started remote1 
++ Clone Set: FAKECLONE1-clone [FAKECLONE1]
++     Started: [ 18builder 18node1 18node2 18node3 18node4 remote1 ]
++ Clone Set: FAKECLONE2-clone [FAKECLONE2]
++     Started: [ 18builder 18node1 18node2 18node3 18node4 remote1 ]
++
+diff --git a/pengine/test10/resource-discovery.xml b/pengine/test10/resource-discovery.xml
+new file mode 100644
+index 0000000..5836804
+--- /dev/null
++++ b/pengine/test10/resource-discovery.xml
+@@ -0,0 +1,185 @@
++<cib epoch="11" num_updates="1" admin_epoch="0" validate-with="pacemaker-next" cib-last-written="Tue Sep  3 17:59:24 2013" update-origin="18builder" update-client="crm_resource" crm_feature_set="3.0.7" have-quorum="1" dc-uuid="5">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.10-ab50afe"/>
++        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes>
++      <node id="1" uname="18node1"/>
++      <node id="2" uname="18node2"/>
++      <node id="3" uname="18node3"/>
++      <node id="4" uname="18node4"/>
++      <node id="5" uname="18builder"/>
++    </nodes>
++    <resources>
++      <primitive class="stonith" id="shooter" type="fence_xvm">
++        <instance_attributes id="shooter-instance_attributes"/>
++        <operations>
++          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="remote1" provider="pacemaker" type="remote">
++        <instance_attributes id="remote1-instance_attributes"/>
++        <operations>
++          <op id="remote1-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++        <meta_attributes id="remote1-meta_attributes"/>
++      </primitive>
++      <primitive class="ocf" id="FAKE1" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE1-instance_attributes"/>
++        <meta_attributes id="FAKE1-meta_attributes">
++        </meta_attributes>
++        <operations>
++          <op id="FAKE1-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE2" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE2-instance_attributes"/>
++        <meta_attributes id="FAKE2-meta_attributes">
++        </meta_attributes>
++        <operations>
++          <op id="FAKE2-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE3" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE3-instance_attributes"/>
++        <operations>
++          <op id="FAKE3-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE4" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE4-instance_attributes"/>
++        <operations>
++          <op id="FAKE4-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE5" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE5-instance_attributes"/>
++        <operations>
++          <op id="FAKE5-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <clone id="FAKECLONE1-clone">
++        <primitive class="ocf" id="FAKECLONE1" provider="heartbeat" type="Dummy">
++          <instance_attributes id="FAKECLONE1-instance_attributes"/>
++          <operations>
++            <op id="FAKECLONE1-monitor-interval-60s" interval="60s" name="monitor"/>
++          </operations>
++        </primitive>
++      </clone>
++      <clone id="FAKECLONE2-clone">
++        <primitive class="ocf" id="FAKECLONE2" provider="heartbeat" type="Dummy">
++          <instance_attributes id="FAKECLONE2-instance_attributes"/>
++          <operations>
++            <op id="FAKECLONE2-monitor-interval-60s" interval="60s" name="monitor"/>
++          </operations>
++        </primitive>
++      </clone>
++    </resources>
++    <constraints>
++      <rsc_location id="location-FAKE1-remote1--INFINITY" node="remote1" rsc="FAKE1" score="-INFINITY" resource-discovery="never" />
++      <rsc_location id="location-FAKE2-18node2--INFINITY" node="18node2" rsc="FAKE2" score="-INFINITY" resource-discovery="exclusive" />
++      <rsc_location id="location-FAKE3-18node3--INFINITY" node="18node3" rsc="FAKE3" score="INFINITY" resource-discovery="exclusive" />
++      <rsc_location id="location-FAKE4-1-18node3--INFINITY" node="18node4" rsc="FAKE4" score="0" resource-discovery="always" />
++      <rsc_location id="location-FAKE4-2-18node3--INFINITY" node="18node4" rsc="FAKE4" score="0" resource-discovery="never" />
++      <rsc_location id="location-FAKE4-3-18node3--INFINITY" node="18node4" rsc="FAKE4" score="0" resource-discovery="exclusive" />
++      <rsc_location id="location-FAKE5-18node3--INFINITY" node="18node4" rsc="FAKE5" score="0" resource-discovery="always" />
++      <rsc_location id="location-FAKECLONE1-remote--INFINITY" node="remote1" rsc="FAKECLONE1-clone" score="0" resource-discovery="exclusive" />
++      <rsc_location id="location-FAKECLONE2-18node2--INFINITY" node="18node2" rsc="FAKECLONE2-clone" score="0" resource-discovery="never" />
++    </constraints>
++  </configuration>
++  <status>
++    <node_state id="5" uname="18builder" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="5">
++        <instance_attributes id="status-5">
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="5">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="11:4:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;11:4:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="16" rc-code="0" op-status="0" interval="0" last-run="1378248545" last-rc-change="1378248545" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="10:3:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;10:3:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="11" rc-code="0" op-status="0" interval="60000" last-rc-change="1378248534" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
++          </lrm_resource>
++          <lrm_resource id="remote1" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="remote1_last_0" operation_key="remote1_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="12:6:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;12:6:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="13" rc-code="0" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="remote1_monitor_60000" operation_key="remote1_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="13:5:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;13:5:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="3" rc-code="0" op-status="0" interval="60000" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="7:9:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;7:9:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="39" rc-code="7" op-status="0" interval="0" last-run="1378249145" last-rc-change="1378249145" exec-time="61" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="18:11:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;18:11:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="53" rc-code="0" op-status="0" interval="0" last-run="1378249147" last-rc-change="1378249147" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE3_monitor_60000" operation_key="FAKE3_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="19:11:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;19:11:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="56" rc-code="0" op-status="0" interval="60000" last-rc-change="1378249147" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="9:12:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;9:12:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="61" rc-code="7" op-status="0" interval="0" last-run="1378249149" last-rc-change="1378249149" exec-time="65" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="1" uname="18node1" crmd="online" crm-debug-origin="do_update_resource" in_ccm="true" join="member" expected="member">
++      <lrm id="1">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="12:4:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;12:4:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="9" rc-code="0" op-status="0" interval="0" last-run="1378248547" last-rc-change="1378248547" exec-time="19" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="13:4:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;13:4:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="12" rc-code="0" op-status="0" interval="60000" last-rc-change="1378248548" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
++          </lrm_resource>
++          <lrm_resource id="remote1" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="remote1_last_0" operation_key="remote1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="8:4:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;8:4:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="1" rc-code="7" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="9:9:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;9:9:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="25" rc-code="7" op-status="0" interval="0" last-run="1378249144" last-rc-change="1378249144" exec-time="28" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_failure_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="10:10:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;10:10:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="30" rc-code="0" op-status="0" interval="0" last-run="1378249146" last-rc-change="1378249146" exec-time="32" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="17:11:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;17:11:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="33" rc-code="0" op-status="0" interval="0" last-run="1378249146" last-rc-change="1378249146" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="22:12:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;22:12:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="40" rc-code="0" op-status="0" interval="0" last-run="1378249148" last-rc-change="1378249148" exec-time="36" queue-time="38" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE4_monitor_60000" operation_key="FAKE4_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="23:12:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;23:12:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="44" rc-code="0" op-status="0" interval="60000" last-rc-change="1378249148" exec-time="14" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="1">
++        <instance_attributes id="status-1">
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state id="2" uname="18node2" crmd="online" crm-debug-origin="do_update_resource" in_ccm="true" join="member" expected="member">
++      <lrm id="2">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="8:3:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;8:3:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1378248530" last-rc-change="1378248530" exec-time="980" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="remote1" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="remote1_last_0" operation_key="remote1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="10:4:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;10:4:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="1" rc-code="7" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="16:9:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;16:9:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="18" rc-code="0" op-status="0" interval="0" last-run="1378249144" last-rc-change="1378249144" exec-time="18" queue-time="9" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE2_monitor_60000" operation_key="FAKE2_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="17:9:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;17:9:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="22" rc-code="0" op-status="0" interval="60000" last-rc-change="1378249144" exec-time="20" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="12:10:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;12:10:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="27" rc-code="7" op-status="0" interval="0" last-run="1378249146" last-rc-change="1378249146" exec-time="35" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="13:12:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;13:12:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="32" rc-code="7" op-status="0" interval="0" last-run="1378249148" last-rc-change="1378249148" exec-time="33" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="2">
++        <instance_attributes id="status-2">
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state id="3" uname="18node3" crmd="online" crm-debug-origin="do_update_resource" in_ccm="true" join="member" expected="member"/>
++    <node_state id="4" uname="18node4" crmd="online" crm-debug-origin="do_update_resource" in_ccm="true" join="member" expected="member"/>
++    <node_state remote_node="true" id="remote1" uname="remote1" crm-debug-origin="remote_init_cib_status">
++      <transient_attributes id="remote1">
++        <instance_attributes id="status-remote1">
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++  </status>
++</cib>
+diff --git a/pengine/test10/rsc-discovery-per-node.dot b/pengine/test10/rsc-discovery-per-node.dot
+new file mode 100644
+index 0000000..8f5889a
+--- /dev/null
++++ b/pengine/test10/rsc-discovery-per-node.dot
+@@ -0,0 +1,195 @@
++ digraph "g" {
++"FAKE1_monitor_0 18builder" -> "probe_complete 18builder" [ style = bold]
++"FAKE1_monitor_0 18builder" [ style=bold color="green" fontcolor="black"]
++"FAKE1_monitor_0 18node1" -> "probe_complete 18node1" [ style = bold]
++"FAKE1_monitor_0 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKE1_monitor_0 18node2" -> "probe_complete 18node2" [ style = bold]
++"FAKE1_monitor_0 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKE1_monitor_0 18node3" -> "probe_complete 18node3" [ style = bold]
++"FAKE1_monitor_0 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKE1_monitor_0 18node4" -> "probe_complete 18node4" [ style = bold]
++"FAKE1_monitor_0 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKE1_monitor_60000 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKE1_start_0 18node2" -> "FAKE1_monitor_60000 18node2" [ style = bold]
++"FAKE1_start_0 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKE2_monitor_0 18node3" -> "probe_complete 18node3" [ style = bold]
++"FAKE2_monitor_0 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKE2_monitor_0 18node4" -> "probe_complete 18node4" [ style = bold]
++"FAKE2_monitor_0 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKE2_monitor_60000 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKE2_start_0 18node3" -> "FAKE2_monitor_60000 18node3" [ style = bold]
++"FAKE2_start_0 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKE2_stop_0 18node2" -> "FAKE2_start_0 18node3" [ style = bold]
++"FAKE2_stop_0 18node2" -> "all_stopped" [ style = bold]
++"FAKE2_stop_0 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKE3_monitor_0 18node3" -> "probe_complete 18node3" [ style = bold]
++"FAKE3_monitor_0 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKE3_monitor_0 18node4" -> "probe_complete 18node4" [ style = bold]
++"FAKE3_monitor_0 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKE3_monitor_60000 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKE3_start_0 18node4" -> "FAKE3_monitor_60000 18node4" [ style = bold]
++"FAKE3_start_0 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKE3_stop_0 18builder" -> "FAKE3_start_0 18node4" [ style = bold]
++"FAKE3_stop_0 18builder" -> "all_stopped" [ style = bold]
++"FAKE3_stop_0 18builder" [ style=bold color="green" fontcolor="black"]
++"FAKE4_monitor_0 18node3" -> "probe_complete 18node3" [ style = bold]
++"FAKE4_monitor_0 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKE4_monitor_0 18node4" -> "probe_complete 18node4" [ style = bold]
++"FAKE4_monitor_0 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKE4_monitor_60000 remote1" [ style=bold color="green" fontcolor="black"]
++"FAKE4_start_0 remote1" -> "FAKE4_monitor_60000 remote1" [ style = bold]
++"FAKE4_start_0 remote1" [ style=bold color="green" fontcolor="black"]
++"FAKE4_stop_0 18node1" -> "FAKE4_start_0 remote1" [ style = bold]
++"FAKE4_stop_0 18node1" -> "all_stopped" [ style = bold]
++"FAKE4_stop_0 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKE5_monitor_0 18builder" -> "probe_complete 18builder" [ style = bold]
++"FAKE5_monitor_0 18builder" [ style=bold color="green" fontcolor="black"]
++"FAKE5_monitor_0 18node1" -> "probe_complete 18node1" [ style = bold]
++"FAKE5_monitor_0 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKE5_monitor_0 18node2" -> "probe_complete 18node2" [ style = bold]
++"FAKE5_monitor_0 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKE5_monitor_0 18node3" -> "probe_complete 18node3" [ style = bold]
++"FAKE5_monitor_0 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKE5_monitor_0 18node4" -> "probe_complete 18node4" [ style = bold]
++"FAKE5_monitor_0 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKE5_monitor_60000 18builder" [ style=bold color="green" fontcolor="black"]
++"FAKE5_start_0 18builder" -> "FAKE5_monitor_60000 18builder" [ style = bold]
++"FAKE5_start_0 18builder" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1-clone_running_0" [ style=bold color="green" fontcolor="orange"]
++"FAKECLONE1-clone_start_0" -> "FAKECLONE1-clone_running_0" [ style = bold]
++"FAKECLONE1-clone_start_0" -> "FAKECLONE1:0_start_0 18node1" [ style = bold]
++"FAKECLONE1-clone_start_0" -> "FAKECLONE1:1_start_0 18node2" [ style = bold]
++"FAKECLONE1-clone_start_0" -> "FAKECLONE1:2_start_0 18node3" [ style = bold]
++"FAKECLONE1-clone_start_0" -> "FAKECLONE1:3_start_0 18node4" [ style = bold]
++"FAKECLONE1-clone_start_0" -> "FAKECLONE1:4_start_0 remote1" [ style = bold]
++"FAKECLONE1-clone_start_0" -> "FAKECLONE1:5_start_0 18builder" [ style = bold]
++"FAKECLONE1-clone_start_0" [ style=bold color="green" fontcolor="orange"]
++"FAKECLONE1:0_monitor_0 18node1" -> "probe_complete 18node1" [ style = bold]
++"FAKECLONE1:0_monitor_0 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:0_monitor_60000 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:0_start_0 18node1" -> "FAKECLONE1-clone_running_0" [ style = bold]
++"FAKECLONE1:0_start_0 18node1" -> "FAKECLONE1:0_monitor_60000 18node1" [ style = bold]
++"FAKECLONE1:0_start_0 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:1_monitor_0 18node2" -> "probe_complete 18node2" [ style = bold]
++"FAKECLONE1:1_monitor_0 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:1_monitor_60000 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:1_start_0 18node2" -> "FAKECLONE1-clone_running_0" [ style = bold]
++"FAKECLONE1:1_start_0 18node2" -> "FAKECLONE1:1_monitor_60000 18node2" [ style = bold]
++"FAKECLONE1:1_start_0 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:2_monitor_0 18node3" -> "probe_complete 18node3" [ style = bold]
++"FAKECLONE1:2_monitor_0 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:2_monitor_60000 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:2_start_0 18node3" -> "FAKECLONE1-clone_running_0" [ style = bold]
++"FAKECLONE1:2_start_0 18node3" -> "FAKECLONE1:2_monitor_60000 18node3" [ style = bold]
++"FAKECLONE1:2_start_0 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:3_monitor_0 18node4" -> "probe_complete 18node4" [ style = bold]
++"FAKECLONE1:3_monitor_0 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:3_monitor_60000 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:3_start_0 18node4" -> "FAKECLONE1-clone_running_0" [ style = bold]
++"FAKECLONE1:3_start_0 18node4" -> "FAKECLONE1:3_monitor_60000 18node4" [ style = bold]
++"FAKECLONE1:3_start_0 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:4_monitor_60000 remote1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:4_start_0 remote1" -> "FAKECLONE1-clone_running_0" [ style = bold]
++"FAKECLONE1:4_start_0 remote1" -> "FAKECLONE1:4_monitor_60000 remote1" [ style = bold]
++"FAKECLONE1:4_start_0 remote1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:5_monitor_0 18builder" -> "probe_complete 18builder" [ style = bold]
++"FAKECLONE1:5_monitor_0 18builder" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:5_monitor_60000 18builder" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE1:5_start_0 18builder" -> "FAKECLONE1-clone_running_0" [ style = bold]
++"FAKECLONE1:5_start_0 18builder" -> "FAKECLONE1:5_monitor_60000 18builder" [ style = bold]
++"FAKECLONE1:5_start_0 18builder" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2-clone_running_0" [ style=bold color="green" fontcolor="orange"]
++"FAKECLONE2-clone_start_0" -> "FAKECLONE2-clone_running_0" [ style = bold]
++"FAKECLONE2-clone_start_0" -> "FAKECLONE2:0_start_0 18node1" [ style = bold]
++"FAKECLONE2-clone_start_0" -> "FAKECLONE2:1_start_0 18node2" [ style = bold]
++"FAKECLONE2-clone_start_0" -> "FAKECLONE2:2_start_0 18node3" [ style = bold]
++"FAKECLONE2-clone_start_0" -> "FAKECLONE2:3_start_0 18node4" [ style = bold]
++"FAKECLONE2-clone_start_0" -> "FAKECLONE2:4_start_0 remote1" [ style = bold]
++"FAKECLONE2-clone_start_0" -> "FAKECLONE2:5_start_0 18builder" [ style = bold]
++"FAKECLONE2-clone_start_0" [ style=bold color="green" fontcolor="orange"]
++"FAKECLONE2:0_monitor_0 18node1" -> "probe_complete 18node1" [ style = bold]
++"FAKECLONE2:0_monitor_0 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:0_monitor_60000 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:0_start_0 18node1" -> "FAKECLONE2-clone_running_0" [ style = bold]
++"FAKECLONE2:0_start_0 18node1" -> "FAKECLONE2:0_monitor_60000 18node1" [ style = bold]
++"FAKECLONE2:0_start_0 18node1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:1_monitor_0 18node2" -> "probe_complete 18node2" [ style = bold]
++"FAKECLONE2:1_monitor_0 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:1_monitor_60000 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:1_start_0 18node2" -> "FAKECLONE2-clone_running_0" [ style = bold]
++"FAKECLONE2:1_start_0 18node2" -> "FAKECLONE2:1_monitor_60000 18node2" [ style = bold]
++"FAKECLONE2:1_start_0 18node2" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:2_monitor_0 18node3" -> "probe_complete 18node3" [ style = bold]
++"FAKECLONE2:2_monitor_0 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:2_monitor_60000 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:2_start_0 18node3" -> "FAKECLONE2-clone_running_0" [ style = bold]
++"FAKECLONE2:2_start_0 18node3" -> "FAKECLONE2:2_monitor_60000 18node3" [ style = bold]
++"FAKECLONE2:2_start_0 18node3" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:3_monitor_0 18node4" -> "probe_complete 18node4" [ style = bold]
++"FAKECLONE2:3_monitor_0 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:3_monitor_60000 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:3_start_0 18node4" -> "FAKECLONE2-clone_running_0" [ style = bold]
++"FAKECLONE2:3_start_0 18node4" -> "FAKECLONE2:3_monitor_60000 18node4" [ style = bold]
++"FAKECLONE2:3_start_0 18node4" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:4_monitor_60000 remote1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:4_start_0 remote1" -> "FAKECLONE2-clone_running_0" [ style = bold]
++"FAKECLONE2:4_start_0 remote1" -> "FAKECLONE2:4_monitor_60000 remote1" [ style = bold]
++"FAKECLONE2:4_start_0 remote1" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:5_monitor_0 18builder" -> "probe_complete 18builder" [ style = bold]
++"FAKECLONE2:5_monitor_0 18builder" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:5_monitor_60000 18builder" [ style=bold color="green" fontcolor="black"]
++"FAKECLONE2:5_start_0 18builder" -> "FAKECLONE2-clone_running_0" [ style = bold]
++"FAKECLONE2:5_start_0 18builder" -> "FAKECLONE2:5_monitor_60000 18builder" [ style = bold]
++"FAKECLONE2:5_start_0 18builder" [ style=bold color="green" fontcolor="black"]
++"all_stopped" [ style=bold color="green" fontcolor="orange"]
++"probe_complete 18builder" -> "probe_nodes_complete" [ style = bold]
++"probe_complete 18builder" [ style=bold color="green" fontcolor="black"]
++"probe_complete 18node1" -> "probe_nodes_complete" [ style = bold]
++"probe_complete 18node1" [ style=bold color="green" fontcolor="black"]
++"probe_complete 18node2" -> "probe_nodes_complete" [ style = bold]
++"probe_complete 18node2" [ style=bold color="green" fontcolor="black"]
++"probe_complete 18node3" -> "probe_nodes_complete" [ style = bold]
++"probe_complete 18node3" [ style=bold color="green" fontcolor="black"]
++"probe_complete 18node4" -> "probe_nodes_complete" [ style = bold]
++"probe_complete 18node4" [ style=bold color="green" fontcolor="black"]
++"probe_complete" -> "FAKE1_start_0 18node2" [ style = bold]
++"probe_complete" -> "FAKE2_start_0 18node3" [ style = bold]
++"probe_complete" -> "FAKE2_stop_0 18node2" [ style = bold]
++"probe_complete" -> "FAKE3_start_0 18node4" [ style = bold]
++"probe_complete" -> "FAKE3_stop_0 18builder" [ style = bold]
++"probe_complete" -> "FAKE4_start_0 remote1" [ style = bold]
++"probe_complete" -> "FAKE4_stop_0 18node1" [ style = bold]
++"probe_complete" -> "FAKE5_start_0 18builder" [ style = bold]
++"probe_complete" -> "FAKECLONE1:0_start_0 18node1" [ style = bold]
++"probe_complete" -> "FAKECLONE1:1_start_0 18node2" [ style = bold]
++"probe_complete" -> "FAKECLONE1:2_start_0 18node3" [ style = bold]
++"probe_complete" -> "FAKECLONE1:3_start_0 18node4" [ style = bold]
++"probe_complete" -> "FAKECLONE1:4_start_0 remote1" [ style = bold]
++"probe_complete" -> "FAKECLONE1:5_start_0 18builder" [ style = bold]
++"probe_complete" -> "FAKECLONE2:0_start_0 18node1" [ style = bold]
++"probe_complete" -> "FAKECLONE2:1_start_0 18node2" [ style = bold]
++"probe_complete" -> "FAKECLONE2:2_start_0 18node3" [ style = bold]
++"probe_complete" -> "FAKECLONE2:3_start_0 18node4" [ style = bold]
++"probe_complete" -> "FAKECLONE2:4_start_0 remote1" [ style = bold]
++"probe_complete" -> "FAKECLONE2:5_start_0 18builder" [ style = bold]
++"probe_complete" [ style=bold color="green" fontcolor="orange"]
++"probe_nodes_complete" -> "remote1_start_0 18builder" [ style = bold]
++"probe_nodes_complete" [ style=bold color="green" fontcolor="orange"]
++"remote1_monitor_0 18node3" -> "probe_complete 18node3" [ style = bold]
++"remote1_monitor_0 18node3" [ style=bold color="green" fontcolor="black"]
++"remote1_monitor_0 18node4" -> "probe_complete 18node4" [ style = bold]
++"remote1_monitor_0 18node4" [ style=bold color="green" fontcolor="black"]
++"remote1_monitor_60000 18builder" [ style=bold color="green" fontcolor="black"]
++"remote1_start_0 18builder" -> "FAKE4_monitor_60000 remote1" [ style = bold]
++"remote1_start_0 18builder" -> "FAKE4_start_0 remote1" [ style = bold]
++"remote1_start_0 18builder" -> "FAKECLONE1:4_monitor_60000 remote1" [ style = bold]
++"remote1_start_0 18builder" -> "FAKECLONE1:4_start_0 remote1" [ style = bold]
++"remote1_start_0 18builder" -> "FAKECLONE2:4_monitor_60000 remote1" [ style = bold]
++"remote1_start_0 18builder" -> "FAKECLONE2:4_start_0 remote1" [ style = bold]
++"remote1_start_0 18builder" -> "remote1_monitor_60000 18builder" [ style = bold]
++"remote1_start_0 18builder" [ style=bold color="green" fontcolor="black"]
++"shooter_monitor_0 18node3" -> "probe_complete 18node3" [ style = bold]
++"shooter_monitor_0 18node3" [ style=bold color="green" fontcolor="black"]
++"shooter_monitor_0 18node4" -> "probe_complete 18node4" [ style = bold]
++"shooter_monitor_0 18node4" [ style=bold color="green" fontcolor="black"]
++}
+diff --git a/pengine/test10/rsc-discovery-per-node.exp b/pengine/test10/rsc-discovery-per-node.exp
+new file mode 100644
+index 0000000..8de04cd
+--- /dev/null
++++ b/pengine/test10/rsc-discovery-per-node.exp
+@@ -0,0 +1,1103 @@
++<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
++  <synapse id="0">
++    <action_set>
++      <rsc_op id="34" operation="monitor" operation_key="shooter_monitor_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="shooter" class="stonith" type="fence_xvm"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="1">
++    <action_set>
++      <rsc_op id="24" operation="monitor" operation_key="shooter_monitor_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="shooter" class="stonith" type="fence_xvm"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="2">
++    <action_set>
++      <rsc_op id="46" operation="monitor" operation_key="remote1_monitor_60000" on_node="18builder" on_node_uuid="5">
++        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="45" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="3">
++    <action_set>
++      <rsc_op id="45" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5">
++        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="7" operation="probe_nodes_complete" operation_key="probe_nodes_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="4">
++    <action_set>
++      <rsc_op id="35" operation="monitor" operation_key="remote1_monitor_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="5">
++    <action_set>
++      <rsc_op id="25" operation="monitor" operation_key="remote1_monitor_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="remote1" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="6">
++    <action_set>
++      <rsc_op id="48" operation="monitor" operation_key="FAKE1_monitor_60000" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="47" operation="start" operation_key="FAKE1_start_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="7">
++    <action_set>
++      <rsc_op id="47" operation="start" operation_key="FAKE1_start_0" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="8">
++    <action_set>
++      <rsc_op id="36" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="9">
++    <action_set>
++      <rsc_op id="26" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="10">
++    <action_set>
++      <rsc_op id="19" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="11">
++    <action_set>
++      <rsc_op id="14" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="12">
++    <action_set>
++      <rsc_op id="9" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18builder" on_node_uuid="5">
++        <primitive id="FAKE1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="13">
++    <action_set>
++      <rsc_op id="51" operation="monitor" operation_key="FAKE2_monitor_60000" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="50" operation="start" operation_key="FAKE2_start_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="14">
++    <action_set>
++      <rsc_op id="50" operation="start" operation_key="FAKE2_start_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="49" operation="stop" operation_key="FAKE2_stop_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="15">
++    <action_set>
++      <rsc_op id="49" operation="stop" operation_key="FAKE2_stop_0" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="16">
++    <action_set>
++      <rsc_op id="37" operation="monitor" operation_key="FAKE2_monitor_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="17">
++    <action_set>
++      <rsc_op id="27" operation="monitor" operation_key="FAKE2_monitor_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKE2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="18">
++    <action_set>
++      <rsc_op id="54" operation="monitor" operation_key="FAKE3_monitor_60000" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKE3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="53" operation="start" operation_key="FAKE3_start_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="19">
++    <action_set>
++      <rsc_op id="53" operation="start" operation_key="FAKE3_start_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKE3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="52" operation="stop" operation_key="FAKE3_stop_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="20">
++    <action_set>
++      <rsc_op id="52" operation="stop" operation_key="FAKE3_stop_0" on_node="18builder" on_node_uuid="5">
++        <primitive id="FAKE3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="21">
++    <action_set>
++      <rsc_op id="38" operation="monitor" operation_key="FAKE3_monitor_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKE3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="22">
++    <action_set>
++      <rsc_op id="28" operation="monitor" operation_key="FAKE3_monitor_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKE3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="23">
++    <action_set>
++      <rsc_op id="57" operation="monitor" operation_key="FAKE4_monitor_60000" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
++        <primitive id="FAKE4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="45" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="56" operation="start" operation_key="FAKE4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="24">
++    <action_set>
++      <rsc_op id="56" operation="start" operation_key="FAKE4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
++        <primitive id="FAKE4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="45" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="55" operation="stop" operation_key="FAKE4_stop_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="25">
++    <action_set>
++      <rsc_op id="55" operation="stop" operation_key="FAKE4_stop_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKE4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="26">
++    <action_set>
++      <rsc_op id="39" operation="monitor" operation_key="FAKE4_monitor_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKE4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="27">
++    <action_set>
++      <rsc_op id="29" operation="monitor" operation_key="FAKE4_monitor_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKE4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="28">
++    <action_set>
++      <rsc_op id="59" operation="monitor" operation_key="FAKE5_monitor_60000" on_node="18builder" on_node_uuid="5">
++        <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="58" operation="start" operation_key="FAKE5_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="29">
++    <action_set>
++      <rsc_op id="58" operation="start" operation_key="FAKE5_start_0" on_node="18builder" on_node_uuid="5">
++        <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="30">
++    <action_set>
++      <rsc_op id="40" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="31">
++    <action_set>
++      <rsc_op id="30" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="32">
++    <action_set>
++      <rsc_op id="20" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="33">
++    <action_set>
++      <rsc_op id="15" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="34">
++    <action_set>
++      <rsc_op id="10" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18builder" on_node_uuid="5">
++        <primitive id="FAKE5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="35">
++    <action_set>
++      <rsc_op id="61" operation="monitor" operation_key="FAKECLONE1:0_monitor_60000" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="60" operation="start" operation_key="FAKECLONE1:0_start_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="36">
++    <action_set>
++      <rsc_op id="60" operation="start" operation_key="FAKECLONE1:0_start_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="72" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="37">
++    <action_set>
++      <rsc_op id="16" operation="monitor" operation_key="FAKECLONE1:0_monitor_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="38">
++    <action_set>
++      <rsc_op id="63" operation="monitor" operation_key="FAKECLONE1:1_monitor_60000" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="62" operation="start" operation_key="FAKECLONE1:1_start_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="39">
++    <action_set>
++      <rsc_op id="62" operation="start" operation_key="FAKECLONE1:1_start_0" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="72" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="40">
++    <action_set>
++      <rsc_op id="21" operation="monitor" operation_key="FAKECLONE1:1_monitor_0" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="41">
++    <action_set>
++      <rsc_op id="65" operation="monitor" operation_key="FAKECLONE1:2_monitor_60000" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="2" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="64" operation="start" operation_key="FAKECLONE1:2_start_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="42">
++    <action_set>
++      <rsc_op id="64" operation="start" operation_key="FAKECLONE1:2_start_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="2" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="72" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="43">
++    <action_set>
++      <rsc_op id="31" operation="monitor" operation_key="FAKECLONE1:2_monitor_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="2" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="44">
++    <action_set>
++      <rsc_op id="67" operation="monitor" operation_key="FAKECLONE1:3_monitor_60000" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="3" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="66" operation="start" operation_key="FAKECLONE1:3_start_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="45">
++    <action_set>
++      <rsc_op id="66" operation="start" operation_key="FAKECLONE1:3_start_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="3" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="72" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="46">
++    <action_set>
++      <rsc_op id="41" operation="monitor" operation_key="FAKECLONE1:3_monitor_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="3" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="47">
++    <action_set>
++      <rsc_op id="69" operation="monitor" operation_key="FAKECLONE1:4_monitor_60000" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="4" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="45" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="68" operation="start" operation_key="FAKECLONE1:4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="48">
++    <action_set>
++      <rsc_op id="68" operation="start" operation_key="FAKECLONE1:4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="4" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="45" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="72" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="49">
++    <action_set>
++      <rsc_op id="71" operation="monitor" operation_key="FAKECLONE1:5_monitor_60000" on_node="18builder" on_node_uuid="5">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="5" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="70" operation="start" operation_key="FAKECLONE1:5_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="50">
++    <action_set>
++      <rsc_op id="70" operation="start" operation_key="FAKECLONE1:5_start_0" on_node="18builder" on_node_uuid="5">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="5" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="72" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="51">
++    <action_set>
++      <rsc_op id="11" operation="monitor" operation_key="FAKECLONE1:5_monitor_0" on_node="18builder" on_node_uuid="5">
++        <primitive id="FAKECLONE1" long-id="FAKECLONE1:5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="5" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="52" priority="1000000">
++    <action_set>
++      <pseudo_event id="73" operation="running" operation_key="FAKECLONE1-clone_running_0">
++        <attributes CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="60" operation="start" operation_key="FAKECLONE1:0_start_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="62" operation="start" operation_key="FAKECLONE1:1_start_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="64" operation="start" operation_key="FAKECLONE1:2_start_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="66" operation="start" operation_key="FAKECLONE1:3_start_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="68" operation="start" operation_key="FAKECLONE1:4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="70" operation="start" operation_key="FAKECLONE1:5_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="72" operation="start" operation_key="FAKECLONE1-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="53">
++    <action_set>
++      <pseudo_event id="72" operation="start" operation_key="FAKECLONE1-clone_start_0">
++        <attributes CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="54">
++    <action_set>
++      <rsc_op id="77" operation="monitor" operation_key="FAKECLONE2:0_monitor_60000" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="76" operation="start" operation_key="FAKECLONE2:0_start_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="55">
++    <action_set>
++      <rsc_op id="76" operation="start" operation_key="FAKECLONE2:0_start_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="88" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="56">
++    <action_set>
++      <rsc_op id="17" operation="monitor" operation_key="FAKECLONE2:0_monitor_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:0" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="0" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="57">
++    <action_set>
++      <rsc_op id="79" operation="monitor" operation_key="FAKECLONE2:1_monitor_60000" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="78" operation="start" operation_key="FAKECLONE2:1_start_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="58">
++    <action_set>
++      <rsc_op id="78" operation="start" operation_key="FAKECLONE2:1_start_0" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="88" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="59">
++    <action_set>
++      <rsc_op id="22" operation="monitor" operation_key="FAKECLONE2:1_monitor_0" on_node="18node2" on_node_uuid="2">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:1" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="1" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="60">
++    <action_set>
++      <rsc_op id="81" operation="monitor" operation_key="FAKECLONE2:2_monitor_60000" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="2" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="80" operation="start" operation_key="FAKECLONE2:2_start_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="61">
++    <action_set>
++      <rsc_op id="80" operation="start" operation_key="FAKECLONE2:2_start_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="2" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="88" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="62">
++    <action_set>
++      <rsc_op id="32" operation="monitor" operation_key="FAKECLONE2:2_monitor_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:2" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="2" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="63">
++    <action_set>
++      <rsc_op id="83" operation="monitor" operation_key="FAKECLONE2:3_monitor_60000" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="3" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="82" operation="start" operation_key="FAKECLONE2:3_start_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="64">
++    <action_set>
++      <rsc_op id="82" operation="start" operation_key="FAKECLONE2:3_start_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="3" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="88" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="65">
++    <action_set>
++      <rsc_op id="42" operation="monitor" operation_key="FAKECLONE2:3_monitor_0" on_node="18node4" on_node_uuid="4">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:3" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="3" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="66">
++    <action_set>
++      <rsc_op id="85" operation="monitor" operation_key="FAKECLONE2:4_monitor_60000" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="4" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="45" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="84" operation="start" operation_key="FAKECLONE2:4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="67">
++    <action_set>
++      <rsc_op id="84" operation="start" operation_key="FAKECLONE2:4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:4" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="4" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="45" operation="start" operation_key="remote1_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="88" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="68">
++    <action_set>
++      <rsc_op id="87" operation="monitor" operation_key="FAKECLONE2:5_monitor_60000" on_node="18builder" on_node_uuid="5">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="5" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="86" operation="start" operation_key="FAKECLONE2:5_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="69">
++    <action_set>
++      <rsc_op id="86" operation="start" operation_key="FAKECLONE2:5_start_0" on_node="18builder" on_node_uuid="5">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="5" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="88" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="70">
++    <action_set>
++      <rsc_op id="12" operation="monitor" operation_key="FAKECLONE2:5_monitor_0" on_node="18builder" on_node_uuid="5">
++        <primitive id="FAKECLONE2" long-id="FAKECLONE2:5" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_clone="5" CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="71" priority="1000000">
++    <action_set>
++      <pseudo_event id="89" operation="running" operation_key="FAKECLONE2-clone_running_0">
++        <attributes CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="76" operation="start" operation_key="FAKECLONE2:0_start_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="78" operation="start" operation_key="FAKECLONE2:1_start_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="80" operation="start" operation_key="FAKECLONE2:2_start_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="82" operation="start" operation_key="FAKECLONE2:3_start_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="84" operation="start" operation_key="FAKECLONE2:4_start_0" on_node="remote1" on_node_uuid="remote1" router_node="18builder"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="86" operation="start" operation_key="FAKECLONE2:5_start_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="88" operation="start" operation_key="FAKECLONE2-clone_start_0"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="72">
++    <action_set>
++      <pseudo_event id="88" operation="start" operation_key="FAKECLONE2-clone_start_0">
++        <attributes CRM_meta_clone_max="6" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="73" priority="1000000">
++    <action_set>
++      <rsc_op id="33" operation="probe_complete" operation_key="probe_complete-18node4" on_node="18node4" on_node_uuid="4">
++        <attributes CRM_meta_op_no_wait="true" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="34" operation="monitor" operation_key="shooter_monitor_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="35" operation="monitor" operation_key="remote1_monitor_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="36" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="37" operation="monitor" operation_key="FAKE2_monitor_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="38" operation="monitor" operation_key="FAKE3_monitor_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="39" operation="monitor" operation_key="FAKE4_monitor_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="40" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="41" operation="monitor" operation_key="FAKECLONE1:3_monitor_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="42" operation="monitor" operation_key="FAKECLONE2:3_monitor_0" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="74" priority="1000000">
++    <action_set>
++      <rsc_op id="23" operation="probe_complete" operation_key="probe_complete-18node3" on_node="18node3" on_node_uuid="3">
++        <attributes CRM_meta_op_no_wait="true" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="24" operation="monitor" operation_key="shooter_monitor_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="25" operation="monitor" operation_key="remote1_monitor_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="26" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="27" operation="monitor" operation_key="FAKE2_monitor_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="28" operation="monitor" operation_key="FAKE3_monitor_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="29" operation="monitor" operation_key="FAKE4_monitor_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="30" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="31" operation="monitor" operation_key="FAKECLONE1:2_monitor_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="32" operation="monitor" operation_key="FAKECLONE2:2_monitor_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="75" priority="1000000">
++    <action_set>
++      <rsc_op id="18" operation="probe_complete" operation_key="probe_complete-18node2" on_node="18node2" on_node_uuid="2">
++        <attributes CRM_meta_op_no_wait="true" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="19" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="20" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="21" operation="monitor" operation_key="FAKECLONE1:1_monitor_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="22" operation="monitor" operation_key="FAKECLONE2:1_monitor_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="76" priority="1000000">
++    <action_set>
++      <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-18node1" on_node="18node1" on_node_uuid="1">
++        <attributes CRM_meta_op_no_wait="true" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="14" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="15" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="16" operation="monitor" operation_key="FAKECLONE1:0_monitor_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="17" operation="monitor" operation_key="FAKECLONE2:0_monitor_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="77" priority="1000000">
++    <action_set>
++      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-18builder" on_node="18builder" on_node_uuid="5">
++        <attributes CRM_meta_op_no_wait="true" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="9" operation="monitor" operation_key="FAKE1_monitor_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="10" operation="monitor" operation_key="FAKE5_monitor_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="11" operation="monitor" operation_key="FAKECLONE1:5_monitor_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="12" operation="monitor" operation_key="FAKECLONE2:5_monitor_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="78">
++    <action_set>
++      <pseudo_event id="7" operation="probe_nodes_complete" operation_key="probe_nodes_complete">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-18builder" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="13" operation="probe_complete" operation_key="probe_complete-18node1" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="18" operation="probe_complete" operation_key="probe_complete-18node2" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="23" operation="probe_complete" operation_key="probe_complete-18node3" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="33" operation="probe_complete" operation_key="probe_complete-18node4" on_node="18node4" on_node_uuid="4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="79">
++    <action_set>
++      <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="80">
++    <action_set>
++      <pseudo_event id="5" operation="all_stopped" operation_key="all_stopped">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="49" operation="stop" operation_key="FAKE2_stop_0" on_node="18node2" on_node_uuid="2"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="52" operation="stop" operation_key="FAKE3_stop_0" on_node="18builder" on_node_uuid="5"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="55" operation="stop" operation_key="FAKE4_stop_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++</transition_graph>
+diff --git a/pengine/test10/rsc-discovery-per-node.scores b/pengine/test10/rsc-discovery-per-node.scores
+new file mode 100644
+index 0000000..a0ad11f
+--- /dev/null
++++ b/pengine/test10/rsc-discovery-per-node.scores
+@@ -0,0 +1,199 @@
++Allocation scores:
++clone_color: FAKECLONE1-clone allocation score on 18builder: 0
++clone_color: FAKECLONE1-clone allocation score on 18node1: 0
++clone_color: FAKECLONE1-clone allocation score on 18node2: 0
++clone_color: FAKECLONE1-clone allocation score on 18node3: 0
++clone_color: FAKECLONE1-clone allocation score on 18node4: 0
++clone_color: FAKECLONE1-clone allocation score on remote1: 0
++clone_color: FAKECLONE1:0 allocation score on 18builder: 0
++clone_color: FAKECLONE1:0 allocation score on 18node1: 0
++clone_color: FAKECLONE1:0 allocation score on 18node2: 0
++clone_color: FAKECLONE1:0 allocation score on 18node3: 0
++clone_color: FAKECLONE1:0 allocation score on 18node4: 0
++clone_color: FAKECLONE1:0 allocation score on remote1: 0
++clone_color: FAKECLONE1:1 allocation score on 18builder: 0
++clone_color: FAKECLONE1:1 allocation score on 18node1: 0
++clone_color: FAKECLONE1:1 allocation score on 18node2: 0
++clone_color: FAKECLONE1:1 allocation score on 18node3: 0
++clone_color: FAKECLONE1:1 allocation score on 18node4: 0
++clone_color: FAKECLONE1:1 allocation score on remote1: 0
++clone_color: FAKECLONE1:2 allocation score on 18builder: 0
++clone_color: FAKECLONE1:2 allocation score on 18node1: 0
++clone_color: FAKECLONE1:2 allocation score on 18node2: 0
++clone_color: FAKECLONE1:2 allocation score on 18node3: 0
++clone_color: FAKECLONE1:2 allocation score on 18node4: 0
++clone_color: FAKECLONE1:2 allocation score on remote1: 0
++clone_color: FAKECLONE1:3 allocation score on 18builder: 0
++clone_color: FAKECLONE1:3 allocation score on 18node1: 0
++clone_color: FAKECLONE1:3 allocation score on 18node2: 0
++clone_color: FAKECLONE1:3 allocation score on 18node3: 0
++clone_color: FAKECLONE1:3 allocation score on 18node4: 0
++clone_color: FAKECLONE1:3 allocation score on remote1: 0
++clone_color: FAKECLONE1:4 allocation score on 18builder: 0
++clone_color: FAKECLONE1:4 allocation score on 18node1: 0
++clone_color: FAKECLONE1:4 allocation score on 18node2: 0
++clone_color: FAKECLONE1:4 allocation score on 18node3: 0
++clone_color: FAKECLONE1:4 allocation score on 18node4: 0
++clone_color: FAKECLONE1:4 allocation score on remote1: 0
++clone_color: FAKECLONE1:5 allocation score on 18builder: 0
++clone_color: FAKECLONE1:5 allocation score on 18node1: 0
++clone_color: FAKECLONE1:5 allocation score on 18node2: 0
++clone_color: FAKECLONE1:5 allocation score on 18node3: 0
++clone_color: FAKECLONE1:5 allocation score on 18node4: 0
++clone_color: FAKECLONE1:5 allocation score on remote1: 0
++clone_color: FAKECLONE2-clone allocation score on 18builder: 0
++clone_color: FAKECLONE2-clone allocation score on 18node1: 0
++clone_color: FAKECLONE2-clone allocation score on 18node2: 0
++clone_color: FAKECLONE2-clone allocation score on 18node3: 0
++clone_color: FAKECLONE2-clone allocation score on 18node4: 0
++clone_color: FAKECLONE2-clone allocation score on remote1: 0
++clone_color: FAKECLONE2:0 allocation score on 18builder: 0
++clone_color: FAKECLONE2:0 allocation score on 18node1: 0
++clone_color: FAKECLONE2:0 allocation score on 18node2: 0
++clone_color: FAKECLONE2:0 allocation score on 18node3: 0
++clone_color: FAKECLONE2:0 allocation score on 18node4: 0
++clone_color: FAKECLONE2:0 allocation score on remote1: 0
++clone_color: FAKECLONE2:1 allocation score on 18builder: 0
++clone_color: FAKECLONE2:1 allocation score on 18node1: 0
++clone_color: FAKECLONE2:1 allocation score on 18node2: 0
++clone_color: FAKECLONE2:1 allocation score on 18node3: 0
++clone_color: FAKECLONE2:1 allocation score on 18node4: 0
++clone_color: FAKECLONE2:1 allocation score on remote1: 0
++clone_color: FAKECLONE2:2 allocation score on 18builder: 0
++clone_color: FAKECLONE2:2 allocation score on 18node1: 0
++clone_color: FAKECLONE2:2 allocation score on 18node2: 0
++clone_color: FAKECLONE2:2 allocation score on 18node3: 0
++clone_color: FAKECLONE2:2 allocation score on 18node4: 0
++clone_color: FAKECLONE2:2 allocation score on remote1: 0
++clone_color: FAKECLONE2:3 allocation score on 18builder: 0
++clone_color: FAKECLONE2:3 allocation score on 18node1: 0
++clone_color: FAKECLONE2:3 allocation score on 18node2: 0
++clone_color: FAKECLONE2:3 allocation score on 18node3: 0
++clone_color: FAKECLONE2:3 allocation score on 18node4: 0
++clone_color: FAKECLONE2:3 allocation score on remote1: 0
++clone_color: FAKECLONE2:4 allocation score on 18builder: 0
++clone_color: FAKECLONE2:4 allocation score on 18node1: 0
++clone_color: FAKECLONE2:4 allocation score on 18node2: 0
++clone_color: FAKECLONE2:4 allocation score on 18node3: 0
++clone_color: FAKECLONE2:4 allocation score on 18node4: 0
++clone_color: FAKECLONE2:4 allocation score on remote1: 0
++clone_color: FAKECLONE2:5 allocation score on 18builder: 0
++clone_color: FAKECLONE2:5 allocation score on 18node1: 0
++clone_color: FAKECLONE2:5 allocation score on 18node2: 0
++clone_color: FAKECLONE2:5 allocation score on 18node3: 0
++clone_color: FAKECLONE2:5 allocation score on 18node4: 0
++clone_color: FAKECLONE2:5 allocation score on remote1: 0
++native_color: FAKE1 allocation score on 18builder: 0
++native_color: FAKE1 allocation score on 18node1: 0
++native_color: FAKE1 allocation score on 18node2: 0
++native_color: FAKE1 allocation score on 18node3: 0
++native_color: FAKE1 allocation score on 18node4: 0
++native_color: FAKE1 allocation score on remote1: 0
++native_color: FAKE2 allocation score on 18builder: 0
++native_color: FAKE2 allocation score on 18node1: 0
++native_color: FAKE2 allocation score on 18node2: 0
++native_color: FAKE2 allocation score on 18node3: 0
++native_color: FAKE2 allocation score on 18node4: 0
++native_color: FAKE2 allocation score on remote1: 0
++native_color: FAKE3 allocation score on 18builder: 0
++native_color: FAKE3 allocation score on 18node1: 0
++native_color: FAKE3 allocation score on 18node2: 0
++native_color: FAKE3 allocation score on 18node3: 0
++native_color: FAKE3 allocation score on 18node4: 0
++native_color: FAKE3 allocation score on remote1: 0
++native_color: FAKE4 allocation score on 18builder: 0
++native_color: FAKE4 allocation score on 18node1: 0
++native_color: FAKE4 allocation score on 18node2: 0
++native_color: FAKE4 allocation score on 18node3: 0
++native_color: FAKE4 allocation score on 18node4: 0
++native_color: FAKE4 allocation score on remote1: 0
++native_color: FAKE5 allocation score on 18builder: 0
++native_color: FAKE5 allocation score on 18node1: 0
++native_color: FAKE5 allocation score on 18node2: 0
++native_color: FAKE5 allocation score on 18node3: 0
++native_color: FAKE5 allocation score on 18node4: 0
++native_color: FAKE5 allocation score on remote1: 0
++native_color: FAKECLONE1:0 allocation score on 18builder: 0
++native_color: FAKECLONE1:0 allocation score on 18node1: 0
++native_color: FAKECLONE1:0 allocation score on 18node2: 0
++native_color: FAKECLONE1:0 allocation score on 18node3: 0
++native_color: FAKECLONE1:0 allocation score on 18node4: 0
++native_color: FAKECLONE1:0 allocation score on remote1: 0
++native_color: FAKECLONE1:1 allocation score on 18builder: 0
++native_color: FAKECLONE1:1 allocation score on 18node1: -INFINITY
++native_color: FAKECLONE1:1 allocation score on 18node2: 0
++native_color: FAKECLONE1:1 allocation score on 18node3: 0
++native_color: FAKECLONE1:1 allocation score on 18node4: 0
++native_color: FAKECLONE1:1 allocation score on remote1: 0
++native_color: FAKECLONE1:2 allocation score on 18builder: 0
++native_color: FAKECLONE1:2 allocation score on 18node1: -INFINITY
++native_color: FAKECLONE1:2 allocation score on 18node2: -INFINITY
++native_color: FAKECLONE1:2 allocation score on 18node3: 0
++native_color: FAKECLONE1:2 allocation score on 18node4: 0
++native_color: FAKECLONE1:2 allocation score on remote1: 0
++native_color: FAKECLONE1:3 allocation score on 18builder: 0
++native_color: FAKECLONE1:3 allocation score on 18node1: -INFINITY
++native_color: FAKECLONE1:3 allocation score on 18node2: -INFINITY
++native_color: FAKECLONE1:3 allocation score on 18node3: -INFINITY
++native_color: FAKECLONE1:3 allocation score on 18node4: 0
++native_color: FAKECLONE1:3 allocation score on remote1: 0
++native_color: FAKECLONE1:4 allocation score on 18builder: 0
++native_color: FAKECLONE1:4 allocation score on 18node1: -INFINITY
++native_color: FAKECLONE1:4 allocation score on 18node2: -INFINITY
++native_color: FAKECLONE1:4 allocation score on 18node3: -INFINITY
++native_color: FAKECLONE1:4 allocation score on 18node4: -INFINITY
++native_color: FAKECLONE1:4 allocation score on remote1: 0
++native_color: FAKECLONE1:5 allocation score on 18builder: 0
++native_color: FAKECLONE1:5 allocation score on 18node1: -INFINITY
++native_color: FAKECLONE1:5 allocation score on 18node2: -INFINITY
++native_color: FAKECLONE1:5 allocation score on 18node3: -INFINITY
++native_color: FAKECLONE1:5 allocation score on 18node4: -INFINITY
++native_color: FAKECLONE1:5 allocation score on remote1: -INFINITY
++native_color: FAKECLONE2:0 allocation score on 18builder: 0
++native_color: FAKECLONE2:0 allocation score on 18node1: 0
++native_color: FAKECLONE2:0 allocation score on 18node2: 0
++native_color: FAKECLONE2:0 allocation score on 18node3: 0
++native_color: FAKECLONE2:0 allocation score on 18node4: 0
++native_color: FAKECLONE2:0 allocation score on remote1: 0
++native_color: FAKECLONE2:1 allocation score on 18builder: 0
++native_color: FAKECLONE2:1 allocation score on 18node1: -INFINITY
++native_color: FAKECLONE2:1 allocation score on 18node2: 0
++native_color: FAKECLONE2:1 allocation score on 18node3: 0
++native_color: FAKECLONE2:1 allocation score on 18node4: 0
++native_color: FAKECLONE2:1 allocation score on remote1: 0
++native_color: FAKECLONE2:2 allocation score on 18builder: 0
++native_color: FAKECLONE2:2 allocation score on 18node1: -INFINITY
++native_color: FAKECLONE2:2 allocation score on 18node2: -INFINITY
++native_color: FAKECLONE2:2 allocation score on 18node3: 0
++native_color: FAKECLONE2:2 allocation score on 18node4: 0
++native_color: FAKECLONE2:2 allocation score on remote1: 0
++native_color: FAKECLONE2:3 allocation score on 18builder: 0
++native_color: FAKECLONE2:3 allocation score on 18node1: -INFINITY
++native_color: FAKECLONE2:3 allocation score on 18node2: -INFINITY
++native_color: FAKECLONE2:3 allocation score on 18node3: -INFINITY
++native_color: FAKECLONE2:3 allocation score on 18node4: 0
++native_color: FAKECLONE2:3 allocation score on remote1: 0
++native_color: FAKECLONE2:4 allocation score on 18builder: 0
++native_color: FAKECLONE2:4 allocation score on 18node1: -INFINITY
++native_color: FAKECLONE2:4 allocation score on 18node2: -INFINITY
++native_color: FAKECLONE2:4 allocation score on 18node3: -INFINITY
++native_color: FAKECLONE2:4 allocation score on 18node4: -INFINITY
++native_color: FAKECLONE2:4 allocation score on remote1: 0
++native_color: FAKECLONE2:5 allocation score on 18builder: 0
++native_color: FAKECLONE2:5 allocation score on 18node1: -INFINITY
++native_color: FAKECLONE2:5 allocation score on 18node2: -INFINITY
++native_color: FAKECLONE2:5 allocation score on 18node3: -INFINITY
++native_color: FAKECLONE2:5 allocation score on 18node4: -INFINITY
++native_color: FAKECLONE2:5 allocation score on remote1: -INFINITY
++native_color: remote1 allocation score on 18builder: 0
++native_color: remote1 allocation score on 18node1: 0
++native_color: remote1 allocation score on 18node2: 0
++native_color: remote1 allocation score on 18node3: 0
++native_color: remote1 allocation score on 18node4: 0
++native_color: remote1 allocation score on remote1: -INFINITY
++native_color: shooter allocation score on 18builder: 0
++native_color: shooter allocation score on 18node1: 0
++native_color: shooter allocation score on 18node2: 0
++native_color: shooter allocation score on 18node3: 0
++native_color: shooter allocation score on 18node4: 0
++native_color: shooter allocation score on remote1: -INFINITY
+diff --git a/pengine/test10/rsc-discovery-per-node.summary b/pengine/test10/rsc-discovery-per-node.summary
+new file mode 100644
+index 0000000..69d5ee3
+--- /dev/null
++++ b/pengine/test10/rsc-discovery-per-node.summary
+@@ -0,0 +1,131 @@
++
++Current cluster status:
++Online: [ 18builder 18node1 18node2 18node3 18node4 ]
++RemoteOFFLINE: [ remote1 ]
++
++ shooter	(stonith:fence_xvm):	Started 18node1 
++ remote1	(ocf::pacemaker:remote):	Stopped 
++ FAKE1	(ocf::heartbeat:Dummy):	Stopped 
++ FAKE2	(ocf::heartbeat:Dummy):	Started 18node2 
++ FAKE3	(ocf::heartbeat:Dummy):	Started 18builder 
++ FAKE4	(ocf::heartbeat:Dummy):	Started 18node1 
++ FAKE5	(ocf::heartbeat:Dummy):	Stopped 
++ Clone Set: FAKECLONE1-clone [FAKECLONE1]
++     Stopped: [ 18builder 18node1 18node2 18node3 18node4 remote1 ]
++ Clone Set: FAKECLONE2-clone [FAKECLONE2]
++     Stopped: [ 18builder 18node1 18node2 18node3 18node4 remote1 ]
++
++Transition Summary:
++ * Start   remote1	(18builder)
++ * Start   FAKE1	(18node2)
++ * Move    FAKE2	(Started 18node2 -> 18node3)
++ * Move    FAKE3	(Started 18builder -> 18node4)
++ * Move    FAKE4	(Started 18node1 -> remote1)
++ * Start   FAKE5	(18builder)
++ * Start   FAKECLONE1:0	(18node1)
++ * Start   FAKECLONE1:1	(18node2)
++ * Start   FAKECLONE1:2	(18node3)
++ * Start   FAKECLONE1:3	(18node4)
++ * Start   FAKECLONE1:4	(remote1)
++ * Start   FAKECLONE1:5	(18builder)
++ * Start   FAKECLONE2:0	(18node1)
++ * Start   FAKECLONE2:1	(18node2)
++ * Start   FAKECLONE2:2	(18node3)
++ * Start   FAKECLONE2:3	(18node4)
++ * Start   FAKECLONE2:4	(remote1)
++ * Start   FAKECLONE2:5	(18builder)
++
++Executing cluster transition:
++ * Resource action: shooter         monitor on 18node4
++ * Resource action: shooter         monitor on 18node3
++ * Resource action: remote1         monitor on 18node4
++ * Resource action: remote1         monitor on 18node3
++ * Resource action: FAKE1           monitor on 18node4
++ * Resource action: FAKE1           monitor on 18node3
++ * Resource action: FAKE1           monitor on 18node2
++ * Resource action: FAKE1           monitor on 18node1
++ * Resource action: FAKE1           monitor on 18builder
++ * Resource action: FAKE2           monitor on 18node4
++ * Resource action: FAKE2           monitor on 18node3
++ * Resource action: FAKE3           monitor on 18node4
++ * Resource action: FAKE3           monitor on 18node3
++ * Resource action: FAKE4           monitor on 18node4
++ * Resource action: FAKE4           monitor on 18node3
++ * Resource action: FAKE5           monitor on 18node4
++ * Resource action: FAKE5           monitor on 18node3
++ * Resource action: FAKE5           monitor on 18node2
++ * Resource action: FAKE5           monitor on 18node1
++ * Resource action: FAKE5           monitor on 18builder
++ * Resource action: FAKECLONE1:0    monitor on 18node1
++ * Resource action: FAKECLONE1:1    monitor on 18node2
++ * Resource action: FAKECLONE1:2    monitor on 18node3
++ * Resource action: FAKECLONE1:3    monitor on 18node4
++ * Resource action: FAKECLONE1:5    monitor on 18builder
++ * Pseudo action:   FAKECLONE1-clone_start_0
++ * Resource action: FAKECLONE2:0    monitor on 18node1
++ * Resource action: FAKECLONE2:1    monitor on 18node2
++ * Resource action: FAKECLONE2:2    monitor on 18node3
++ * Resource action: FAKECLONE2:3    monitor on 18node4
++ * Resource action: FAKECLONE2:5    monitor on 18builder
++ * Pseudo action:   FAKECLONE2-clone_start_0
++ * Pseudo action:   probe_nodes_complete
++ * Pseudo action:   probe_complete
++ * Resource action: remote1         start on 18builder
++ * Resource action: FAKE1           start on 18node2
++ * Resource action: FAKE2           stop on 18node2
++ * Resource action: FAKE3           stop on 18builder
++ * Resource action: FAKE4           stop on 18node1
++ * Resource action: FAKE5           start on 18builder
++ * Resource action: FAKECLONE1:0    start on 18node1
++ * Resource action: FAKECLONE1:1    start on 18node2
++ * Resource action: FAKECLONE1:2    start on 18node3
++ * Resource action: FAKECLONE1:3    start on 18node4
++ * Resource action: FAKECLONE1:4    start on remote1
++ * Resource action: FAKECLONE1:5    start on 18builder
++ * Pseudo action:   FAKECLONE1-clone_running_0
++ * Resource action: FAKECLONE2:0    start on 18node1
++ * Resource action: FAKECLONE2:1    start on 18node2
++ * Resource action: FAKECLONE2:2    start on 18node3
++ * Resource action: FAKECLONE2:3    start on 18node4
++ * Resource action: FAKECLONE2:4    start on remote1
++ * Resource action: FAKECLONE2:5    start on 18builder
++ * Pseudo action:   FAKECLONE2-clone_running_0
++ * Pseudo action:   all_stopped
++ * Resource action: remote1         monitor=60000 on 18builder
++ * Resource action: FAKE1           monitor=60000 on 18node2
++ * Resource action: FAKE2           start on 18node3
++ * Resource action: FAKE3           start on 18node4
++ * Resource action: FAKE4           start on remote1
++ * Resource action: FAKE5           monitor=60000 on 18builder
++ * Resource action: FAKECLONE1:0    monitor=60000 on 18node1
++ * Resource action: FAKECLONE1:1    monitor=60000 on 18node2
++ * Resource action: FAKECLONE1:2    monitor=60000 on 18node3
++ * Resource action: FAKECLONE1:3    monitor=60000 on 18node4
++ * Resource action: FAKECLONE1:4    monitor=60000 on remote1
++ * Resource action: FAKECLONE1:5    monitor=60000 on 18builder
++ * Resource action: FAKECLONE2:0    monitor=60000 on 18node1
++ * Resource action: FAKECLONE2:1    monitor=60000 on 18node2
++ * Resource action: FAKECLONE2:2    monitor=60000 on 18node3
++ * Resource action: FAKECLONE2:3    monitor=60000 on 18node4
++ * Resource action: FAKECLONE2:4    monitor=60000 on remote1
++ * Resource action: FAKECLONE2:5    monitor=60000 on 18builder
++ * Resource action: FAKE2           monitor=60000 on 18node3
++ * Resource action: FAKE3           monitor=60000 on 18node4
++ * Resource action: FAKE4           monitor=60000 on remote1
++
++Revised cluster status:
++Online: [ 18builder 18node1 18node2 18node3 18node4 ]
++RemoteOnline: [ remote1 ]
++
++ shooter	(stonith:fence_xvm):	Started 18node1 
++ remote1	(ocf::pacemaker:remote):	Started 18builder 
++ FAKE1	(ocf::heartbeat:Dummy):	Started 18node2 
++ FAKE2	(ocf::heartbeat:Dummy):	Started 18node3 
++ FAKE3	(ocf::heartbeat:Dummy):	Started 18node4 
++ FAKE4	(ocf::heartbeat:Dummy):	Started remote1 
++ FAKE5	(ocf::heartbeat:Dummy):	Started 18builder 
++ Clone Set: FAKECLONE1-clone [FAKECLONE1]
++     Started: [ 18builder 18node1 18node2 18node3 18node4 remote1 ]
++ Clone Set: FAKECLONE2-clone [FAKECLONE2]
++     Started: [ 18builder 18node1 18node2 18node3 18node4 remote1 ]
++
+diff --git a/pengine/test10/rsc-discovery-per-node.xml b/pengine/test10/rsc-discovery-per-node.xml
+new file mode 100644
+index 0000000..c111de8
+--- /dev/null
++++ b/pengine/test10/rsc-discovery-per-node.xml
+@@ -0,0 +1,182 @@
++<cib epoch="11" num_updates="1" admin_epoch="0" validate-with="pacemaker-next" cib-last-written="Tue Sep  3 17:59:24 2013" update-origin="18builder" update-client="crm_resource" crm_feature_set="3.0.7" have-quorum="1" dc-uuid="5">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.10-ab50afe"/>
++        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes>
++      <node id="1" uname="18node1">
++        <instance_attributes id="instance_attributes-18node1">
++          <nvpair name="resource-discovery-enabled" id="discovery-18node1" value="false"/>
++        </instance_attributes>
++      </node>
++      <node id="2" uname="18node2"/>
++      <node id="3" uname="18node3"/>
++      <node id="4" uname="18node4"/>
++      <node id="5" uname="18builder"/>
++    </nodes>
++    <resources>
++      <primitive class="stonith" id="shooter" type="fence_xvm">
++        <instance_attributes id="shooter-instance_attributes"/>
++        <operations>
++          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="remote1" provider="pacemaker" type="remote">
++        <instance_attributes id="remote1-instance_attributes"/>
++        <operations>
++          <op id="remote1-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++        <meta_attributes id="remote1-meta_attributes"/>
++      </primitive>
++      <primitive class="ocf" id="FAKE1" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE1-instance_attributes"/>
++        <meta_attributes id="FAKE1-meta_attributes">
++        </meta_attributes>
++        <operations>
++          <op id="FAKE1-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE2" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE2-instance_attributes"/>
++        <meta_attributes id="FAKE2-meta_attributes">
++        </meta_attributes>
++        <operations>
++          <op id="FAKE2-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE3" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE3-instance_attributes"/>
++        <operations>
++          <op id="FAKE3-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE4" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE4-instance_attributes"/>
++        <operations>
++          <op id="FAKE4-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="FAKE5" provider="heartbeat" type="Dummy">
++        <instance_attributes id="FAKE5-instance_attributes"/>
++        <operations>
++          <op id="FAKE5-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <clone id="FAKECLONE1-clone">
++        <primitive class="ocf" id="FAKECLONE1" provider="heartbeat" type="Dummy">
++          <instance_attributes id="FAKECLONE1-instance_attributes"/>
++          <operations>
++            <op id="FAKECLONE1-monitor-interval-60s" interval="60s" name="monitor"/>
++          </operations>
++        </primitive>
++      </clone>
++      <clone id="FAKECLONE2-clone">
++        <primitive class="ocf" id="FAKECLONE2" provider="heartbeat" type="Dummy">
++          <instance_attributes id="FAKECLONE2-instance_attributes"/>
++          <operations>
++            <op id="FAKECLONE2-monitor-interval-60s" interval="60s" name="monitor"/>
++          </operations>
++        </primitive>
++      </clone>
++    </resources>
++    <constraints>
++    </constraints>
++  </configuration>
++  <status>
++    <node_state id="5" uname="18builder" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
++      <transient_attributes id="5">
++        <instance_attributes id="status-5">
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="5">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="11:4:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;11:4:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="16" rc-code="0" op-status="0" interval="0" last-run="1378248545" last-rc-change="1378248545" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="10:3:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;10:3:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="11" rc-code="0" op-status="0" interval="60000" last-rc-change="1378248534" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
++          </lrm_resource>
++          <lrm_resource id="remote1" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="remote1_last_0" operation_key="remote1_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="12:6:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;12:6:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="13" rc-code="0" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="remote1_monitor_60000" operation_key="remote1_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="13:5:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;13:5:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="3" rc-code="0" op-status="0" interval="60000" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="7:9:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;7:9:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="39" rc-code="7" op-status="0" interval="0" last-run="1378249145" last-rc-change="1378249145" exec-time="61" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="18:11:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;18:11:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="53" rc-code="0" op-status="0" interval="0" last-run="1378249147" last-rc-change="1378249147" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE3_monitor_60000" operation_key="FAKE3_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="19:11:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;19:11:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="56" rc-code="0" op-status="0" interval="60000" last-rc-change="1378249147" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="9:12:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;9:12:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="61" rc-code="7" op-status="0" interval="0" last-run="1378249149" last-rc-change="1378249149" exec-time="65" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="1" uname="18node1" crmd="online" crm-debug-origin="do_update_resource" in_ccm="true" join="member" expected="member">
++      <lrm id="1">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="12:4:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;12:4:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="9" rc-code="0" op-status="0" interval="0" last-run="1378248547" last-rc-change="1378248547" exec-time="19" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="13:4:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;13:4:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="12" rc-code="0" op-status="0" interval="60000" last-rc-change="1378248548" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
++          </lrm_resource>
++          <lrm_resource id="remote1" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="remote1_last_0" operation_key="remote1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="8:4:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;8:4:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="1" rc-code="7" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="9:9:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;9:9:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="25" rc-code="7" op-status="0" interval="0" last-run="1378249144" last-rc-change="1378249144" exec-time="28" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_failure_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="10:10:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;10:10:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="30" rc-code="0" op-status="0" interval="0" last-run="1378249146" last-rc-change="1378249146" exec-time="32" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="17:11:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;17:11:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="33" rc-code="0" op-status="0" interval="0" last-run="1378249146" last-rc-change="1378249146" exec-time="15" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="22:12:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;22:12:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="40" rc-code="0" op-status="0" interval="0" last-run="1378249148" last-rc-change="1378249148" exec-time="36" queue-time="38" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE4_monitor_60000" operation_key="FAKE4_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="23:12:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;23:12:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="44" rc-code="0" op-status="0" interval="60000" last-rc-change="1378249148" exec-time="14" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="1">
++        <instance_attributes id="status-1">
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state id="2" uname="18node2" crmd="online" crm-debug-origin="do_update_resource" in_ccm="true" join="member" expected="member">
++      <lrm id="2">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="8:3:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;8:3:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1378248530" last-rc-change="1378248530" exec-time="980" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="remote1" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="remote1_last_0" operation_key="remote1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="10:4:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;10:4:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="1" rc-code="7" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="16:9:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;16:9:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="18" rc-code="0" op-status="0" interval="0" last-run="1378249144" last-rc-change="1378249144" exec-time="18" queue-time="9" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="FAKE2_monitor_60000" operation_key="FAKE2_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="17:9:0:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:0;17:9:0:6277c962-3d23-450c-8410-560e51c1302b" call-id="22" rc-code="0" op-status="0" interval="60000" last-rc-change="1378249144" exec-time="20" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="12:10:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;12:10:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="27" rc-code="7" op-status="0" interval="0" last-run="1378249146" last-rc-change="1378249146" exec-time="35" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++          <lrm_resource id="FAKE4" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="FAKE4_last_0" operation_key="FAKE4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="13:12:7:6277c962-3d23-450c-8410-560e51c1302b" transition-magic="0:7;13:12:7:6277c962-3d23-450c-8410-560e51c1302b" call-id="32" rc-code="7" op-status="0" interval="0" last-run="1378249148" last-rc-change="1378249148" exec-time="33" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="2">
++        <instance_attributes id="status-2">
++          <nvpair name="resource-discovery-enabled" id="discovery-18node2" value="false"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state id="3" uname="18node3" crmd="online" crm-debug-origin="do_update_resource" in_ccm="true" join="member" expected="member"/>
++    <node_state id="4" uname="18node4" crmd="online" crm-debug-origin="do_update_resource" in_ccm="true" join="member" expected="member"/>
++    <node_state remote_node="true" id="remote1" uname="remote1" crm-debug-origin="remote_init_cib_status">
++      <transient_attributes id="remote1">
++        <instance_attributes id="status-remote1">
++          <nvpair name="resource-discovery-enabled" id="discovery-18node2" value="false"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++  </status>
++</cib>
+diff --git a/pengine/test10/whitebox-start.dot b/pengine/test10/whitebox-start.dot
+index bec57b0..659ea97 100644
+--- a/pengine/test10/whitebox-start.dot
++++ b/pengine/test10/whitebox-start.dot
+@@ -1,4 +1,16 @@
+ digraph "g" {
++"A_monitor_10000 lxc1" [ style=bold color="green" fontcolor="black"]
++"A_start_0 lxc1" -> "A_monitor_10000 lxc1" [ style = bold]
++"A_start_0 lxc1" [ style=bold color="green" fontcolor="black"]
++"A_stop_0 18node1" -> "A_start_0 lxc1" [ style = bold]
++"A_stop_0 18node1" -> "all_stopped" [ style = bold]
++"A_stop_0 18node1" [ style=bold color="green" fontcolor="black"]
++"B_monitor_10000 18node3" [ style=bold color="green" fontcolor="black"]
++"B_start_0 18node3" -> "B_monitor_10000 18node3" [ style = bold]
++"B_start_0 18node3" [ style=bold color="green" fontcolor="black"]
++"B_stop_0 lxc2" -> "B_start_0 18node3" [ style = bold]
++"B_stop_0 lxc2" -> "all_stopped" [ style = bold]
++"B_stop_0 lxc2" [ style=bold color="green" fontcolor="black"]
+ "M-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+ "M-clone_start_0" -> "M-clone_running_0" [ style = bold]
+ "M-clone_start_0" -> "M_start_0 lxc1" [ style = bold]
+@@ -7,9 +19,12 @@ digraph "g" {
+ "M_start_0 lxc1" -> "M-clone_running_0" [ style = bold]
+ "M_start_0 lxc1" -> "M_monitor_10000 lxc1" [ style = bold]
+ "M_start_0 lxc1" [ style=bold color="green" fontcolor="black"]
++"all_stopped" [ style=bold color="green" fontcolor="orange"]
+ "container1_start_0 18node1" -> "lxc1_start_0 18node1" [ style = bold]
+ "container1_start_0 18node1" [ style=bold color="green" fontcolor="black"]
+ "lxc1_monitor_30000 18node1" [ style=bold color="green" fontcolor="black"]
++"lxc1_start_0 18node1" -> "A_monitor_10000 lxc1" [ style = bold]
++"lxc1_start_0 18node1" -> "A_start_0 lxc1" [ style = bold]
+ "lxc1_start_0 18node1" -> "M_monitor_10000 lxc1" [ style = bold]
+ "lxc1_start_0 18node1" -> "M_start_0 lxc1" [ style = bold]
+ "lxc1_start_0 18node1" -> "lxc1_monitor_30000 18node1" [ style = bold]
+diff --git a/pengine/test10/whitebox-start.exp b/pengine/test10/whitebox-start.exp
+index 0ee104c..68ede8e 100644
+--- a/pengine/test10/whitebox-start.exp
++++ b/pengine/test10/whitebox-start.exp
+@@ -20,7 +20,7 @@
+         <rsc_op id="29" operation="start" operation_key="M_start_0" internal_operation_key="M:4_start_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1"/>
+       </trigger>
+       <trigger>
+-        <rsc_op id="43" operation="start" operation_key="lxc1_start_0" on_node="18node1" on_node_uuid="1"/>
++        <rsc_op id="45" operation="start" operation_key="lxc1_start_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+     </inputs>
+   </synapse>
+@@ -36,7 +36,7 @@
+         <pseudo_event id="31" operation="start" operation_key="M-clone_start_0"/>
+       </trigger>
+       <trigger>
+-        <rsc_op id="43" operation="start" operation_key="lxc1_start_0" on_node="18node1" on_node_uuid="1"/>
++        <rsc_op id="45" operation="start" operation_key="lxc1_start_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+     </inputs>
+   </synapse>
+@@ -65,20 +65,96 @@
+   </synapse>
+   <synapse id="5">
+     <action_set>
+-      <rsc_op id="44" operation="monitor" operation_key="lxc1_monitor_30000" on_node="18node1" on_node_uuid="1">
++      <rsc_op id="37" operation="monitor" operation_key="A_monitor_10000" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1">
++        <primitive id="A" class="ocf" provider="pacemaker" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="36" operation="start" operation_key="A_start_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="45" operation="start" operation_key="lxc1_start_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="6">
++    <action_set>
++      <rsc_op id="36" operation="start" operation_key="A_start_0" on_node="lxc1" on_node_uuid="lxc1" router_node="18node1">
++        <primitive id="A" class="ocf" provider="pacemaker" type="Dummy"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="35" operation="stop" operation_key="A_stop_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="45" operation="start" operation_key="lxc1_start_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="7">
++    <action_set>
++      <rsc_op id="35" operation="stop" operation_key="A_stop_0" on_node="18node1" on_node_uuid="1">
++        <primitive id="A" class="ocf" provider="pacemaker" type="Dummy"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="8">
++    <action_set>
++      <rsc_op id="40" operation="monitor" operation_key="B_monitor_10000" on_node="18node3" on_node_uuid="3">
++        <primitive id="B" class="ocf" provider="pacemaker" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="39" operation="start" operation_key="B_start_0" on_node="18node3" on_node_uuid="3"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="9">
++    <action_set>
++      <rsc_op id="39" operation="start" operation_key="B_start_0" on_node="18node3" on_node_uuid="3">
++        <primitive id="B" class="ocf" provider="pacemaker" type="Dummy"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="38" operation="stop" operation_key="B_stop_0" on_node="lxc2" on_node_uuid="lxc2" router_node="18node2"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="10">
++    <action_set>
++      <rsc_op id="38" operation="stop" operation_key="B_stop_0" on_node="lxc2" on_node_uuid="lxc2" router_node="18node2">
++        <primitive id="B" class="ocf" provider="pacemaker" type="Dummy"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="11">
++    <action_set>
++      <rsc_op id="46" operation="monitor" operation_key="lxc1_monitor_30000" on_node="18node1" on_node_uuid="1">
+         <primitive id="lxc1" class="ocf" provider="pacemaker" type="remote"/>
+         <attributes CRM_meta_container="container1" CRM_meta_interval="30000" CRM_meta_name="monitor" CRM_meta_timeout="30000" />
+       </rsc_op>
+     </action_set>
+     <inputs>
+       <trigger>
+-        <rsc_op id="43" operation="start" operation_key="lxc1_start_0" on_node="18node1" on_node_uuid="1"/>
++        <rsc_op id="45" operation="start" operation_key="lxc1_start_0" on_node="18node1" on_node_uuid="1"/>
+       </trigger>
+     </inputs>
+   </synapse>
+-  <synapse id="6">
++  <synapse id="12">
+     <action_set>
+-      <rsc_op id="43" operation="start" operation_key="lxc1_start_0" on_node="18node1" on_node_uuid="1">
++      <rsc_op id="45" operation="start" operation_key="lxc1_start_0" on_node="18node1" on_node_uuid="1">
+         <primitive id="lxc1" class="ocf" provider="pacemaker" type="remote"/>
+         <attributes CRM_meta_container="container1" CRM_meta_name="start" CRM_meta_timeout="60000" />
+       </rsc_op>
+@@ -89,5 +165,19 @@
+       </trigger>
+     </inputs>
+   </synapse>
++  <synapse id="13">
++    <action_set>
++      <pseudo_event id="10" operation="all_stopped" operation_key="all_stopped">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="35" operation="stop" operation_key="A_stop_0" on_node="18node1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="38" operation="stop" operation_key="B_stop_0" on_node="lxc2" on_node_uuid="lxc2" router_node="18node2"/>
++      </trigger>
++    </inputs>
++  </synapse>
+ </transition_graph>
+-
+diff --git a/pengine/test10/whitebox-start.scores b/pengine/test10/whitebox-start.scores
+index 1a00b28..1f0f273 100644
+--- a/pengine/test10/whitebox-start.scores
++++ b/pengine/test10/whitebox-start.scores
+@@ -32,11 +32,11 @@ clone_color: M:4 allocation score on lxc2: 0
+ native_color: A allocation score on 18node1: 100
+ native_color: A allocation score on 18node2: 0
+ native_color: A allocation score on 18node3: 0
+-native_color: A allocation score on lxc1: 0
+-native_color: A allocation score on lxc2: 0
+-native_color: B allocation score on 18node1: 0
+-native_color: B allocation score on 18node2: 0
+-native_color: B allocation score on 18node3: 0
++native_color: A allocation score on lxc1: INFINITY
++native_color: A allocation score on lxc2: INFINITY
++native_color: B allocation score on 18node1: INFINITY
++native_color: B allocation score on 18node2: INFINITY
++native_color: B allocation score on 18node3: INFINITY
+ native_color: B allocation score on lxc1: 0
+ native_color: B allocation score on lxc2: 100
+ native_color: C allocation score on 18node1: 0
+diff --git a/pengine/test10/whitebox-start.summary b/pengine/test10/whitebox-start.summary
+index 2801abe..6819ebc 100644
+--- a/pengine/test10/whitebox-start.summary
++++ b/pengine/test10/whitebox-start.summary
+@@ -17,16 +17,25 @@ Containers: [ lxc2:container2 ]
+ Transition Summary:
+  * Start   container1	(18node1)
+  * Start   M:4	(lxc1)
++ * Move    A	(Started 18node1 -> lxc1)
++ * Move    B	(Started lxc2 -> 18node3)
+  * Start   lxc1	(18node1)
+ 
+ Executing cluster transition:
+  * Resource action: container1      start on 18node1
+  * Pseudo action:   M-clone_start_0
++ * Resource action: A               stop on 18node1
++ * Resource action: B               stop on lxc2
+  * Resource action: lxc1            start on 18node1
++ * Pseudo action:   all_stopped
+  * Resource action: M               start on lxc1
+  * Pseudo action:   M-clone_running_0
++ * Resource action: A               start on lxc1
++ * Resource action: B               start on 18node3
+  * Resource action: lxc1            monitor=30000 on 18node1
+  * Resource action: M               monitor=10000 on lxc1
++ * Resource action: A               monitor=10000 on lxc1
++ * Resource action: B               monitor=10000 on 18node3
+ 
+ Revised cluster status:
+ Online: [ 18node1 18node2 18node3 ]
+@@ -37,8 +46,8 @@ Containers: [ lxc1:container1 lxc2:container2 ]
+  shoot1	(stonith:fence_xvm):	Started 18node3
+  Clone Set: M-clone [M]
+      Started: [ 18node1 18node2 18node3 lxc1 lxc2 ]
+- A	(ocf::pacemaker:Dummy):	Started 18node1
+- B	(ocf::pacemaker:Dummy):	Started lxc2
++ A	(ocf::pacemaker:Dummy):	Started lxc1 
++ B	(ocf::pacemaker:Dummy):	Started 18node3 
+  C	(ocf::pacemaker:Dummy):	Started lxc2
+  D	(ocf::pacemaker:Dummy):	Started 18node1
+ 
+diff --git a/pengine/test10/whitebox-start.xml b/pengine/test10/whitebox-start.xml
+index 2dad074..67fcbaf 100644
+--- a/pengine/test10/whitebox-start.xml
++++ b/pengine/test10/whitebox-start.xml
+@@ -78,7 +78,18 @@
+         </operations>
+       </primitive>
+     </resources>
+-    <constraints/>
++    <constraints>
++      <rsc_location id="A-location" rsc="A">
++        <rule id="A-on-remote" score="INFINITY">
++          <expression id="A-on-remote-exp" attribute="#kind" operation="eq" value="container"/>
++        </rule>
++      </rsc_location>
++      <rsc_location id="B-location" rsc="B">
++        <rule id="B-on-cluster" score="INFINITY">
++          <expression id="B-on-cluster-exp" attribute="#kind" operation="eq" value="cluster"/>
++        </rule>
++      </rsc_location>
++    </constraints>
+     <rsc_defaults>
+       <meta_attributes id="rsc_defaults-options">
+         <nvpair id="rsc_defaults-options-resource-stickiness" name="resource-stickiness" value="100"/>
+diff --git a/pengine/utils.c b/pengine/utils.c
+index 7dfaf95..9782cb6 100644
+--- a/pengine/utils.c
++++ b/pengine/utils.c
+@@ -60,7 +60,8 @@ pe_free_rsc_to_node(GListPtr constraints)
+ 
+ rsc_to_node_t *
+ rsc2node_new(const char *id, resource_t * rsc,
+-             int node_weight, node_t * foo_node, pe_working_set_t * data_set)
++             int node_weight, const char *discover_mode,
++             node_t * foo_node, pe_working_set_t * data_set)
+ {
+     rsc_to_node_t *new_con = NULL;
+ 
+@@ -79,6 +80,18 @@ rsc2node_new(const char *id, resource_t * rsc,
+         new_con->node_list_rh = NULL;
+         new_con->role_filter = RSC_ROLE_UNKNOWN;
+ 
++
++        if (discover_mode == NULL || safe_str_eq(discover_mode, "always")) {
++            new_con->discover_mode = discover_always;
++        } else if (safe_str_eq(discover_mode, "never")) {
++            new_con->discover_mode = discover_never;
++        } else if (safe_str_eq(discover_mode, "exclusive")) {
++            new_con->discover_mode = discover_exclusive;
++            rsc->exclusive_discover = TRUE;
++        } else {
++            pe_err("Invalid %s value %s in location constraint", XML_LOCATION_ATTR_DISCOVERY, discover_mode);
++        }
++
+         if (foo_node != NULL) {
+             node_t *copy = node_copy(foo_node);
+ 
+diff --git a/pengine/utils.h b/pengine/utils.h
+index 1939d40..5142e68 100644
+--- a/pengine/utils.h
++++ b/pengine/utils.h
+@@ -23,7 +23,8 @@ extern rsc_colocation_t *invert_constraint(rsc_colocation_t * constraint);
+ 
+ extern rsc_to_node_t *copy_constraint(rsc_to_node_t * constraint);
+ 
+-extern rsc_to_node_t *rsc2node_new(const char *id, resource_t * rsc, int weight, node_t * node,
++extern rsc_to_node_t *rsc2node_new(const char *id, resource_t * rsc, int weight,
++                                   const char *discovery_mode, node_t * node,
+                                    pe_working_set_t * data_set);
+ 
+ extern void pe_free_rsc_to_node(GListPtr constraints);
+diff --git a/tools/crm_resource.c b/tools/crm_resource.c
+index 56583e0..ff5effd 100644
+--- a/tools/crm_resource.c
++++ b/tools/crm_resource.c
+@@ -94,6 +94,10 @@ resource_ipc_connection_destroy(gpointer user_data)
+ static void
+ start_mainloop(void)
+ {
++    if (crmd_replies_needed == 0) {
++        return;
++    }
++
+     mainloop = g_main_new(FALSE);
+     fprintf(stderr, "Waiting for %d replies from the CRMd", crmd_replies_needed);
+     crm_debug("Waiting for %d replies from the CRMd", crmd_replies_needed);
+@@ -789,6 +793,7 @@ delete_lrm_rsc(cib_t *cib_conn, crm_ipc_t * crmd_channel, const char *host_uname
+                resource_t * rsc, pe_working_set_t * data_set)
+ {
+     int rc = pcmk_ok;
++    node_t *node = NULL;
+ 
+     if (rsc == NULL) {
+         return -ENXIO;
+@@ -807,7 +812,7 @@ delete_lrm_rsc(cib_t *cib_conn, crm_ipc_t * crmd_channel, const char *host_uname
+         GListPtr lpc = NULL;
+ 
+         for (lpc = data_set->nodes; lpc != NULL; lpc = lpc->next) {
+-            node_t *node = (node_t *) lpc->data;
++            node = (node_t *) lpc->data;
+ 
+             if (node->details->online) {
+                 delete_lrm_rsc(cib_conn, crmd_channel, node->details->uname, rsc, data_set);
+@@ -817,15 +822,20 @@ delete_lrm_rsc(cib_t *cib_conn, crm_ipc_t * crmd_channel, const char *host_uname
+         return pcmk_ok;
+     }
+ 
+-    printf("Cleaning up %s on %s\n", rsc->id, host_uname);
+-    rc = send_lrm_rsc_op(crmd_channel, CRM_OP_LRM_DELETE, host_uname, rsc->id, TRUE, data_set);
++    node = pe_find_node(data_set->nodes, host_uname);
++
++    if (node && node->details->rsc_discovery_enabled) {
++        printf("Cleaning up %s on %s\n", rsc->id, host_uname);
++        rc = send_lrm_rsc_op(crmd_channel, CRM_OP_LRM_DELETE, host_uname, rsc->id, TRUE, data_set);
++    } else {
++        printf("Resource discovery disabled on %s. Unable to delete lrm state.\n", host_uname);
++    }
+ 
+     if (rc == pcmk_ok) {
+         char *attr_name = NULL;
+         const char *id = rsc->id;
+-        node_t *node = pe_find_node(data_set->nodes, host_uname);
+ 
+-        if(node && node->details->remote_rsc == NULL) {
++        if(node && node->details->remote_rsc == NULL && node->details->rsc_discovery_enabled) {
+             crmd_replies_needed++;
+         }
+         if (rsc->clone_name) {
+@@ -1970,6 +1980,7 @@ main(int argc, char **argv)
+         node_t *current = NULL;
+         node_t *dest = pe_find_node(data_set.nodes, host_uname);
+         resource_t *rsc = pe_find_resource(data_set.resources, rsc_id);
++        gboolean cur_is_dest = FALSE;
+ 
+         rc = -EINVAL;
+ 
+@@ -2032,11 +2043,16 @@ main(int argc, char **argv)
+ 
+         } else if(scope_master && rsc->fns->state(rsc, TRUE) != RSC_ROLE_MASTER) {
+             crm_trace("%s is already active on %s but not in correct state", rsc_id, dest->details->uname);
+-
+         } else if (safe_str_eq(current->details->uname, dest->details->uname)) {
+-            CMD_ERR("Error performing operation: %s is already %s on %s\n",
+-                    rsc_id, scope_master?"promoted":"active", dest->details->uname);
+-            goto bail;
++            cur_is_dest = TRUE;
++            if (do_force) {
++                crm_info("%s is already %s on %s, reinforcing placement with location constraint.\n",
++                         rsc_id, scope_master?"promoted":"active", dest->details->uname);
++            } else {
++                CMD_ERR("Error performing operation: %s is already %s on %s\n",
++                        rsc_id, scope_master?"promoted":"active", dest->details->uname);
++                goto bail;
++            }
+         }
+ 
+         /* Clear any previous constraints for 'dest' */
+@@ -2048,7 +2064,10 @@ main(int argc, char **argv)
+         crm_trace("%s%s now prefers node %s%s",
+                   rsc->id, scope_master?" (master)":"", dest->details->uname, do_force?"(forced)":"");
+ 
+-        if(do_force) {
++        /* only ban the previous location if current location != destination location.
++         * it is possible to use -M to enforce a location without regard of where the
++         * resource is currently located */
++        if(do_force && (cur_is_dest == FALSE)) {
+             /* Ban the original location if possible */
+             if(current) {
+                 ban_resource(rsc_id, current->details->uname, NULL, cib_conn);
+diff --git a/tools/crm_simulate.c b/tools/crm_simulate.c
+index 07f0871..7c0dcc7 100644
+--- a/tools/crm_simulate.c
++++ b/tools/crm_simulate.c
+@@ -964,7 +964,7 @@ set_ticket_state_attr(const char *ticket_id, const char *attr_name,
+ 
+ static void
+ modify_configuration(pe_working_set_t * data_set,
+-                     const char *quorum, GListPtr node_up, GListPtr node_down, GListPtr node_fail,
++                     const char *quorum, const char *watchdog, GListPtr node_up, GListPtr node_down, GListPtr node_fail,
+                      GListPtr op_inject, GListPtr ticket_grant, GListPtr ticket_revoke,
+                      GListPtr ticket_standby, GListPtr ticket_activate)
+ {
+@@ -988,6 +988,16 @@ modify_configuration(pe_working_set_t * data_set,
+         CRM_ASSERT(rc == pcmk_ok);
+     }
+ 
++    if (watchdog) {
++        quiet_log(" + Setting watchdog: %s\n", watchdog);
++
++        rc = update_attr_delegate(global_cib, cib_sync_call | cib_scope_local,
++                             XML_CIB_TAG_CRMCONFIG, NULL, NULL, NULL, NULL,
++                             XML_ATTR_HAVE_WATCHDOG, watchdog, FALSE, NULL, NULL);
++
++        CRM_ASSERT(rc == pcmk_ok);
++    }
++
+     for (gIter = node_up; gIter != NULL; gIter = gIter->next) {
+         char *node = (char *)gIter->data;
+ 
+@@ -1245,6 +1255,7 @@ static struct crm_option long_options[] = {
+     {"-spacer-",     0, 0, '-', "\t\tThe transition will normally stop at the failed action.  Save the result with --save-output and re-run with --xml-file"},
+     {"set-datetime", 1, 0, 't', "Set date/time"},
+     {"quorum",       1, 0, 'q', "\tSpecify a value for quorum"},
++    {"watchdog",     1, 0, 'w', "\tAssume a watchdog device is active"},
+     {"ticket-grant",     1, 0, 'g', "Grant a ticket"},
+     {"ticket-revoke",    1, 0, 'r', "Revoke a ticket"},
+     {"ticket-standby",   1, 0, 'b', "Make a ticket standby"},
+@@ -1359,6 +1370,7 @@ main(int argc, char **argv)
+ 
+     const char *xml_file = "-";
+     const char *quorum = NULL;
++    const char *watchdog = NULL;
+     const char *test_dir = NULL;
+     const char *dot_file = NULL;
+     const char *graph_file = NULL;
+@@ -1445,6 +1457,10 @@ main(int argc, char **argv)
+                 simulate = TRUE;
+                 op_fail = g_list_append(op_fail, optarg);
+                 break;
++            case 'w':
++                modified++;
++                watchdog = optarg;
++                break;
+             case 'q':
+                 modified++;
+                 quorum = optarg;
+@@ -1555,7 +1571,7 @@ main(int argc, char **argv)
+ 
+     if (modified) {
+         quiet_log("Performing requested modifications\n");
+-        modify_configuration(&data_set, quorum, node_up, node_down, node_fail, op_inject,
++        modify_configuration(&data_set, quorum, watchdog, node_up, node_down, node_fail, op_inject,
+                              ticket_grant, ticket_revoke, ticket_standby, ticket_activate);
+ 
+         rc = global_cib->cmds->query(global_cib, NULL, &input, cib_sync_call);
+diff --git a/tools/regression.acls.exp b/tools/regression.acls.exp
+index 2abdf97..2cea125 100644
+--- a/tools/regression.acls.exp
++++ b/tools/regression.acls.exp
+@@ -1,4 +1,4 @@
+-Created new pacemaker-1.3 configuration
++Created new pacemaker configuration
+ Setting up shadow instance
+ A new shadow instance was created.  To begin using it paste the following into your shell:
+   CIB_shadow=tools-regression ; export CIB_shadow
+diff --git a/tools/regression.sh b/tools/regression.sh
+index 285dcba..0c4896c 100755
+--- a/tools/regression.sh
++++ b/tools/regression.sh
+@@ -578,6 +578,7 @@ for t in $tests; do
+ 	-e 's/ last-run=\"[0-9]*\"//'	\
+ 	-e 's/crm_feature_set="[^"]*" //'\
+ 	-e 's/validate-with="[^"]*" //'\
++	-e 's/Created new pacemaker-.* configuration/Created new pacemaker configuration/'\
+         -e 's/.*__xml_acl_check/__xml_acl_check/g'\
+ 	-e 's/.*__xml_acl_post_process/__xml_acl_post_process/g'\
+ 	-e 's/.*error: unpack_resources:/error: unpack_resources:/g'\
+diff --git a/tools/regression.tools.exp b/tools/regression.tools.exp
+index 5b12c84..287caf9 100644
+--- a/tools/regression.tools.exp
++++ b/tools/regression.tools.exp
+@@ -1,4 +1,4 @@
+-Created new pacemaker-2.1 configuration
++Created new pacemaker configuration
+ Setting up shadow instance
+ A new shadow instance was created.  To begin using it paste the following into your shell:
+   CIB_shadow=tools-regression ; export CIB_shadow
+diff --git a/xml/Makefile.am b/xml/Makefile.am
+index 4c21e55..e3a3d04 100644
+--- a/xml/Makefile.am
++++ b/xml/Makefile.am
+@@ -26,8 +26,8 @@ xslt_SCRIPTS		= upgrade06.xsl upgrade-*.xsl
+ RNGdir			= $(dtddir)
+ 
+ # See Readme.md for details on updating schema files
+-RNG_max			= $(firstword $(shell ls -1 *.rng | sed -e 's/.*-//' -e 's/.rng//' | sort -unr))
+-RNG_last		= $(shell ls -1 *.rng | sed -e 's/.*-//' -e 's/.rng//' | sort -unr | head -n 2 | tail -n 1)
++RNG_max			?= $(firstword $(shell ls -1 *.rng | sed -e 's/.*-//' -e 's/.rng//' | sort -unr))
++RNG_last		?= $(shell ls -1 *.rng | sed -e 's/.*-//' -e 's/.rng//' | sort -unr | head -n 2 | tail -n 1)
+ RNG_versions		= $(shell ls -1 *.rng | sed -e 's/.*-//' -e 's/.rng//' | sort -un)
+ RNG_generated		= pacemaker.rng $(foreach base,$(RNG_versions),pacemaker-$(base).rng) versions.rng
+ 
+diff --git a/xml/constraints-2.2.rng b/xml/constraints-2.2.rng
+new file mode 100644
+index 0000000..216bf9c
+--- /dev/null
++++ b/xml/constraints-2.2.rng
+@@ -0,0 +1,249 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<grammar xmlns="http://relaxng.org/ns/structure/1.0" 
++         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
++  <start>
++      <ref name="element-constraints"/>
++  </start>
++
++  <define name="element-constraints">
++    <element name="constraints">
++      <zeroOrMore>
++	<choice>
++	  <ref name="element-location"/>
++	  <ref name="element-colocation"/>
++	  <ref name="element-order"/>
++	  <ref name="element-rsc_ticket"/>
++	</choice>
++      </zeroOrMore>
++    </element>
++  </define>
++
++  <define name="element-location">
++    <element name="rsc_location">
++      <attribute name="id"><data type="ID"/></attribute>
++      <choice>
++	<group>
++	  <attribute name="rsc"><data type="IDREF"/></attribute>
++	  <optional>
++	    <attribute name="role">
++	      <ref name="attribute-roles"/>
++	    </attribute>
++	  </optional>
++	</group>
++	<oneOrMore>
++	  <ref name="element-resource-set"/>
++	</oneOrMore>
++      </choice>
++      <choice>
++	<group>
++	  <externalRef href="score.rng"/>
++	  <attribute name="node"><text/></attribute>
++	</group>
++	<oneOrMore>
++	  <externalRef href="rule.rng"/>
++	</oneOrMore>
++      </choice>
++      <optional>
++	<ref name="element-lifetime"/>
++      </optional>
++      <optional>
++	<attribute name="resource-discovery">
++	  <ref name="attribute-discovery"/>
++	</attribute>
++      </optional>
++    </element>
++  </define>
++
++  <define name="element-resource-set">
++    <element name="resource_set">
++      <choice>
++	<attribute name="id-ref"><data type="IDREF"/></attribute>
++	<group>
++	  <attribute name="id"><data type="ID"/></attribute>
++	  <optional>
++	    <attribute name="sequential"><data type="boolean"/></attribute>
++	  </optional>
++	  <optional>
++	    <attribute name="require-all"><data type="boolean"/></attribute>
++	  </optional>
++	  <optional>
++	    <attribute name="ordering">
++	      <choice>
++		<value>group</value>
++		<value>listed</value>
++	      </choice>
++	    </attribute>
++	  </optional>
++	  <optional>
++	    <attribute name="action">
++	      <ref name="attribute-actions"/>
++	    </attribute>
++	  </optional>
++	  <optional>
++	    <attribute name="role">
++	      <ref name="attribute-roles"/>
++	    </attribute>
++	  </optional>
++	  <optional>
++	    <externalRef href="score.rng"/>
++	  </optional>
++	  <oneOrMore>
++	    <element name="resource_ref">
++	      <attribute name="id"><data type="IDREF"/></attribute>
++	    </element>
++	  </oneOrMore>
++	</group>
++      </choice>
++    </element>
++  </define>
++
++  <define name="element-colocation">
++    <element name="rsc_colocation">
++      <attribute name="id"><data type="ID"/></attribute>
++      <optional>
++	<choice>
++	  <externalRef href="score.rng"/>
++	  <attribute name="score-attribute"><text/></attribute>
++	  <attribute name="score-attribute-mangle"><text/></attribute>
++	</choice>
++      </optional>
++      <optional>
++	<ref name="element-lifetime"/>
++      </optional>
++      <choice>
++	<oneOrMore>
++	  <ref name="element-resource-set"/>
++	</oneOrMore>
++	<group>
++	  <attribute name="rsc"><data type="IDREF"/></attribute>
++	  <attribute name="with-rsc"><data type="IDREF"/></attribute>
++	  <optional>
++	    <attribute name="node-attribute"><text/></attribute>
++	  </optional>
++	  <optional>
++	    <attribute name="rsc-role">
++	      <ref name="attribute-roles"/>
++	    </attribute>
++	  </optional>
++	  <optional>
++	    <attribute name="with-rsc-role">
++	      <ref name="attribute-roles"/>
++	    </attribute>
++	  </optional>
++	</group>
++      </choice>
++    </element>
++  </define>
++
++  <define name="element-order">
++    <element name="rsc_order">
++      <attribute name="id"><data type="ID"/></attribute>
++      <optional>
++	<ref name="element-lifetime"/>
++      </optional>
++      <optional>
++	<attribute name="symmetrical"><data type="boolean"/></attribute>
++      </optional>
++      <optional>
++	<choice>
++	  <externalRef href="score.rng"/>
++	  <attribute name="kind">
++	    <ref name="order-types"/>
++	  </attribute>
++	</choice>
++      </optional>
++      <choice>
++	<oneOrMore>
++	  <ref name="element-resource-set"/>
++	</oneOrMore>
++	<group>
++	  <attribute name="first"><data type="IDREF"/></attribute>
++	  <attribute name="then"><data type="IDREF"/></attribute>
++	  <optional>
++	    <attribute name="first-action">
++	      <ref name="attribute-actions"/>
++	    </attribute>
++	  </optional>
++	  <optional>
++	    <attribute name="then-action">
++	      <ref name="attribute-actions"/>
++	    </attribute>
++	  </optional>
++	</group>
++      </choice>
++    </element>
++  </define>
++ 
++  <define name="element-rsc_ticket">
++    <element name="rsc_ticket">
++      <attribute name="id"><data type="ID"/></attribute>
++      <choice>
++	<oneOrMore>
++	  <ref name="element-resource-set"/>
++	</oneOrMore>
++	<group>
++	  <attribute name="rsc"><data type="IDREF"/></attribute>
++	  <optional>
++	    <attribute name="rsc-role">
++	      <ref name="attribute-roles"/>
++	    </attribute>
++	  </optional>
++	</group>
++      </choice>
++      <attribute name="ticket"><text/></attribute>
++      <optional>
++	<attribute name="loss-policy">
++	  <choice>
++	    <value>stop</value>
++	    <value>demote</value>
++	    <value>fence</value>
++	    <value>freeze</value>
++	  </choice>
++	</attribute>
++      </optional>
++    </element>
++  </define>
++
++  <define name="attribute-discovery">
++    <choice>
++      <value>always</value>
++      <value>never</value>
++      <value>exclusive</value>
++    </choice>
++  </define>
++
++  <define name="attribute-actions">
++    <choice>
++      <value>start</value>
++      <value>promote</value>
++      <value>demote</value>
++      <value>stop</value>
++    </choice>
++  </define>
++      
++  <define name="attribute-roles">
++    <choice>
++      <value>Stopped</value>
++      <value>Started</value>
++      <value>Master</value>
++      <value>Slave</value>
++    </choice>
++  </define>
++
++  <define name="order-types">
++    <choice>
++      <value>Optional</value>
++      <value>Mandatory</value>
++      <value>Serialize</value>
++    </choice>
++  </define>
++
++  <define name="element-lifetime">
++    <element name="lifetime">
++      <oneOrMore>
++	<externalRef href="rule.rng"/>
++      </oneOrMore>
++    </element>
++  </define>
++  
++</grammar>
+diff --git a/xml/constraints-next.rng b/xml/constraints-next.rng
+index 051603d..0defe8f 100644
+--- a/xml/constraints-next.rng
++++ b/xml/constraints-next.rng
+@@ -49,6 +49,11 @@
+       <optional>
+ 	<ref name="element-lifetime"/>
+       </optional>
++      <optional>
++	<attribute name="resource-discovery">
++	  <ref name="attribute-discovery"/>
++	</attribute>
++      </optional>
+     </element>
+   </define>
+ 
+@@ -65,6 +70,14 @@
+ 	    <attribute name="require-all"><data type="boolean"/></attribute>
+ 	  </optional>
+ 	  <optional>
++	    <attribute name="ordering">
++	      <choice>
++		<value>group</value>
++		<value>listed</value>
++	      </choice>
++	    </attribute>
++	  </optional>
++	  <optional>
+ 	    <attribute name="action">
+ 	      <ref name="attribute-actions"/>
+ 	    </attribute>
+@@ -206,6 +219,14 @@
+     </element>
+   </define>
+ 
++  <define name="attribute-discovery">
++    <choice>
++      <value>always</value>
++      <value>never</value>
++      <value>exclusive</value>
++    </choice>
++  </define>
++
+   <define name="attribute-actions">
+     <choice>
+       <value>start</value>
diff --git a/SOURCES/pacemaker-rollup-be1e835.patch b/SOURCES/pacemaker-rollup-be1e835.patch
new file mode 100644
index 0000000..0963b13
--- /dev/null
+++ b/SOURCES/pacemaker-rollup-be1e835.patch
@@ -0,0 +1,3001 @@
+commit 0fa5ce2c14fa36610630469c14c07537eb4f4807
+Author: Andrew Beekhof <andrew@beekhof.net>
+Date:   Wed Oct 1 16:56:59 2014 +1000
+
+    Import: pacemaker-rollup-be1e835
+
+diff --git a/attrd/Makefile.am b/attrd/Makefile.am
+index 802a3fa..9d5e223 100644
+--- a/attrd/Makefile.am
++++ b/attrd/Makefile.am
+@@ -32,25 +32,12 @@ attrd_LDADD	= $(top_builddir)/lib/cluster/libcrmcluster.la 		\
+ 		$(top_builddir)/lib/cib/libcib.la			\
+ 		$(CLUSTERLIBS)
+ 
+-if BUILD_HEARTBEAT_SUPPORT
+-attrd_SOURCES	+= legacy.c
+-else
+-
+-if BUILD_CS_SUPPORT
+-
+-if BUILD_CS_PLUGIN
+-attrd_SOURCES	+= legacy.c
+-else
+-# Only build the new version where CPG is exclusively used for communication
++if BUILD_ATOMIC_ATTRD
+ attrd_SOURCES	+= main.c commands.c
+-endif
+-
+ else
+ attrd_SOURCES	+= legacy.c
+ endif
+ 
+-endif
+-
+ clean-generic:
+ 	rm -f *.log *.debug *.xml *~
+ 
+diff --git a/attrd/commands.c b/attrd/commands.c
+index 038e7e4..c48ef1b 100644
+--- a/attrd/commands.c
++++ b/attrd/commands.c
+@@ -17,6 +17,8 @@
+  */
+ #include <crm_internal.h>
+ 
++#include <sys/types.h>
++#include <regex.h>
+ #include <glib.h>
+ 
+ #include <crm/msg_xml.h>
+@@ -63,7 +65,7 @@ typedef struct attribute_value_s {
+ 
+ void write_attribute(attribute_t *a);
+ void write_or_elect_attribute(attribute_t *a);
+-void attrd_peer_update(crm_node_t *peer, xmlNode *xml, bool filter);
++void attrd_peer_update(crm_node_t *peer, xmlNode *xml, const char *host, bool filter);
+ void attrd_peer_sync(crm_node_t *peer, xmlNode *xml);
+ void attrd_peer_remove(uint32_t nodeid, const char *host, gboolean uncache, const char *source);
+ 
+@@ -191,16 +193,41 @@ attrd_client_message(crm_client_t *client, xmlNode *xml)
+         char *host = crm_element_value_copy(xml, F_ATTRD_HOST);
+         const char *attr = crm_element_value(xml, F_ATTRD_ATTRIBUTE);
+         const char *value = crm_element_value(xml, F_ATTRD_VALUE);
++        const char *regex = crm_element_value(xml, F_ATTRD_REGEX);
+ 
+-        a = g_hash_table_lookup(attributes, attr);
++        if(attr == NULL && regex) {
++            GHashTableIter aIter;
++            regex_t *r_patt = calloc(1, sizeof(regex_t));
++
++            crm_debug("Setting %s to %s", regex, value);
++            if (regcomp(r_patt, regex, REG_EXTENDED)) {
++                crm_err("Bad regex '%s' for update", regex);
++                regfree(r_patt);
++                free(r_patt);
++                return;
++            }
+ 
+-        if(host == NULL) {
++            g_hash_table_iter_init(&aIter, attributes);
++            while (g_hash_table_iter_next(&aIter, (gpointer *) & attr, NULL)) {
++                int status = regexec(r_patt, attr, 0, NULL, 0);
++
++                if(status == 0) {
++                    crm_trace("Matched %s with %s", attr, regex);
++                    crm_xml_add(xml, F_ATTRD_ATTRIBUTE, attr);
++                    send_attrd_message(NULL, xml);
++                }
++            }
++            return;
++
++        } else if(host == NULL) {
+             crm_trace("Inferring host");
+             host = strdup(attrd_cluster->uname);
+             crm_xml_add(xml, F_ATTRD_HOST, host);
+             crm_xml_add_int(xml, F_ATTRD_HOST_ID, attrd_cluster->nodeid);
+         }
+ 
++        a = g_hash_table_lookup(attributes, attr);
++
+         if (value) {
+             int offset = 1;
+             int int_value = 0;
+@@ -254,6 +281,7 @@ attrd_client_message(crm_client_t *client, xmlNode *xml)
+     }
+ 
+     if(broadcast) {
++        /* Ends up at attrd_peer_message() */
+         send_attrd_message(NULL, xml);
+     }
+ }
+@@ -265,6 +293,7 @@ attrd_peer_message(crm_node_t *peer, xmlNode *xml)
+     const char *v = crm_element_value(xml, F_ATTRD_VERSION);
+     const char *op = crm_element_value(xml, F_ATTRD_TASK);
+     const char *election_op = crm_element_value(xml, F_CRM_TASK);
++    const char *host = crm_element_value(xml, F_ATTRD_HOST);
+ 
+     if(election_op) {
+         enum election_result rc = 0;
+@@ -293,7 +322,7 @@ attrd_peer_message(crm_node_t *peer, xmlNode *xml)
+             const char *name = crm_element_value(xml, F_ATTRD_ATTRIBUTE);
+ 
+             crm_trace("Compatibility update of %s from %s", name, peer->uname);
+-            attrd_peer_update(peer, xml, FALSE);
++            attrd_peer_update(peer, xml, host, FALSE);
+ 
+         } else if(safe_str_eq(op, "flush")) {
+             const char *name = crm_element_value(xml, F_ATTRD_ATTRIBUTE);
+@@ -336,13 +365,12 @@ attrd_peer_message(crm_node_t *peer, xmlNode *xml)
+     }
+ 
+     if(safe_str_eq(op, "update")) {
+-        attrd_peer_update(peer, xml, FALSE);
++        attrd_peer_update(peer, xml, host, FALSE);
+ 
+     } else if(safe_str_eq(op, "sync")) {
+         attrd_peer_sync(peer, xml);
+ 
+     } else if(safe_str_eq(op, "peer-remove")) {
+-        const char *host = crm_element_value(xml, F_ATTRD_HOST);
+         attrd_peer_remove(0, host, TRUE, peer->uname);
+ 
+     } else if(safe_str_eq(op, "sync-response")
+@@ -351,7 +379,8 @@ attrd_peer_message(crm_node_t *peer, xmlNode *xml)
+ 
+         crm_notice("Processing %s from %s", op, peer->uname);
+         for (child = __xml_first_child(xml); child != NULL; child = __xml_next(child)) {
+-            attrd_peer_update(peer, child, TRUE);
++            host = crm_element_value(child, F_ATTRD_HOST);
++            attrd_peer_update(peer, child, host, TRUE);
+         }
+     }
+ }
+@@ -409,12 +438,11 @@ attrd_peer_remove(uint32_t nodeid, const char *host, gboolean uncache, const cha
+ }
+ 
+ void
+-attrd_peer_update(crm_node_t *peer, xmlNode *xml, bool filter)
++attrd_peer_update(crm_node_t *peer, xmlNode *xml, const char *host, bool filter)
+ {
+     bool changed = FALSE;
+     attribute_value_t *v = NULL;
+ 
+-    const char *host = crm_element_value(xml, F_ATTRD_HOST);
+     const char *attr = crm_element_value(xml, F_ATTRD_ATTRIBUTE);
+     const char *value = crm_element_value(xml, F_ATTRD_VALUE);
+ 
+@@ -424,6 +452,19 @@ attrd_peer_update(crm_node_t *peer, xmlNode *xml, bool filter)
+         a = create_attribute(xml);
+     }
+ 
++    if(host == NULL) {
++        GHashTableIter vIter;
++        g_hash_table_iter_init(&vIter, a->values);
++
++        crm_debug("Setting %s for all hosts to %s", attr, value);
++
++        xml_remove_prop(xml, F_ATTRD_HOST_ID);
++        while (g_hash_table_iter_next(&vIter, (gpointer *) & host, NULL)) {
++            attrd_peer_update(peer, xml, host, filter);
++        }
++        return;
++    }
++
+     v = g_hash_table_lookup(a->values, host);
+ 
+     if(v == NULL) {
+diff --git a/cib/messages.c b/cib/messages.c
+index 4b79912..9c66349 100644
+--- a/cib/messages.c
++++ b/cib/messages.c
+@@ -292,6 +292,11 @@ cib_process_upgrade_server(const char *op, int options, const char *section, xml
+             crm_xml_add(up, F_TYPE, "cib");
+             crm_xml_add(up, F_CIB_OPERATION, CIB_OP_UPGRADE);
+             crm_xml_add(up, F_CIB_SCHEMA_MAX, get_schema_name(new_version));
++            crm_xml_add(up, F_CIB_DELEGATED, host);
++            crm_xml_add(up, F_CIB_CLIENTID, crm_element_value(req, F_CIB_CLIENTID));
++            crm_xml_add(up, F_CIB_CALLOPTS, crm_element_value(req, F_CIB_CALLOPTS));
++            crm_xml_add(up, F_CIB_CALLID, crm_element_value(req, F_CIB_CALLID));
++
+             send_cluster_message(NULL, crm_msg_cib, up, FALSE);
+             free_xml(up);
+ 
+diff --git a/configure.ac b/configure.ac
+index 40adffe..1edff40 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -75,6 +75,7 @@ CC_IN_CONFIGURE=yes
+ export CC_IN_CONFIGURE
+ 
+ LDD=ldd
++BUILD_ATOMIC_ATTRD=1
+ 
+ dnl ========================================================================
+ dnl Compiler characteristics
+@@ -1260,6 +1261,7 @@ case $SUPPORT_HEARTBEAT in
+ 	dnl objdump -x ${libdir}/libccmclient.so | grep SONAME | awk '{print $2}'
+ 	AC_DEFINE_UNQUOTED(CCM_LIBRARY, "libccmclient.so.1", Library to load for ccm support)
+ 	AC_DEFINE_UNQUOTED(HEARTBEAT_LIBRARY, "libhbclient.so.1", Library to load for heartbeat support)
++	BUILD_ATOMIC_ATTRD=0
+    else
+ 	SUPPORT_HEARTBEAT=0
+    fi
+@@ -1341,6 +1343,7 @@ SUPPORT_PLUGIN=0
+ if test $SUPPORT_CS = 1 -a x$HAVE_confdb = x1; then
+     dnl Need confdb to support cman and the plugins
+     SUPPORT_PLUGIN=1
++    BUILD_ATOMIC_ATTRD=0
+     LCRSODIR=`$PKGCONFIG corosync --variable=lcrsodir`
+     STACKS="$STACKS corosync-plugin"
+     COROSYNC_LIBS="$COROSYNC_LIBS $confdb_LIBS"
+@@ -1382,6 +1385,9 @@ AM_CONDITIONAL(BUILD_CS_SUPPORT, test $SUPPORT_CS = 1)
+ AM_CONDITIONAL(BUILD_CS_PLUGIN, test $SUPPORT_PLUGIN = 1)
+ AM_CONDITIONAL(BUILD_CMAN, test $SUPPORT_CMAN = 1)
+ 
++AM_CONDITIONAL(BUILD_ATOMIC_ATTRD, test $BUILD_ATOMIC_ATTRD = 1)
++AC_DEFINE_UNQUOTED(HAVE_ATOMIC_ATTRD, $BUILD_ATOMIC_ATTRD, Support the new atomic attrd)
++
+ AC_SUBST(SUPPORT_CMAN)
+ AC_SUBST(SUPPORT_CS)
+ 
+@@ -1401,6 +1407,9 @@ else
+     PCMK_FEATURES="$PCMK_FEATURES $STACKS"
+ fi
+ 
++if test ${BUILD_ATOMIC_ATTRD} = 1; then
++    PCMK_FEATURES="$PCMK_FEATURES atomic-attrd"
++fi
+ AC_SUBST(CLUSTERLIBS)
+ AC_SUBST(LCRSODIR)
+ 
+@@ -1871,6 +1880,7 @@ tools/Makefile							\
+ 	tools/crm_report					\
+         tools/report.common                                     \
+ 	tools/cibsecret						\
++	tools/crm_mon.upstart					\
+ xml/Makefile							\
+ lib/gnu/Makefile						\
+ 		)
+diff --git a/crmd/lrm.c b/crmd/lrm.c
+index db0bffb..44634fb 100644
+--- a/crmd/lrm.c
++++ b/crmd/lrm.c
+@@ -1162,7 +1162,7 @@ get_lrm_resource(lrm_state_t * lrm_state, xmlNode * resource, xmlNode * op_msg,
+         if (!rsc) {
+             fsa_data_t *msg_data = NULL;
+ 
+-            crm_err("Could not add resource %s to LRM", id);
++            crm_err("Could not add resource %s to LRM %s", id, lrm_state->node_name);
+             register_fsa_error(C_FSA_INTERNAL, I_FAIL, NULL);
+         }
+     }
+@@ -1175,13 +1175,17 @@ delete_resource(lrm_state_t * lrm_state,
+                 const char *id,
+                 lrmd_rsc_info_t * rsc,
+                 GHashTableIter * gIter,
+-                const char *sys, const char *host, const char *user, ha_msg_input_t * request)
++                const char *sys,
++                const char *host,
++                const char *user,
++                ha_msg_input_t * request,
++                gboolean unregister)
+ {
+     int rc = pcmk_ok;
+ 
+     crm_info("Removing resource %s for %s (%s) on %s", id, sys, user ? user : "internal", host);
+ 
+-    if (rsc) {
++    if (rsc && unregister) {
+         rc = lrm_state_unregister_rsc(lrm_state, id, 0);
+     }
+ 
+@@ -1224,6 +1228,7 @@ do_lrm_invoke(long long action,
+     const char *user_name = NULL;
+     const char *target_node = NULL;
+     gboolean is_remote_node = FALSE;
++    gboolean crm_rsc_delete = FALSE;
+ 
+     if (input->xml != NULL) {
+         /* Remote node operations are routed here to their remote connections */
+@@ -1259,6 +1264,8 @@ do_lrm_invoke(long long action,
+     crm_trace("LRM command from: %s", from_sys);
+ 
+     if (safe_str_eq(crm_op, CRM_OP_LRM_DELETE)) {
++        /* remember this delete op came from crm_resource */
++        crm_rsc_delete = TRUE;
+         operation = CRMD_ACTION_DELETE;
+ 
+     } else if (safe_str_eq(crm_op, CRM_OP_LRM_REFRESH)) {
+@@ -1370,13 +1377,17 @@ do_lrm_invoke(long long action,
+     } else if (safe_str_eq(operation, CRM_OP_REPROBE) || safe_str_eq(crm_op, CRM_OP_REPROBE)) {
+         GHashTableIter gIter;
+         rsc_history_t *entry = NULL;
++        gboolean unregister = is_remote_lrmd_ra(NULL, NULL, entry->id) ? FALSE : TRUE;
+ 
+         crm_notice("Forcing the status of all resources to be redetected");
+ 
+         g_hash_table_iter_init(&gIter, lrm_state->resource_history);
+         while (g_hash_table_iter_next(&gIter, NULL, (void **)&entry)) {
++            /* only unregister the resource during a reprobe if it is not a remote connection
++             * resource. otherwise unregistering the connection will terminate remote-node
++             * membership */
+             delete_resource(lrm_state, entry->id, &entry->rsc, &gIter, from_sys, from_host,
+-                            user_name, NULL);
++                            user_name, NULL, unregister);
+         }
+ 
+         /* Now delete the copy in the CIB */
+@@ -1499,6 +1510,7 @@ do_lrm_invoke(long long action,
+             free(op_key);
+ 
+         } else if (rsc != NULL && safe_str_eq(operation, CRMD_ACTION_DELETE)) {
++            gboolean unregister = TRUE;
+ 
+ #if ENABLE_ACL
+             int cib_rc = delete_rsc_status(lrm_state, rsc->id, cib_dryrun | cib_sync_call, user_name);
+@@ -1523,7 +1535,11 @@ do_lrm_invoke(long long action,
+                 return;
+             }
+ #endif
+-            delete_resource(lrm_state, rsc->id, rsc, NULL, from_sys, from_host, user_name, input);
++            if (crm_rsc_delete == TRUE && is_remote_lrmd_ra(NULL, NULL, rsc->id)) {
++                unregister = FALSE;
++            }
++
++            delete_resource(lrm_state, rsc->id, rsc, NULL, from_sys, from_host, user_name, input, unregister);
+ 
+         } else if (rsc != NULL) {
+             do_lrm_rsc_op(lrm_state, rsc, operation, input->xml, input->msg);
+diff --git a/crmd/remote_lrmd_ra.c b/crmd/remote_lrmd_ra.c
+index 98f59c8..f3dedeb 100644
+--- a/crmd/remote_lrmd_ra.c
++++ b/crmd/remote_lrmd_ra.c
+@@ -251,6 +251,8 @@ connection_takeover_timeout_cb(gpointer data)
+     crm_debug("takeover event timed out for node %s", cmd->rsc_id);
+     cmd->takeover_timeout_id = 0;
+ 
++    lrm_state = lrm_state_find(cmd->rsc_id);
++
+     handle_remote_ra_stop(lrm_state, cmd);
+     free_cmd(cmd);
+ 
+@@ -379,6 +381,11 @@ remote_lrm_op_callback(lrmd_event_data_t * op)
+             cmd->rc = PCMK_OCF_UNKNOWN_ERROR;
+ 
+         } else {
++
++            if (safe_str_eq(cmd->action, "start")) {
++                /* clear PROBED value if it happens to be set after start completes. */
++                update_attrd(lrm_state->node_name, CRM_OP_PROBED, NULL, NULL, TRUE);
++            }
+             lrm_state_reset_tables(lrm_state);
+             cmd->rc = PCMK_OCF_OK;
+             cmd->op_status = PCMK_LRM_OP_DONE;
+diff --git a/crmd/te_actions.c b/crmd/te_actions.c
+index 926996b..a3aa78b 100644
+--- a/crmd/te_actions.c
++++ b/crmd/te_actions.c
+@@ -546,17 +546,26 @@ te_update_job_count(crm_action_t * action, int offset)
+         return;
+     }
+ 
+-    if (safe_str_eq(task, CRMD_ACTION_MIGRATE) || safe_str_eq(task, CRMD_ACTION_MIGRATED)) {
++    /* if we have a router node, this means the action is performing
++     * on a remote node. For now, we count all action occuring on a
++     * remote node against the job list on the cluster node hosting
++     * the connection resources */
++    target = crm_element_value(action->xml, XML_LRM_ATTR_ROUTER_NODE);
++
++    if ((target == NULL) &&
++        (safe_str_eq(task, CRMD_ACTION_MIGRATE) || safe_str_eq(task, CRMD_ACTION_MIGRATED))) {
++
+         const char *t1 = crm_meta_value(action->params, XML_LRM_ATTR_MIGRATE_SOURCE);
+         const char *t2 = crm_meta_value(action->params, XML_LRM_ATTR_MIGRATE_TARGET);
+ 
+         te_update_job_count_on(t1, offset, TRUE);
+         te_update_job_count_on(t2, offset, TRUE);
+-
+-    } else {
+-
+-        te_update_job_count_on(target, offset, FALSE);
++        return;
++    } else if (target == NULL) {
++        target = crm_element_value(action->xml, XML_LRM_ATTR_TARGET);
+     }
++
++    te_update_job_count_on(target, offset, FALSE);
+ }
+ 
+ static gboolean
+@@ -597,6 +606,8 @@ te_should_perform_action_on(crm_graph_t * graph, crm_action_t * action, const ch
+         }
+     }
+ 
++    crm_trace("Peer %s has not hit their limit yet. current jobs = %d limit= %d limit", target, r->jobs, limit);
++
+     return TRUE;
+ }
+ 
+@@ -611,7 +622,15 @@ te_should_perform_action(crm_graph_t * graph, crm_action_t * action)
+         return TRUE;
+     }
+ 
+-    if (safe_str_eq(task, CRMD_ACTION_MIGRATE) || safe_str_eq(task, CRMD_ACTION_MIGRATED)) {
++    /* if we have a router node, this means the action is performing
++     * on a remote node. For now, we count all action occuring on a
++     * remote node against the job list on the cluster node hosting
++     * the connection resources */
++    target = crm_element_value(action->xml, XML_LRM_ATTR_ROUTER_NODE);
++
++    if ((target == NULL) &&
++        (safe_str_eq(task, CRMD_ACTION_MIGRATE) || safe_str_eq(task, CRMD_ACTION_MIGRATED))) {
++
+         target = crm_meta_value(action->params, XML_LRM_ATTR_MIGRATE_SOURCE);
+         if(te_should_perform_action_on(graph, action, target) == FALSE) {
+             return FALSE;
+@@ -619,7 +638,7 @@ te_should_perform_action(crm_graph_t * graph, crm_action_t * action)
+ 
+         target = crm_meta_value(action->params, XML_LRM_ATTR_MIGRATE_TARGET);
+ 
+-    } else {
++    } else if (target == NULL) {
+         target = crm_element_value(action->xml, XML_LRM_ATTR_TARGET);
+     }
+ 
+diff --git a/crmd/te_events.c b/crmd/te_events.c
+index afe3072..b81a13e 100644
+--- a/crmd/te_events.c
++++ b/crmd/te_events.c
+@@ -161,10 +161,6 @@ update_failcount(xmlNode * event, const char *event_node_uuid, int rc, int targe
+         do_update = TRUE;
+         value = failed_stop_offset;
+ 
+-    } else if (safe_str_eq(task, CRMD_ACTION_STOP)) {
+-        do_update = TRUE;
+-        value = failed_stop_offset;
+-
+     } else if (safe_str_eq(task, CRMD_ACTION_PROMOTE)) {
+         do_update = TRUE;
+ 
+diff --git a/crmd/throttle.c b/crmd/throttle.c
+index 04a3cf1..6e853ae 100644
+--- a/crmd/throttle.c
++++ b/crmd/throttle.c
+@@ -430,7 +430,7 @@ throttle_mode(void)
+     unsigned int blocked = 0;
+     enum throttle_state_e mode = throttle_none;
+ 
+-#ifndef ON_SOLARIS
++#ifdef ON_SOLARIS
+     return throttle_none;
+ #endif
+ 
+@@ -508,44 +508,41 @@ static void
+ throttle_send_command(enum throttle_state_e mode)
+ {
+     xmlNode *xml = NULL;
++    static enum throttle_state_e last = -1;
+ 
+-    xml = create_request(CRM_OP_THROTTLE, NULL, NULL, CRM_SYSTEM_CRMD, CRM_SYSTEM_CRMD, NULL);
+-    crm_xml_add_int(xml, F_CRM_THROTTLE_MODE, mode);
+-    crm_xml_add_int(xml, F_CRM_THROTTLE_MAX, throttle_job_max);
++    if(mode != last) {
++        crm_info("New throttle mode: %.4x (was %.4x)", mode, last);
++        last = mode;
+ 
+-    send_cluster_message(NULL, crm_msg_crmd, xml, TRUE);
+-    free_xml(xml);
++        xml = create_request(CRM_OP_THROTTLE, NULL, NULL, CRM_SYSTEM_CRMD, CRM_SYSTEM_CRMD, NULL);
++        crm_xml_add_int(xml, F_CRM_THROTTLE_MODE, mode);
++        crm_xml_add_int(xml, F_CRM_THROTTLE_MAX, throttle_job_max);
+ 
+-    crm_info("Updated throttle state to %.4x", mode);
++        send_cluster_message(NULL, crm_msg_crmd, xml, TRUE);
++        free_xml(xml);
++    }
+ }
+ 
+ static gboolean
+ throttle_timer_cb(gpointer data)
+ {
+     static bool send_updates = FALSE;
+-    static enum throttle_state_e last = -1;
+-
+     enum throttle_state_e now = throttle_none;
+ 
+-    if(send_updates == FALSE) {
+-        /* Optimize for the true case */
+-        if(compare_version(fsa_our_dc_version, "3.0.8") < 0) {
+-            crm_trace("DC version %s doesn't support throttling", fsa_our_dc_version);
+-
+-        } else {
+-            send_updates = TRUE;
+-        }
+-    }
+-
+     if(send_updates) {
+         now = throttle_mode();
+-    }
++        throttle_send_command(now);
++
++    } else if(compare_version(fsa_our_dc_version, "3.0.8") < 0) {
++        /* Optimize for the true case */
++        crm_trace("DC version %s doesn't support throttling", fsa_our_dc_version);
+ 
+-    if(send_updates && now != last) {
+-        crm_debug("New throttle mode: %.4x (was %.4x)", now, last);
++    } else {
++        send_updates = TRUE;
++        now = throttle_mode();
+         throttle_send_command(now);
+-        last = now;
+     }
++
+     return TRUE;
+ }
+ 
+@@ -595,9 +592,11 @@ throttle_update_job_max(const char *preference)
+ void
+ throttle_init(void)
+ {
+-    throttle_records = g_hash_table_new_full(
+-        crm_str_hash, g_str_equal, NULL, throttle_record_free);
+-    throttle_timer = mainloop_timer_add("throttle", 30* 1000, TRUE, throttle_timer_cb, NULL);
++    if(throttle_records == NULL) {
++        throttle_records = g_hash_table_new_full(
++            crm_str_hash, g_str_equal, NULL, throttle_record_free);
++        throttle_timer = mainloop_timer_add("throttle", 30 * 1000, TRUE, throttle_timer_cb, NULL);
++    }
+ 
+     throttle_update_job_max(NULL);
+     mainloop_timer_start(throttle_timer);
+diff --git a/cts/CTS.py b/cts/CTS.py
+index 04189f2..f4198c4 100644
+--- a/cts/CTS.py
++++ b/cts/CTS.py
+@@ -225,10 +225,13 @@ class CtsLab:
+ 
+ class NodeStatus:
+     def __init__(self, env):
+-        pass
++        self.Env = env
+ 
+     def IsNodeBooted(self, node):
+         '''Return TRUE if the given node is booted (responds to pings)'''
++        if self.Env["docker"]:
++            return RemoteFactory().getInstance()("localhost", "docker inspect --format {{.State.Running}} %s | grep -q true" % node, silent=True) == 0
++
+         return RemoteFactory().getInstance()("localhost", "ping -nq -c1 -w1 %s" % node, silent=True) == 0
+ 
+     def IsSshdUp(self, node):
+@@ -442,6 +445,9 @@ class ClusterManager(UserDict):
+             self.debug("Quorum: %d Len: %d" % (q, len(self.Env["nodes"])))
+             return peer_list
+ 
++        for n in self.Env["nodes"]:
++            peer_state[n] = "unknown"
++
+         # Now see if any states need to be updated
+         self.debug("looking for: " + repr(stonith.regexes))
+         shot = stonith.look(0)
+@@ -457,7 +463,8 @@ class ClusterManager(UserDict):
+                     peer_state[peer] = "complete"
+                     self.__instance_errorstoignore.append(self.templates["Pat:Fencing_ok"] % peer)
+ 
+-                elif re.search(self.templates["Pat:Fencing_start"] % n, shot):
++                elif peer_state[n] != "complete" and re.search(self.templates["Pat:Fencing_start"] % n, shot):
++                    # TODO: Correctly detect multiple fencing operations for the same host
+                     peer = n
+                     peer_state[peer] = "in-progress"
+                     self.__instance_errorstoignore.append(self.templates["Pat:Fencing_start"] % peer)
+diff --git a/cts/CTSlab.py b/cts/CTSlab.py
+index 314c347..9b336a5 100755
+--- a/cts/CTSlab.py
++++ b/cts/CTSlab.py
+@@ -107,9 +107,9 @@ if __name__ == '__main__':
+ 
+     if Environment["ListTests"] == 1:
+         Tests = TestList(cm, Audits)
+-        Environment.log("Total %d tests"%len(Tests))
++        LogFactory().log("Total %d tests"%len(Tests))
+         for test in Tests :
+-            Environment.log(str(test.name));
++            LogFactory().log(str(test.name));
+         sys.exit(0)
+ 
+     elif len(Environment["tests"]) == 0:
+diff --git a/cts/CTStests.py b/cts/CTStests.py
+index 918dff0..cd5b7ce 100644
+--- a/cts/CTStests.py
++++ b/cts/CTStests.py
+@@ -83,6 +83,7 @@ class CTSTest:
+         self.passed = 1
+         self.is_loop = 0
+         self.is_unsafe = 0
++        self.is_docker_unsafe = 0
+         self.is_experimental = 0
+         self.is_container = 0
+         self.is_valgrind = 0
+@@ -224,6 +225,8 @@ class CTSTest:
+             return 0
+         elif self.is_experimental and not self.Env["experimental-tests"]:
+             return 0
++        elif self.is_docker_unsafe and self.Env["docker"]:
++            return 0
+         elif self.is_container and not self.Env["container-tests"]:
+             return 0
+         elif self.Env["benchmark"] and self.benchmark == 0:
+@@ -1359,6 +1362,8 @@ class ComponentFail(CTSTest):
+     def __init__(self, cm):
+         CTSTest.__init__(self,cm)
+         self.name = "ComponentFail"
++        # TODO make this work correctly in docker.
++        self.is_docker_unsafe = 1
+         self.startall = SimulStartLite(cm)
+         self.complist = cm.Components()
+         self.patterns = []
+@@ -1419,6 +1424,15 @@ class ComponentFail(CTSTest):
+                 self.okerrpatterns.append(self.templates["Pat:ChildRespawn"] %(node, chosen.name))
+                 self.okerrpatterns.append(self.templates["Pat:ChildExit"])
+ 
++        if chosen.name == "stonith":
++            # Ignore actions for STONITH resources
++            (rc, lines) = self.rsh(node, "crm_resource -c", None)
++            for line in lines:
++                if re.search("^Resource", line):
++                    r = AuditResource(self.CM, line)
++                    if r.rclass == "stonith":
++                        self.okerrpatterns.append(self.templates["LogActions: Recover.*%s"] % r.id)
++
+         # supply a copy so self.patterns doesnt end up empty
+         tmpPats = []
+         tmpPats.extend(self.patterns)
+@@ -2512,6 +2526,7 @@ class RemoteLXC(CTSTest):
+         self.startall = SimulStartLite(cm)
+         self.num_containers = 2
+         self.is_container = 1
++        self.is_docker_unsafe = 1
+         self.failed = 0
+         self.fail_string = ""
+ 
+@@ -2624,6 +2639,7 @@ class RemoteBaremetal(CTSTest):
+     def __init__(self, cm):
+         CTSTest.__init__(self,cm)
+         self.name = "RemoteBaremetal"
++        self.is_docker_unsafe = 1
+         self.start = StartTest(cm)
+         self.startall = SimulStartLite(cm)
+         self.stop = StopTest(cm)
+diff --git a/cts/environment.py b/cts/environment.py
+index de1d099..d741452 100644
+--- a/cts/environment.py
++++ b/cts/environment.py
+@@ -71,6 +71,7 @@ class Environment:
+         self["loop-tests"] = 1
+         self["scenario"] = "random"
+         self["stats"] = 0
++        self["docker"] = 0
+ 
+         self.RandomGen = random.Random()
+         self.logger = LogFactory()
+@@ -143,7 +144,9 @@ class Environment:
+                 # GoodThing(tm).
+                 try:
+                     n = node.strip()
+-                    gethostbyname_ex(n)
++                    if self.data["docker"] == 0:
++                        gethostbyname_ex(n)
++
+                     self.Nodes.append(n) 
+                 except:
+                     self.logger.log(node+" not found in DNS... aborting")
+@@ -191,7 +194,10 @@ class Environment:
+             return "crm-lha"
+ 
+         elif self.data["Stack"] == "corosync 2.x":
+-            return "crm-mcp"
++            if self["docker"]:
++                return "crm-mcp-docker"
++            else:
++                return "crm-mcp"
+ 
+         elif self.data["Stack"] == "corosync (cman)":
+             return "crm-cman"
+@@ -342,6 +348,10 @@ class Environment:
+             elif args[i] == "--qarsh":
+                 RemoteFactory().enable_qarsh()
+ 
++            elif args[i] == "--docker":
++                self["docker"] = 1
++                RemoteFactory().enable_docker()
++
+             elif args[i] == "--stonith" or args[i] == "--fencing":
+                 skipthis=1
+                 if args[i+1] == "1" or args[i+1] == "yes":
+@@ -352,6 +362,9 @@ class Environment:
+                     self["DoStonith"]=1
+                     self["stonith-type"] = "fence_xvm"
+                     self["stonith-params"] = "pcmk_arg_map=domain:uname,delay=0"
++                elif args[i+1] == "docker":
++                    self["DoStonith"]=1
++                    self["stonith-type"] = "fence_docker_cts"
+                 elif args[i+1] == "scsi":
+                     self["DoStonith"]=1
+                     self["stonith-type"] = "fence_scsi"
+@@ -644,6 +657,7 @@ class Environment:
+         print "\t [--container-tests]          include pacemaker_remote tests that run in lxc container resources"
+         print "\t [--oprofile 'node list']     list of cluster nodes to run oprofile on]"
+         print "\t [--qarsh]                    use the QARSH backdoor to access nodes instead of SSH"
++        print "\t [--docker]                   Indicates nodes are docker nodes."
+         print "\t [--seed random_seed]"
+         print "\t [--set option=value]"
+         print "\t "
+diff --git a/cts/lxc_autogen.sh.in b/cts/lxc_autogen.sh.in
+index 6900b67..e11532b 100755
+--- a/cts/lxc_autogen.sh.in
++++ b/cts/lxc_autogen.sh.in
+@@ -72,6 +72,7 @@ if [ $verify -eq 1 ]; then
+ 	virsh -c lxc:/// list --all > /dev/null 2>&1
+ 	if [ $? -ne 0 ]; then
+ 		echo "Could not connect 'virsh -c lxc:///' check that libvirt lxc driver is installed"
++		# yum install -y libvirt-daemon-driver-lxc libvirt-daemon-lxc libvirt-login-shell
+ 		exit 1
+ 	fi
+ 
+diff --git a/cts/patterns.py b/cts/patterns.py
+index f651965..8d34e1c 100644
+--- a/cts/patterns.py
++++ b/cts/patterns.py
+@@ -364,9 +364,12 @@ class crm_cs_v0(BasePatterns):
+         self.components["stonith-ignore"] = [
+             "LogActions: Recover Fencing",
+             "Updating failcount for Fencing",
++            "error: crm_ipc_read: Connection to stonith-ng failed",
++            "error: mainloop_gio_callback: Connection to stonith-ng.*closed (I/O condition=17)",
++            "crit: tengine_stonith_connection_destroy: Fencing daemon connection failed",
+             "error: te_connect_stonith:.*Sign-in failed: triggered a retry",
+             "STONITH connection failed, finalizing .* pending operations.",
+-            "process_lrm_event:.*Operation Fencing.* Error"
++            "process_lrm_event:.*Operation Fencing.* Error",
+         ]
+         self.components["stonith-ignore"].extend(self.components["common-ignore"])
+ 
+@@ -409,6 +412,20 @@ class crm_mcp(crm_cs_v0):
+ #                "Pat:We_stopped"   : "%s.*Stopped Corosync Cluster Engine",
+ #            })
+ 
++class crm_mcp_docker(crm_mcp):
++    '''
++    The crm version 4 cluster manager class.
++    It implements the things we need to talk to and manipulate
++    crm clusters running on top of native corosync (no plugins)
++    '''
++    def __init__(self, name):
++        crm_mcp.__init__(self, name)
++
++        self.commands.update({
++            "StartCmd"       : "pcmk_start",
++            "StopCmd"        : "pcmk_stop",
++        })
++
+ class crm_cman(crm_cs_v0):
+     '''
+     The crm version 3 cluster manager class.
+@@ -454,6 +471,8 @@ class PatternSelector:
+             crm_cman(name)
+         elif name == "crm-mcp":
+             crm_mcp(name)
++        elif name == "crm-mcp-docker":
++            crm_mcp_docker(name)
+ 
+     def get_variant(self, variant):
+         if patternvariants.has_key(variant):
+diff --git a/cts/remote.py b/cts/remote.py
+index c8253c3..7920fc9 100644
+--- a/cts/remote.py
++++ b/cts/remote.py
+@@ -261,6 +261,12 @@ class RemoteFactory:
+     def new(self, silent=False):
+         return RemoteExec(RemoteFactory.rsh, silent)
+ 
++    def enable_docker(self):
++        print "Using DOCKER backend for connections to cluster nodes"
++
++        RemoteFactory.rsh.Command = "/usr/libexec/phd/docker/phd_docker_remote_cmd "
++        RemoteFactory.rsh.CpCommand = "/usr/libexec/phd/docker/phd_docker_cp"
++
+     def enable_qarsh(self):
+         # http://nstraz.wordpress.com/2008/12/03/introducing-qarsh/
+         print "Using QARSH for connections to cluster nodes"
+diff --git a/cts/watcher.py b/cts/watcher.py
+index d33e580..5e6ee43 100644
+--- a/cts/watcher.py
++++ b/cts/watcher.py
+@@ -165,7 +165,11 @@ class FileObj(SearchObj):
+             global log_watcher_bin
+ 
+             self.debug("Installing %s on %s" % (log_watcher_bin, host))
+-            self.rsh(host, '''echo "%s" > %s''' % (log_watcher, log_watcher_bin), silent=True)
++
++            os.system("cat << END >> %s\n%s\nEND" %(log_watcher_bin, log_watcher))
++            os.system("chmod 755 %s" %(log_watcher_bin))
++
++            self.rsh.cp(log_watcher_bin, "root@%s:%s" % (host, log_watcher_bin))
+             has_log_watcher[host] = 1
+ 
+         self.harvest()
+@@ -176,7 +180,8 @@ class FileObj(SearchObj):
+             if match:
+                 last_offset = self.offset
+                 self.offset = match.group(1)
+-                #if last_offset == "EOF": self.debug("Got %d lines, new offset: %s" % (len(lines), self.offset))
++                #if last_offset == "EOF": self.debug("Got %d lines, new offset: %s" % (len(outLines), self.offset))
++                self.debug("Got %d lines, new offset: %s  %s" % (len(outLines), self.offset, repr(self.delegate)))
+ 
+             elif re.search("^CTSwatcher:.*truncated", line):
+                 self.log(line)
+@@ -199,7 +204,7 @@ class FileObj(SearchObj):
+ 
+         global log_watcher_bin
+         return self.rsh.call_async(self.host,
+-                "python %s -t %s -p CTSwatcher: -l 200 -f %s -o %s" % (log_watcher_bin, self.name, self.filename, self.offset),
++                                   "python %s -t %s -p CTSwatcher: -l 200 -f %s -o %s -t %s" % (log_watcher_bin, self.name, self.filename, self.offset, self.name),
+                 completionDelegate=self)
+ 
+     def setend(self):
+@@ -208,7 +213,7 @@ class FileObj(SearchObj):
+ 
+         global log_watcher_bin
+         (rc, lines) = self.rsh(self.host,
+-                 "python %s -t %s -p CTSwatcher: -l 2 -f %s -o %s" % (log_watcher_bin, self.name, self.filename, "EOF"),
++                               "python %s -t %s -p CTSwatcher: -l 2 -f %s -o %s -t %s" % (log_watcher_bin, self.name, self.filename, "EOF", self.name),
+                  None, silent=True)
+ 
+         for line in lines:
+@@ -386,7 +391,7 @@ class LogWatcher(RemoteExec):
+ 
+     def async_complete(self, pid, returncode, outLines, errLines):
+         # TODO: Probably need a lock for updating self.line_cache
+-        self.logger.debug("%s: Got %d lines from %d" % (self.name, len(outLines), pid))
++        self.logger.debug("%s: Got %d lines from %d (total %d)" % (self.name, len(outLines), pid, len(self.line_cache)))
+         if len(outLines):
+             self.cache_lock.acquire()
+             self.line_cache.extend(outLines)
+@@ -407,7 +412,7 @@ class LogWatcher(RemoteExec):
+         for t in pending:
+             t.join(60.0)
+             if t.isAlive():
+-                self.logger.log("%s: Aborting after 20s waiting for %d logging commands" % (self.name, repr(t)))
++                self.logger.log("%s: Aborting after 20s waiting for %s logging commands" % (self.name, repr(t)))
+                 return
+ 
+         #print "Got %d lines" % len(self.line_cache)
+@@ -484,9 +489,6 @@ class LogWatcher(RemoteExec):
+                 if len(self.line_cache) == 0 and end < time.time():
+                     self.debug("Single search terminated: start=%d, end=%d, now=%d, lines=%d" % (begin, end, time.time(), lines))
+                     return None
+-                elif len(self.line_cache) == 0:
+-                    self.debug("Single search timed out: start=%d, end=%d, now=%d, lines=%d" % (begin, end, time.time(), lines))
+-                    return None
+                 else:
+                     self.debug("Waiting: start=%d, end=%d, now=%d, lines=%d" % (begin, end, time.time(), len(self.line_cache)))
+                     time.sleep(1)
+@@ -520,6 +522,7 @@ class LogWatcher(RemoteExec):
+                 self.unmatched = self.regexes
+                 self.matched = returnresult
+                 self.regexes = save_regexes
++                self.end()
+                 return None
+ 
+             returnresult.append(oneresult)
+diff --git a/extra/resources/remote b/extra/resources/remote
+index 9e0482b..9f141a2 100644
+--- a/extra/resources/remote
++++ b/extra/resources/remote
+@@ -62,11 +62,11 @@ meta_data() {
+     </parameter>
+   </parameters>
+   <actions>
+-    <action name="start"   timeout="15" />
+-    <action name="stop"    timeout="15" />
+-    <action name="monitor"    timeout="15" />
+-    <action name="migrate_to"   timeout="15" />
+-    <action name="migrate_from" timeout="15" />
++    <action name="start"   timeout="40" />
++    <action name="stop"    timeout="40" />
++    <action name="monitor"    timeout="30" />
++    <action name="migrate_to"   timeout="60" />
++    <action name="migrate_from" timeout="60" />
+     <action name="meta-data"  timeout="5" />
+   </actions>
+ </resource-agent>
+diff --git a/fencing/commands.c b/fencing/commands.c
+index a4e9f30..577ea95 100644
+--- a/fencing/commands.c
++++ b/fencing/commands.c
+@@ -1094,7 +1094,10 @@ stonith_device_action(xmlNode * msg, char **output)
+         device = g_hash_table_lookup(device_list, id);
+     }
+ 
+-    if (device) {
++    if (device && device->api_registered == FALSE) {
++        rc = -ENODEV;
++
++    } else if (device) {
+         cmd = create_async_command(msg);
+         if (cmd == NULL) {
+             free_device(device);
+diff --git a/fencing/main.c b/fencing/main.c
+index 5ae36cf..b03659e 100644
+--- a/fencing/main.c
++++ b/fencing/main.c
+@@ -415,7 +415,7 @@ topology_remove_helper(const char *node, int level)
+     xmlNode *data = create_xml_node(NULL, F_STONITH_LEVEL);
+     xmlNode *notify_data = create_xml_node(NULL, STONITH_OP_LEVEL_DEL);
+ 
+-    crm_xml_add(data, "origin", __FUNCTION__);
++    crm_xml_add(data, F_STONITH_ORIGIN, __FUNCTION__);
+     crm_xml_add_int(data, XML_ATTR_ID, level);
+     crm_xml_add(data, F_STONITH_TARGET, node);
+ 
+diff --git a/include/crm/services.h b/include/crm/services.h
+index e8bc172..5310709 100644
+--- a/include/crm/services.h
++++ b/include/crm/services.h
+@@ -152,6 +152,7 @@ enum nagios_exitcode {
+         int status;
+         int sequence;
+         int expected_rc;
++        int synchronous;
+ 
+         char *stderr_data;
+         char *stdout_data;
+diff --git a/include/crm_internal.h b/include/crm_internal.h
+index ba78da2..3eb88de 100644
+--- a/include/crm_internal.h
++++ b/include/crm_internal.h
+@@ -220,7 +220,7 @@ gboolean crm_remote_recv(crm_remote_t * remote, int total_timeout /*ms */ , int
+ xmlNode *crm_remote_parse_buffer(crm_remote_t * remote);
+ int crm_remote_tcp_connect(const char *host, int port);
+ int crm_remote_tcp_connect_async(const char *host, int port, int timeout,       /*ms */
+-                                 void *userdata, void (*callback) (void *userdata, int sock));
++                                 int *timer_id, void *userdata, void (*callback) (void *userdata, int sock));
+ 
+ #  ifdef HAVE_GNUTLS_GNUTLS_H
+ /*!
+@@ -276,6 +276,7 @@ int crm_read_pidfile(const char *filename);
+ #  define attrd_channel		T_ATTRD
+ #  define F_ATTRD_KEY		"attr_key"
+ #  define F_ATTRD_ATTRIBUTE	"attr_name"
++#  define F_ATTRD_REGEX 	"attr_regex"
+ #  define F_ATTRD_TASK		"task"
+ #  define F_ATTRD_VALUE		"attr_value"
+ #  define F_ATTRD_SET		"attr_set"
+diff --git a/lib/cluster/membership.c b/lib/cluster/membership.c
+index 9410506..24700e5 100644
+--- a/lib/cluster/membership.c
++++ b/lib/cluster/membership.c
+@@ -389,7 +389,9 @@ crm_find_peer(unsigned int id, const char *uname)
+         }
+ 
+     } else if(uname && by_id->uname) {
+-        crm_warn("Node '%s' and '%s' share the same cluster nodeid: %u", by_id->uname, by_name->uname, id);
++        crm_dump_peer_hash(LOG_INFO, __FUNCTION__);
++        crm_warn("Node '%s' and '%s' share the same cluster nodeid: %u %s", by_id->uname, by_name->uname, id, uname);
++        crm_abort(__FILE__, __FUNCTION__, __LINE__, "member weirdness", TRUE, TRUE);
+ 
+     } else if(id && by_name->id) {
+         crm_warn("Node %u and %u share the same name: '%s'", by_id->id, by_name->id, uname);
+diff --git a/lib/common/ipc.c b/lib/common/ipc.c
+index c1801a4..f26225f 100644
+--- a/lib/common/ipc.c
++++ b/lib/common/ipc.c
+@@ -806,7 +806,7 @@ crm_ipc_connect(crm_ipc_t * client)
+ 
+ #ifdef HAVE_IPCS_GET_BUFFER_SIZE
+     client->max_buf_size = qb_ipcc_get_buffer_size(client->ipc);
+-    if (client->max_buf_size < client->buf_size) {
++    if (client->max_buf_size > client->buf_size) {
+         free(client->buffer);
+         client->buffer = calloc(1, client->max_buf_size);
+         client->buf_size = client->max_buf_size;
+diff --git a/lib/common/remote.c b/lib/common/remote.c
+index 0a7cd93..e2492b9 100644
+--- a/lib/common/remote.c
++++ b/lib/common/remote.c
+@@ -737,11 +737,12 @@ check_connect_finished(gpointer userdata)
+ static int
+ internal_tcp_connect_async(int sock,
+                            const struct sockaddr *addr, socklen_t addrlen, int timeout /* ms */ ,
+-                           void *userdata, void (*callback) (void *userdata, int sock))
++                           int *timer_id, void *userdata, void (*callback) (void *userdata, int sock))
+ {
+     int rc = 0;
+     int flag = 0;
+     int interval = 500;
++    int timer;
+     struct tcp_async_cb_data *cb_data = NULL;
+ 
+     if ((flag = fcntl(sock, F_GETFL)) >= 0) {
+@@ -782,7 +783,10 @@ internal_tcp_connect_async(int sock,
+      * Something about the way mainloop is currently polling prevents this from working at the
+      * moment though. */
+     crm_trace("fd %d: scheduling to check if connect finished in %dms second", sock, interval);
+-    g_timeout_add(interval, check_connect_finished, cb_data);
++    timer = g_timeout_add(interval, check_connect_finished, cb_data);
++    if (timer_id) {
++        *timer_id = timer;
++    }
+ 
+     return 0;
+ }
+@@ -809,10 +813,11 @@ internal_tcp_connect(int sock, const struct sockaddr *addr, socklen_t addrlen)
+  * \internal
+  * \brief tcp connection to server at specified port
+  * \retval negative, failed to connect.
++ * \retval positive, sock fd
+  */
+ int
+-crm_remote_tcp_connect_async(const char *host, int port, int timeout,   /*ms */
+-                             void *userdata, void (*callback) (void *userdata, int sock))
++crm_remote_tcp_connect_async(const char *host, int port, int timeout, /*ms */
++                             int *timer_id, void *userdata, void (*callback) (void *userdata, int sock))
+ {
+     char buffer[256];
+     struct addrinfo *res = NULL;
+@@ -877,8 +882,7 @@ crm_remote_tcp_connect_async(const char *host, int port, int timeout,   /*ms */
+ 
+         if (callback) {
+             if (internal_tcp_connect_async
+-                (sock, rp->ai_addr, rp->ai_addrlen, timeout, userdata, callback) == 0) {
+-                sock = 0;
++                (sock, rp->ai_addr, rp->ai_addrlen, timeout, timer_id, userdata, callback) == 0) {
+                 goto async_cleanup; /* Success for now, we'll hear back later in the callback */
+             }
+ 
+@@ -903,5 +907,5 @@ async_cleanup:
+ int
+ crm_remote_tcp_connect(const char *host, int port)
+ {
+-    return crm_remote_tcp_connect_async(host, port, -1, NULL, NULL);
++    return crm_remote_tcp_connect_async(host, port, -1, NULL, NULL, NULL);
+ }
+diff --git a/lib/common/utils.c b/lib/common/utils.c
+index e559c51..dc54e6d 100644
+--- a/lib/common/utils.c
++++ b/lib/common/utils.c
+@@ -2005,6 +2005,9 @@ attrd_update_delegate(crm_ipc_t * ipc, char command, const char *host, const cha
+     }
+ 
+     switch (command) {
++        case 'u':
++            crm_xml_add(update, F_ATTRD_TASK, "update");
++            crm_xml_add(update, F_ATTRD_REGEX, name);
+         case 'D':
+         case 'U':
+         case 'v':
+diff --git a/lib/fencing/st_client.c b/lib/fencing/st_client.c
+index 2837682..06b9492 100644
+--- a/lib/fencing/st_client.c
++++ b/lib/fencing/st_client.c
+@@ -192,7 +192,7 @@ create_device_registration_xml(const char *id, const char *namespace, const char
+ #endif
+ 
+     crm_xml_add(data, XML_ATTR_ID, id);
+-    crm_xml_add(data, "origin", __FUNCTION__);
++    crm_xml_add(data, F_STONITH_ORIGIN, __FUNCTION__);
+     crm_xml_add(data, "agent", agent);
+     crm_xml_add(data, "namespace", namespace);
+     if (rsc_provides) {
+@@ -229,7 +229,7 @@ stonith_api_remove_device(stonith_t * st, int call_options, const char *name)
+     xmlNode *data = NULL;
+ 
+     data = create_xml_node(NULL, F_STONITH_DEVICE);
+-    crm_xml_add(data, "origin", __FUNCTION__);
++    crm_xml_add(data, F_STONITH_ORIGIN, __FUNCTION__);
+     crm_xml_add(data, XML_ATTR_ID, name);
+     rc = stonith_send_command(st, STONITH_OP_DEVICE_DEL, data, NULL, call_options, 0);
+     free_xml(data);
+@@ -244,7 +244,7 @@ stonith_api_remove_level(stonith_t * st, int options, const char *node, int leve
+     xmlNode *data = NULL;
+ 
+     data = create_xml_node(NULL, F_STONITH_LEVEL);
+-    crm_xml_add(data, "origin", __FUNCTION__);
++    crm_xml_add(data, F_STONITH_ORIGIN, __FUNCTION__);
+     crm_xml_add(data, F_STONITH_TARGET, node);
+     crm_xml_add_int(data, XML_ATTR_ID, level);
+     rc = stonith_send_command(st, STONITH_OP_LEVEL_DEL, data, NULL, options, 0);
+@@ -260,7 +260,7 @@ create_level_registration_xml(const char *node, int level, stonith_key_value_t *
+ 
+     crm_xml_add_int(data, XML_ATTR_ID, level);
+     crm_xml_add(data, F_STONITH_TARGET, node);
+-    crm_xml_add(data, "origin", __FUNCTION__);
++    crm_xml_add(data, F_STONITH_ORIGIN, __FUNCTION__);
+ 
+     for (; device_list; device_list = device_list->next) {
+         xmlNode *dev = create_xml_node(data, F_STONITH_DEVICE);
+@@ -1255,7 +1255,7 @@ stonith_api_query(stonith_t * stonith, int call_options, const char *target,
+     CRM_CHECK(devices != NULL, return -EINVAL);
+ 
+     data = create_xml_node(NULL, F_STONITH_DEVICE);
+-    crm_xml_add(data, "origin", __FUNCTION__);
++    crm_xml_add(data, F_STONITH_ORIGIN, __FUNCTION__);
+     crm_xml_add(data, F_STONITH_TARGET, target);
+     crm_xml_add(data, F_STONITH_ACTION, "off");
+     rc = stonith_send_command(stonith, STONITH_OP_QUERY, data, &output, call_options, timeout);
+@@ -1296,7 +1296,7 @@ stonith_api_call(stonith_t * stonith,
+     xmlNode *data = NULL;
+ 
+     data = create_xml_node(NULL, F_STONITH_DEVICE);
+-    crm_xml_add(data, "origin", __FUNCTION__);
++    crm_xml_add(data, F_STONITH_ORIGIN, __FUNCTION__);
+     crm_xml_add(data, F_STONITH_DEVICE, id);
+     crm_xml_add(data, F_STONITH_ACTION, action);
+     crm_xml_add(data, F_STONITH_TARGET, victim);
+diff --git a/lib/lrmd/lrmd_client.c b/lib/lrmd/lrmd_client.c
+index 3496098..b8c5d23 100644
+--- a/lib/lrmd/lrmd_client.c
++++ b/lib/lrmd/lrmd_client.c
+@@ -89,6 +89,9 @@ typedef struct lrmd_private_s {
+     int port;
+     gnutls_psk_client_credentials_t psk_cred_c;
+ 
++    /* while the async connection is occuring, this is the id
++     * of the connection timeout timer. */
++    int async_timer;
+     int sock;
+     /* since tls requires a round trip across the network for a
+      * request/reply, there are times where we just want to be able
+@@ -1101,6 +1104,8 @@ lrmd_tcp_connect_cb(void *userdata, int sock)
+     int rc = sock;
+     gnutls_datum_t psk_key = { NULL, 0 };
+ 
++    native->async_timer = 0;
++
+     if (rc < 0) {
+         lrmd_tls_connection_destroy(lrmd);
+         crm_info("remote lrmd connect to %s at port %d failed", native->server, native->port);
+@@ -1152,14 +1157,23 @@ lrmd_tcp_connect_cb(void *userdata, int sock)
+ static int
+ lrmd_tls_connect_async(lrmd_t * lrmd, int timeout /*ms */ )
+ {
+-    int rc = 0;
++    int rc = -1;
++    int sock = 0;
++    int timer_id = 0;
++
+     lrmd_private_t *native = lrmd->private;
+ 
+     lrmd_gnutls_global_init();
+ 
+-    rc = crm_remote_tcp_connect_async(native->server, native->port, timeout, lrmd,
++    sock = crm_remote_tcp_connect_async(native->server, native->port, timeout, &timer_id, lrmd,
+                                       lrmd_tcp_connect_cb);
+ 
++    if (sock != -1) {
++        native->sock = sock;
++        rc = 0;
++        native->async_timer = timer_id;
++    }
++
+     return rc;
+ }
+ 
+@@ -1319,6 +1333,11 @@ lrmd_tls_disconnect(lrmd_t * lrmd)
+         native->remote->tls_session = 0;
+     }
+ 
++    if (native->async_timer) {
++        g_source_remove(native->async_timer);
++        native->async_timer = 0;
++    }
++
+     if (native->source != NULL) {
+         /* Attached to mainloop */
+         mainloop_del_ipc_client(native->source);
+diff --git a/lib/pengine/unpack.c b/lib/pengine/unpack.c
+index b699201..7127c12 100644
+--- a/lib/pengine/unpack.c
++++ b/lib/pengine/unpack.c
+@@ -1756,6 +1756,7 @@ process_rsc_state(resource_t * rsc, node_t * node,
+     if (rsc->role > RSC_ROLE_STOPPED
+         && node->details->online == FALSE && is_set(rsc->flags, pe_rsc_managed)) {
+ 
++        char *reason = NULL;
+         gboolean should_fence = FALSE;
+ 
+         /* if this is a remote_node living in a container, fence the container
+@@ -1768,14 +1769,25 @@ process_rsc_state(resource_t * rsc, node_t * node,
+ 
+             should_fence = TRUE;
+         } else if (is_set(data_set->flags, pe_flag_stonith_enabled)) {
++            if (is_baremetal_remote_node(node) && is_not_set(node->details->remote_rsc->flags, pe_rsc_failed)) {
++                /* setting unceen = true means that fencing of the remote node will
++                 * only occur if the connection resource is not going to start somewhere.
++                 * This allows connection resources on a failed cluster-node to move to
++                 * another node without requiring the baremetal remote nodes to be fenced
++                 * as well. */
++                node->details->unseen = TRUE;
++                reason = g_strdup_printf("because %s is active there. Fencing will be revoked if remote-node connection can be re-established on another cluster-node.", rsc->id);
++            }
+             should_fence = TRUE;
+         }
+ 
+         if (should_fence) {
+-            char *reason = g_strdup_printf("because %s is thought to be active there", rsc->id);
++            if (reason == NULL) {
++               reason = g_strdup_printf("because %s is thought to be active there", rsc->id);
++            }
+             pe_fence_node(data_set, node, reason);
+-            g_free(reason);
+         }
++        g_free(reason);
+     }
+ 
+     if (node->details->unclean) {
+@@ -1840,6 +1852,17 @@ process_rsc_state(resource_t * rsc, node_t * node,
+             break;
+     }
+ 
++    /* ensure a remote-node connection failure forces an unclean remote-node
++     * to be fenced. By setting unseen = FALSE, the remote-node failure will
++     * result in a fencing operation regardless if we're going to attempt to 
++     * reconnect to the remote-node in this transition or not. */
++    if (is_set(rsc->flags, pe_rsc_failed) && rsc->is_remote_node) {
++        node_t *tmpnode = pe_find_node(data_set->nodes, rsc->id);
++        if (tmpnode->details->unclean) {
++            tmpnode->details->unseen = FALSE;
++        }
++    }
++
+     if (rsc->role != RSC_ROLE_STOPPED && rsc->role != RSC_ROLE_UNKNOWN) {
+         if (is_set(rsc->flags, pe_rsc_orphan)) {
+             if (is_set(rsc->flags, pe_rsc_managed)) {
+@@ -2160,7 +2183,7 @@ unpack_lrm_resources(node_t * node, xmlNode * lrm_rsc_list, pe_working_set_t * d
+     for (gIter = unexpected_containers; gIter != NULL; gIter = gIter->next) {
+         remote = (resource_t *) gIter->data;
+         if (remote->role != RSC_ROLE_STARTED) {
+-            crm_warn("Recovering container resource %s. Resource is unexpectedly running and involves a remote-node.");
++            crm_warn("Recovering container resource %s. Resource is unexpectedly running and involves a remote-node.", remote->container->id);
+             set_bit(remote->container->flags, pe_rsc_failed);
+         }
+     }
+diff --git a/lib/services/dbus.c b/lib/services/dbus.c
+index 8b8aee1..587589c 100644
+--- a/lib/services/dbus.c
++++ b/lib/services/dbus.c
+@@ -6,6 +6,14 @@
+ 
+ #define BUS_PROPERTY_IFACE "org.freedesktop.DBus.Properties"
+ 
++struct db_getall_data
++{
++        char *name;
++        char *target;
++        char *object;
++        void *userdata;
++        void (*callback)(const char *name, const char *value, void *userdata);
++};
+ 
+ static bool pcmk_dbus_error_check(DBusError *err, const char *prefix, const char *function, int line) 
+ {
+@@ -107,8 +115,9 @@ DBusMessage *pcmk_dbus_send_recv(DBusMessage *msg, DBusConnection *connection, D
+     method = dbus_message_get_member (msg);
+ 
+     // send message and get a handle for a reply
+-    if (!dbus_connection_send_with_reply (connection, msg, &pending, -1)) { // -1 is default timeout
++    if (!dbus_connection_send_with_reply (connection, msg, &pending, -1/* aka. DBUS_TIMEOUT_USE_DEFAULT */)) {
+         if(error) {
++            dbus_error_init(error);
+             error->message = "Call to dbus_connection_send_with_reply() failed";
+             error->name = "org.clusterlabs.pacemaker.SendFailed";
+         }
+@@ -126,13 +135,7 @@ DBusMessage *pcmk_dbus_send_recv(DBusMessage *msg, DBusConnection *connection, D
+         reply = dbus_pending_call_steal_reply(pending);
+     }
+ 
+-    if(pcmk_dbus_find_error(method, pending, reply, error)) {
+-        crm_trace("Was error: '%s' '%s'", error->name, error->message);
+-        if(reply) {
+-            dbus_message_unref(reply);
+-            reply = NULL;
+-        }
+-    }
++    pcmk_dbus_find_error(method, pending, reply, error);
+ 
+     if(pending) {
+         /* free the pending message handle */
+@@ -156,7 +159,7 @@ bool pcmk_dbus_send(DBusMessage *msg, DBusConnection *connection,
+     method = dbus_message_get_member (msg);
+ 
+     // send message and get a handle for a reply
+-    if (!dbus_connection_send_with_reply (connection, msg, &pending, -1)) { // -1 is default timeout
++    if (!dbus_connection_send_with_reply (connection, msg, &pending, -1/* aka. DBUS_TIMEOUT_USE_DEFAULT */)) { // -1 is default timeout
+         crm_err("Send with reply failed for %s", method);
+         return FALSE;
+ 
+@@ -205,65 +208,38 @@ bool pcmk_dbus_type_check(DBusMessage *msg, DBusMessageIter *field, int expected
+ 
+         dbus_message_iter_init(msg, &args);
+         do_crm_log_alias(LOG_ERR, __FILE__, function, line,
+-                         "Unexepcted DBus type, expected %c instead of %c in '%s'",
+-                         expected, dtype, dbus_message_iter_get_signature(&args));
++                         "Unexepcted DBus type, expected %c in '%s' instead of %c",
++                         expected, dbus_message_iter_get_signature(&args), dtype);
+         return FALSE;
+     }
+ 
+     return TRUE;
+ }
+ 
+-char *
+-pcmk_dbus_get_property(
+-    DBusConnection *connection, const char *target, const char *obj, const gchar * iface, const char *name)
++static char *
++pcmk_dbus_lookup_result(DBusMessage *reply, struct db_getall_data *data)
+ {
+-    DBusMessage *msg;
+-    DBusMessageIter args;
+-    DBusMessageIter dict;
+-    DBusMessage *reply = NULL;
+-    /* DBusBasicValue value; */
+-    const char *method = "GetAll";
+-    char *output = NULL;
+     DBusError error;
++    char *output = NULL;
++    DBusMessageIter dict;
++    DBusMessageIter args;
+ 
+-        /* desc = systemd_unit_property(path, BUS_NAME ".Unit", "Description"); */
+-
+-    dbus_error_init(&error);
+-    crm_info("Calling: %s on %s", method, target);
+-    msg = dbus_message_new_method_call(target, // target for the method call
+-                                       obj, // object to call on
+-                                       BUS_PROPERTY_IFACE, // interface to call on
+-                                       method); // method name
+-
+-    if (NULL == msg) {
+-        crm_err("Call to %s failed: No message", method);
+-        return NULL;
+-    }
+-
+-    CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_STRING, &iface, DBUS_TYPE_INVALID));
+-
+-    reply = pcmk_dbus_send_recv(msg, connection, &error);
+-    dbus_message_unref(msg);
+-
+-    if(error.name) {
+-        crm_err("Call to %s for %s failed: No reply", method, iface);
+-        return NULL;
+-
+-    } else if (!dbus_message_iter_init(reply, &args)) {
+-        crm_err("Cannot get properties for %s from %s", obj, iface);
+-        return NULL;
++    if(pcmk_dbus_find_error("GetAll", (void*)&error, reply, &error)) {
++        crm_err("Cannot get properties from %s for %s", data->target, data->object);
++        goto cleanup;
+     }
+ 
++    dbus_message_iter_init(reply, &args);
+     if(!pcmk_dbus_type_check(reply, &args, DBUS_TYPE_ARRAY, __FUNCTION__, __LINE__)) {
+-        crm_err("Call to %s failed: Message has invalid arguments", method);
+-        dbus_message_unref(reply);
+-        return NULL;
++        crm_err("Invalid reply from %s for %s", data->target, data->object);
++        goto cleanup;
+     }
+ 
+     dbus_message_iter_recurse(&args, &dict);
+     while (dbus_message_iter_get_arg_type (&dict) != DBUS_TYPE_INVALID) {
+         DBusMessageIter sv;
+         DBusMessageIter v;
++        DBusBasicValue name;
+         DBusBasicValue value;
+ 
+         if(!pcmk_dbus_type_check(reply, &dict, DBUS_TYPE_DICT_ENTRY, __FUNCTION__, __LINE__)) {
+@@ -277,10 +253,9 @@ pcmk_dbus_get_property(
+ 
+             switch(dtype) {
+                 case DBUS_TYPE_STRING:
+-                    dbus_message_iter_get_basic(&sv, &value);
++                    dbus_message_iter_get_basic(&sv, &name);
+ 
+-                    crm_trace("Got: %s", value.str);
+-                    if(strcmp(value.str, name) != 0) {
++                    if(data->name && strcmp(name.str, data->name) != 0) {
+                         dbus_message_iter_next (&sv); /* Skip the value */
+                     }
+                     break;
+@@ -289,8 +264,17 @@ pcmk_dbus_get_property(
+                     if(pcmk_dbus_type_check(reply, &v, DBUS_TYPE_STRING, __FUNCTION__, __LINE__)) {
+                         dbus_message_iter_get_basic(&v, &value);
+ 
+-                        crm_trace("Result: %s", value.str);
+-                        output = strdup(value.str);
++                        crm_trace("Property %s[%s] is '%s'", data->object, name.str, value.str);
++                        if(data->callback) {
++                            data->callback(name.str, value.str, data->userdata);
++
++                        } else {
++                            output = strdup(value.str);
++                        }
++
++                        if(data->name) {
++                            goto cleanup;
++                        }
+                     }
+                     break;
+                 default:
+@@ -302,8 +286,82 @@ pcmk_dbus_get_property(
+         dbus_message_iter_next (&dict);
+     }
+ 
++  cleanup:
++    free(data->target);
++    free(data->object);
++    free(data->name);
++    free(data);
++
++    return output;
++}
++
++static void
++pcmk_dbus_lookup_cb(DBusPendingCall *pending, void *user_data)
++{
++    DBusMessage *reply = NULL;
++
++    if(pending) {
++        reply = dbus_pending_call_steal_reply(pending);
++    }
++
++    pcmk_dbus_lookup_result(reply, user_data);
++
++    if(reply) {
++        dbus_message_unref(reply);
++    }
++}
++
++char *
++pcmk_dbus_get_property(
++    DBusConnection *connection, const char *target, const char *obj, const gchar * iface, const char *name,
++    void (*callback)(const char *name, const char *value, void *userdata), void *userdata)
++{
++    DBusMessage *msg;
++    const char *method = "GetAll";
++    char *output = NULL;
++
++    struct db_getall_data *query_data = NULL;
++
++    /* char *state = pcmk_dbus_get_property(systemd_proxy, BUS_NAME, unit, BUS_NAME ".Unit", "ActiveState"); */
++
++    crm_debug("Calling: %s on %s", method, target);
++    msg = dbus_message_new_method_call(target, // target for the method call
++                                       obj, // object to call on
++                                       BUS_PROPERTY_IFACE, // interface to call on
++                                       method); // method name
++
++    if (NULL == msg) {
++        crm_err("Call to %s failed: No message", method);
++        return NULL;
++    }
++
++    CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_STRING, &iface, DBUS_TYPE_INVALID));
++
++    query_data = malloc(sizeof(struct db_getall_data));
++    query_data->target = strdup(target);
++    query_data->object = strdup(obj);
++    query_data->callback = callback;
++    query_data->userdata = userdata;
++    query_data->name = NULL;
++
++    if(name) {
++        query_data->name = strdup(name);
++    }
++
++    if(query_data->callback) {
++        pcmk_dbus_send(msg, connection, pcmk_dbus_lookup_cb, query_data);
++
++    } else {
++        DBusMessage *reply = pcmk_dbus_send_recv(msg, connection, NULL);
++
++        output = pcmk_dbus_lookup_result(reply, query_data);
++        if(reply) {
++            dbus_message_unref(reply);
++        }
++    }
++
++    dbus_message_unref(msg);
+ 
+-    crm_trace("Property %s[%s] is '%s'", obj, name, output);
+     return output;
+ }
+ 
+@@ -354,6 +412,14 @@ pcmk_dbus_watch_add(DBusWatch *watch, void *data){
+ }
+ 
+ static void
++pcmk_dbus_watch_toggle(DBusWatch *watch, void *data)
++{
++    mainloop_io_t *client = dbus_watch_get_data(watch);
++    crm_notice("DBus client %p is now %s", client, dbus_watch_get_enabled(watch)?"enabled":"disabled");
++}
++
++
++static void
+ pcmk_dbus_watch_remove(DBusWatch *watch, void *data){
+     mainloop_io_t *client = dbus_watch_get_data(watch);
+ 
+@@ -404,7 +470,7 @@ pcmk_dbus_timeout_toggle(DBusTimeout *timeout, void *data){
+ void pcmk_dbus_connection_setup_with_select(DBusConnection *c){
+ 	dbus_connection_set_timeout_functions(
+             c, pcmk_dbus_timeout_add, pcmk_dbus_timeout_remove, pcmk_dbus_timeout_toggle, NULL, NULL);
+-	dbus_connection_set_watch_functions(c, pcmk_dbus_watch_add, pcmk_dbus_watch_remove, NULL, NULL, NULL);
++	dbus_connection_set_watch_functions(c, pcmk_dbus_watch_add, pcmk_dbus_watch_remove, pcmk_dbus_watch_toggle, NULL, NULL);
+ 	dbus_connection_set_dispatch_status_function(c, pcmk_dbus_connection_dispatch, NULL, NULL);
+ 
+ 	pcmk_dbus_connection_dispatch(c, dbus_connection_get_dispatch_status(c), NULL);
+diff --git a/lib/services/pcmk-dbus.h b/lib/services/pcmk-dbus.h
+index 3b7a598..ed80c5f 100644
+--- a/lib/services/pcmk-dbus.h
++++ b/lib/services/pcmk-dbus.h
+@@ -6,7 +6,9 @@ bool pcmk_dbus_send(DBusMessage *msg, DBusConnection *connection,
+                     void(*done)(DBusPendingCall *pending, void *user_data), void *user_data);
+ DBusMessage *pcmk_dbus_send_recv(DBusMessage *msg, DBusConnection *connection, DBusError *error);
+ bool pcmk_dbus_type_check(DBusMessage *msg, DBusMessageIter *field, int expected, const char *function, int line);
+-char *pcmk_dbus_get_property(DBusConnection *connection, const char *target, const char *obj, const gchar * iface, const char *name);
++char *pcmk_dbus_get_property(
++    DBusConnection *connection, const char *target, const char *obj, const gchar * iface, const char *name,
++    void (*callback)(const char *name, const char *value, void *userdata), void *userdata);
+ 
+ bool pcmk_dbus_find_error(const char *method, DBusPendingCall* pending, DBusMessage *reply, DBusError *error);
+ 
+diff --git a/lib/services/services.c b/lib/services/services.c
+index 7b32405..8590b56 100644
+--- a/lib/services/services.c
++++ b/lib/services/services.c
+@@ -473,6 +473,7 @@ handle_duplicate_recurring(svc_action_t * op, void (*action_callback) (svc_actio
+ gboolean
+ services_action_async(svc_action_t * op, void (*action_callback) (svc_action_t *))
+ {
++    op->synchronous = false;
+     if (action_callback) {
+         op->opaque->callback = action_callback;
+     }
+@@ -491,7 +492,7 @@ services_action_async(svc_action_t * op, void (*action_callback) (svc_action_t *
+     }
+     if (op->standard && strcasecmp(op->standard, "systemd") == 0) {
+ #if SUPPORT_SYSTEMD
+-        return systemd_unit_exec(op, FALSE);
++        return systemd_unit_exec(op);
+ #endif
+     }
+     return services_os_action_execute(op, FALSE);
+@@ -502,6 +503,7 @@ services_action_sync(svc_action_t * op)
+ {
+     gboolean rc = TRUE;
+ 
++    op->synchronous = true;
+     if (op == NULL) {
+         crm_trace("No operation to execute");
+         return FALSE;
+@@ -512,7 +514,7 @@ services_action_sync(svc_action_t * op)
+ #endif
+     } else if (op->standard && strcasecmp(op->standard, "systemd") == 0) {
+ #if SUPPORT_SYSTEMD
+-        rc = systemd_unit_exec(op, TRUE);
++        rc = systemd_unit_exec(op);
+ #endif
+     } else {
+         rc = services_os_action_execute(op, TRUE);
+diff --git a/lib/services/systemd.c b/lib/services/systemd.c
+index e81d178..c967430 100644
+--- a/lib/services/systemd.c
++++ b/lib/services/systemd.c
+@@ -35,6 +35,9 @@
+ /*
+    /usr/share/dbus-1/interfaces/org.freedesktop.systemd1.Manager.xml
+ */
++gboolean
++systemd_unit_exec_with_unit(svc_action_t * op, const char *unit);
++
+ 
+ struct unit_info {
+     const char *id;
+@@ -49,6 +52,15 @@ struct unit_info {
+     const char *job_path;
+ };
+ 
++struct pcmk_dbus_data 
++{
++        char *name;
++        char *unit;
++        DBusError error;
++        svc_action_t *op;
++        void (*callback)(DBusMessage *reply, svc_action_t *op);
++};
++
+ static DBusMessage *systemd_new_method(const char *iface, const char *method)
+ {
+     crm_trace("Calling: %s on %s", method, iface);
+@@ -101,6 +113,7 @@ systemd_service_name(const char *name)
+ static bool
+ systemd_daemon_reload(void)
+ {
++    /* TODO: Make this asynchronous */
+     const char *method = "Reload";
+     DBusMessage *reply = NULL;
+     DBusMessage *msg = systemd_new_method(BUS_NAME".Manager", method);
+@@ -114,21 +127,55 @@ systemd_daemon_reload(void)
+     return TRUE;
+ }
+ 
+-static gboolean
+-systemd_unit_by_name(const gchar * arg_name, gchar ** out_unit)
++static const char *
++systemd_loadunit_result(DBusMessage *reply, svc_action_t * op)
++{
++    const char *path = NULL;
++
++    if(pcmk_dbus_find_error("LoadUnit", (void*)&path, reply, NULL)) {
++        if(op) {
++            crm_warn("No unit found for %s", op->rsc);
++        }
++
++    } else if(pcmk_dbus_type_check(reply, NULL, DBUS_TYPE_OBJECT_PATH, __FUNCTION__, __LINE__)) {
++        dbus_message_get_args (reply, NULL,
++                               DBUS_TYPE_OBJECT_PATH, &path,
++                               DBUS_TYPE_INVALID);
++    }
++
++    if(op) {
++        systemd_unit_exec_with_unit(op, path);
++    }
++
++    return path;
++}
++
++
++static void
++systemd_loadunit_cb(DBusPendingCall *pending, void *user_data)
++{
++    DBusMessage *reply = NULL;
++
++    if(pending) {
++        reply = dbus_pending_call_steal_reply(pending);
++    }
++
++    systemd_loadunit_result(reply, user_data);
++
++    if(reply) {
++        dbus_message_unref(reply);
++    }
++}
++
++static char *
++systemd_unit_by_name(const gchar * arg_name, svc_action_t *op)
+ {
+     DBusMessage *msg;
+     DBusMessage *reply = NULL;
+-    const char *method = "GetUnit";
+     char *name = NULL;
+-    DBusError error;
+ 
+ /*
+-  <method name="GetUnit">
+-   <arg name="name" type="s" direction="in"/>
+-   <arg name="unit" type="o" direction="out"/>
+-  </method>
+-
++  Equivalent to GetUnit if its already loaded
+   <method name="LoadUnit">
+    <arg name="name" type="s" direction="in"/>
+    <arg name="unit" type="o" direction="out"/>
+@@ -139,51 +186,34 @@ systemd_unit_by_name(const gchar * arg_name, gchar ** out_unit)
+         return FALSE;
+     }
+ 
+-    name = systemd_service_name(arg_name);
++    msg = systemd_new_method(BUS_NAME".Manager", "LoadUnit");
++    CRM_ASSERT(msg != NULL);
+ 
+-    while(TRUE) {
+-        msg = systemd_new_method(BUS_NAME".Manager", method);
+-        CRM_ASSERT(msg != NULL);
++    name = systemd_service_name(arg_name);
++    CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_STRING, &name, DBUS_TYPE_INVALID));
++    free(name);
+ 
+-        CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_STRING, &name, DBUS_TYPE_INVALID));
++    if(op == NULL || op->synchronous) {
++        const char *unit = NULL;
++        char *munit = NULL;
++        DBusError error;
+ 
+         dbus_error_init(&error);
+         reply = pcmk_dbus_send_recv(msg, systemd_proxy, &error);
+         dbus_message_unref(msg);
+ 
+-        if(error.name) {
+-            crm_info("Call to %s failed: %s", method, error.name);
+-
+-        } else if(pcmk_dbus_type_check(reply, NULL, DBUS_TYPE_OBJECT_PATH, __FUNCTION__, __LINE__)) {
+-            if(out_unit) {
+-                char *path = NULL;
+-
+-                dbus_message_get_args (reply, NULL,
+-                                       DBUS_TYPE_OBJECT_PATH, &path,
+-                                       DBUS_TYPE_INVALID);
+-
+-                *out_unit = strdup(path);
+-            }
+-            dbus_message_unref(reply);
+-            free(name);
+-            return TRUE;
++        unit = systemd_loadunit_result(reply, op);
++        if(unit) {
++            munit = strdup(unit);
+         }
+-
+-        if(strcmp(method, "LoadUnit") != 0) {
+-            method = "LoadUnit";
+-            crm_debug("Cannot find %s, reloading the systemd manager configuration", name);
+-            systemd_daemon_reload();
+-            if(reply) {
+-                dbus_message_unref(reply);
+-                reply = NULL;
+-            }
+-
+-        } else {
+-            free(name);
+-            return FALSE;
++        if(reply) {
++            dbus_message_unref(reply);
+         }
++        return munit;
+     }
+-    return FALSE;
++
++    pcmk_dbus_send(msg, systemd_proxy, systemd_loadunit_cb, op);
++    return NULL;
+ }
+ 
+ GList *
+@@ -220,6 +250,10 @@ systemd_unit_listall(void)
+         crm_err("Call to %s failed: %s", method, error.name);
+         return NULL;
+ 
++    } else if (reply == NULL) {
++        crm_err("Call to %s failed: Message has no reply", method);
++        return NULL;
++
+     } else if (!dbus_message_iter_init(reply, &args)) {
+         crm_err("Call to %s failed: Message has no arguments", method);
+         dbus_message_unref(reply);
+@@ -269,21 +303,27 @@ systemd_unit_listall(void)
+ gboolean
+ systemd_unit_exists(const char *name)
+ {
+-    return systemd_unit_by_name(name, NULL);
++    /* Note: Makes a blocking dbus calls
++     * Used by resources_find_service_class() when resource class=service
++     */
++    if(systemd_unit_by_name(name, NULL)) {
++        return TRUE;
++    }
++    return FALSE;
+ }
+ 
+ static char *
+ systemd_unit_metadata(const char *name)
+ {
+-    char *path = NULL;
+     char *meta = NULL;
+     char *desc = NULL;
++    char *path = systemd_unit_by_name(name, NULL);
+ 
+-    if (systemd_unit_by_name(name, &path)) {
+-        CRM_ASSERT(path);
+-        desc = pcmk_dbus_get_property(systemd_proxy, BUS_NAME, path, BUS_NAME ".Unit", "Description");
++    if (path) {
++        /* TODO: Worth a making blocking call for? Probably not. Possibly if cached. */
++        desc = pcmk_dbus_get_property(systemd_proxy, BUS_NAME, path, BUS_NAME ".Unit", "Description", NULL, NULL);
+     } else {
+-        desc = g_strdup_printf("systemd unit file for %s", name);
++        desc = g_strdup_printf("Systemd unit file for %s", name);
+     }
+ 
+     meta = g_strdup_printf("<?xml version=\"1.0\"?>\n"
+@@ -335,24 +375,15 @@ systemd_mask_error(svc_action_t *op, const char *error)
+ }
+ 
+ static void
+-systemd_async_dispatch(DBusPendingCall *pending, void *user_data)
++systemd_exec_result(DBusMessage *reply, svc_action_t *op)
+ {
+     DBusError error;
+-    DBusMessage *reply = NULL;
+-    svc_action_t *op = user_data;
+ 
+-    dbus_error_init(&error);
+-    if(pending) {
+-        reply = dbus_pending_call_steal_reply(pending);
+-    }
+-    if(reply == NULL) {
+-        crm_err("No reply for %s action on %s", op->action, op->rsc);
+-
+-    } else if(pcmk_dbus_find_error(op->action, pending, reply, &error)) {
++    if(pcmk_dbus_find_error(op->action, (void*)&error, reply, &error)) {
+ 
+         /* ignore "already started" or "not running" errors */
+         if (!systemd_mask_error(op, error.name)) {
+-            crm_err("%s for %s: %s", op->action, op->rsc, error.message);
++            crm_err("Could not issue %s for %s: %s (%s)", op->action, op->rsc, error.message);
+         }
+ 
+     } else {
+@@ -372,6 +403,21 @@ systemd_async_dispatch(DBusPendingCall *pending, void *user_data)
+     }
+ 
+     operation_finalize(op);
++}
++
++static void
++systemd_async_dispatch(DBusPendingCall *pending, void *user_data)
++{
++    DBusError error;
++    DBusMessage *reply = NULL;
++    svc_action_t *op = user_data;
++
++    dbus_error_init(&error);
++    if(pending) {
++        reply = dbus_pending_call_steal_reply(pending);
++    }
++
++    systemd_exec_result(reply, op);
+ 
+     if(pending) {
+         dbus_pending_call_unref(pending);
+@@ -383,61 +429,56 @@ systemd_async_dispatch(DBusPendingCall *pending, void *user_data)
+ 
+ #define SYSTEMD_OVERRIDE_ROOT "/run/systemd/system/"
+ 
++static void
++systemd_unit_check(const char *name, const char *state, void *userdata)
++{
++    svc_action_t * op = userdata;
++    
++    CRM_ASSERT(state != NULL);
++
++    if (g_strcmp0(state, "active") == 0) {
++        op->rc = PCMK_OCF_OK;
++    } else if (g_strcmp0(state, "activating") == 0) {
++        op->rc = PCMK_OCF_PENDING;
++    } else {
++        op->rc = PCMK_OCF_NOT_RUNNING;
++    }
++
++    if (op->synchronous == FALSE) {
++        operation_finalize(op);
++    }
++}
++
+ gboolean
+-systemd_unit_exec(svc_action_t * op, gboolean synchronous)
++systemd_unit_exec_with_unit(svc_action_t * op, const char *unit)
+ {
+-    DBusError error;
+-    char *unit = NULL;
+-    const char *replace_s = "replace";
+-    gboolean pass = FALSE;
+     const char *method = op->action;
+-    char *name = systemd_service_name(op->agent);
+     DBusMessage *msg = NULL;
+     DBusMessage *reply = NULL;
+ 
+-    dbus_error_init(&error);
+-    op->rc = PCMK_OCF_UNKNOWN_ERROR;
+-    CRM_ASSERT(systemd_init());
+-
+-    crm_debug("Performing %ssynchronous %s op on systemd unit %s named '%s'",
+-              synchronous ? "" : "a", op->action, op->agent, op->rsc);
+-
+-    if (safe_str_eq(op->action, "meta-data")) {
+-        op->stdout_data = systemd_unit_metadata(op->agent);
+-        op->rc = PCMK_OCF_OK;
+-        goto cleanup;
+-    }
++    CRM_ASSERT(unit);
+ 
+-    pass = systemd_unit_by_name(op->agent, &unit);
+-    if (pass == FALSE) {
++    if (unit == NULL) {
+         crm_debug("Could not obtain unit named '%s'", op->agent);
+-#if 0
+-        if (error && strstr(error->message, "systemd1.NoSuchUnit")) {
+-            op->rc = PCMK_OCF_NOT_INSTALLED;
+-            op->status = PCMK_LRM_OP_NOT_INSTALLED;
+-        }
+-#endif
++        op->rc = PCMK_OCF_NOT_INSTALLED;
++        op->status = PCMK_LRM_OP_NOT_INSTALLED;
+         goto cleanup;
+     }
+ 
+     if (safe_str_eq(op->action, "monitor") || safe_str_eq(method, "status")) {
+-        char *state = pcmk_dbus_get_property(systemd_proxy, BUS_NAME, unit, BUS_NAME ".Unit", "ActiveState");
+-
+-        if (g_strcmp0(state, "active") == 0) {
+-            op->rc = PCMK_OCF_OK;
+-        } else if (g_strcmp0(state, "activating") == 0) {
+-            op->rc = PCMK_OCF_PENDING;
+-        } else {
+-            op->rc = PCMK_OCF_NOT_RUNNING;
++        char *state = pcmk_dbus_get_property(systemd_proxy, BUS_NAME, unit, BUS_NAME ".Unit", "ActiveState",
++                                             op->synchronous?NULL:systemd_unit_check, op);
++        if (op->synchronous) {
++            systemd_unit_check("ActiveState", state, op);
++            free(state);
++            return op->rc == PCMK_OCF_OK;
+         }
+-
+-        free(state);
+-        goto cleanup;
++        return TRUE;
+ 
+     } else if (g_strcmp0(method, "start") == 0) {
+         FILE *file_strm = NULL;
+         char *override_dir = g_strdup_printf("%s/%s", SYSTEMD_OVERRIDE_ROOT, unit);
+-        char *override_file = g_strdup_printf("%s/50-pacemaker.conf", override_dir);
++        char *override_file = g_strdup_printf("%s/%s/50-pacemaker.conf", SYSTEMD_OVERRIDE_ROOT, unit);
+ 
+         method = "StartUnit";
+         crm_build_path(override_dir, 0755);
+@@ -446,11 +487,11 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
+         if (file_strm != NULL) {
+             int rc = fprintf(file_strm, "[Service]\nRestart=no");
+             if (rc < 0) {
+-                crm_perror(LOG_ERR, "Cannot write to systemd override file %s: %s (%d)", override_file, pcmk_strerror(errno), errno);
++                crm_perror(LOG_ERR, "Cannot write to systemd override file %s", override_file);
+             }
+ 
+         } else {
+-            crm_err("Cannot open systemd override file %s for writing: %s (%d)", override_file, pcmk_strerror(errno), errno);
++            crm_err("Cannot open systemd override file %s for writing", override_file);
+         }
+ 
+         if (file_strm != NULL) {
+@@ -471,6 +512,7 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
+ 
+     } else if (g_strcmp0(method, "restart") == 0) {
+         method = "RestartUnit";
++
+     } else {
+         op->rc = PCMK_OCF_UNIMPLEMENT_FEATURE;
+         goto cleanup;
+@@ -482,54 +524,66 @@ systemd_unit_exec(svc_action_t * op, gboolean synchronous)
+     CRM_ASSERT(msg != NULL);
+ 
+     /* (ss) */
+-    CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_STRING, &name, DBUS_TYPE_INVALID));
+-    CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_STRING, &replace_s, DBUS_TYPE_INVALID));
++    {
++        const char *replace_s = "replace";
++        char *name = systemd_service_name(op->agent);
++
++        CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_STRING, &name, DBUS_TYPE_INVALID));
++        CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_STRING, &replace_s, DBUS_TYPE_INVALID));
+ 
+-    if (synchronous == FALSE) {
+-        free(unit);
+         free(name);
+-        return pcmk_dbus_send(msg, systemd_proxy, systemd_async_dispatch, op);
+     }
+ 
+-    dbus_error_init(&error);
+-    reply = pcmk_dbus_send_recv(msg, systemd_proxy, &error);
+-
+-    if(error.name) {
+-        /* ignore "already started" or "not running" errors */
+-        if(!systemd_mask_error(op, error.name)) {
+-            crm_err("Could not issue %s for %s: %s (%s)", method, op->rsc, error.name, unit);
+-        }
+-        goto cleanup;
+-
+-    } else if(!pcmk_dbus_type_check(reply, NULL, DBUS_TYPE_OBJECT_PATH, __FUNCTION__, __LINE__)) {
+-        crm_warn("Call to %s passed but return type was unexpected", op->action);
+-        op->rc = PCMK_OCF_OK;
++    if (op->synchronous == FALSE) {
++        return pcmk_dbus_send(msg, systemd_proxy, systemd_async_dispatch, op);
+ 
+     } else {
+-        const char *path = NULL;
++        DBusError error;
+ 
+-        dbus_message_get_args (reply, NULL,
+-                               DBUS_TYPE_OBJECT_PATH, &path,
+-                               DBUS_TYPE_INVALID);
+-        crm_info("Call to %s passed: %s", op->action, path);
+-        op->rc = PCMK_OCF_OK;
++        reply = pcmk_dbus_send_recv(msg, systemd_proxy, &error);
++        systemd_exec_result(reply, op);
++        if(reply) {
++            dbus_message_unref(reply);
++        }
+     }
+ 
+-  cleanup:
+-    free(unit);
+-    free(name);
+-
+     if(msg) {
+         dbus_message_unref(msg);
+     }
+ 
+-    if(reply) {
+-        dbus_message_unref(reply);
++  cleanup:
++    if (op->synchronous == FALSE) {
++        operation_finalize(op);
++        return TRUE;
+     }
+ 
+-    if (synchronous == FALSE) {
+-        operation_finalize(op);
++    return op->rc == PCMK_OCF_OK;
++}
++
++gboolean
++systemd_unit_exec(svc_action_t * op)
++{
++    CRM_ASSERT(op);
++    CRM_ASSERT(systemd_init());
++    op->rc = PCMK_OCF_UNKNOWN_ERROR;
++    crm_debug("Performing %ssynchronous %s op on systemd unit %s named '%s'",
++              op->synchronous ? "" : "a", op->action, op->agent, op->rsc);
++
++    if (safe_str_eq(op->action, "meta-data")) {
++        /* TODO: See if we can teach the lrmd not to make these calls synchronously */
++        op->stdout_data = systemd_unit_metadata(op->agent);
++        op->rc = PCMK_OCF_OK;
++
++        if (op->synchronous == FALSE) {
++            operation_finalize(op);
++        }
+         return TRUE;
+     }
++
++    systemd_unit_by_name(op->agent, op);
++    if (op->synchronous == FALSE) {
++        return TRUE;
++    }
++
+     return op->rc == PCMK_OCF_OK;
+ }
+diff --git a/lib/services/systemd.h b/lib/services/systemd.h
+index 6e1b80b..c86bafe 100644
+--- a/lib/services/systemd.h
++++ b/lib/services/systemd.h
+@@ -17,7 +17,7 @@
+  */
+ 
+ G_GNUC_INTERNAL GList *systemd_unit_listall(void);
+-G_GNUC_INTERNAL int systemd_unit_exec(svc_action_t * op, gboolean synchronous);
++G_GNUC_INTERNAL int systemd_unit_exec(svc_action_t * op);
+ G_GNUC_INTERNAL gboolean systemd_unit_exists(const gchar * name);
+ G_GNUC_INTERNAL gboolean systemd_unit_running(const gchar * name);
+ G_GNUC_INTERNAL void systemd_cleanup(void);
+diff --git a/lib/services/upstart.c b/lib/services/upstart.c
+index f47e8ff..4c7211d 100644
+--- a/lib/services/upstart.c
++++ b/lib/services/upstart.c
+@@ -275,6 +275,10 @@ get_first_instance(const gchar * job)
+         crm_err("Call to %s failed: %s", method, error.name);
+         goto done;
+ 
++    } else if(reply == NULL) {
++        crm_err("Call to %s failed: no reply", method);
++        goto done;
++
+     } else if (!dbus_message_iter_init(reply, &args)) {
+         crm_err("Call to %s failed: Message has no arguments", method);
+         goto done;
+@@ -304,31 +308,22 @@ get_first_instance(const gchar * job)
+     return instance;
+ }
+ 
+-gboolean
+-upstart_job_running(const gchar * name)
++static void
++upstart_job_check(const char *name, const char *state, void *userdata)
+ {
+-    bool running = FALSE;
+-    char *job = NULL;
+-
+-    if(upstart_job_by_name(name, &job)) {
+-        char *path = get_first_instance(job);
++    svc_action_t * op = userdata;
+ 
+-        if (path) {
+-            char *state = pcmk_dbus_get_property(
+-                upstart_proxy, BUS_NAME, path, UPSTART_06_API ".Instance", "state");
+-
+-            crm_info("State of %s: %s", name, state);
+-            if (state) {
+-                running = !g_strcmp0(state, "running");
+-            }
+-            free(state);
+-        }
+-        free(path);
++    if (state && g_strcmp0(state, "running") == 0) {
++        op->rc = PCMK_OCF_OK;
++    /* } else if (g_strcmp0(state, "activating") == 0) { */
++    /*     op->rc = PCMK_OCF_PENDING; */
++    } else {
++        op->rc = PCMK_OCF_NOT_RUNNING;
+     }
+ 
+-    free(job);
+-    crm_info("%s is%s running", name, running ? "" : " not");
+-    return running;
++    if (op->synchronous == FALSE) {
++        operation_finalize(op);
++    }
+ }
+ 
+ static char *
+@@ -465,10 +460,24 @@ upstart_job_exec(svc_action_t * op, gboolean synchronous)
+     }
+ 
+     if (safe_str_eq(op->action, "monitor") || safe_str_eq(action, "status")) {
+-        if (upstart_job_running(op->agent)) {
+-            op->rc = PCMK_OCF_OK;
+-        } else {
+-            op->rc = PCMK_OCF_NOT_RUNNING;
++
++        char *path = get_first_instance(job);
++
++        op->rc = PCMK_OCF_NOT_RUNNING;
++        if(path) {
++            char *state = pcmk_dbus_get_property(
++                upstart_proxy, BUS_NAME, path, UPSTART_06_API ".Instance", "state",
++                op->synchronous?NULL:upstart_job_check, op);
++
++            free(job);
++            free(path);
++
++            if(op->synchronous) {
++                upstart_job_check("state", state, op);
++                free(state);
++                return op->rc == PCMK_OCF_OK;
++            }
++            return TRUE;
+         }
+         goto cleanup;
+ 
+@@ -503,7 +512,7 @@ upstart_job_exec(svc_action_t * op, gboolean synchronous)
+ 
+     CRM_LOG_ASSERT(dbus_message_append_args(msg, DBUS_TYPE_BOOLEAN, &arg_wait, DBUS_TYPE_INVALID));
+ 
+-    if (synchronous == FALSE) {
++    if (op->synchronous == FALSE) {
+         free(job);
+         return pcmk_dbus_send(msg, upstart_proxy, upstart_async_dispatch, op);
+     }
+@@ -545,7 +554,7 @@ upstart_job_exec(svc_action_t * op, gboolean synchronous)
+         dbus_message_unref(reply);
+     }
+ 
+-    if (synchronous == FALSE) {
++    if (op->synchronous == FALSE) {
+         operation_finalize(op);
+         return TRUE;
+     }
+diff --git a/lrmd/lrmd.c b/lrmd/lrmd.c
+index f3abfdb..7075b9f 100644
+--- a/lrmd/lrmd.c
++++ b/lrmd/lrmd.c
+@@ -874,6 +874,12 @@ stonith_action_complete(lrmd_cmd_t * cmd, int rc)
+     if (cmd->lrmd_op_status == PCMK_LRM_OP_CANCELLED) {
+         recurring = 0;
+         /* do nothing */
++
++    } else if (rc == -ENODEV && safe_str_eq(cmd->action, "monitor")) {
++        /* Not registered == inactive */
++        cmd->lrmd_op_status = PCMK_LRM_OP_DONE;
++        cmd->exec_rc = PCMK_OCF_NOT_RUNNING;
++
+     } else if (rc) {
+         /* Attempt to map return codes to op status if possible */
+         switch (rc) {
+@@ -884,6 +890,7 @@ stonith_action_complete(lrmd_cmd_t * cmd, int rc)
+                 cmd->lrmd_op_status = PCMK_LRM_OP_TIMEOUT;
+                 break;
+             default:
++                /* TODO: This looks wrong.  Status should be _DONE and exec_rc set to an error */
+                 cmd->lrmd_op_status = PCMK_LRM_OP_ERROR;
+         }
+     } else {
+diff --git a/lrmd/regression.py.in b/lrmd/regression.py.in
+index b6b6718..a9a32ef 100755
+--- a/lrmd/regression.py.in
++++ b/lrmd/regression.py.in
+@@ -240,6 +240,13 @@ class Tests:
+                 self.action_timeout = " -t 5000 "
+ 		if self.tls:
+ 			self.rsc_classes.remove("stonith")
++		if "systemd" in self.rsc_classes:
++			# the lrmd_dummy_daemon requires this, we are importing it
++			# here just to guarantee it is installed before allowing this
++			# script to run. Otherwise, running without this import being
++			# available will make all the systemd tests look like they fail,
++			# which is really scary looking. I'd rather see the import fail.
++			import systemd.daemon
+ 
+ 		print "Testing "+repr(self.rsc_classes)
+ 
+diff --git a/mcp/pacemaker.combined.upstart.in b/mcp/pacemaker.combined.upstart.in
+index 9540019..6301d10 100644
+--- a/mcp/pacemaker.combined.upstart.in
++++ b/mcp/pacemaker.combined.upstart.in
+@@ -30,6 +30,9 @@ pre-start script
+     # give it time to fail.
+     sleep 2
+     pidof corosync || { exit 1; }
++
++    # if you use crm_mon, uncomment the line below.
++    #start crm_mon
+ end script
+ 
+ post-start script
+@@ -59,6 +62,9 @@ post-stop script
+     # and invalidate above "respawn" stanza.
+     #pidof crmd && killall -q -9 corosync
+ 
++    # if you use crm_mon, uncomment the line below.
++    #stop crm_mon
++
+     # if you use corosync-notifyd, uncomment the line below.
+     #stop corosync-notifyd || true
+ end script
+diff --git a/pacemaker.spec.in b/pacemaker.spec.in
+index bee6bfc..597fb3a 100644
+--- a/pacemaker.spec.in
++++ b/pacemaker.spec.in
+@@ -283,11 +283,13 @@ make DESTDIR=%{buildroot} docdir=%{pcmk_docdir} V=1 install
+ mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
+ mkdir -p ${RPM_BUILD_ROOT}%{_var}/lib/pacemaker/cores
+ install -m 644 mcp/pacemaker.sysconfig ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/pacemaker
++install -m 644 tools/crm_mon.sysconfig ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/crm_mon
+ 
+ %if %{with upstart_job}
+ mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/init
+ install -m 644 mcp/pacemaker.upstart ${RPM_BUILD_ROOT}%{_sysconfdir}/init/pacemaker.conf
+ install -m 644 mcp/pacemaker.combined.upstart ${RPM_BUILD_ROOT}%{_sysconfdir}/init/pacemaker.combined.conf
++install -m 644 tools/crm_mon.upstart ${RPM_BUILD_ROOT}%{_sysconfdir}/init/crm_mon.conf
+ %endif
+ 
+ # Scripts that should be executable
+@@ -395,6 +397,7 @@ exit 0
+ %exclude %{_datadir}/pacemaker/tests
+ 
+ %config(noreplace) %{_sysconfdir}/sysconfig/pacemaker
++%config(noreplace) %{_sysconfdir}/sysconfig/crm_mon
+ %config(noreplace) %{_sysconfdir}/logrotate.d/pacemaker
+ %{_sbindir}/pacemakerd
+ 
+@@ -451,6 +454,7 @@ exit 0
+ %if %{with upstart_job}
+ %config(noreplace) %{_sysconfdir}/init/pacemaker.conf
+ %config(noreplace) %{_sysconfdir}/init/pacemaker.combined.conf
++%config(noreplace) %{_sysconfdir}/init/crm_mon.conf
+ %endif
+ 
+ %files cli
+diff --git a/pengine/allocate.c b/pengine/allocate.c
+index f9f9f3c..8d02d9b 100644
+--- a/pengine/allocate.c
++++ b/pengine/allocate.c
+@@ -1680,16 +1680,41 @@ apply_remote_node_ordering(pe_working_set_t *data_set)
+                 action,
+                 pe_order_preserve | pe_order_implies_then | pe_order_runnable_left,
+                 data_set);
+-
+         } else if (safe_str_eq(action->task, "stop")) {
+-            custom_action_order(action->rsc,
+-                NULL,
+-                action,
+-                remote_rsc,
+-                generate_op_key(remote_rsc->id, RSC_STOP, 0),
+-                NULL,
+-                pe_order_preserve | pe_order_implies_first,
+-                data_set);
++            gboolean after_start = FALSE;
++
++            /* handle special case with baremetal remote where stop actions need to be
++             * ordered after the connection resource starts somewhere else. */
++            if (is_baremetal_remote_node(action->node)) {
++                node_t *cluster_node = remote_rsc->running_on ? remote_rsc->running_on->data : NULL;
++
++                /* if the current cluster node a baremetal connection resource
++                 * is residing on is unclean, we can't process any operations on that
++                 * remote node until after it starts somewhere else. */
++                if (cluster_node && cluster_node->details->unclean == TRUE) {
++                    after_start = TRUE;
++                }
++            }
++
++            if (after_start) {
++                custom_action_order(remote_rsc,
++                    generate_op_key(remote_rsc->id, RSC_START, 0),
++                    NULL,
++                    action->rsc,
++                    NULL,
++                    action,
++                    pe_order_preserve | pe_order_implies_then | pe_order_runnable_left,
++                    data_set);
++            } else {
++                custom_action_order(action->rsc,
++                    NULL,
++                    action,
++                    remote_rsc,
++                    generate_op_key(remote_rsc->id, RSC_STOP, 0),
++                    NULL,
++                    pe_order_preserve | pe_order_implies_first,
++                    data_set);
++            }
+         }
+     }
+ }
+diff --git a/pengine/regression.sh b/pengine/regression.sh
+index 5f98215..bdc7d3a 100755
+--- a/pengine/regression.sh
++++ b/pengine/regression.sh
+@@ -762,9 +762,11 @@ echo ""
+ do_test remote-startup-probes  "Baremetal remote-node startup probes"
+ do_test remote-startup         "Startup a newly discovered remote-nodes with no status."
+ do_test remote-fence-unclean   "Fence unclean baremetal remote-node"
++do_test remote-fence-unclean2  "Fence baremetal remote-node after cluster node fails and connection can not be recovered"
+ do_test remote-move            "Move remote-node connection resource"
+ do_test remote-disable         "Disable a baremetal remote-node"
+ do_test remote-orphaned        "Properly shutdown orphaned connection resource"
++do_test remote-recover         "Recover connection resource after cluster-node fails."
+ do_test remote-stale-node-entry "Make sure we properly handle leftover remote-node entries in the node section"
+ echo ""
+ test_results
+diff --git a/pengine/test10/remote-fence-unclean2.dot b/pengine/test10/remote-fence-unclean2.dot
+new file mode 100644
+index 0000000..6cff564
+--- /dev/null
++++ b/pengine/test10/remote-fence-unclean2.dot
+@@ -0,0 +1,10 @@
++digraph "g" {
++"all_stopped" [ style=bold color="green" fontcolor="orange"]
++"fake_stop_0 rhel7-alt4" -> "all_stopped" [ style = bold]
++"fake_stop_0 rhel7-alt4" [ style=bold color="green" fontcolor="orange"]
++"stonith 'reboot' rhel7-alt4" -> "fake_stop_0 rhel7-alt4" [ style = bold]
++"stonith 'reboot' rhel7-alt4" -> "stonith_complete" [ style = bold]
++"stonith 'reboot' rhel7-alt4" [ style=bold color="green" fontcolor="black"]
++"stonith_complete" -> "all_stopped" [ style = bold]
++"stonith_complete" [ style=bold color="green" fontcolor="orange"]
++}
+diff --git a/pengine/test10/remote-fence-unclean2.exp b/pengine/test10/remote-fence-unclean2.exp
+new file mode 100644
+index 0000000..e58b617
+--- /dev/null
++++ b/pengine/test10/remote-fence-unclean2.exp
+@@ -0,0 +1,49 @@
++<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
++  <synapse id="0">
++    <action_set>
++      <pseudo_event id="6" operation="stop" operation_key="fake_stop_0">
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <crm_event id="8" operation="stonith" operation_key="stonith-rhel7-alt4-reboot" on_node="rhel7-alt4" on_node_uuid="rhel7-alt4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="1">
++    <action_set>
++      <crm_event id="8" operation="stonith" operation_key="stonith-rhel7-alt4-reboot" on_node="rhel7-alt4" on_node_uuid="rhel7-alt4">
++        <attributes CRM_meta_last_failure_fake="1411503989" CRM_meta_on_node="rhel7-alt4" CRM_meta_on_node_uuid="rhel7-alt4" CRM_meta_probe_complete="true" CRM_meta_stonith_action="reboot" />
++      </crm_event>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="2">
++    <action_set>
++      <pseudo_event id="7" operation="stonith_complete" operation_key="stonith_complete">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <crm_event id="8" operation="stonith" operation_key="stonith-rhel7-alt4-reboot" on_node="rhel7-alt4" on_node_uuid="rhel7-alt4"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="3">
++    <action_set>
++      <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <pseudo_event id="6" operation="stop" operation_key="fake_stop_0"/>
++      </trigger>
++      <trigger>
++        <pseudo_event id="7" operation="stonith_complete" operation_key="stonith_complete"/>
++      </trigger>
++    </inputs>
++  </synapse>
++</transition_graph>
+diff --git a/pengine/test10/remote-fence-unclean2.scores b/pengine/test10/remote-fence-unclean2.scores
+new file mode 100644
+index 0000000..10fc7fd
+--- /dev/null
++++ b/pengine/test10/remote-fence-unclean2.scores
+@@ -0,0 +1,13 @@
++Allocation scores:
++native_color: fake allocation score on rhel7-alt1: 0
++native_color: fake allocation score on rhel7-alt2: 0
++native_color: fake allocation score on rhel7-alt3: 0
++native_color: fake allocation score on rhel7-alt4: INFINITY
++native_color: rhel7-alt4 allocation score on rhel7-alt1: 0
++native_color: rhel7-alt4 allocation score on rhel7-alt2: 0
++native_color: rhel7-alt4 allocation score on rhel7-alt3: 0
++native_color: rhel7-alt4 allocation score on rhel7-alt4: -INFINITY
++native_color: shooter allocation score on rhel7-alt1: 0
++native_color: shooter allocation score on rhel7-alt2: 0
++native_color: shooter allocation score on rhel7-alt3: 0
++native_color: shooter allocation score on rhel7-alt4: -INFINITY
+diff --git a/pengine/test10/remote-fence-unclean2.summary b/pengine/test10/remote-fence-unclean2.summary
+new file mode 100644
+index 0000000..bfaf77b
+--- /dev/null
++++ b/pengine/test10/remote-fence-unclean2.summary
+@@ -0,0 +1,30 @@
++
++Current cluster status:
++Node rhel7-alt1 (1): standby
++Node rhel7-alt2 (2): standby
++RemoteNode rhel7-alt4: UNCLEAN (offline)
++OFFLINE: [ rhel7-alt3 ]
++
++ shooter	(stonith:fence_xvm):	Stopped 
++ rhel7-alt4	(ocf::pacemaker:remote):	Stopped 
++ fake	(ocf::heartbeat:Dummy):	Started rhel7-alt4 
++
++Transition Summary:
++ * Stop    fake	(rhel7-alt4)
++
++Executing cluster transition:
++ * Fencing rhel7-alt4 (reboot)
++ * Pseudo action:   stonith_complete
++ * Pseudo action:   fake_stop_0
++ * Pseudo action:   all_stopped
++
++Revised cluster status:
++Node rhel7-alt1 (1): standby
++Node rhel7-alt2 (2): standby
++OFFLINE: [ rhel7-alt3 ]
++RemoteOFFLINE: [ rhel7-alt4 ]
++
++ shooter	(stonith:fence_xvm):	Stopped 
++ rhel7-alt4	(ocf::pacemaker:remote):	Stopped 
++ fake	(ocf::heartbeat:Dummy):	Stopped 
++
+diff --git a/pengine/test10/remote-fence-unclean2.xml b/pengine/test10/remote-fence-unclean2.xml
+new file mode 100644
+index 0000000..78fc4f1
+--- /dev/null
++++ b/pengine/test10/remote-fence-unclean2.xml
+@@ -0,0 +1,115 @@
++<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.1" epoch="13" num_updates="8" admin_epoch="0" cib-last-written="Tue Sep 23 16:28:22 2014" have-quorum="1" dc-uuid="2">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-6da3f72"/>
++        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
++        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
++        <nvpair id="cib-bootstrap-options-last-lrm-refresh" name="last-lrm-refresh" value="1411504087"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes>
++      <node id="1" uname="rhel7-alt1">
++        <instance_attributes id="nodes-1">
++          <nvpair id="nodes-1-standby" name="standby" value="on"/>
++        </instance_attributes>
++      </node>
++      <node id="2" uname="rhel7-alt2">
++        <instance_attributes id="nodes-2">
++          <nvpair id="nodes-2-standby" name="standby" value="on"/>
++        </instance_attributes>
++      </node>
++      <node id="3" uname="rhel7-alt3"/>
++    </nodes>
++    <resources>
++      <primitive class="stonith" id="shooter" type="fence_xvm">
++        <instance_attributes id="shooter-instance_attributes"/>
++        <operations>
++          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="rhel7-alt4" provider="pacemaker" type="remote">
++        <instance_attributes id="rhel7-alt4-instance_attributes"/>
++        <operations>
++          <op id="rhel7-alt4-start-timeout-15" interval="0s" name="start" timeout="15"/>
++          <op id="rhel7-alt4-stop-timeout-15" interval="0s" name="stop" timeout="15"/>
++          <op id="rhel7-alt4-monitor-timeout-15" interval="60s" name="monitor" timeout="15"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="fake" provider="heartbeat" type="Dummy">
++        <instance_attributes id="fake-instance_attributes"/>
++        <operations>
++          <op id="fake-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="fake-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="fake-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++    </resources>
++    <constraints>
++      <rsc_location id="location-fake-rhel7-alt4-INFINITY" node="rhel7-alt4" rsc="fake" score="INFINITY"/>
++    </constraints>
++  </configuration>
++  <status>
++    <node_state id="2" uname="rhel7-alt2" in_ccm="true" crmd="online" crm-debug-origin="post_cache_update" join="member" expected="member">
++      <transient_attributes id="2">
++        <instance_attributes id="status-2">
++          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="2">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:8:0:68028369-58a1-453d-bcdd-c1d1ade99959" transition-magic="0:0;11:8:0:68028369-58a1-453d-bcdd-c1d1ade99959" call-id="14" rc-code="0" op-status="0" interval="0" last-run="1411503701" last-rc-change="1411503701" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-alt2"/>
++          </lrm_resource>
++          <lrm_resource id="rhel7-alt4" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="rhel7-alt4_last_0" operation_key="rhel7-alt4_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:5:7:68028369-58a1-453d-bcdd-c1d1ade99959" transition-magic="0:7;8:5:7:68028369-58a1-453d-bcdd-c1d1ade99959" call-id="1" rc-code="7" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-alt2"/>
++          </lrm_resource>
++          <lrm_resource id="fake" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="fake_last_0" operation_key="fake_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="8:21:7:68028369-58a1-453d-bcdd-c1d1ade99959" transition-magic="0:7;8:21:7:68028369-58a1-453d-bcdd-c1d1ade99959" call-id="19" rc-code="7" op-status="0" interval="0" last-run="1411504086" last-rc-change="1411504086" exec-time="34" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-alt2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="1" uname="rhel7-alt1" in_ccm="true" crmd="online" crm-debug-origin="post_cache_update" join="member" expected="member">
++      <lrm id="1">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="11:23:0:68028369-58a1-453d-bcdd-c1d1ade99959" transition-magic="0:0;11:23:0:68028369-58a1-453d-bcdd-c1d1ade99959" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1411504102" last-rc-change="1411504102" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-alt1"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="16:15:0:68028369-58a1-453d-bcdd-c1d1ade99959" transition-magic="0:0;16:15:0:68028369-58a1-453d-bcdd-c1d1ade99959" call-id="12" rc-code="0" op-status="0" interval="60000" last-rc-change="1411504079" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-alt1"/>
++          </lrm_resource>
++          <lrm_resource id="rhel7-alt4" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="rhel7-alt4_last_0" operation_key="rhel7-alt4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="9:15:7:68028369-58a1-453d-bcdd-c1d1ade99959" transition-magic="0:7;9:15:7:68028369-58a1-453d-bcdd-c1d1ade99959" call-id="1" rc-code="7" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-alt1"/>
++          </lrm_resource>
++          <lrm_resource id="fake" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="fake_last_0" operation_key="fake_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="8:18:7:68028369-58a1-453d-bcdd-c1d1ade99959" transition-magic="0:7;8:18:7:68028369-58a1-453d-bcdd-c1d1ade99959" call-id="17" rc-code="7" op-status="0" interval="0" last-run="1411504087" last-rc-change="1411504087" exec-time="29" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-alt1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="1">
++        <instance_attributes id="status-1">
++          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state id="3" uname="rhel7-alt3" in_ccm="false" crmd="offline" crm-debug-origin="send_stonith_update" join="down" expected="down"/>
++    <node_state id="rhel7-alt4" remote_node="true" uname="rhel7-alt4" crm-debug-origin="post_cache_update">
++      <lrm id="rhel7-alt4">
++        <lrm_resources>
++          <lrm_resource id="fake" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="fake_last_failure_0" operation_key="fake_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="12:21:7:68028369-58a1-453d-bcdd-c1d1ade99959" transition-magic="0:0;12:21:7:68028369-58a1-453d-bcdd-c1d1ade99959" call-id="34" rc-code="0" op-status="0" interval="0" last-run="1411504087" last-rc-change="1411504087" exec-time="29" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="fake_last_0" operation_key="fake_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="12:21:7:68028369-58a1-453d-bcdd-c1d1ade99959" transition-magic="0:0;12:21:7:68028369-58a1-453d-bcdd-c1d1ade99959" call-id="34" rc-code="0" op-status="0" interval="0" last-run="1411504087" last-rc-change="1411504087" exec-time="29" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-alt3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="fake_monitor_10000" operation_key="fake_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="16:22:0:68028369-58a1-453d-bcdd-c1d1ade99959" transition-magic="0:0;16:22:0:68028369-58a1-453d-bcdd-c1d1ade99959" call-id="35" rc-code="0" op-status="0" interval="10000" last-rc-change="1411504087" exec-time="29" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-alt3"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="rhel7-alt4">
++        <instance_attributes id="status-rhel7-alt4">
++          <nvpair id="status-rhel7-alt4-probe_complete" name="probe_complete" value="true"/>
++          <nvpair id="status-rhel7-alt4-last-failure-fake" name="last-failure-fake" value="1411503989"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++  </status>
++</cib>
+diff --git a/pengine/test10/remote-recover.dot b/pengine/test10/remote-recover.dot
+new file mode 100644
+index 0000000..1da6a7b
+--- /dev/null
++++ b/pengine/test10/remote-recover.dot
+@@ -0,0 +1,17 @@
++ digraph "g" {
++"all_stopped" [ style=bold color="green" fontcolor="orange"]
++"fake_monitor_10000 rhel7-alt4" [ style=bold color="green" fontcolor="black"]
++"fake_start_0 rhel7-alt4" -> "fake_monitor_10000 rhel7-alt4" [ style = bold]
++"fake_start_0 rhel7-alt4" [ style=bold color="green" fontcolor="black"]
++"fake_stop_0 rhel7-alt4" -> "all_stopped" [ style = bold]
++"fake_stop_0 rhel7-alt4" -> "fake_start_0 rhel7-alt4" [ style = bold]
++"fake_stop_0 rhel7-alt4" [ style=bold color="green" fontcolor="black"]
++"rhel7-alt4_monitor_60000 rhel7-alt1" [ style=bold color="green" fontcolor="black"]
++"rhel7-alt4_start_0 rhel7-alt1" -> "fake_monitor_10000 rhel7-alt4" [ style = bold]
++"rhel7-alt4_start_0 rhel7-alt1" -> "fake_start_0 rhel7-alt4" [ style = bold]
++"rhel7-alt4_start_0 rhel7-alt1" -> "rhel7-alt4_monitor_60000 rhel7-alt1" [ style = bold]
++"rhel7-alt4_start_0 rhel7-alt1" [ style=bold color="green" fontcolor="black"]
++"shooter_monitor_60000 rhel7-alt1" [ style=bold color="green" fontcolor="black"]
++"shooter_start_0 rhel7-alt1" -> "shooter_monitor_60000 rhel7-alt1" [ style = bold]
++"shooter_start_0 rhel7-alt1" [ style=bold color="green" fontcolor="black"]
++}
+diff --git a/pengine/test10/remote-recover.exp b/pengine/test10/remote-recover.exp
+new file mode 100644
+index 0000000..37e4f71
+--- /dev/null
++++ b/pengine/test10/remote-recover.exp
+@@ -0,0 +1,99 @@
++<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
++  <synapse id="0">
++    <action_set>
++      <rsc_op id="8" operation="monitor" operation_key="shooter_monitor_60000" on_node="rhel7-alt1" on_node_uuid="1">
++        <primitive id="shooter" class="stonith" type="fence_xvm"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="7" operation="start" operation_key="shooter_start_0" on_node="rhel7-alt1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="1">
++    <action_set>
++      <rsc_op id="7" operation="start" operation_key="shooter_start_0" on_node="rhel7-alt1" on_node_uuid="1">
++        <primitive id="shooter" class="stonith" type="fence_xvm"/>
++        <attributes CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="2">
++    <action_set>
++      <rsc_op id="10" operation="monitor" operation_key="rhel7-alt4_monitor_60000" on_node="rhel7-alt1" on_node_uuid="1">
++        <primitive id="rhel7-alt4" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="15000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="9" operation="start" operation_key="rhel7-alt4_start_0" on_node="rhel7-alt1" on_node_uuid="1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="3">
++    <action_set>
++      <rsc_op id="9" operation="start" operation_key="rhel7-alt4_start_0" on_node="rhel7-alt1" on_node_uuid="1">
++        <primitive id="rhel7-alt4" class="ocf" provider="pacemaker" type="remote"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="15000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="4">
++    <action_set>
++      <rsc_op id="13" operation="monitor" operation_key="fake_monitor_10000" on_node="rhel7-alt4" on_node_uuid="rhel7-alt4" router_node="rhel7-alt1">
++        <primitive id="fake" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="9" operation="start" operation_key="rhel7-alt4_start_0" on_node="rhel7-alt1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="12" operation="start" operation_key="fake_start_0" on_node="rhel7-alt4" on_node_uuid="rhel7-alt4" router_node="rhel7-alt1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="5">
++    <action_set>
++      <rsc_op id="12" operation="start" operation_key="fake_start_0" on_node="rhel7-alt4" on_node_uuid="rhel7-alt4" router_node="rhel7-alt1">
++        <primitive id="fake" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="9" operation="start" operation_key="rhel7-alt4_start_0" on_node="rhel7-alt1" on_node_uuid="1"/>
++      </trigger>
++      <trigger>
++        <rsc_op id="11" operation="stop" operation_key="fake_stop_0" on_node="rhel7-alt4" on_node_uuid="rhel7-alt4" router_node="rhel7-alt1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++  <synapse id="6">
++    <action_set>
++      <rsc_op id="11" operation="stop" operation_key="fake_stop_0" on_node="rhel7-alt4" on_node_uuid="rhel7-alt4" router_node="rhel7-alt1">
++        <primitive id="fake" class="ocf" provider="heartbeat" type="Dummy"/>
++        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
++      </rsc_op>
++    </action_set>
++    <inputs/>
++  </synapse>
++  <synapse id="7">
++    <action_set>
++      <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped">
++        <attributes />
++      </pseudo_event>
++    </action_set>
++    <inputs>
++      <trigger>
++        <rsc_op id="11" operation="stop" operation_key="fake_stop_0" on_node="rhel7-alt4" on_node_uuid="rhel7-alt4" router_node="rhel7-alt1"/>
++      </trigger>
++    </inputs>
++  </synapse>
++</transition_graph>
+diff --git a/pengine/test10/remote-recover.scores b/pengine/test10/remote-recover.scores
+new file mode 100644
+index 0000000..10fc7fd
+--- /dev/null
++++ b/pengine/test10/remote-recover.scores
+@@ -0,0 +1,13 @@
++Allocation scores:
++native_color: fake allocation score on rhel7-alt1: 0
++native_color: fake allocation score on rhel7-alt2: 0
++native_color: fake allocation score on rhel7-alt3: 0
++native_color: fake allocation score on rhel7-alt4: INFINITY
++native_color: rhel7-alt4 allocation score on rhel7-alt1: 0
++native_color: rhel7-alt4 allocation score on rhel7-alt2: 0
++native_color: rhel7-alt4 allocation score on rhel7-alt3: 0
++native_color: rhel7-alt4 allocation score on rhel7-alt4: -INFINITY
++native_color: shooter allocation score on rhel7-alt1: 0
++native_color: shooter allocation score on rhel7-alt2: 0
++native_color: shooter allocation score on rhel7-alt3: 0
++native_color: shooter allocation score on rhel7-alt4: -INFINITY
+diff --git a/pengine/test10/remote-recover.summary b/pengine/test10/remote-recover.summary
+new file mode 100644
+index 0000000..8fd7480
+--- /dev/null
++++ b/pengine/test10/remote-recover.summary
+@@ -0,0 +1,36 @@
++
++Current cluster status:
++Node rhel7-alt2 (2): standby
++RemoteNode rhel7-alt4: UNCLEAN (offline)
++Online: [ rhel7-alt1 ]
++OFFLINE: [ rhel7-alt3 ]
++
++ shooter	(stonith:fence_xvm):	Stopped 
++ rhel7-alt4	(ocf::pacemaker:remote):	Stopped 
++ fake	(ocf::heartbeat:Dummy):	Started rhel7-alt4 
++
++Transition Summary:
++ * Start   shooter	(rhel7-alt1)
++ * Start   rhel7-alt4	(rhel7-alt1)
++ * Restart fake	(Started rhel7-alt4)
++
++Executing cluster transition:
++ * Resource action: shooter         start on rhel7-alt1
++ * Resource action: rhel7-alt4      start on rhel7-alt1
++ * Resource action: fake            stop on rhel7-alt4
++ * Pseudo action:   all_stopped
++ * Resource action: shooter         monitor=60000 on rhel7-alt1
++ * Resource action: rhel7-alt4      monitor=60000 on rhel7-alt1
++ * Resource action: fake            start on rhel7-alt4
++ * Resource action: fake            monitor=10000 on rhel7-alt4
++
++Revised cluster status:
++Node rhel7-alt2 (2): standby
++Online: [ rhel7-alt1 ]
++OFFLINE: [ rhel7-alt3 ]
++RemoteOnline: [ rhel7-alt4 ]
++
++ shooter	(stonith:fence_xvm):	Started rhel7-alt1 
++ rhel7-alt4	(ocf::pacemaker:remote):	Started rhel7-alt1 
++ fake	(ocf::heartbeat:Dummy):	Started rhel7-alt4 
++
+diff --git a/pengine/test10/remote-recover.xml b/pengine/test10/remote-recover.xml
+new file mode 100644
+index 0000000..1a83dd9
+--- /dev/null
++++ b/pengine/test10/remote-recover.xml
+@@ -0,0 +1,114 @@
++<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.1" epoch="13" num_updates="8" admin_epoch="0" cib-last-written="Tue Sep 23 16:28:22 2014" have-quorum="1" dc-uuid="2">
++  <configuration>
++    <crm_config>
++      <cluster_property_set id="cib-bootstrap-options">
++        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-6da3f72"/>
++        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
++        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
++        <nvpair id="cib-bootstrap-options-last-lrm-refresh" name="last-lrm-refresh" value="1411504087"/>
++      </cluster_property_set>
++    </crm_config>
++    <nodes>
++      <node id="1" uname="rhel7-alt1">
++        <instance_attributes id="nodes-1">
++        </instance_attributes>
++      </node>
++      <node id="2" uname="rhel7-alt2">
++        <instance_attributes id="nodes-2">
++          <nvpair id="nodes-2-standby" name="standby" value="on"/>
++        </instance_attributes>
++      </node>
++      <node id="3" uname="rhel7-alt3"/>
++    </nodes>
++    <resources>
++      <primitive class="stonith" id="shooter" type="fence_xvm">
++        <instance_attributes id="shooter-instance_attributes"/>
++        <operations>
++          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="rhel7-alt4" provider="pacemaker" type="remote">
++        <instance_attributes id="rhel7-alt4-instance_attributes"/>
++        <operations>
++          <op id="rhel7-alt4-start-timeout-15" interval="0s" name="start" timeout="15"/>
++          <op id="rhel7-alt4-stop-timeout-15" interval="0s" name="stop" timeout="15"/>
++          <op id="rhel7-alt4-monitor-timeout-15" interval="60s" name="monitor" timeout="15"/>
++        </operations>
++      </primitive>
++      <primitive class="ocf" id="fake" provider="heartbeat" type="Dummy">
++        <instance_attributes id="fake-instance_attributes"/>
++        <operations>
++          <op id="fake-start-timeout-20" interval="0s" name="start" timeout="20"/>
++          <op id="fake-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
++          <op id="fake-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
++        </operations>
++      </primitive>
++    </resources>
++    <constraints>
++      <rsc_location id="location-fake-rhel7-alt4-INFINITY" node="rhel7-alt4" rsc="fake" score="INFINITY"/>
++    </constraints>
++  </configuration>
++  <status>
++    <node_state id="2" uname="rhel7-alt2" in_ccm="true" crmd="online" crm-debug-origin="post_cache_update" join="member" expected="member">
++      <transient_attributes id="2">
++        <instance_attributes id="status-2">
++          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++      <lrm id="2">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:8:0:68028369-58a1-453d-bcdd-c1d1ade99959" transition-magic="0:0;11:8:0:68028369-58a1-453d-bcdd-c1d1ade99959" call-id="14" rc-code="0" op-status="0" interval="0" last-run="1411503701" last-rc-change="1411503701" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-alt2"/>
++          </lrm_resource>
++          <lrm_resource id="rhel7-alt4" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="rhel7-alt4_last_0" operation_key="rhel7-alt4_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:5:7:68028369-58a1-453d-bcdd-c1d1ade99959" transition-magic="0:7;8:5:7:68028369-58a1-453d-bcdd-c1d1ade99959" call-id="1" rc-code="7" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-alt2"/>
++          </lrm_resource>
++          <lrm_resource id="fake" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="fake_last_0" operation_key="fake_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="8:21:7:68028369-58a1-453d-bcdd-c1d1ade99959" transition-magic="0:7;8:21:7:68028369-58a1-453d-bcdd-c1d1ade99959" call-id="19" rc-code="7" op-status="0" interval="0" last-run="1411504086" last-rc-change="1411504086" exec-time="34" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-alt2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++    </node_state>
++    <node_state id="1" uname="rhel7-alt1" in_ccm="true" crmd="online" crm-debug-origin="post_cache_update" join="member" expected="member">
++      <lrm id="1">
++        <lrm_resources>
++          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
++            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="11:23:0:68028369-58a1-453d-bcdd-c1d1ade99959" transition-magic="0:0;11:23:0:68028369-58a1-453d-bcdd-c1d1ade99959" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1411504102" last-rc-change="1411504102" exec-time="1" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-alt1"/>
++            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="16:15:0:68028369-58a1-453d-bcdd-c1d1ade99959" transition-magic="0:0;16:15:0:68028369-58a1-453d-bcdd-c1d1ade99959" call-id="12" rc-code="0" op-status="0" interval="60000" last-rc-change="1411504079" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-alt1"/>
++          </lrm_resource>
++          <lrm_resource id="rhel7-alt4" type="remote" class="ocf" provider="pacemaker">
++            <lrm_rsc_op id="rhel7-alt4_last_0" operation_key="rhel7-alt4_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="9:15:7:68028369-58a1-453d-bcdd-c1d1ade99959" transition-magic="0:7;9:15:7:68028369-58a1-453d-bcdd-c1d1ade99959" call-id="1" rc-code="7" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-alt1"/>
++          </lrm_resource>
++          <lrm_resource id="fake" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="fake_last_0" operation_key="fake_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="8:18:7:68028369-58a1-453d-bcdd-c1d1ade99959" transition-magic="0:7;8:18:7:68028369-58a1-453d-bcdd-c1d1ade99959" call-id="17" rc-code="7" op-status="0" interval="0" last-run="1411504087" last-rc-change="1411504087" exec-time="29" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-alt1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="1">
++        <instance_attributes id="status-1">
++          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
++          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++    <node_state id="3" uname="rhel7-alt3" in_ccm="false" crmd="offline" crm-debug-origin="send_stonith_update" join="down" expected="down"/>
++    <node_state id="rhel7-alt4" remote_node="true" uname="rhel7-alt4" crm-debug-origin="post_cache_update">
++      <lrm id="rhel7-alt4">
++        <lrm_resources>
++          <lrm_resource id="fake" type="Dummy" class="ocf" provider="heartbeat">
++            <lrm_rsc_op id="fake_last_failure_0" operation_key="fake_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="12:21:7:68028369-58a1-453d-bcdd-c1d1ade99959" transition-magic="0:0;12:21:7:68028369-58a1-453d-bcdd-c1d1ade99959" call-id="34" rc-code="0" op-status="0" interval="0" last-run="1411504087" last-rc-change="1411504087" exec-time="29" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="fake_last_0" operation_key="fake_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="12:21:7:68028369-58a1-453d-bcdd-c1d1ade99959" transition-magic="0:0;12:21:7:68028369-58a1-453d-bcdd-c1d1ade99959" call-id="34" rc-code="0" op-status="0" interval="0" last-run="1411504087" last-rc-change="1411504087" exec-time="29" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-alt3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
++            <lrm_rsc_op id="fake_monitor_10000" operation_key="fake_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="16:22:0:68028369-58a1-453d-bcdd-c1d1ade99959" transition-magic="0:0;16:22:0:68028369-58a1-453d-bcdd-c1d1ade99959" call-id="35" rc-code="0" op-status="0" interval="10000" last-rc-change="1411504087" exec-time="29" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-alt3"/>
++          </lrm_resource>
++        </lrm_resources>
++      </lrm>
++      <transient_attributes id="rhel7-alt4">
++        <instance_attributes id="status-rhel7-alt4">
++          <nvpair id="status-rhel7-alt4-probe_complete" name="probe_complete" value="true"/>
++          <nvpair id="status-rhel7-alt4-last-failure-fake" name="last-failure-fake" value="1411503989"/>
++        </instance_attributes>
++      </transient_attributes>
++    </node_state>
++  </status>
++</cib>
+diff --git a/tools/crm_attribute.c b/tools/crm_attribute.c
+index 60d39b6..c37b096 100644
+--- a/tools/crm_attribute.c
++++ b/tools/crm_attribute.c
+@@ -235,6 +235,7 @@ main(int argc, char **argv)
+         /* we're updating cluster options - dont populate dest_node */
+         type = XML_CIB_TAG_CRMCONFIG;
+ 
++    } else if (safe_str_eq(type, XML_CIB_TAG_CRMCONFIG)) {
+     } else if (safe_str_neq(type, XML_CIB_TAG_TICKETS)) {
+         if (dest_uname == NULL) {
+             dest_uname = get_node_name(0);
+diff --git a/tools/crm_mon.upstart.in b/tools/crm_mon.upstart.in
+new file mode 100644
+index 0000000..ef0fe7a
+--- /dev/null
++++ b/tools/crm_mon.upstart.in
+@@ -0,0 +1,39 @@
++# crm_mon - Daemon for pacemaker monitor
++#
++#
++
++kill timeout 3600
++respawn
++respawn limit 10 3600
++
++expect fork
++
++env prog=crm_mon
++env rpm_sysconf=@sysconfdir@/sysconfig/crm_mon
++env rpm_lockfile=@localstatedir@/lock/subsys/crm_mon
++env deb_sysconf=@sysconfdir@/default/crm_mon
++env deb_lockfile=@localstatedir@/lock/crm_mon
++
++
++script
++    [ -f "$rpm_sysconf" ] && . $rpm_sysconf
++    [ -f "$deb_sysconf" ] && . $deb_sysconf
++    exec $prog $OPTIONS
++end script
++
++post-start script
++    [ -f "$rpm_sysconf" ] && . $rpm_sysconf
++    [ -f "$deb_sysconf" ] && . $deb_sysconf
++    [ -z "$LOCK_FILE" -a -d @sysconfdir@/sysconfig ] && LOCK_FILE="$rpm_lockfile"
++    [ -z "$LOCK_FILE" -a -d @sysconfdir@/default ] && LOCK_FILE="$deb_lockfile"
++    touch $LOCK_FILE
++end script
++
++post-stop script
++    [ -f "$rpm_sysconf" ] && . $rpm_sysconf
++    [ -f "$deb_sysconf" ] && . $deb_sysconf
++    [ -z "$LOCK_FILE" -a -d @sysconfdir@/sysconfig ] && LOCK_FILE="$rpm_lockfile"
++    [ -z "$LOCK_FILE" -a -d @sysconfdir@/default ] && LOCK_FILE="$deb_lockfile"
++    rm -f $LOCK_FILE
++end script
++
+diff --git a/tools/crm_resource.c b/tools/crm_resource.c
+index 6537520..56583e0 100644
+--- a/tools/crm_resource.c
++++ b/tools/crm_resource.c
+@@ -2214,11 +2214,15 @@ main(int argc, char **argv)
+         }
+ 
+     } else if (rsc_cmd == 'C') {
+-#if 0
++#if HAVE_ATOMIC_ATTRD
+         xmlNode *cmd = create_request(CRM_OP_REPROBE, NULL, host_uname,
+                                       CRM_SYSTEM_CRMD, crm_system_name, our_pid);
+ 
+-        crm_debug("Re-checking the state of all resources on %s", host_uname);
++        crm_debug("Re-checking the state of all resources on %s", host_uname?host_uname:"all nodes");
++
++        rc = attrd_update_delegate(
++            NULL, 'u', host_uname, "fail-count-*", NULL, XML_CIB_TAG_STATUS, NULL, NULL, NULL, FALSE);
++
+         if (crm_ipc_send(crmd_channel, cmd, 0, 0, NULL) > 0) {
+             start_mainloop();
+         }
diff --git a/SOURCES/pacemaker-startup-without-sbd.patch b/SOURCES/pacemaker-startup-without-sbd.patch
new file mode 100644
index 0000000..3cdddae
--- /dev/null
+++ b/SOURCES/pacemaker-startup-without-sbd.patch
@@ -0,0 +1,136 @@
+commit e073613f0727a3646732d0d9bb4f2050017476b3
+Author: Andrew Beekhof <andrew@beekhof.net>
+Date:   Tue Oct 28 10:32:02 2014 +1100
+
+    Fix: watchdog: Allow startup without sbd
+
+diff --git a/crmd/control.c b/crmd/control.c
+index 0332f10..8cc1cfa 100644
+--- a/crmd/control.c
++++ b/crmd/control.c
+@@ -874,7 +874,7 @@ pe_cluster_option crmd_opts[] = {
+ 	{ "crmd-integration-timeout", NULL, "time", NULL, "3min", &check_timer, "*** Advanced Use Only ***.", "If need to adjust this value, it probably indicates the presence of a bug." },
+ 	{ "crmd-finalization-timeout", NULL, "time", NULL, "30min", &check_timer, "*** Advanced Use Only ***.", "If you need to adjust this value, it probably indicates the presence of a bug." },
+ 	{ "crmd-transition-delay", NULL, "time", NULL, "0s", &check_timer, "*** Advanced Use Only ***\nEnabling this option will slow down cluster recovery under all conditions", "Delay cluster recovery for the configured interval to allow for additional/related events to occur.\nUseful if your configuration is sensitive to the order in which ping updates arrive." },
+-	{ "stonith-watchdog-timeout", NULL, "time", NULL, "0s", &check_timer,
++	{ "stonith-watchdog-timeout", NULL, "time", NULL, NULL, &check_timer,
+ 	  "How long to wait before we can assume nodes are safely down", NULL },
+ 	{ "no-quorum-policy", "no_quorum_policy", "enum", "stop, freeze, ignore, suicide", "stop", &check_quorum, NULL, NULL },
+ 
+@@ -911,6 +911,8 @@ config_query_callback(xmlNode * msg, int call_id, int rc, xmlNode * output, void
+     const char *value = NULL;
+     GHashTable *config_hash = NULL;
+     crm_time_t *now = crm_time_new(NULL);
++    long st_timeout = 0;
++    long sbd_timeout = 0;
+ 
+     if (rc != pcmk_ok) {
+         fsa_data_t *msg_data = NULL;
+@@ -946,17 +948,36 @@ config_query_callback(xmlNode * msg, int call_id, int rc, xmlNode * output, void
+     }
+ 
+     value = getenv("SBD_WATCHDOG_TIMEOUT");
++    sbd_timeout = crm_get_msec(value);
+ 
+-    if(value == NULL) {
+-        value = crmd_pref(config_hash, "stonith-watchdog-timeout");
+-    }
++    value = crmd_pref(config_hash, "stonith-watchdog-timeout");
++    st_timeout = crm_get_msec(value);
+ 
+-    if(crm_get_msec(value) > 0 && !daemon_option_enabled(crm_system_name, "watchdog")) {
++    if(st_timeout > 0 && !daemon_option_enabled(crm_system_name, "watchdog")) {
+         do_crm_log_always(LOG_EMERG, "Shutting down pacemaker, no watchdog device configured");
+         crmd_exit(DAEMON_RESPAWN_STOP);
+ 
+-    } else if(crm_get_msec(value) <= 0 && daemon_option_enabled(crm_system_name, "watchdog")) {
+-        crm_warn("Watchdog enabled but no stonith-watchdog-timeout configured");
++    } else if(!daemon_option_enabled(crm_system_name, "watchdog")) {
++        crm_trace("Watchdog disabled");
++
++    } else if(value == NULL && sbd_timeout > 0) {
++        char *timeout = NULL;
++
++        st_timeout = 2 * sbd_timeout / 1000;
++        timeout = g_strdup_printf("%lds", st_timeout);
++        crm_notice("Setting stonith-watchdog-timeout=%s", timeout);
++
++        update_attr_delegate(fsa_cib_conn, cib_none, XML_CIB_TAG_CRMCONFIG, NULL, NULL, NULL, NULL,
++                             "stonith-watchdog-timeout", timeout, FALSE, NULL, NULL);
++        free(timeout);
++
++    } else if(st_timeout <= 0) {
++        crm_notice("Watchdog enabled but stonith-watchdog-timeout is disabled");
++
++    } else if(st_timeout < sbd_timeout) {
++        do_crm_log_always(LOG_EMERG, "Shutting down pacemaker, stonith-watchdog-timeout (%ldms) is too short (must be greater than %ldms)",
++                          st_timeout, sbd_timeout);
++        crmd_exit(DAEMON_RESPAWN_STOP);
+     }
+ 
+     value = crmd_pref(config_hash, "no-quorum-policy");
+diff --git a/fencing/main.c b/fencing/main.c
+index fe6560d..2694452 100644
+--- a/fencing/main.c
++++ b/fencing/main.c
+@@ -1003,7 +1003,8 @@ update_cib_cache_cb(const char *event, xmlNode * msg)
+     }
+ 
+     if(daemon_option_enabled(crm_system_name, "watchdog")) {
+-        const char *value = getenv("SBD_WATCHDOG_TIMEOUT");
++        const char *value = NULL;
++        long timeout_ms = 0;
+ 
+         if(value == NULL) {
+             stonith_watchdog_xml = get_xpath_object("//nvpair[@name='stonith-watchdog-timeout']", local_cib, LOG_TRACE);
+@@ -1013,10 +1014,12 @@ update_cib_cache_cb(const char *event, xmlNode * msg)
+         }
+ 
+         if(value) {
+-            stonith_watchdog_timeout_ms = crm_get_msec(value);
++            timeout_ms = crm_get_msec(value);
++        }
+ 
+-        } else {
+-            stonith_watchdog_timeout_ms = 0;
++        if(timeout_ms != stonith_watchdog_timeout_ms) {
++            crm_notice("New watchdog timeout %lds (was %lds)", timeout_ms/1000, stonith_watchdog_timeout_ms/1000);
++            stonith_watchdog_timeout_ms = timeout_ms;
+         }
+     }
+ 
+diff --git a/lib/common/utils.c b/lib/common/utils.c
+index 6b8b12c..eacd8e9 100644
+--- a/lib/common/utils.c
++++ b/lib/common/utils.c
+@@ -286,6 +286,9 @@ cluster_option(GHashTable * options, gboolean(*validate) (const char *),
+ 
+         if (options == NULL) {
+             return def_value;
++
++        } else if(def_value == NULL) {
++            return def_value;
+         }
+ 
+         g_hash_table_insert(options, strdup(name), strdup(def_value));
+@@ -319,7 +322,6 @@ get_cluster_pref(GHashTable * options, pe_cluster_option * option_list, int len,
+         }
+     }
+     CRM_CHECK(found, crm_err("No option named: %s", name));
+-    CRM_ASSERT(value != NULL);
+     return value;
+ }
+ 
+diff --git a/mcp/pacemaker.c b/mcp/pacemaker.c
+index c7852c3..fa2c707 100644
+--- a/mcp/pacemaker.c
++++ b/mcp/pacemaker.c
+@@ -1040,6 +1040,8 @@ main(int argc, char **argv)
+ 
+     if(pcmk_locate_sbd() > 0) {
+         setenv("PCMK_watchdog", "true", 1);
++    } else {
++        setenv("PCMK_watchdog", "false", 1);
+     }
+ 
+     find_and_track_existing_processes();
diff --git a/SOURCES/pacemaker-test_pe_better_indicate_when_a_resource_has_failed.patch b/SOURCES/pacemaker-test_pe_better_indicate_when_a_resource_has_failed.patch
deleted file mode 100644
index d2b18e1..0000000
--- a/SOURCES/pacemaker-test_pe_better_indicate_when_a_resource_has_failed.patch
+++ /dev/null
@@ -1,1112 +0,0 @@
-commit 08495d3c9059eeb031f34814cac49d96e1156cbc
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Aug 7 14:38:07 2013 +1000
-
-    Test: PE: Better indicate when a resource has failed
-
-diff --git a/pengine/test10/1484.summary b/pengine/test10/1484.summary
-index c26139e..52cfebe 100644
---- a/pengine/test10/1484.summary
-+++ b/pengine/test10/1484.summary
-@@ -3,7 +3,7 @@ Current cluster status:
- Online: [ hb1 hb2 ]
- OFFLINE: [ hb3 ]
- 
-- the-future-of-vaj	(ocf::heartbeat:Dummy):	Started hb2 FAILED
-+ the-future-of-vaj	(ocf::heartbeat:Dummy):	FAILED hb2 
- 
- Transition Summary:
-  * Stop    the-future-of-vaj	(hb2)
-diff --git a/pengine/test10/994-2.summary b/pengine/test10/994-2.summary
-index 066fdc3..dc4b9d1 100644
---- a/pengine/test10/994-2.summary
-+++ b/pengine/test10/994-2.summary
-@@ -6,7 +6,7 @@ Online: [ paul ]
-      datadisk_1	(heartbeat:datadisk):	Started paul
-      Filesystem_2	(ocf::heartbeat:Filesystem):	Started paul
-      IPaddr_5	(ocf::heartbeat:IPaddr):	Started paul
--     postfix_9	(lsb:postfix):	Started paul FAILED
-+     postfix_9	(lsb:postfix):	FAILED paul 
-  depends	(lsb:postfix):	Started paul
- 
- Transition Summary:
-diff --git a/pengine/test10/994.summary b/pengine/test10/994.summary
-index 27db890..6e8e4a2 100644
---- a/pengine/test10/994.summary
-+++ b/pengine/test10/994.summary
-@@ -6,7 +6,7 @@ Online: [ paul ]
-      datadisk_1	(heartbeat:datadisk):	Started paul
-      Filesystem_2	(ocf::heartbeat:Filesystem):	Started paul
-      IPaddr_5	(ocf::heartbeat:IPaddr):	Started paul
--     postfix_9	(lsb:postfix):	Started paul FAILED
-+     postfix_9	(lsb:postfix):	FAILED paul 
- 
- Transition Summary:
-  * Recover postfix_9	(Started paul)
-diff --git a/pengine/test10/bug-5028-bottom.summary b/pengine/test10/bug-5028-bottom.summary
-index 479fb18..3aa7d1f 100644
---- a/pengine/test10/bug-5028-bottom.summary
-+++ b/pengine/test10/bug-5028-bottom.summary
-@@ -3,7 +3,7 @@ Current cluster status:
- Online: [ bl460g6a bl460g6b ]
- 
-  Resource Group: dummy-g
--     dummy01	(ocf::heartbeat:Dummy):	Started bl460g6a (unmanaged) FAILED
-+     dummy01	(ocf::heartbeat:Dummy):	FAILED bl460g6a (unmanaged) 
-      dummy02	(ocf::heartbeat:Dummy-stop-NG):	Started bl460g6a
- 
- Transition Summary:
-@@ -18,6 +18,6 @@ Revised cluster status:
- Online: [ bl460g6a bl460g6b ]
- 
-  Resource Group: dummy-g
--     dummy01	(ocf::heartbeat:Dummy):	Started bl460g6a (unmanaged) FAILED
-+     dummy01	(ocf::heartbeat:Dummy):	FAILED bl460g6a (unmanaged) 
-      dummy02	(ocf::heartbeat:Dummy-stop-NG):	Stopped 
- 
-diff --git a/pengine/test10/bug-5028-detach.summary b/pengine/test10/bug-5028-detach.summary
-index 193b1a1..0f3247f 100644
---- a/pengine/test10/bug-5028-detach.summary
-+++ b/pengine/test10/bug-5028-detach.summary
-@@ -4,7 +4,7 @@ Online: [ bl460g6a bl460g6b ]
- 
-  Resource Group: dummy-g
-      dummy01	(ocf::heartbeat:Dummy):	Started bl460g6a (unmanaged)
--     dummy02	(ocf::heartbeat:Dummy-stop-NG):	Started bl460g6a (unmanaged) FAILED
-+     dummy02	(ocf::heartbeat:Dummy-stop-NG):	FAILED bl460g6a (unmanaged) 
- 
- Transition Summary:
- 
-@@ -16,5 +16,5 @@ Online: [ bl460g6a bl460g6b ]
- 
-  Resource Group: dummy-g
-      dummy01	(ocf::heartbeat:Dummy):	Started bl460g6a (unmanaged)
--     dummy02	(ocf::heartbeat:Dummy-stop-NG):	Started bl460g6a (unmanaged) FAILED
-+     dummy02	(ocf::heartbeat:Dummy-stop-NG):	FAILED bl460g6a (unmanaged) 
- 
-diff --git a/pengine/test10/bug-5028.summary b/pengine/test10/bug-5028.summary
-index f092285..95f19ac 100644
---- a/pengine/test10/bug-5028.summary
-+++ b/pengine/test10/bug-5028.summary
-@@ -4,7 +4,7 @@ Online: [ bl460g6a bl460g6b ]
- 
-  Resource Group: dummy-g
-      dummy01	(ocf::heartbeat:Dummy):	Started bl460g6a
--     dummy02	(ocf::heartbeat:Dummy-stop-NG):	Started bl460g6a (unmanaged) FAILED
-+     dummy02	(ocf::heartbeat:Dummy-stop-NG):	FAILED bl460g6a (unmanaged) 
- 
- Transition Summary:
-  * Stop    dummy01	(Started bl460g6b)
-@@ -18,5 +18,5 @@ Online: [ bl460g6a bl460g6b ]
- 
-  Resource Group: dummy-g
-      dummy01	(ocf::heartbeat:Dummy):	Started bl460g6a
--     dummy02	(ocf::heartbeat:Dummy-stop-NG):	Started bl460g6a (unmanaged) FAILED
-+     dummy02	(ocf::heartbeat:Dummy-stop-NG):	FAILED bl460g6a (unmanaged) 
- 
-diff --git a/pengine/test10/bug-cl-5170.summary b/pengine/test10/bug-cl-5170.summary
-index 3b4bcb9..97d2034 100644
---- a/pengine/test10/bug-cl-5170.summary
-+++ b/pengine/test10/bug-cl-5170.summary
-@@ -7,7 +7,7 @@ Online: [ TCS-2 ]
-      ip_trf	(ocf::heartbeat:IPaddr2):	Started TCS-2 
-      ip_mgmt	(ocf::heartbeat:IPaddr2):	Started TCS-2 
-  Clone Set: cl_tomcat_nms [d_tomcat_nms]
--     d_tomcat_nms	(ocf::ntc:tomcat):	Started TCS-2 (unmanaged) FAILED 
-+     d_tomcat_nms	(ocf::ntc:tomcat):	FAILED TCS-2 (unmanaged) 
-      Stopped: [ TCS-1 ]
- 
- Transition Summary:
-@@ -29,6 +29,6 @@ Online: [ TCS-2 ]
-      ip_trf	(ocf::heartbeat:IPaddr2):	Stopped 
-      ip_mgmt	(ocf::heartbeat:IPaddr2):	Stopped 
-  Clone Set: cl_tomcat_nms [d_tomcat_nms]
--     d_tomcat_nms	(ocf::ntc:tomcat):	Started TCS-2 (unmanaged) FAILED 
-+     d_tomcat_nms	(ocf::ntc:tomcat):	FAILED TCS-2 (unmanaged) 
-      Stopped: [ TCS-1 ]
- 
-diff --git a/pengine/test10/bug-lf-2606.summary b/pengine/test10/bug-lf-2606.summary
-index 535b3d9..c03ed6a 100644
---- a/pengine/test10/bug-lf-2606.summary
-+++ b/pengine/test10/bug-lf-2606.summary
-@@ -4,7 +4,7 @@ Node node2: UNCLEAN (online)
- Online: [ node1 ]
- 
-  rsc_stonith	(stonith:null):	Started node1
-- rsc1	(ocf::pacemaker:Dummy):	Started node2 FAILED
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED node2 
-  rsc2	(ocf::pacemaker:Dummy):	Started node2
-  Master/Slave Set: ms3 [rsc3]
-      Masters: [ node2 ]
-diff --git a/pengine/test10/bug-lf-2613.summary b/pengine/test10/bug-lf-2613.summary
-index 23cfe62..4312c51 100644
---- a/pengine/test10/bug-lf-2613.summary
-+++ b/pengine/test10/bug-lf-2613.summary
-@@ -8,7 +8,7 @@ Online: [ act1 act2 act3 sby1 sby2 ]
-      prmFsPostgreSQLDB1-2	(ocf::pacemaker:Dummy):	Started act1
-      prmFsPostgreSQLDB1-3	(ocf::pacemaker:Dummy):	Started act1
-      prmIpPostgreSQLDB1	(ocf::pacemaker:Dummy):	Started act1
--     prmApPostgreSQLDB1	(ocf::pacemaker:Dummy):	Started act1 FAILED
-+     prmApPostgreSQLDB1	(ocf::pacemaker:Dummy):	FAILED act1 
-  Resource Group: grpPostgreSQLDB2
-      prmExPostgreSQLDB2	(ocf::pacemaker:Dummy):	Started act2
-      prmFsPostgreSQLDB2-1	(ocf::pacemaker:Dummy):	Started act2
-diff --git a/pengine/test10/bug-lf-2619.summary b/pengine/test10/bug-lf-2619.summary
-index ad94dd4..2816ac3 100644
---- a/pengine/test10/bug-lf-2619.summary
-+++ b/pengine/test10/bug-lf-2619.summary
-@@ -24,7 +24,7 @@ Online: [ act1 act2 act3 sby1 sby2 ]
-      prmIpPostgreSQLDB3	(ocf::pacemaker:Dummy):	Started act3
-      prmApPostgreSQLDB3	(ocf::pacemaker:Dummy):	Started act3
-  Clone Set: clnPingd [prmPingd]
--     prmPingd	(ocf::pacemaker:ping):	Started act1 FAILED 
-+     prmPingd	(ocf::pacemaker:ping):	FAILED act1 
-      Started: [ act2 act3 sby1 sby2 ]
- 
- Transition Summary:
-diff --git a/pengine/test10/bug-n-385265-2.summary b/pengine/test10/bug-n-385265-2.summary
-index a4d593b..f02554d 100644
---- a/pengine/test10/bug-n-385265-2.summary
-+++ b/pengine/test10/bug-n-385265-2.summary
-@@ -3,7 +3,7 @@ Current cluster status:
- Online: [ ih01 ih02 ]
- 
-  Resource Group: group_common
--     resource_ip_common	(ocf::heartbeat:IPaddr2):	Started ih02 FAILED
-+     resource_ip_common	(ocf::heartbeat:IPaddr2):	FAILED ih02 
-      resource_idvscommon	(ocf::dfs:idvs):	Started ih02
- 
- Transition Summary:
-diff --git a/pengine/test10/bug-n-385265.summary b/pengine/test10/bug-n-385265.summary
-index 7b70f2b..8f95787 100644
---- a/pengine/test10/bug-n-385265.summary
-+++ b/pengine/test10/bug-n-385265.summary
-@@ -4,7 +4,7 @@ Online: [ ih01 ih02 ]
- 
-  Resource Group: group_common
-      resource_ip_common	(ocf::heartbeat:IPaddr2):	Started ih02
--     resource_idvscommon	(ocf::dfs:idvs):	Started ih02 FAILED
-+     resource_idvscommon	(ocf::dfs:idvs):	FAILED ih02 
- 
- Transition Summary:
-  * Stop    resource_idvscommon	(ih02)
-diff --git a/pengine/test10/clone-anon-failcount.summary b/pengine/test10/clone-anon-failcount.summary
-index 7e899b3..cd4349c 100644
---- a/pengine/test10/clone-anon-failcount.summary
-+++ b/pengine/test10/clone-anon-failcount.summary
-@@ -23,7 +23,7 @@ Online: [ srv01 srv02 srv03 srv04 ]
-      prmStonithN4	(stonith:external/ssh):	Started srv03
-  Clone Set: clnUMgroup01 [clnUmResource]
-      Resource Group: clnUmResource:0
--         clnUMdummy01	(ocf::pacemaker:Dummy):	Started srv04 FAILED 
-+         clnUMdummy01	(ocf::pacemaker:Dummy):	FAILED srv04 
-          clnUMdummy02	(ocf::pacemaker:Dummy):	Started srv04 
-      Started: [ srv01 ]
-      Stopped: [ srv02 srv03 ]
-diff --git a/pengine/test10/clone-fail-block-colocation.summary b/pengine/test10/clone-fail-block-colocation.summary
-index 7b066ee..68fc7a0 100644
---- a/pengine/test10/clone-fail-block-colocation.summary
-+++ b/pengine/test10/clone-fail-block-colocation.summary
-@@ -10,7 +10,7 @@ Online: [ DEM-1 DEM-2 ]
-  Clone Set: cl_bird [d_bird]
-      Started: [ DEM-1 DEM-2 ]
-  Clone Set: cl_bird6 [d_bird6]
--     d_bird6	(lsb:bird6):	Started DEM-1 (unmanaged) FAILED 
-+     d_bird6	(lsb:bird6):	FAILED DEM-1 (unmanaged) 
-      Started: [ DEM-2 ]
-  Clone Set: cl_tomcat_nms [d_tomcat_nms]
-      Started: [ DEM-1 DEM-2 ]
-@@ -51,7 +51,7 @@ Online: [ DEM-1 DEM-2 ]
-  Clone Set: cl_bird [d_bird]
-      Started: [ DEM-1 DEM-2 ]
-  Clone Set: cl_bird6 [d_bird6]
--     d_bird6	(lsb:bird6):	Started DEM-1 (unmanaged) FAILED 
-+     d_bird6	(lsb:bird6):	FAILED DEM-1 (unmanaged) 
-      Started: [ DEM-2 ]
-  Clone Set: cl_tomcat_nms [d_tomcat_nms]
-      Started: [ DEM-1 DEM-2 ]
-diff --git a/pengine/test10/container-2.summary b/pengine/test10/container-2.summary
-index 0451747..b0c08b8 100644
---- a/pengine/test10/container-2.summary
-+++ b/pengine/test10/container-2.summary
-@@ -3,7 +3,7 @@ Current cluster status:
- Online: [ node1 node2 ]
- 
-  container1	(ocf::pacemaker:Dummy):	Started node1
-- rsc1	(ocf::pacemaker:Dummy):	Started node1 FAILED
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED node1 
-  rsc2	(ocf::pacemaker:Dummy):	Started node1
- 
- Transition Summary:
-diff --git a/pengine/test10/container-3.summary b/pengine/test10/container-3.summary
-index 51575a9..194c687 100644
---- a/pengine/test10/container-3.summary
-+++ b/pengine/test10/container-3.summary
-@@ -3,7 +3,7 @@ Current cluster status:
- Online: [ node1 node2 ]
- 
-  container1	(ocf::pacemaker:Dummy):	Started node1
-- rsc1	(ocf::pacemaker:Dummy):	Stopped  FAILED (failure ignored)
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED (failure ignored)
-  rsc2	(ocf::pacemaker:Dummy):	Started node1
- 
- Transition Summary:
-diff --git a/pengine/test10/container-4.summary b/pengine/test10/container-4.summary
-index c7f6282..c5852de 100644
---- a/pengine/test10/container-4.summary
-+++ b/pengine/test10/container-4.summary
-@@ -3,7 +3,7 @@ Current cluster status:
- Online: [ node1 node2 ]
- 
-  container1	(ocf::pacemaker:Dummy):	Started node1
-- rsc1	(ocf::pacemaker:Dummy):	Started node1 FAILED
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED node1 
-  rsc2	(ocf::pacemaker:Dummy):	Started node1
- 
- Transition Summary:
-diff --git a/pengine/test10/container-group-2.summary b/pengine/test10/container-group-2.summary
-index c4039e6..4451c63 100644
---- a/pengine/test10/container-group-2.summary
-+++ b/pengine/test10/container-group-2.summary
-@@ -4,7 +4,7 @@ Online: [ node1 node2 ]
- 
-  Resource Group: container-group
-      container1	(ocf::pacemaker:Dummy):	Started node1
--     rsc1	(ocf::pacemaker:Dummy):	Started node1 FAILED
-+     rsc1	(ocf::pacemaker:Dummy):	FAILED node1 
-      rsc2	(ocf::pacemaker:Dummy):	Started node1
- 
- Transition Summary:
-diff --git a/pengine/test10/container-group-3.summary b/pengine/test10/container-group-3.summary
-index bd408ef..d5fac46 100644
---- a/pengine/test10/container-group-3.summary
-+++ b/pengine/test10/container-group-3.summary
-@@ -4,7 +4,7 @@ Online: [ node1 node2 ]
- 
-  Resource Group: container-group
-      container1	(ocf::pacemaker:Dummy):	Started node1
--     rsc1	(ocf::pacemaker:Dummy):	Stopped  FAILED (failure ignored)
-+     rsc1	(ocf::pacemaker:Dummy):	FAILED (failure ignored)
-      rsc2	(ocf::pacemaker:Dummy):	Stopped 
- 
- Transition Summary:
-diff --git a/pengine/test10/container-group-4.summary b/pengine/test10/container-group-4.summary
-index 7f6dd4f..3ee85bc 100644
---- a/pengine/test10/container-group-4.summary
-+++ b/pengine/test10/container-group-4.summary
-@@ -4,7 +4,7 @@ Online: [ node1 node2 ]
- 
-  Resource Group: container-group
-      container1	(ocf::pacemaker:Dummy):	Started node1
--     rsc1	(ocf::pacemaker:Dummy):	Started node1 FAILED
-+     rsc1	(ocf::pacemaker:Dummy):	FAILED node1 
-      rsc2	(ocf::pacemaker:Dummy):	Started node1
- 
- Transition Summary:
-diff --git a/pengine/test10/failcount-block.summary b/pengine/test10/failcount-block.summary
-index 93a2022..edd91b2 100644
---- a/pengine/test10/failcount-block.summary
-+++ b/pengine/test10/failcount-block.summary
-@@ -4,7 +4,7 @@ Online: [ pcmk-1 ]
- OFFLINE: [ pcmk-4 ]
- 
-  rsc_pcmk-1	(ocf::heartbeat:IPaddr2):	Started pcmk-1 
-- rsc_pcmk-2	(ocf::heartbeat:IPaddr2):	Started pcmk-1 (unmanaged) FAILED 
-+ rsc_pcmk-2	(ocf::heartbeat:IPaddr2):	FAILED pcmk-1 (unmanaged) 
-  rsc_pcmk-3	(ocf::heartbeat:IPaddr2):	Stopped 
-  rsc_pcmk-4	(ocf::heartbeat:IPaddr2):	Stopped 
-  rsc_pcmk-5	(ocf::heartbeat:IPaddr2):	Started pcmk-1 
-@@ -28,7 +28,7 @@ Online: [ pcmk-1 ]
- OFFLINE: [ pcmk-4 ]
- 
-  rsc_pcmk-1	(ocf::heartbeat:IPaddr2):	Started pcmk-1 
-- rsc_pcmk-2	(ocf::heartbeat:IPaddr2):	Started pcmk-1 (unmanaged) FAILED 
-+ rsc_pcmk-2	(ocf::heartbeat:IPaddr2):	FAILED pcmk-1 (unmanaged) 
-  rsc_pcmk-3	(ocf::heartbeat:IPaddr2):	Started pcmk-1 
-  rsc_pcmk-4	(ocf::heartbeat:IPaddr2):	Started pcmk-1 
-  rsc_pcmk-5	(ocf::heartbeat:IPaddr2):	Started pcmk-1 
-diff --git a/pengine/test10/group10.summary b/pengine/test10/group10.summary
-index 0f45f6b..5cf890a 100644
---- a/pengine/test10/group10.summary
-+++ b/pengine/test10/group10.summary
-@@ -4,7 +4,7 @@ Online: [ c001n01 c001n02 c001n03 c001n08 ]
- 
-  DcIPaddr	(ocf::heartbeat:IPaddr):	Started c001n08
-  Resource Group: group-1
--     child_192.168.100.181	(ocf::heartbeat:IPaddr):	Started c001n01 FAILED
-+     child_192.168.100.181	(ocf::heartbeat:IPaddr):	FAILED c001n01 
-      child_192.168.100.182	(ocf::heartbeat:IPaddr):	Started c001n01
-      child_192.168.100.183	(ocf::heartbeat:IPaddr):	Started c001n01
-  rsc_c001n08	(ocf::heartbeat:IPaddr):	Started c001n08
-diff --git a/pengine/test10/group9.summary b/pengine/test10/group9.summary
-index be0f5c8..c5c9a6a 100644
---- a/pengine/test10/group9.summary
-+++ b/pengine/test10/group9.summary
-@@ -6,11 +6,11 @@ Online: [ node1 node2 ]
-  rsc2	(heartbeat:apache):	Started node1
-  Resource Group: foo
-      rsc3	(heartbeat:apache):	Started node1
--     rsc4	(heartbeat:apache):	Started node1 FAILED
-+     rsc4	(heartbeat:apache):	FAILED node1 
-      rsc5	(heartbeat:apache):	Started node1
-  Resource Group: bar
-      rsc6	(heartbeat:apache):	Started node1
--     rsc7	(heartbeat:apache):	Started node1 FAILED
-+     rsc7	(heartbeat:apache):	FAILED node1 
-      rsc8	(heartbeat:apache):	Started node1
- 
- Transition Summary:
-diff --git a/pengine/test10/interleave-restart.summary b/pengine/test10/interleave-restart.summary
-index 32ff592..7f1b1e4 100644
---- a/pengine/test10/interleave-restart.summary
-+++ b/pengine/test10/interleave-restart.summary
-@@ -5,7 +5,7 @@ Online: [ node1 node2 ]
-  Clone Set: stonithcloneset [stonithclone]
-      Started: [ node1 node2 ]
-  Clone Set: evmscloneset [evmsclone]
--     evmsclone	(ocf::heartbeat:EvmsSCC):	Started node1 FAILED 
-+     evmsclone	(ocf::heartbeat:EvmsSCC):	FAILED node1 
-      Started: [ node2 ]
-  Clone Set: imagestorecloneset [imagestoreclone]
-      Started: [ node1 node2 ]
-diff --git a/pengine/test10/master-demote-2.summary b/pengine/test10/master-demote-2.summary
-index 53259a7..02fe055 100644
---- a/pengine/test10/master-demote-2.summary
-+++ b/pengine/test10/master-demote-2.summary
-@@ -16,7 +16,7 @@ Online: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
-  Clone Set: Connectivity [ping-1]
-      Started: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
-  Master/Slave Set: master-1 [stateful-1]
--     stateful-1	(ocf::pacemaker:Stateful):	Slave pcmk-1 FAILED 
-+     stateful-1	(ocf::pacemaker:Stateful):	FAILED pcmk-1 
-      Slaves: [ pcmk-2 pcmk-3 pcmk-4 ]
- 
- Transition Summary:
-diff --git a/pengine/test10/master-demote-block.summary b/pengine/test10/master-demote-block.summary
-index 97fb20b..a35923f 100644
---- a/pengine/test10/master-demote-block.summary
-+++ b/pengine/test10/master-demote-block.summary
-@@ -4,7 +4,7 @@ Node dl380g5c (21c624bd-c426-43dc-9665-bbfb92054bcd): standby
- Online: [ dl380g5d ]
- 
-  Master/Slave Set: stateful [dummy]
--     dummy	(ocf::pacemaker:Stateful):	Master dl380g5c (unmanaged) FAILED 
-+     dummy	(ocf::pacemaker:Stateful):	FAILED Master dl380g5c (unmanaged) 
-      Slaves: [ dl380g5d ]
- 
- Transition Summary:
-@@ -17,6 +17,6 @@ Node dl380g5c (21c624bd-c426-43dc-9665-bbfb92054bcd): standby
- Online: [ dl380g5d ]
- 
-  Master/Slave Set: stateful [dummy]
--     dummy	(ocf::pacemaker:Stateful):	Master dl380g5c (unmanaged) FAILED 
-+     dummy	(ocf::pacemaker:Stateful):	FAILED Master dl380g5c (unmanaged) 
-      Slaves: [ dl380g5d ]
- 
-diff --git a/pengine/test10/master-failed-demote-2.summary b/pengine/test10/master-failed-demote-2.summary
-index b6bec8d..6a754bc 100644
---- a/pengine/test10/master-failed-demote-2.summary
-+++ b/pengine/test10/master-failed-demote-2.summary
-@@ -4,7 +4,7 @@ Online: [ dl380g5a dl380g5b ]
- 
-  Master/Slave Set: ms-sf [group] (unique)
-      Resource Group: group:0
--         stateful-1:0	(ocf::heartbeat:Stateful):	Slave dl380g5b FAILED
-+         stateful-1:0	(ocf::heartbeat:Stateful):	FAILED dl380g5b 
-          stateful-2:0	(ocf::heartbeat:Stateful):	Stopped 
-      Resource Group: group:1
-          stateful-1:1	(ocf::heartbeat:Stateful):	Started dl380g5a
-diff --git a/pengine/test10/master-failed-demote.summary b/pengine/test10/master-failed-demote.summary
-index e86e813..9288c0b 100644
---- a/pengine/test10/master-failed-demote.summary
-+++ b/pengine/test10/master-failed-demote.summary
-@@ -4,7 +4,7 @@ Online: [ dl380g5a dl380g5b ]
- 
-  Master/Slave Set: ms-sf [group] (unique)
-      Resource Group: group:0
--         stateful-1:0	(ocf::heartbeat:Stateful):	Slave dl380g5b FAILED
-+         stateful-1:0	(ocf::heartbeat:Stateful):	FAILED dl380g5b 
-          stateful-2:0	(ocf::heartbeat:Stateful):	Stopped 
-      Resource Group: group:1
-          stateful-1:1	(ocf::heartbeat:Stateful):	Started dl380g5a
-diff --git a/pengine/test10/master-move.summary b/pengine/test10/master-move.summary
-index 6886712..2f7d877 100644
---- a/pengine/test10/master-move.summary
-+++ b/pengine/test10/master-move.summary
-@@ -3,7 +3,7 @@ Current cluster status:
- Online: [ bl460g1n13 bl460g1n14 ]
- 
-  Resource Group: grpDRBD
--     dummy01	(ocf::pacemaker:Dummy):	Started bl460g1n13 FAILED
-+     dummy01	(ocf::pacemaker:Dummy):	FAILED bl460g1n13 
-      dummy02	(ocf::pacemaker:Dummy):	Started bl460g1n13
-      dummy03	(ocf::pacemaker:Dummy):	Stopped 
-  Master/Slave Set: msDRBD [prmDRBD]
-diff --git a/pengine/test10/migrate-3.summary b/pengine/test10/migrate-3.summary
-index 9825c3b..c4c510e 100644
---- a/pengine/test10/migrate-3.summary
-+++ b/pengine/test10/migrate-3.summary
-@@ -3,7 +3,7 @@ Current cluster status:
- Node node1: standby
- Online: [ node2 ]
- 
-- rsc3	(heartbeat:apache):	Started node1 FAILED
-+ rsc3	(heartbeat:apache):	FAILED node1 
- 
- Transition Summary:
-  * Recover rsc3	(Started node1 -> node2)
-diff --git a/pengine/test10/migrate-4.summary b/pengine/test10/migrate-4.summary
-index aacb53b..32449a7 100644
---- a/pengine/test10/migrate-4.summary
-+++ b/pengine/test10/migrate-4.summary
-@@ -3,7 +3,7 @@ Current cluster status:
- Node node1: standby
- Online: [ node2 ]
- 
-- rsc3	(heartbeat:apache):	Started node2 FAILED
-+ rsc3	(heartbeat:apache):	FAILED node2 
- 
- Transition Summary:
-  * Recover rsc3	(Started node2)
-diff --git a/pengine/test10/migrate-fail-2.summary b/pengine/test10/migrate-fail-2.summary
-index 1d795d2..3786533 100644
---- a/pengine/test10/migrate-fail-2.summary
-+++ b/pengine/test10/migrate-fail-2.summary
-@@ -2,7 +2,7 @@
- Current cluster status:
- Online: [ hex-13 hex-14 ]
- 
-- test-vm	(ocf::heartbeat:Xen):	Started FAILED [ hex-13 hex-14 ]
-+ test-vm	(ocf::heartbeat:Xen):	FAILED [ hex-13 hex-14 ]
-  Clone Set: c-clusterfs [dlm]
-      Started: [ hex-13 hex-14 ]
- 
-diff --git a/pengine/test10/migrate-fail-3.summary b/pengine/test10/migrate-fail-3.summary
-index c392937..547c110 100644
---- a/pengine/test10/migrate-fail-3.summary
-+++ b/pengine/test10/migrate-fail-3.summary
-@@ -2,7 +2,7 @@
- Current cluster status:
- Online: [ hex-13 hex-14 ]
- 
-- test-vm	(ocf::heartbeat:Xen):	Started hex-13 FAILED
-+ test-vm	(ocf::heartbeat:Xen):	FAILED hex-13 
-  Clone Set: c-clusterfs [dlm]
-      Started: [ hex-13 hex-14 ]
- 
-diff --git a/pengine/test10/migrate-fail-6.summary b/pengine/test10/migrate-fail-6.summary
-index be51c7a..dfde8bb 100644
---- a/pengine/test10/migrate-fail-6.summary
-+++ b/pengine/test10/migrate-fail-6.summary
-@@ -2,7 +2,7 @@
- Current cluster status:
- Online: [ hex-13 hex-14 ]
- 
-- test-vm	(ocf::heartbeat:Xen):	Started FAILED [ hex-13 hex-14 ]
-+ test-vm	(ocf::heartbeat:Xen):	FAILED [ hex-13 hex-14 ]
-  Clone Set: c-clusterfs [dlm]
-      Started: [ hex-13 hex-14 ]
- 
-diff --git a/pengine/test10/migrate-fail-8.summary b/pengine/test10/migrate-fail-8.summary
-index 058523a..9a651eb 100644
---- a/pengine/test10/migrate-fail-8.summary
-+++ b/pengine/test10/migrate-fail-8.summary
-@@ -2,7 +2,7 @@
- Current cluster status:
- Online: [ hex-13 hex-14 ]
- 
-- test-vm	(ocf::heartbeat:Xen):	Started hex-14 FAILED
-+ test-vm	(ocf::heartbeat:Xen):	FAILED hex-14 
-  Clone Set: c-clusterfs [dlm]
-      Started: [ hex-13 hex-14 ]
- 
-diff --git a/pengine/test10/migrate-partial-3.summary b/pengine/test10/migrate-partial-3.summary
-index cf27c9f..516e470 100644
---- a/pengine/test10/migrate-partial-3.summary
-+++ b/pengine/test10/migrate-partial-3.summary
-@@ -3,7 +3,7 @@ Current cluster status:
- Online: [ hex-13 hex-14 ]
- OFFLINE: [ hex-15 ]
- 
-- test-vm	(ocf::heartbeat:Xen):	Started hex-14 FAILED
-+ test-vm	(ocf::heartbeat:Xen):	FAILED hex-14 
-  Clone Set: c-clusterfs [dlm]
-      Started: [ hex-13 hex-14 ]
-      Stopped: [ hex-15 ]
-diff --git a/pengine/test10/monitor-onfail-restart.summary b/pengine/test10/monitor-onfail-restart.summary
-index d77963a..34bc76a 100644
---- a/pengine/test10/monitor-onfail-restart.summary
-+++ b/pengine/test10/monitor-onfail-restart.summary
-@@ -3,7 +3,7 @@ Current cluster status:
- Online: [ fc16-builder ]
- OFFLINE: [ fc16-builder2 ]
- 
-- A	(ocf::pacemaker:Dummy):	Started fc16-builder FAILED
-+ A	(ocf::pacemaker:Dummy):	FAILED fc16-builder 
- 
- Transition Summary:
-  * Recover A	(Started fc16-builder)
-diff --git a/pengine/test10/monitor-onfail-stop.summary b/pengine/test10/monitor-onfail-stop.summary
-index 8027fc5..54ad25a 100644
---- a/pengine/test10/monitor-onfail-stop.summary
-+++ b/pengine/test10/monitor-onfail-stop.summary
-@@ -3,7 +3,7 @@ Current cluster status:
- Online: [ fc16-builder ]
- OFFLINE: [ fc16-builder2 ]
- 
-- A	(ocf::pacemaker:Dummy):	Started fc16-builder FAILED
-+ A	(ocf::pacemaker:Dummy):	FAILED fc16-builder 
- 
- Transition Summary:
-  * Stop    A	(fc16-builder)
-diff --git a/pengine/test10/novell-252693-3.summary b/pengine/test10/novell-252693-3.summary
-index 9d42229..77bc781 100644
---- a/pengine/test10/novell-252693-3.summary
-+++ b/pengine/test10/novell-252693-3.summary
-@@ -12,7 +12,7 @@ Online: [ node1 node2 ]
-      Started: [ node2 ]
-      Stopped: [ node1 ]
-  Clone Set: imagestorecloneset [imagestoreclone]
--     imagestoreclone	(ocf::heartbeat:Filesystem):	Started node2 FAILED 
-+     imagestoreclone	(ocf::heartbeat:Filesystem):	FAILED node2 
-      Stopped: [ node1 ]
-  Clone Set: configstorecloneset [configstoreclone]
-      Started: [ node2 ]
-diff --git a/pengine/test10/order7.summary b/pengine/test10/order7.summary
-index c82ca4a..a7724f1 100644
---- a/pengine/test10/order7.summary
-+++ b/pengine/test10/order7.summary
-@@ -5,7 +5,7 @@ Online: [ node1 ]
-  rsc1	(heartbeat:apache):	Started node1
-  rsc2	(heartbeat:apache):	Stopped 
-  rsc3	(heartbeat:apache):	Stopped 
-- rscA	(heartbeat:apache):	Started node1 (unmanaged) FAILED
-+ rscA	(heartbeat:apache):	FAILED node1 (unmanaged) 
-  rscB	(heartbeat:apache):	Stopped 
-  rscC	(heartbeat:apache):	Stopped 
- 
-@@ -31,7 +31,7 @@ Online: [ node1 ]
-  rsc1	(heartbeat:apache):	Started node1
-  rsc2	(heartbeat:apache):	Started node1
-  rsc3	(heartbeat:apache):	Started node1
-- rscA	(heartbeat:apache):	Started node1 (unmanaged) FAILED
-+ rscA	(heartbeat:apache):	FAILED node1 (unmanaged) 
-  rscB	(heartbeat:apache):	Started node1
-  rscC	(heartbeat:apache):	Stopped 
- 
-diff --git a/pengine/test10/rec-node-13.summary b/pengine/test10/rec-node-13.summary
-index 2833d0b..356b67d 100644
---- a/pengine/test10/rec-node-13.summary
-+++ b/pengine/test10/rec-node-13.summary
-@@ -26,7 +26,7 @@ OFFLINE: [ c001n03 c001n05 ]
-      ocf_msdummy:3	(ocf::heartbeat:/usr/lib/heartbeat/cts/OCFMSDummy):	Stopped 
-      ocf_msdummy:4	(ocf::heartbeat:/usr/lib/heartbeat/cts/OCFMSDummy):	Started c001n02
-      ocf_msdummy:5	(ocf::heartbeat:/usr/lib/heartbeat/cts/OCFMSDummy):	Stopped 
--     ocf_msdummy:6	(ocf::heartbeat:/usr/lib/heartbeat/cts/OCFMSDummy):	Started c001n04 FAILED
-+     ocf_msdummy:6	(ocf::heartbeat:/usr/lib/heartbeat/cts/OCFMSDummy):	FAILED c001n04 
-      ocf_msdummy:7	(ocf::heartbeat:/usr/lib/heartbeat/cts/OCFMSDummy):	Stopped 
-      ocf_msdummy:8	(ocf::heartbeat:/usr/lib/heartbeat/cts/OCFMSDummy):	Started c001n06
-      ocf_msdummy:9	(ocf::heartbeat:/usr/lib/heartbeat/cts/OCFMSDummy):	Started c001n07
-diff --git a/pengine/test10/rec-rsc-0.summary b/pengine/test10/rec-rsc-0.summary
-index 6607ffc..e33ffeb 100644
---- a/pengine/test10/rec-rsc-0.summary
-+++ b/pengine/test10/rec-rsc-0.summary
-@@ -2,7 +2,7 @@
- Current cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(heartbeat:apache):	Started FAILED [ node1 node2 ]
-+ rsc1	(heartbeat:apache):	FAILED [ node1 node2 ]
- 
- Transition Summary:
-  * Stop    rsc1	(node1)
-diff --git a/pengine/test10/rec-rsc-1.summary b/pengine/test10/rec-rsc-1.summary
-index fe7ad10..6bce529 100644
---- a/pengine/test10/rec-rsc-1.summary
-+++ b/pengine/test10/rec-rsc-1.summary
-@@ -2,7 +2,7 @@
- Current cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(heartbeat:apache):	Started node1 FAILED
-+ rsc1	(heartbeat:apache):	FAILED node1 
- 
- Transition Summary:
-  * Recover rsc1	(Started node1 -> node2)
-diff --git a/pengine/test10/rec-rsc-2.summary b/pengine/test10/rec-rsc-2.summary
-index 45ac5ba..b2c9cd4 100644
---- a/pengine/test10/rec-rsc-2.summary
-+++ b/pengine/test10/rec-rsc-2.summary
-@@ -2,7 +2,7 @@
- Current cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(heartbeat:apache):	Started node1 FAILED
-+ rsc1	(heartbeat:apache):	FAILED node1 
- 
- Transition Summary:
-  * Recover rsc1	(Started node1)
-diff --git a/pengine/test10/rec-rsc-4.summary b/pengine/test10/rec-rsc-4.summary
-index fc0b8bf..24ccbf7 100644
---- a/pengine/test10/rec-rsc-4.summary
-+++ b/pengine/test10/rec-rsc-4.summary
-@@ -2,7 +2,7 @@
- Current cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(heartbeat:apache):	Started node2 (unmanaged) FAILED
-+ rsc1	(heartbeat:apache):	FAILED node2 (unmanaged) 
- 
- Transition Summary:
- 
-@@ -13,5 +13,5 @@ Executing cluster transition:
- Revised cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(heartbeat:apache):	Started node2 (unmanaged) FAILED
-+ rsc1	(heartbeat:apache):	FAILED node2 (unmanaged) 
- 
-diff --git a/pengine/test10/rec-rsc-5.summary b/pengine/test10/rec-rsc-5.summary
-index 1a95402..9c9239b 100644
---- a/pengine/test10/rec-rsc-5.summary
-+++ b/pengine/test10/rec-rsc-5.summary
-@@ -4,7 +4,7 @@ Node node2 (uuid2): UNCLEAN (online)
- Online: [ node1 ]
- 
-  stonith-1	(stonith:dummy):	Stopped 
-- rsc1	(heartbeat:apache):	Started node2 FAILED
-+ rsc1	(heartbeat:apache):	FAILED node2 
-  rsc2	(heartbeat:apache):	Started node2
- 
- Transition Summary:
-diff --git a/pengine/test10/rec-rsc-9.summary b/pengine/test10/rec-rsc-9.summary
-index 3184afb..1c06087 100644
---- a/pengine/test10/rec-rsc-9.summary
-+++ b/pengine/test10/rec-rsc-9.summary
-@@ -6,7 +6,7 @@ Online: [ node1 ]
-  Resource Group: foo
-      rsc2	(heartbeat:apache):	Started node1
-  Resource Group: bar
--     rsc3	(heartbeat:apache):	Started node1 FAILED
-+     rsc3	(heartbeat:apache):	FAILED node1 
- 
- Transition Summary:
-  * Restart rsc1	(Started node1)
-diff --git a/pengine/test10/simple4.summary b/pengine/test10/simple4.summary
-index c0966b6..fc81964 100644
---- a/pengine/test10/simple4.summary
-+++ b/pengine/test10/simple4.summary
-@@ -2,7 +2,7 @@
- Current cluster status:
- Online: [ node1 ]
- 
-- rsc1	(heartbeat:apache):	Started node1 FAILED
-+ rsc1	(heartbeat:apache):	FAILED node1 
- 
- Transition Summary:
-  * Stop    rsc1	(node1)
-diff --git a/pengine/test10/stonith-0.summary b/pengine/test10/stonith-0.summary
-index a91a06c..9330291 100644
---- a/pengine/test10/stonith-0.summary
-+++ b/pengine/test10/stonith-0.summary
-@@ -8,7 +8,7 @@ Online: [ c001n02 c001n04 c001n06 c001n07 c001n08 ]
-  Resource Group: group-1
-      ocf_192.168.100.181	(ocf::heartbeat:IPaddr):	Started [ c001n03 c001n05 ]
-      heartbeat_192.168.100.182	(heartbeat:IPaddr):	Started c001n03
--     ocf_192.168.100.183	(ocf::heartbeat:IPaddr):	Started FAILED [ c001n03 c001n05 ]
-+     ocf_192.168.100.183	(ocf::heartbeat:IPaddr):	FAILED [ c001n03 c001n05 ]
-  lsb_dummy	(lsb:/usr/lib/heartbeat/cts/LSBDummy):	Started c001n04
-  rsc_c001n03	(ocf::heartbeat:IPaddr):	Started c001n06
-  rsc_c001n02	(ocf::heartbeat:IPaddr):	Started c001n02
-diff --git a/pengine/test10/stop-failure-no-fencing.summary b/pengine/test10/stop-failure-no-fencing.summary
-index 3b6b40d..4fc1ed1 100644
---- a/pengine/test10/stop-failure-no-fencing.summary
-+++ b/pengine/test10/stop-failure-no-fencing.summary
-@@ -7,7 +7,7 @@ Online: [ pcmk-1 pcmk-2 ]
-  Clone Set: dlm-clone [dlm]
-      Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
-  Clone Set: clvm-clone [clvm]
--     clvm	(lsb:clvmd):	Started pcmk-3 (unmanaged) FAILED 
-+     clvm	(lsb:clvmd):	FAILED pcmk-3 (unmanaged) 
-      Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
-  ClusterIP	(ocf::heartbeat:IPaddr2):	Stopped 
- 
-@@ -23,7 +23,7 @@ Online: [ pcmk-1 pcmk-2 ]
-  Clone Set: dlm-clone [dlm]
-      Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
-  Clone Set: clvm-clone [clvm]
--     clvm	(lsb:clvmd):	Started pcmk-3 (unmanaged) FAILED 
-+     clvm	(lsb:clvmd):	FAILED pcmk-3 (unmanaged) 
-      Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
-  ClusterIP	(ocf::heartbeat:IPaddr2):	Stopped 
- 
-diff --git a/pengine/test10/stop-failure-no-quorum.summary b/pengine/test10/stop-failure-no-quorum.summary
-index 1cab287..49a0f54 100644
---- a/pengine/test10/stop-failure-no-quorum.summary
-+++ b/pengine/test10/stop-failure-no-quorum.summary
-@@ -8,8 +8,8 @@ Online: [ pcmk-1 ]
-  Clone Set: dlm-clone [dlm]
-      Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
-  Clone Set: clvm-clone [clvm]
--     clvm	(lsb:clvmd):	Started pcmk-2 FAILED 
--     clvm	(lsb:clvmd):	Started pcmk-3 (unmanaged) FAILED 
-+     clvm	(lsb:clvmd):	FAILED pcmk-2 
-+     clvm	(lsb:clvmd):	FAILED pcmk-3 (unmanaged) 
-      Stopped: [ pcmk-1 pcmk-3 pcmk-4 ]
-  ClusterIP	(ocf::heartbeat:IPaddr2):	Stopped 
-  Fencing	(stonith:fence_xvm):	Stopped 
-@@ -38,7 +38,7 @@ OFFLINE: [ pcmk-2 ]
-  Clone Set: dlm-clone [dlm]
-      Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
-  Clone Set: clvm-clone [clvm]
--     clvm	(lsb:clvmd):	Started pcmk-3 (unmanaged) FAILED 
-+     clvm	(lsb:clvmd):	FAILED pcmk-3 (unmanaged) 
-      Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
-  ClusterIP	(ocf::heartbeat:IPaddr2):	Stopped 
-  Fencing	(stonith:fence_xvm):	Stopped 
-diff --git a/pengine/test10/stop-failure-with-fencing.summary b/pengine/test10/stop-failure-with-fencing.summary
-index 06c517e..0473b80 100644
---- a/pengine/test10/stop-failure-with-fencing.summary
-+++ b/pengine/test10/stop-failure-with-fencing.summary
-@@ -8,7 +8,7 @@ Online: [ pcmk-1 ]
-  Clone Set: dlm-clone [dlm]
-      Stopped: [ pcmk-1 pcmk-2 pcmk-3 pcmk-4 ]
-  Clone Set: clvm-clone [clvm]
--     clvm	(lsb:clvmd):	Started pcmk-2 FAILED 
-+     clvm	(lsb:clvmd):	FAILED pcmk-2 
-      Stopped: [ pcmk-1 pcmk-3 pcmk-4 ]
-  ClusterIP	(ocf::heartbeat:IPaddr2):	Stopped 
-  Fencing	(stonith:fence_xvm):	Stopped 
-diff --git a/pengine/test10/stopped-monitor-01.summary b/pengine/test10/stopped-monitor-01.summary
-index e633ef1..43cc177 100644
---- a/pengine/test10/stopped-monitor-01.summary
-+++ b/pengine/test10/stopped-monitor-01.summary
-@@ -2,7 +2,7 @@
- Current cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(ocf::pacemaker:Dummy):	Started node1 FAILED
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED node1 
- 
- Transition Summary:
-  * Recover rsc1	(Started node1)
-diff --git a/pengine/test10/stopped-monitor-02.summary b/pengine/test10/stopped-monitor-02.summary
-index 03a9517..6d97bfb 100644
---- a/pengine/test10/stopped-monitor-02.summary
-+++ b/pengine/test10/stopped-monitor-02.summary
-@@ -2,7 +2,7 @@
- Current cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(ocf::pacemaker:Dummy):	Started FAILED [ node1 node2 ]
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED [ node1 node2 ]
- 
- Transition Summary:
-  * Recover rsc1	(Started node1)
-diff --git a/pengine/test10/stopped-monitor-04.summary b/pengine/test10/stopped-monitor-04.summary
-index 2c28752..f5fafaf 100644
---- a/pengine/test10/stopped-monitor-04.summary
-+++ b/pengine/test10/stopped-monitor-04.summary
-@@ -2,7 +2,7 @@
- Current cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(ocf::pacemaker:Dummy):	Started node1 (unmanaged) FAILED
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED node1 (unmanaged) 
- 
- Transition Summary:
- 
-@@ -11,5 +11,5 @@ Executing cluster transition:
- Revised cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(ocf::pacemaker:Dummy):	Started node1 (unmanaged) FAILED
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED node1 (unmanaged) 
- 
-diff --git a/pengine/test10/stopped-monitor-05.summary b/pengine/test10/stopped-monitor-05.summary
-index 2c28752..f5fafaf 100644
---- a/pengine/test10/stopped-monitor-05.summary
-+++ b/pengine/test10/stopped-monitor-05.summary
-@@ -2,7 +2,7 @@
- Current cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(ocf::pacemaker:Dummy):	Started node1 (unmanaged) FAILED
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED node1 (unmanaged) 
- 
- Transition Summary:
- 
-@@ -11,5 +11,5 @@ Executing cluster transition:
- Revised cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(ocf::pacemaker:Dummy):	Started node1 (unmanaged) FAILED
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED node1 (unmanaged) 
- 
-diff --git a/pengine/test10/stopped-monitor-06.summary b/pengine/test10/stopped-monitor-06.summary
-index 23dc001..1f6d440 100644
---- a/pengine/test10/stopped-monitor-06.summary
-+++ b/pengine/test10/stopped-monitor-06.summary
-@@ -2,7 +2,7 @@
- Current cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(ocf::pacemaker:Dummy):	Started (unmanaged) FAILED [ node1 node2 ]
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED (unmanaged) [ node1 node2 ]
- 
- Transition Summary:
- 
-@@ -11,5 +11,5 @@ Executing cluster transition:
- Revised cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(ocf::pacemaker:Dummy):	Started (unmanaged) FAILED [ node1 node2 ]
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED (unmanaged) [ node1 node2 ]
- 
-diff --git a/pengine/test10/stopped-monitor-07.summary b/pengine/test10/stopped-monitor-07.summary
-index 23dc001..1f6d440 100644
---- a/pengine/test10/stopped-monitor-07.summary
-+++ b/pengine/test10/stopped-monitor-07.summary
-@@ -2,7 +2,7 @@
- Current cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(ocf::pacemaker:Dummy):	Started (unmanaged) FAILED [ node1 node2 ]
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED (unmanaged) [ node1 node2 ]
- 
- Transition Summary:
- 
-@@ -11,5 +11,5 @@ Executing cluster transition:
- Revised cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(ocf::pacemaker:Dummy):	Started (unmanaged) FAILED [ node1 node2 ]
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED (unmanaged) [ node1 node2 ]
- 
-diff --git a/pengine/test10/stopped-monitor-10.summary b/pengine/test10/stopped-monitor-10.summary
-index 23dc001..1f6d440 100644
---- a/pengine/test10/stopped-monitor-10.summary
-+++ b/pengine/test10/stopped-monitor-10.summary
-@@ -2,7 +2,7 @@
- Current cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(ocf::pacemaker:Dummy):	Started (unmanaged) FAILED [ node1 node2 ]
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED (unmanaged) [ node1 node2 ]
- 
- Transition Summary:
- 
-@@ -11,5 +11,5 @@ Executing cluster transition:
- Revised cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(ocf::pacemaker:Dummy):	Started (unmanaged) FAILED [ node1 node2 ]
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED (unmanaged) [ node1 node2 ]
- 
-diff --git a/pengine/test10/stopped-monitor-12.summary b/pengine/test10/stopped-monitor-12.summary
-index 23dc001..1f6d440 100644
---- a/pengine/test10/stopped-monitor-12.summary
-+++ b/pengine/test10/stopped-monitor-12.summary
-@@ -2,7 +2,7 @@
- Current cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(ocf::pacemaker:Dummy):	Started (unmanaged) FAILED [ node1 node2 ]
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED (unmanaged) [ node1 node2 ]
- 
- Transition Summary:
- 
-@@ -11,5 +11,5 @@ Executing cluster transition:
- Revised cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(ocf::pacemaker:Dummy):	Started (unmanaged) FAILED [ node1 node2 ]
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED (unmanaged) [ node1 node2 ]
- 
-diff --git a/pengine/test10/stopped-monitor-21.summary b/pengine/test10/stopped-monitor-21.summary
-index 22ccf8d..d2d3852 100644
---- a/pengine/test10/stopped-monitor-21.summary
-+++ b/pengine/test10/stopped-monitor-21.summary
-@@ -2,7 +2,7 @@
- Current cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(ocf::pacemaker:Dummy):	Started node1 FAILED
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED node1 
- 
- Transition Summary:
-  * Stop    rsc1	(node1)
-diff --git a/pengine/test10/stopped-monitor-22.summary b/pengine/test10/stopped-monitor-22.summary
-index 489f730..84bf62f 100644
---- a/pengine/test10/stopped-monitor-22.summary
-+++ b/pengine/test10/stopped-monitor-22.summary
-@@ -2,7 +2,7 @@
- Current cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(ocf::pacemaker:Dummy):	Started FAILED [ node1 node2 ]
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED [ node1 node2 ]
- 
- Transition Summary:
-  * Stop    rsc1	(node1)
-diff --git a/pengine/test10/stopped-monitor-25.summary b/pengine/test10/stopped-monitor-25.summary
-index ed5fcf4..8473c69 100644
---- a/pengine/test10/stopped-monitor-25.summary
-+++ b/pengine/test10/stopped-monitor-25.summary
-@@ -2,7 +2,7 @@
- Current cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(ocf::pacemaker:Dummy):	Started (unmanaged) FAILED [ node1 node2 ]
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED (unmanaged) [ node1 node2 ]
- 
- Transition Summary:
- 
-@@ -13,5 +13,5 @@ Executing cluster transition:
- Revised cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(ocf::pacemaker:Dummy):	Started (unmanaged) FAILED [ node1 node2 ]
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED (unmanaged) [ node1 node2 ]
- 
-diff --git a/pengine/test10/stopped-monitor-27.summary b/pengine/test10/stopped-monitor-27.summary
-index ed5fcf4..8473c69 100644
---- a/pengine/test10/stopped-monitor-27.summary
-+++ b/pengine/test10/stopped-monitor-27.summary
-@@ -2,7 +2,7 @@
- Current cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(ocf::pacemaker:Dummy):	Started (unmanaged) FAILED [ node1 node2 ]
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED (unmanaged) [ node1 node2 ]
- 
- Transition Summary:
- 
-@@ -13,5 +13,5 @@ Executing cluster transition:
- Revised cluster status:
- Online: [ node1 node2 ]
- 
-- rsc1	(ocf::pacemaker:Dummy):	Started (unmanaged) FAILED [ node1 node2 ]
-+ rsc1	(ocf::pacemaker:Dummy):	FAILED (unmanaged) [ node1 node2 ]
- 
-diff --git a/pengine/test10/unmanaged-stop-1.summary b/pengine/test10/unmanaged-stop-1.summary
-index 7a0f680..ebde009 100644
---- a/pengine/test10/unmanaged-stop-1.summary
-+++ b/pengine/test10/unmanaged-stop-1.summary
-@@ -3,7 +3,7 @@ Current cluster status:
- Online: [ yingying.site ]
- 
-  rsc1	(ocf::pacemaker:Dummy):	Started yingying.site 
-- rsc2	(ocf::pacemaker:Dummy):	Started yingying.site (unmanaged) FAILED 
-+ rsc2	(ocf::pacemaker:Dummy):	FAILED yingying.site (unmanaged) 
- 
- Transition Summary:
-  * Stop    rsc1	(yingying.site - blocked)
-@@ -14,5 +14,5 @@ Revised cluster status:
- Online: [ yingying.site ]
- 
-  rsc1	(ocf::pacemaker:Dummy):	Started yingying.site 
-- rsc2	(ocf::pacemaker:Dummy):	Started yingying.site (unmanaged) FAILED 
-+ rsc2	(ocf::pacemaker:Dummy):	FAILED yingying.site (unmanaged) 
- 
-diff --git a/pengine/test10/unmanaged-stop-2.summary b/pengine/test10/unmanaged-stop-2.summary
-index 7a0f680..ebde009 100644
---- a/pengine/test10/unmanaged-stop-2.summary
-+++ b/pengine/test10/unmanaged-stop-2.summary
-@@ -3,7 +3,7 @@ Current cluster status:
- Online: [ yingying.site ]
- 
-  rsc1	(ocf::pacemaker:Dummy):	Started yingying.site 
-- rsc2	(ocf::pacemaker:Dummy):	Started yingying.site (unmanaged) FAILED 
-+ rsc2	(ocf::pacemaker:Dummy):	FAILED yingying.site (unmanaged) 
- 
- Transition Summary:
-  * Stop    rsc1	(yingying.site - blocked)
-@@ -14,5 +14,5 @@ Revised cluster status:
- Online: [ yingying.site ]
- 
-  rsc1	(ocf::pacemaker:Dummy):	Started yingying.site 
-- rsc2	(ocf::pacemaker:Dummy):	Started yingying.site (unmanaged) FAILED 
-+ rsc2	(ocf::pacemaker:Dummy):	FAILED yingying.site (unmanaged) 
- 
-diff --git a/pengine/test10/unmanaged-stop-3.summary b/pengine/test10/unmanaged-stop-3.summary
-index 9edcfd5..b37c76e 100644
---- a/pengine/test10/unmanaged-stop-3.summary
-+++ b/pengine/test10/unmanaged-stop-3.summary
-@@ -4,7 +4,7 @@ Online: [ yingying.site ]
- 
-  Resource Group: group1
-      rsc1	(ocf::pacemaker:Dummy):	Started yingying.site 
--     rsc2	(ocf::pacemaker:Dummy):	Started yingying.site (unmanaged) FAILED 
-+     rsc2	(ocf::pacemaker:Dummy):	FAILED yingying.site (unmanaged) 
- 
- Transition Summary:
-  * Stop    rsc1	(yingying.site - blocked)
-@@ -17,5 +17,5 @@ Online: [ yingying.site ]
- 
-  Resource Group: group1
-      rsc1	(ocf::pacemaker:Dummy):	Started yingying.site 
--     rsc2	(ocf::pacemaker:Dummy):	Started yingying.site (unmanaged) FAILED 
-+     rsc2	(ocf::pacemaker:Dummy):	FAILED yingying.site (unmanaged) 
- 
-diff --git a/pengine/test10/unmanaged-stop-4.summary b/pengine/test10/unmanaged-stop-4.summary
-index 96996c3..dae6cf3 100644
---- a/pengine/test10/unmanaged-stop-4.summary
-+++ b/pengine/test10/unmanaged-stop-4.summary
-@@ -4,7 +4,7 @@ Online: [ yingying.site ]
- 
-  Resource Group: group1
-      rsc1	(ocf::pacemaker:Dummy):	Started yingying.site 
--     rsc2	(ocf::pacemaker:Dummy):	Started yingying.site (unmanaged) FAILED 
-+     rsc2	(ocf::pacemaker:Dummy):	FAILED yingying.site (unmanaged) 
-      rsc3	(ocf::heartbeat:Dummy):	Stopped 
- 
- Transition Summary:
-@@ -18,6 +18,6 @@ Online: [ yingying.site ]
- 
-  Resource Group: group1
-      rsc1	(ocf::pacemaker:Dummy):	Started yingying.site 
--     rsc2	(ocf::pacemaker:Dummy):	Started yingying.site (unmanaged) FAILED 
-+     rsc2	(ocf::pacemaker:Dummy):	FAILED yingying.site (unmanaged) 
-      rsc3	(ocf::heartbeat:Dummy):	Stopped 
- 
-diff --git a/pengine/test10/whitebox-fail1.summary b/pengine/test10/whitebox-fail1.summary
-index 8bf6d52..02d0f8e 100644
---- a/pengine/test10/whitebox-fail1.summary
-+++ b/pengine/test10/whitebox-fail1.summary
-@@ -3,13 +3,13 @@ Current cluster status:
- Online: [ 18node1 18node2 18node3 lxc2:container2 ]
- OFFLINE: [ lxc1:container1 ]
- 
-- container1	(ocf::heartbeat:VirtualDomain):	Started 18node2 FAILED
-+ container1	(ocf::heartbeat:VirtualDomain):	FAILED 18node2 
-  container2	(ocf::heartbeat:VirtualDomain):	Started 18node2
-  shoot1	(stonith:fence_xvm):	Started 18node3
-  Clone Set: M-clone [M]
-      Started: [ 18node1 18node2 18node3 lxc2 ]
-  A	(ocf::pacemaker:Dummy):	Started 18node1
-- B	(ocf::pacemaker:Dummy):	Started lxc1 FAILED
-+ B	(ocf::pacemaker:Dummy):	FAILED lxc1 
-  C	(ocf::pacemaker:Dummy):	Started lxc2
-  D	(ocf::pacemaker:Dummy):	Started 18node1
- 
-diff --git a/pengine/test10/whitebox-fail2.summary b/pengine/test10/whitebox-fail2.summary
-index 81407d3..0e53524 100644
---- a/pengine/test10/whitebox-fail2.summary
-+++ b/pengine/test10/whitebox-fail2.summary
-@@ -3,13 +3,13 @@ Current cluster status:
- Online: [ 18node1 18node2 18node3 lxc2:container2 ]
- OFFLINE: [ lxc1:container1 ]
- 
-- container1	(ocf::heartbeat:VirtualDomain):	Started 18node2 FAILED
-+ container1	(ocf::heartbeat:VirtualDomain):	FAILED 18node2 
-  container2	(ocf::heartbeat:VirtualDomain):	Started 18node2
-  shoot1	(stonith:fence_xvm):	Started 18node3
-  Clone Set: M-clone [M]
-      Started: [ 18node1 18node2 18node3 lxc2 ]
-  A	(ocf::pacemaker:Dummy):	Started 18node1
-- B	(ocf::pacemaker:Dummy):	Started lxc1 FAILED
-+ B	(ocf::pacemaker:Dummy):	FAILED lxc1 
-  C	(ocf::pacemaker:Dummy):	Started lxc2
-  D	(ocf::pacemaker:Dummy):	Started 18node1
- 
diff --git a/SOURCES/pacemaker-test_pe_do_not_allow_colocation_with_blocked_clone_instances.patch b/SOURCES/pacemaker-test_pe_do_not_allow_colocation_with_blocked_clone_instances.patch
deleted file mode 100644
index f32beff..0000000
--- a/SOURCES/pacemaker-test_pe_do_not_allow_colocation_with_blocked_clone_instances.patch
+++ /dev/null
@@ -1,841 +0,0 @@
-commit d226cf1f6b3f46863a6cf07dab9a11fbdd89d6f3
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Fri Aug 2 13:44:34 2013 +1000
-
-    Test: PE: Do not allow colocation with blocked clone instances
-
-diff --git a/pengine/regression.sh b/pengine/regression.sh
-index 6ab0b8a..aa7d43d 100755
---- a/pengine/regression.sh
-+++ b/pengine/regression.sh
-@@ -316,6 +316,7 @@ do_test bug-lf-2574 "Avoid clone shuffle"
- do_test bug-lf-2581 "Avoid group restart due to unrelated clone (re)start"
- do_test bug-cl-5168 "Don't shuffle clones"
- do_test bug-cl-5170 "Prevent clone from starting with on-fail=block"
-+do_test clone-fail-block-colocation "Move colocated group when failed clone has on-fail=block"
- 
- echo ""
- do_test master-0 "Stopped -> Slave"
-diff --git a/pengine/test10/bug-cl-5170.dot b/pengine/test10/bug-cl-5170.dot
-index 93a63d5..ca63383 100644
---- a/pengine/test10/bug-cl-5170.dot
-+++ b/pengine/test10/bug-cl-5170.dot
-@@ -1,32 +1,15 @@
- digraph "g" {
- "all_stopped" [ style=bold color="green" fontcolor="orange"]
--"ip_mgmt_monitor_10000 TCS-2" [ style=dashed color="red" fontcolor="black"]
--"ip_mgmt_start_0 TCS-2" -> "ip_mgmt_monitor_10000 TCS-2" [ style = dashed]
--"ip_mgmt_start_0 TCS-2" -> "svc_running_0" [ style = dashed]
--"ip_mgmt_start_0 TCS-2" [ style=dashed color="red" fontcolor="black"]
- "ip_mgmt_stop_0 TCS-2" -> "all_stopped" [ style = bold]
--"ip_mgmt_stop_0 TCS-2" -> "ip_mgmt_start_0 TCS-2" [ style = dashed]
- "ip_mgmt_stop_0 TCS-2" -> "ip_trf_stop_0 TCS-2" [ style = bold]
- "ip_mgmt_stop_0 TCS-2" -> "svc_stopped_0" [ style = bold]
- "ip_mgmt_stop_0 TCS-2" [ style=bold color="green" fontcolor="black"]
--"ip_trf_monitor_10000 TCS-2" [ style=dashed color="red" fontcolor="black"]
--"ip_trf_start_0 TCS-2" -> "ip_mgmt_start_0 TCS-2" [ style = dashed]
--"ip_trf_start_0 TCS-2" -> "ip_trf_monitor_10000 TCS-2" [ style = dashed]
--"ip_trf_start_0 TCS-2" -> "svc_running_0" [ style = dashed]
--"ip_trf_start_0 TCS-2" [ style=dashed color="red" fontcolor="black"]
- "ip_trf_stop_0 TCS-2" -> "all_stopped" [ style = bold]
--"ip_trf_stop_0 TCS-2" -> "ip_trf_start_0 TCS-2" [ style = dashed]
- "ip_trf_stop_0 TCS-2" -> "svc_stopped_0" [ style = bold]
- "ip_trf_stop_0 TCS-2" [ style=bold color="green" fontcolor="black"]
--"svc_running_0" [ style=dashed color="red" fontcolor="orange"]
--"svc_start_0" -> "ip_mgmt_start_0 TCS-2" [ style = dashed]
--"svc_start_0" -> "ip_trf_start_0 TCS-2" [ style = dashed]
--"svc_start_0" -> "svc_running_0" [ style = dashed]
--"svc_start_0" [ style=dashed color="red" fontcolor="orange"]
- "svc_stop_0" -> "ip_mgmt_stop_0 TCS-2" [ style = bold]
- "svc_stop_0" -> "ip_trf_stop_0 TCS-2" [ style = bold]
- "svc_stop_0" -> "svc_stopped_0" [ style = bold]
- "svc_stop_0" [ style=bold color="green" fontcolor="orange"]
--"svc_stopped_0" -> "svc_start_0" [ style = dashed]
- "svc_stopped_0" [ style=bold color="green" fontcolor="orange"]
- }
-diff --git a/pengine/test10/bug-cl-5170.exp b/pengine/test10/bug-cl-5170.exp
-index cef2020..39c8469 100644
---- a/pengine/test10/bug-cl-5170.exp
-+++ b/pengine/test10/bug-cl-5170.exp
-@@ -1,7 +1,7 @@
- <transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-   <synapse id="0">
-     <action_set>
--      <pseudo_event id="14" operation="stopped" operation_key="svc_stopped_0">
-+      <pseudo_event id="12" operation="stopped" operation_key="svc_stopped_0">
-         <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-@@ -10,16 +10,16 @@
-         <rsc_op id="7" operation="stop" operation_key="ip_trf_stop_0" on_node="TCS-2" on_node_uuid="TCS-2"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="9" operation="stop" operation_key="ip_mgmt_stop_0" on_node="TCS-2" on_node_uuid="TCS-2"/>
-+        <rsc_op id="8" operation="stop" operation_key="ip_mgmt_stop_0" on_node="TCS-2" on_node_uuid="TCS-2"/>
-       </trigger>
-       <trigger>
--        <pseudo_event id="13" operation="stop" operation_key="svc_stop_0"/>
-+        <pseudo_event id="11" operation="stop" operation_key="svc_stop_0"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="1">
-     <action_set>
--      <pseudo_event id="13" operation="stop" operation_key="svc_stop_0">
-+      <pseudo_event id="11" operation="stop" operation_key="svc_stop_0">
-         <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-       </pseudo_event>
-     </action_set>
-@@ -34,23 +34,23 @@
-     </action_set>
-     <inputs>
-       <trigger>
--        <rsc_op id="9" operation="stop" operation_key="ip_mgmt_stop_0" on_node="TCS-2" on_node_uuid="TCS-2"/>
-+        <rsc_op id="8" operation="stop" operation_key="ip_mgmt_stop_0" on_node="TCS-2" on_node_uuid="TCS-2"/>
-       </trigger>
-       <trigger>
--        <pseudo_event id="13" operation="stop" operation_key="svc_stop_0"/>
-+        <pseudo_event id="11" operation="stop" operation_key="svc_stop_0"/>
-       </trigger>
-     </inputs>
-   </synapse>
-   <synapse id="3">
-     <action_set>
--      <rsc_op id="9" operation="stop" operation_key="ip_mgmt_stop_0" on_node="TCS-2" on_node_uuid="TCS-2">
-+      <rsc_op id="8" operation="stop" operation_key="ip_mgmt_stop_0" on_node="TCS-2" on_node_uuid="TCS-2">
-         <primitive id="ip_mgmt" class="ocf" provider="heartbeat" type="IPaddr2"/>
-         <attributes CRM_meta_timeout="20000" broadcast="172.20.1.51" crm_feature_set="3.0.7" iflabel="ha" ip="172.20.1.51" nic="bond0"/>
-       </rsc_op>
-     </action_set>
-     <inputs>
-       <trigger>
--        <pseudo_event id="13" operation="stop" operation_key="svc_stop_0"/>
-+        <pseudo_event id="11" operation="stop" operation_key="svc_stop_0"/>
-       </trigger>
-     </inputs>
-   </synapse>
-@@ -65,7 +65,7 @@
-         <rsc_op id="7" operation="stop" operation_key="ip_trf_stop_0" on_node="TCS-2" on_node_uuid="TCS-2"/>
-       </trigger>
-       <trigger>
--        <rsc_op id="9" operation="stop" operation_key="ip_mgmt_stop_0" on_node="TCS-2" on_node_uuid="TCS-2"/>
-+        <rsc_op id="8" operation="stop" operation_key="ip_mgmt_stop_0" on_node="TCS-2" on_node_uuid="TCS-2"/>
-       </trigger>
-     </inputs>
-   </synapse>
-diff --git a/pengine/test10/bug-cl-5170.scores b/pengine/test10/bug-cl-5170.scores
-index 26daf48..ed9815a 100644
---- a/pengine/test10/bug-cl-5170.scores
-+++ b/pengine/test10/bug-cl-5170.scores
-@@ -16,6 +16,6 @@ native_color: d_tomcat_nms:0 allocation score on TCS-2: INFINITY
- native_color: d_tomcat_nms:1 allocation score on TCS-1: -INFINITY
- native_color: d_tomcat_nms:1 allocation score on TCS-2: -INFINITY
- native_color: ip_mgmt allocation score on TCS-1: -INFINITY
--native_color: ip_mgmt allocation score on TCS-2: 0
-+native_color: ip_mgmt allocation score on TCS-2: -INFINITY
- native_color: ip_trf allocation score on TCS-1: -INFINITY
--native_color: ip_trf allocation score on TCS-2: 0
-+native_color: ip_trf allocation score on TCS-2: -INFINITY
-diff --git a/pengine/test10/bug-cl-5170.summary b/pengine/test10/bug-cl-5170.summary
-index 723be33..3b4bcb9 100644
---- a/pengine/test10/bug-cl-5170.summary
-+++ b/pengine/test10/bug-cl-5170.summary
-@@ -11,8 +11,8 @@ Online: [ TCS-2 ]
-      Stopped: [ TCS-1 ]
- 
- Transition Summary:
-- * Stop    ip_trf	(Started TCS-2)
-- * Stop    ip_mgmt	(Started TCS-2)
-+ * Stop    ip_trf	(TCS-2)
-+ * Stop    ip_mgmt	(TCS-2)
- 
- Executing cluster transition:
-  * Pseudo action:   svc_stop_0
-diff --git a/pengine/test10/clone-fail-block-colocation.dot b/pengine/test10/clone-fail-block-colocation.dot
-new file mode 100644
-index 0000000..6356bd2
---- /dev/null
-+++ b/pengine/test10/clone-fail-block-colocation.dot
-@@ -0,0 +1,56 @@
-+digraph "g" {
-+"all_stopped" [ style=bold color="green" fontcolor="orange"]
-+"d_bird_subnet_state_monitor_10000 DEM-2" [ style=bold color="green" fontcolor="black"]
-+"d_bird_subnet_state_start_0 DEM-2" -> "d_bird_subnet_state_monitor_10000 DEM-2" [ style = bold]
-+"d_bird_subnet_state_start_0 DEM-2" -> "ip_mgmt_start_0 DEM-2" [ style = bold]
-+"d_bird_subnet_state_start_0 DEM-2" -> "svc_running_0" [ style = bold]
-+"d_bird_subnet_state_start_0 DEM-2" [ style=bold color="green" fontcolor="black"]
-+"d_bird_subnet_state_stop_0 DEM-1" -> "all_stopped" [ style = bold]
-+"d_bird_subnet_state_stop_0 DEM-1" -> "d_bird_subnet_state_start_0 DEM-2" [ style = bold]
-+"d_bird_subnet_state_stop_0 DEM-1" -> "ipv6_dem_tas_dns_stop_0 DEM-1" [ style = bold]
-+"d_bird_subnet_state_stop_0 DEM-1" -> "svc_stopped_0" [ style = bold]
-+"d_bird_subnet_state_stop_0 DEM-1" [ style=bold color="green" fontcolor="black"]
-+"ip_mgmt_monitor_10000 DEM-2" [ style=bold color="green" fontcolor="black"]
-+"ip_mgmt_start_0 DEM-2" -> "ip_mgmt_monitor_10000 DEM-2" [ style = bold]
-+"ip_mgmt_start_0 DEM-2" -> "ip_trf_tas_start_0 DEM-2" [ style = bold]
-+"ip_mgmt_start_0 DEM-2" -> "svc_running_0" [ style = bold]
-+"ip_mgmt_start_0 DEM-2" [ style=bold color="green" fontcolor="black"]
-+"ip_mgmt_stop_0 DEM-1" -> "all_stopped" [ style = bold]
-+"ip_mgmt_stop_0 DEM-1" -> "d_bird_subnet_state_stop_0 DEM-1" [ style = bold]
-+"ip_mgmt_stop_0 DEM-1" -> "ip_mgmt_start_0 DEM-2" [ style = bold]
-+"ip_mgmt_stop_0 DEM-1" -> "svc_stopped_0" [ style = bold]
-+"ip_mgmt_stop_0 DEM-1" [ style=bold color="green" fontcolor="black"]
-+"ip_trf_tas_monitor_10000 DEM-2" [ style=bold color="green" fontcolor="black"]
-+"ip_trf_tas_start_0 DEM-2" -> "ip_trf_tas_monitor_10000 DEM-2" [ style = bold]
-+"ip_trf_tas_start_0 DEM-2" -> "svc_running_0" [ style = bold]
-+"ip_trf_tas_start_0 DEM-2" [ style=bold color="green" fontcolor="black"]
-+"ip_trf_tas_stop_0 DEM-1" -> "all_stopped" [ style = bold]
-+"ip_trf_tas_stop_0 DEM-1" -> "ip_mgmt_stop_0 DEM-1" [ style = bold]
-+"ip_trf_tas_stop_0 DEM-1" -> "ip_trf_tas_start_0 DEM-2" [ style = bold]
-+"ip_trf_tas_stop_0 DEM-1" -> "svc_stopped_0" [ style = bold]
-+"ip_trf_tas_stop_0 DEM-1" [ style=bold color="green" fontcolor="black"]
-+"ipv6_dem_tas_dns_monitor_10000 DEM-2" [ style=bold color="green" fontcolor="black"]
-+"ipv6_dem_tas_dns_start_0 DEM-2" -> "d_bird_subnet_state_start_0 DEM-2" [ style = bold]
-+"ipv6_dem_tas_dns_start_0 DEM-2" -> "ipv6_dem_tas_dns_monitor_10000 DEM-2" [ style = bold]
-+"ipv6_dem_tas_dns_start_0 DEM-2" -> "svc_running_0" [ style = bold]
-+"ipv6_dem_tas_dns_start_0 DEM-2" [ style=bold color="green" fontcolor="black"]
-+"ipv6_dem_tas_dns_stop_0 DEM-1" -> "all_stopped" [ style = bold]
-+"ipv6_dem_tas_dns_stop_0 DEM-1" -> "ipv6_dem_tas_dns_start_0 DEM-2" [ style = bold]
-+"ipv6_dem_tas_dns_stop_0 DEM-1" -> "svc_stopped_0" [ style = bold]
-+"ipv6_dem_tas_dns_stop_0 DEM-1" [ style=bold color="green" fontcolor="black"]
-+"svc_running_0" [ style=bold color="green" fontcolor="orange"]
-+"svc_start_0" -> "d_bird_subnet_state_start_0 DEM-2" [ style = bold]
-+"svc_start_0" -> "ip_mgmt_start_0 DEM-2" [ style = bold]
-+"svc_start_0" -> "ip_trf_tas_start_0 DEM-2" [ style = bold]
-+"svc_start_0" -> "ipv6_dem_tas_dns_start_0 DEM-2" [ style = bold]
-+"svc_start_0" -> "svc_running_0" [ style = bold]
-+"svc_start_0" [ style=bold color="green" fontcolor="orange"]
-+"svc_stop_0" -> "d_bird_subnet_state_stop_0 DEM-1" [ style = bold]
-+"svc_stop_0" -> "ip_mgmt_stop_0 DEM-1" [ style = bold]
-+"svc_stop_0" -> "ip_trf_tas_stop_0 DEM-1" [ style = bold]
-+"svc_stop_0" -> "ipv6_dem_tas_dns_stop_0 DEM-1" [ style = bold]
-+"svc_stop_0" -> "svc_stopped_0" [ style = bold]
-+"svc_stop_0" [ style=bold color="green" fontcolor="orange"]
-+"svc_stopped_0" -> "svc_start_0" [ style = bold]
-+"svc_stopped_0" [ style=bold color="green" fontcolor="orange"]
-+}
-diff --git a/pengine/test10/clone-fail-block-colocation.exp b/pengine/test10/clone-fail-block-colocation.exp
-new file mode 100644
-index 0000000..f88139e
---- /dev/null
-+++ b/pengine/test10/clone-fail-block-colocation.exp
-@@ -0,0 +1,277 @@
-+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
-+  <synapse id="0">
-+    <action_set>
-+      <pseudo_event id="30" operation="stopped" operation_key="svc_stopped_0">
-+        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="15" operation="stop" operation_key="ipv6_dem_tas_dns_stop_0" on_node="DEM-1" on_node_uuid="DEM-1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="18" operation="stop" operation_key="d_bird_subnet_state_stop_0" on_node="DEM-1" on_node_uuid="DEM-1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="21" operation="stop" operation_key="ip_mgmt_stop_0" on_node="DEM-1" on_node_uuid="DEM-1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="24" operation="stop" operation_key="ip_trf_tas_stop_0" on_node="DEM-1" on_node_uuid="DEM-1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="29" operation="stop" operation_key="svc_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="1">
-+    <action_set>
-+      <pseudo_event id="29" operation="stop" operation_key="svc_stop_0">
-+        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+      </pseudo_event>
-+    </action_set>
-+    <inputs/>
-+  </synapse>
-+  <synapse id="2">
-+    <action_set>
-+      <pseudo_event id="28" operation="running" operation_key="svc_running_0">
-+        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="16" operation="start" operation_key="ipv6_dem_tas_dns_start_0" on_node="DEM-2" on_node_uuid="DEM-2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="19" operation="start" operation_key="d_bird_subnet_state_start_0" on_node="DEM-2" on_node_uuid="DEM-2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="22" operation="start" operation_key="ip_mgmt_start_0" on_node="DEM-2" on_node_uuid="DEM-2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="25" operation="start" operation_key="ip_trf_tas_start_0" on_node="DEM-2" on_node_uuid="DEM-2"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="27" operation="start" operation_key="svc_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="3">
-+    <action_set>
-+      <pseudo_event id="27" operation="start" operation_key="svc_start_0">
-+        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="30" operation="stopped" operation_key="svc_stopped_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="4">
-+    <action_set>
-+      <rsc_op id="17" operation="monitor" operation_key="ipv6_dem_tas_dns_monitor_10000" on_node="DEM-2" on_node_uuid="DEM-2">
-+        <primitive id="ipv6_dem_tas_dns" class="ocf" provider="heartbeat" type="IPv6addr"/>
-+        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" cidr_netmask="112" crm_feature_set="3.0.7" ipv6addr="fd15:a2c:8660:c828:172:16:10:241" nic="bond0.3010"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="16" operation="start" operation_key="ipv6_dem_tas_dns_start_0" on_node="DEM-2" on_node_uuid="DEM-2"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="5">
-+    <action_set>
-+      <rsc_op id="16" operation="start" operation_key="ipv6_dem_tas_dns_start_0" on_node="DEM-2" on_node_uuid="DEM-2">
-+        <primitive id="ipv6_dem_tas_dns" class="ocf" provider="heartbeat" type="IPv6addr"/>
-+        <attributes CRM_meta_timeout="20000" cidr_netmask="112" crm_feature_set="3.0.7" ipv6addr="fd15:a2c:8660:c828:172:16:10:241" nic="bond0.3010"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="15" operation="stop" operation_key="ipv6_dem_tas_dns_stop_0" on_node="DEM-1" on_node_uuid="DEM-1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="27" operation="start" operation_key="svc_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="6">
-+    <action_set>
-+      <rsc_op id="15" operation="stop" operation_key="ipv6_dem_tas_dns_stop_0" on_node="DEM-1" on_node_uuid="DEM-1">
-+        <primitive id="ipv6_dem_tas_dns" class="ocf" provider="heartbeat" type="IPv6addr"/>
-+        <attributes CRM_meta_timeout="20000" cidr_netmask="112" crm_feature_set="3.0.7" ipv6addr="fd15:a2c:8660:c828:172:16:10:241" nic="bond0.3010"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="18" operation="stop" operation_key="d_bird_subnet_state_stop_0" on_node="DEM-1" on_node_uuid="DEM-1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="29" operation="stop" operation_key="svc_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="7">
-+    <action_set>
-+      <rsc_op id="20" operation="monitor" operation_key="d_bird_subnet_state_monitor_10000" on_node="DEM-2" on_node_uuid="DEM-2">
-+        <primitive id="d_bird_subnet_state" class="lsb" type="bird_subnet_state"/>
-+        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="19" operation="start" operation_key="d_bird_subnet_state_start_0" on_node="DEM-2" on_node_uuid="DEM-2"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="8">
-+    <action_set>
-+      <rsc_op id="19" operation="start" operation_key="d_bird_subnet_state_start_0" on_node="DEM-2" on_node_uuid="DEM-2">
-+        <primitive id="d_bird_subnet_state" class="lsb" type="bird_subnet_state"/>
-+        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="16" operation="start" operation_key="ipv6_dem_tas_dns_start_0" on_node="DEM-2" on_node_uuid="DEM-2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="18" operation="stop" operation_key="d_bird_subnet_state_stop_0" on_node="DEM-1" on_node_uuid="DEM-1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="27" operation="start" operation_key="svc_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="9">
-+    <action_set>
-+      <rsc_op id="18" operation="stop" operation_key="d_bird_subnet_state_stop_0" on_node="DEM-1" on_node_uuid="DEM-1">
-+        <primitive id="d_bird_subnet_state" class="lsb" type="bird_subnet_state"/>
-+        <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.7"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="21" operation="stop" operation_key="ip_mgmt_stop_0" on_node="DEM-1" on_node_uuid="DEM-1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="29" operation="stop" operation_key="svc_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="10">
-+    <action_set>
-+      <rsc_op id="23" operation="monitor" operation_key="ip_mgmt_monitor_10000" on_node="DEM-2" on_node_uuid="DEM-2">
-+        <primitive id="ip_mgmt" class="ocf" provider="heartbeat" type="IPaddr2"/>
-+        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" broadcast="172.20.1.241" crm_feature_set="3.0.7" iflabel="ha" ip="172.20.1.241" nic="bond0"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="22" operation="start" operation_key="ip_mgmt_start_0" on_node="DEM-2" on_node_uuid="DEM-2"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="11">
-+    <action_set>
-+      <rsc_op id="22" operation="start" operation_key="ip_mgmt_start_0" on_node="DEM-2" on_node_uuid="DEM-2">
-+        <primitive id="ip_mgmt" class="ocf" provider="heartbeat" type="IPaddr2"/>
-+        <attributes CRM_meta_timeout="20000" broadcast="172.20.1.241" crm_feature_set="3.0.7" iflabel="ha" ip="172.20.1.241" nic="bond0"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="19" operation="start" operation_key="d_bird_subnet_state_start_0" on_node="DEM-2" on_node_uuid="DEM-2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="21" operation="stop" operation_key="ip_mgmt_stop_0" on_node="DEM-1" on_node_uuid="DEM-1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="27" operation="start" operation_key="svc_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="12">
-+    <action_set>
-+      <rsc_op id="21" operation="stop" operation_key="ip_mgmt_stop_0" on_node="DEM-1" on_node_uuid="DEM-1">
-+        <primitive id="ip_mgmt" class="ocf" provider="heartbeat" type="IPaddr2"/>
-+        <attributes CRM_meta_timeout="20000" broadcast="172.20.1.241" crm_feature_set="3.0.7" iflabel="ha" ip="172.20.1.241" nic="bond0"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="24" operation="stop" operation_key="ip_trf_tas_stop_0" on_node="DEM-1" on_node_uuid="DEM-1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="29" operation="stop" operation_key="svc_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="13">
-+    <action_set>
-+      <rsc_op id="26" operation="monitor" operation_key="ip_trf_tas_monitor_10000" on_node="DEM-2" on_node_uuid="DEM-2">
-+        <primitive id="ip_trf_tas" class="ocf" provider="heartbeat" type="IPaddr2"/>
-+        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" broadcast="172.16.10.241" crm_feature_set="3.0.7" iflabel="ha" ip="172.16.10.241" nic="bond0.3010"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="25" operation="start" operation_key="ip_trf_tas_start_0" on_node="DEM-2" on_node_uuid="DEM-2"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="14">
-+    <action_set>
-+      <rsc_op id="25" operation="start" operation_key="ip_trf_tas_start_0" on_node="DEM-2" on_node_uuid="DEM-2">
-+        <primitive id="ip_trf_tas" class="ocf" provider="heartbeat" type="IPaddr2"/>
-+        <attributes CRM_meta_timeout="20000" broadcast="172.16.10.241" crm_feature_set="3.0.7" iflabel="ha" ip="172.16.10.241" nic="bond0.3010"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="22" operation="start" operation_key="ip_mgmt_start_0" on_node="DEM-2" on_node_uuid="DEM-2"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="24" operation="stop" operation_key="ip_trf_tas_stop_0" on_node="DEM-1" on_node_uuid="DEM-1"/>
-+      </trigger>
-+      <trigger>
-+        <pseudo_event id="27" operation="start" operation_key="svc_start_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="15">
-+    <action_set>
-+      <rsc_op id="24" operation="stop" operation_key="ip_trf_tas_stop_0" on_node="DEM-1" on_node_uuid="DEM-1">
-+        <primitive id="ip_trf_tas" class="ocf" provider="heartbeat" type="IPaddr2"/>
-+        <attributes CRM_meta_timeout="20000" broadcast="172.16.10.241" crm_feature_set="3.0.7" iflabel="ha" ip="172.16.10.241" nic="bond0.3010"/>
-+      </rsc_op>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <pseudo_event id="29" operation="stop" operation_key="svc_stop_0"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+  <synapse id="16">
-+    <action_set>
-+      <pseudo_event id="11" operation="all_stopped" operation_key="all_stopped">
-+        <attributes crm_feature_set="3.0.7"/>
-+      </pseudo_event>
-+    </action_set>
-+    <inputs>
-+      <trigger>
-+        <rsc_op id="15" operation="stop" operation_key="ipv6_dem_tas_dns_stop_0" on_node="DEM-1" on_node_uuid="DEM-1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="18" operation="stop" operation_key="d_bird_subnet_state_stop_0" on_node="DEM-1" on_node_uuid="DEM-1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="21" operation="stop" operation_key="ip_mgmt_stop_0" on_node="DEM-1" on_node_uuid="DEM-1"/>
-+      </trigger>
-+      <trigger>
-+        <rsc_op id="24" operation="stop" operation_key="ip_trf_tas_stop_0" on_node="DEM-1" on_node_uuid="DEM-1"/>
-+      </trigger>
-+    </inputs>
-+  </synapse>
-+</transition_graph>
-diff --git a/pengine/test10/clone-fail-block-colocation.scores b/pengine/test10/clone-fail-block-colocation.scores
-new file mode 100644
-index 0000000..9443744
---- /dev/null
-+++ b/pengine/test10/clone-fail-block-colocation.scores
-@@ -0,0 +1,49 @@
-+Allocation scores:
-+clone_color: cl_bird allocation score on DEM-1: 0
-+clone_color: cl_bird allocation score on DEM-2: 0
-+clone_color: cl_bird6 allocation score on DEM-1: 0
-+clone_color: cl_bird6 allocation score on DEM-2: 0
-+clone_color: cl_tomcat_nms allocation score on DEM-1: 0
-+clone_color: cl_tomcat_nms allocation score on DEM-2: 0
-+clone_color: d_bird6:0 allocation score on DEM-1: INFINITY
-+clone_color: d_bird6:0 allocation score on DEM-2: 0
-+clone_color: d_bird6:1 allocation score on DEM-1: 0
-+clone_color: d_bird6:1 allocation score on DEM-2: 1
-+clone_color: d_bird:0 allocation score on DEM-1: 1
-+clone_color: d_bird:0 allocation score on DEM-2: 0
-+clone_color: d_bird:1 allocation score on DEM-1: 0
-+clone_color: d_bird:1 allocation score on DEM-2: 1
-+clone_color: d_tomcat_nms:0 allocation score on DEM-1: 1
-+clone_color: d_tomcat_nms:0 allocation score on DEM-2: 0
-+clone_color: d_tomcat_nms:1 allocation score on DEM-1: 0
-+clone_color: d_tomcat_nms:1 allocation score on DEM-2: 1
-+group_color: d_bird_subnet_state allocation score on DEM-1: 0
-+group_color: d_bird_subnet_state allocation score on DEM-2: 0
-+group_color: ip_mgmt allocation score on DEM-1: 0
-+group_color: ip_mgmt allocation score on DEM-2: 0
-+group_color: ip_trf_tas allocation score on DEM-1: 0
-+group_color: ip_trf_tas allocation score on DEM-2: 0
-+group_color: ipv6_dem_tas_dns allocation score on DEM-1: 0
-+group_color: ipv6_dem_tas_dns allocation score on DEM-2: 0
-+group_color: svc allocation score on DEM-1: 0
-+group_color: svc allocation score on DEM-2: 0
-+native_color: d_bird6:0 allocation score on DEM-1: INFINITY
-+native_color: d_bird6:0 allocation score on DEM-2: -INFINITY
-+native_color: d_bird6:1 allocation score on DEM-1: 0
-+native_color: d_bird6:1 allocation score on DEM-2: 1
-+native_color: d_bird:0 allocation score on DEM-1: 1
-+native_color: d_bird:0 allocation score on DEM-2: 0
-+native_color: d_bird:1 allocation score on DEM-1: -INFINITY
-+native_color: d_bird:1 allocation score on DEM-2: 1
-+native_color: d_bird_subnet_state allocation score on DEM-1: -INFINITY
-+native_color: d_bird_subnet_state allocation score on DEM-2: 0
-+native_color: d_tomcat_nms:0 allocation score on DEM-1: 1
-+native_color: d_tomcat_nms:0 allocation score on DEM-2: 0
-+native_color: d_tomcat_nms:1 allocation score on DEM-1: -INFINITY
-+native_color: d_tomcat_nms:1 allocation score on DEM-2: 1
-+native_color: ip_mgmt allocation score on DEM-1: -INFINITY
-+native_color: ip_mgmt allocation score on DEM-2: 0
-+native_color: ip_trf_tas allocation score on DEM-1: -INFINITY
-+native_color: ip_trf_tas allocation score on DEM-2: 0
-+native_color: ipv6_dem_tas_dns allocation score on DEM-1: -INFINITY
-+native_color: ipv6_dem_tas_dns allocation score on DEM-2: 0
-diff --git a/pengine/test10/clone-fail-block-colocation.summary b/pengine/test10/clone-fail-block-colocation.summary
-new file mode 100644
-index 0000000..7b066ee
---- /dev/null
-+++ b/pengine/test10/clone-fail-block-colocation.summary
-@@ -0,0 +1,58 @@
-+
-+Current cluster status:
-+Online: [ DEM-1 DEM-2 ]
-+
-+ Resource Group: svc
-+     ipv6_dem_tas_dns	(ocf::heartbeat:IPv6addr):	Started DEM-1 
-+     d_bird_subnet_state	(lsb:bird_subnet_state):	Started DEM-1 
-+     ip_mgmt	(ocf::heartbeat:IPaddr2):	Started DEM-1 
-+     ip_trf_tas	(ocf::heartbeat:IPaddr2):	Started DEM-1 
-+ Clone Set: cl_bird [d_bird]
-+     Started: [ DEM-1 DEM-2 ]
-+ Clone Set: cl_bird6 [d_bird6]
-+     d_bird6	(lsb:bird6):	Started DEM-1 (unmanaged) FAILED 
-+     Started: [ DEM-2 ]
-+ Clone Set: cl_tomcat_nms [d_tomcat_nms]
-+     Started: [ DEM-1 DEM-2 ]
-+
-+Transition Summary:
-+ * Move    ipv6_dem_tas_dns	(Started DEM-1 -> DEM-2)
-+ * Move    d_bird_subnet_state	(Started DEM-1 -> DEM-2)
-+ * Move    ip_mgmt	(Started DEM-1 -> DEM-2)
-+ * Move    ip_trf_tas	(Started DEM-1 -> DEM-2)
-+
-+Executing cluster transition:
-+ * Pseudo action:   svc_stop_0
-+ * Resource action: ip_trf_tas      stop on DEM-1
-+ * Resource action: ip_mgmt         stop on DEM-1
-+ * Resource action: d_bird_subnet_state stop on DEM-1
-+ * Resource action: ipv6_dem_tas_dns stop on DEM-1
-+ * Pseudo action:   all_stopped
-+ * Pseudo action:   svc_stopped_0
-+ * Pseudo action:   svc_start_0
-+ * Resource action: ipv6_dem_tas_dns start on DEM-2
-+ * Resource action: d_bird_subnet_state start on DEM-2
-+ * Resource action: ip_mgmt         start on DEM-2
-+ * Resource action: ip_trf_tas      start on DEM-2
-+ * Pseudo action:   svc_running_0
-+ * Resource action: ipv6_dem_tas_dns monitor=10000 on DEM-2
-+ * Resource action: d_bird_subnet_state monitor=10000 on DEM-2
-+ * Resource action: ip_mgmt         monitor=10000 on DEM-2
-+ * Resource action: ip_trf_tas      monitor=10000 on DEM-2
-+
-+Revised cluster status:
-+Online: [ DEM-1 DEM-2 ]
-+
-+ Resource Group: svc
-+     ipv6_dem_tas_dns	(ocf::heartbeat:IPv6addr):	Started DEM-2 
-+     d_bird_subnet_state	(lsb:bird_subnet_state):	Started DEM-2 
-+     ip_mgmt	(ocf::heartbeat:IPaddr2):	Started DEM-2 
-+     ip_trf_tas	(ocf::heartbeat:IPaddr2):	Started DEM-2 
-+ Clone Set: cl_bird [d_bird]
-+     Started: [ DEM-1 DEM-2 ]
-+ Clone Set: cl_bird6 [d_bird6]
-+     d_bird6	(lsb:bird6):	Started DEM-1 (unmanaged) FAILED 
-+     Started: [ DEM-2 ]
-+ Clone Set: cl_tomcat_nms [d_tomcat_nms]
-+     Started: [ DEM-1 DEM-2 ]
-+
-diff --git a/pengine/test10/clone-fail-block-colocation.xml b/pengine/test10/clone-fail-block-colocation.xml
-new file mode 100644
-index 0000000..02eac7d
---- /dev/null
-+++ b/pengine/test10/clone-fail-block-colocation.xml
-@@ -0,0 +1,192 @@
-+<cib epoch="29" num_updates="10" admin_epoch="0" validate-with="pacemaker-1.2" cib-last-written="Thu Aug  1 07:18:30 2013" update-origin="DEM-1" update-client="cibadmin" crm_feature_set="3.0.7" have-quorum="1" dc-uuid="DEM-1">
-+  <configuration>
-+    <crm_config>
-+      <cluster_property_set id="cib-bootstrap-options">
-+        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.11-1.el6-42f2063"/>
-+        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="cman"/>
-+        <nvpair id="cib-bootstrap-options-pe-warn-series-max" name="pe-warn-series-max" value="9"/>
-+        <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
-+        <nvpair id="cib-bootstrap-options-cluster-recheck-interval" name="cluster-recheck-interval" value="3min"/>
-+        <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
-+        <nvpair id="cib-bootstrap-options-pe-input-series-max" name="pe-input-series-max" value="9"/>
-+        <nvpair id="cib-bootstrap-options-pe-error-series-max" name="pe-error-series-max" value="9"/>
-+        <nvpair id="cib-bootstrap-options-last-lrm-refresh" name="last-lrm-refresh" value="1375341246"/>
-+      </cluster_property_set>
-+    </crm_config>
-+    <nodes>
-+      <node id="DEM-1" uname="DEM-1"/>
-+      <node id="DEM-2" uname="DEM-2"/>
-+    </nodes>
-+    <resources>
-+      <group id="svc">
-+        <primitive class="ocf" id="ipv6_dem_tas_dns" provider="heartbeat" type="IPv6addr">
-+          <operations>
-+            <op id="ipv6_dem_tas_dns-monitor-10s" interval="10s" name="monitor"/>
-+          </operations>
-+          <instance_attributes id="ipv6_dem_tas_dns-instance_attributes">
-+            <nvpair id="ipv6_dem_tas_dns-instance_attributes-cidr_netmask" name="cidr_netmask" value="112"/>
-+            <nvpair id="ipv6_dem_tas_dns-instance_attributes-nic" name="nic" value="bond0.3010"/>
-+            <nvpair id="ipv6_dem_tas_dns-instance_attributes-ipv6addr" name="ipv6addr" value="fd15:a2c:8660:c828:172:16:10:241"/>
-+          </instance_attributes>
-+          <meta_attributes id="ipv6_dem_tas_dns-meta_attributes">
-+            <nvpair id="ipv6_dem_tas_dns-meta_attributes-migration-threshold" name="migration-threshold" value="1"/>
-+          </meta_attributes>
-+        </primitive>
-+        <primitive class="lsb" id="d_bird_subnet_state" type="bird_subnet_state">
-+          <operations>
-+            <op id="d_bird_subnet_state-monitor-10s" interval="10s" name="monitor"/>
-+          </operations>
-+          <meta_attributes id="d_bird_subnet_state-meta_attributes">
-+            <nvpair id="d_bird_subnet_state-meta_attributes-migration-threshold" name="migration-threshold" value="1"/>
-+          </meta_attributes>
-+        </primitive>
-+        <primitive class="ocf" id="ip_mgmt" provider="heartbeat" type="IPaddr2">
-+          <operations>
-+            <op id="ip_mgmt-monitor-10s" interval="10s" name="monitor"/>
-+          </operations>
-+          <instance_attributes id="ip_mgmt-instance_attributes">
-+            <nvpair id="ip_mgmt-instance_attributes-broadcast" name="broadcast" value="172.20.1.241"/>
-+            <nvpair id="ip_mgmt-instance_attributes-iflabel" name="iflabel" value="ha"/>
-+            <nvpair id="ip_mgmt-instance_attributes-nic" name="nic" value="bond0"/>
-+            <nvpair id="ip_mgmt-instance_attributes-ip" name="ip" value="172.20.1.241"/>
-+          </instance_attributes>
-+          <meta_attributes id="ip_mgmt-meta_attributes">
-+            <nvpair id="ip_mgmt-meta_attributes-migration-threshold" name="migration-threshold" value="1"/>
-+          </meta_attributes>
-+        </primitive>
-+        <primitive class="ocf" id="ip_trf_tas" provider="heartbeat" type="IPaddr2">
-+          <operations>
-+            <op id="ip_trf_tas-monitor-10s" interval="10s" name="monitor"/>
-+          </operations>
-+          <instance_attributes id="ip_trf_tas-instance_attributes">
-+            <nvpair id="ip_trf_tas-instance_attributes-broadcast" name="broadcast" value="172.16.10.241"/>
-+            <nvpair id="ip_trf_tas-instance_attributes-iflabel" name="iflabel" value="ha"/>
-+            <nvpair id="ip_trf_tas-instance_attributes-nic" name="nic" value="bond0.3010"/>
-+            <nvpair id="ip_trf_tas-instance_attributes-ip" name="ip" value="172.16.10.241"/>
-+          </instance_attributes>
-+          <meta_attributes id="ip_trf_tas-meta_attributes">
-+            <nvpair id="ip_trf_tas-meta_attributes-migration-threshold" name="migration-threshold" value="1"/>
-+          </meta_attributes>
-+        </primitive>
-+      </group>
-+      <clone id="cl_bird">
-+        <primitive class="lsb" id="d_bird" type="bird">
-+          <operations>
-+            <op id="d_bird-monitor-10s" interval="10s" name="monitor" on-fail="block"/>
-+          </operations>
-+        </primitive>
-+      </clone>
-+      <clone id="cl_bird6">
-+        <primitive class="lsb" id="d_bird6" type="bird6">
-+          <operations>
-+            <op id="d_bird6-monitor-10s" interval="10s" name="monitor" on-fail="block"/>
-+          </operations>
-+        </primitive>
-+      </clone>
-+      <clone id="cl_tomcat_nms">
-+        <primitive class="ocf" id="d_tomcat_nms" provider="ntc" type="tomcat">
-+          <operations>
-+            <op id="d_tomcat_nms-monitor-15s" interval="15s" name="monitor" on-fail="block" timeout="510s"/>
-+            <op id="d_tomcat_nms-stop-0" interval="0" name="stop" timeout="510s"/>
-+            <op id="d_tomcat_nms-start-0" interval="0" name="start" timeout="510s"/>
-+          </operations>
-+          <instance_attributes id="d_tomcat_nms-instance_attributes">
-+            <nvpair id="d_tomcat_nms-instance_attributes-monitor_urls" name="monitor_urls" value="/dem-device-manager/health"/>
-+            <nvpair id="d_tomcat_nms-instance_attributes-monitor_use_ssl" name="monitor_use_ssl" value="no"/>
-+            <nvpair id="d_tomcat_nms-instance_attributes-instance_name" name="instance_name" value="NMS"/>
-+            <nvpair id="d_tomcat_nms-instance_attributes-monitor_timeout" name="monitor_timeout" value="120"/>
-+          </instance_attributes>
-+        </primitive>
-+      </clone>
-+    </resources>
-+    <constraints>
-+      <rsc_order first="cl_bird" id="order_bird" score="INFINITY" symmetrical="true" then="svc"/>
-+      <rsc_order first="cl_bird6" id="order_bird6" score="INFINITY" symmetrical="true" then="svc"/>
-+      <rsc_order first="cl_tomcat_nms" id="order_tomcat_nms" score="INFINITY" symmetrical="true" then="svc"/>
-+      <rsc_colocation id="colo_tomcat_nms" rsc="svc" score="INFINITY" with-rsc="cl_tomcat_nms"/>
-+      <rsc_colocation id="colo_bird6" rsc="svc" score="INFINITY" with-rsc="cl_bird6"/>
-+      <rsc_colocation id="colo_bird" rsc="svc" score="INFINITY" with-rsc="cl_bird"/>
-+    </constraints>
-+  </configuration>
-+  <status>
-+    <node_state id="DEM-1" uname="DEM-1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
-+      <transient_attributes id="DEM-1">
-+        <instance_attributes id="status-DEM-1">
-+          <nvpair id="status-DEM-1-probe_complete" name="probe_complete" value="true"/>
-+          <nvpair id="status-DEM-1-last-failure-d_bird" name="last-failure-d_bird" value="1375341129"/>
-+          <nvpair id="status-DEM-1-fail-count-d_bird6" name="fail-count-d_bird6" value="1"/>
-+          <nvpair id="status-DEM-1-last-failure-d_bird6" name="last-failure-d_bird6" value="1375341530"/>
-+        </instance_attributes>
-+      </transient_attributes>
-+      <lrm id="DEM-1">
-+        <lrm_resources>
-+          <lrm_resource id="ipv6_dem_tas_dns" type="IPv6addr" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="ipv6_dem_tas_dns_last_0" operation_key="ipv6_dem_tas_dns_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="11:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:0;11:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="58" rc-code="0" op-status="0" interval="0" last-run="1375341015" last-rc-change="1375341015" exec-time="7006" queue-time="0" op-digest="53af56d463bd7ec89aee6e087825e22b"/>
-+            <lrm_rsc_op id="ipv6_dem_tas_dns_monitor_10000" operation_key="ipv6_dem_tas_dns_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="12:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:0;12:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="62" rc-code="0" op-status="0" interval="10000" last-rc-change="1375341022" exec-time="2" queue-time="1" op-digest="fd94b15c52be1857da5345d63a4bc0e5"/>
-+          </lrm_resource>
-+          <lrm_resource id="d_bird6" type="bird6" class="lsb">
-+            <lrm_rsc_op id="d_bird6_last_0" operation_key="d_bird6_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="29:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:0;29:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="43" rc-code="0" op-status="0" interval="0" last-run="1375340999" last-rc-change="1375340999" exec-time="49" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+            <lrm_rsc_op id="d_bird6_monitor_10000" operation_key="d_bird6_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="30:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:0;30:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="48" rc-code="0" op-status="0" interval="10000" last-rc-change="1375340999" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
-+            <lrm_rsc_op id="d_bird6_last_failure_0" operation_key="d_bird6_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="30:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:7;30:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="48" rc-code="7" op-status="0" interval="10000" last-rc-change="1375341530" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
-+          </lrm_resource>
-+          <lrm_resource id="d_bird_subnet_state" type="bird_subnet_state" class="lsb">
-+            <lrm_rsc_op id="d_bird_subnet_state_last_0" operation_key="d_bird_subnet_state_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="13:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:0;13:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="64" rc-code="0" op-status="0" interval="0" last-run="1375341022" last-rc-change="1375341022" exec-time="4036" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+            <lrm_rsc_op id="d_bird_subnet_state_monitor_10000" operation_key="d_bird_subnet_state_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="14:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:0;14:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="68" rc-code="0" op-status="0" interval="10000" last-rc-change="1375341026" exec-time="19" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
-+          </lrm_resource>
-+          <lrm_resource id="ip_trf_tas" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="ip_trf_tas_last_0" operation_key="ip_trf_tas_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="17:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:0;17:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="76" rc-code="0" op-status="0" interval="0" last-run="1375341026" last-rc-change="1375341026" exec-time="53" queue-time="0" op-digest="b3cfedd8c3c97d0ac635474e24692dad"/>
-+            <lrm_rsc_op id="ip_trf_tas_monitor_10000" operation_key="ip_trf_tas_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="18:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:0;18:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="80" rc-code="0" op-status="0" interval="10000" last-rc-change="1375341026" exec-time="21" queue-time="0" op-digest="20a32ab8c2aeec50b2bedda2f713ab57"/>
-+          </lrm_resource>
-+          <lrm_resource id="d_tomcat_nms" type="tomcat" class="ocf" provider="ntc">
-+            <lrm_rsc_op id="d_tomcat_nms_last_0" operation_key="d_tomcat_nms_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="35:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:0;35:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="45" rc-code="0" op-status="0" interval="0" last-run="1375340999" last-rc-change="1375340999" exec-time="15698" queue-time="0" op-digest="c030e52a1e91e58d4e2d6e57cb9cdea4" op-force-restart=" state  instance_name  monitor_urls  monitor_use_ssl  monitor_timeout  cleanup " op-restart-digest="c030e52a1e91e58d4e2d6e57cb9cdea4"/>
-+            <lrm_rsc_op id="d_tomcat_nms_monitor_15000" operation_key="d_tomcat_nms_monitor_15000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="36:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:0;36:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="56" rc-code="0" op-status="0" interval="15000" last-rc-change="1375341015" exec-time="439" queue-time="0" op-digest="9641e02fa4460a2cbfb71f4da59905c7"/>
-+          </lrm_resource>
-+          <lrm_resource id="d_bird" type="bird" class="lsb">
-+            <lrm_rsc_op id="d_bird_last_failure_0" operation_key="d_bird_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="12:10:7:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:0;12:10:7:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="92" rc-code="0" op-status="0" interval="0" last-run="1375341247" last-rc-change="1375341247" exec-time="37" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+            <lrm_rsc_op id="d_bird_monitor_10000" operation_key="d_bird_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="27:11:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:0;27:11:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="95" rc-code="0" op-status="0" interval="10000" last-rc-change="1375341247" exec-time="30" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
-+          </lrm_resource>
-+          <lrm_resource id="ip_mgmt" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="ip_mgmt_last_0" operation_key="ip_mgmt_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="15:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:0;15:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="70" rc-code="0" op-status="0" interval="0" last-run="1375341026" last-rc-change="1375341026" exec-time="43" queue-time="0" op-digest="c311e79fb95db5b1a4b80a95c8947ce1"/>
-+            <lrm_rsc_op id="ip_mgmt_monitor_10000" operation_key="ip_mgmt_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="16:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:0;16:0:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="74" rc-code="0" op-status="0" interval="10000" last-rc-change="1375341026" exec-time="41" queue-time="0" op-digest="a1f082697015807cf60bb28fe877e82f"/>
-+          </lrm_resource>
-+        </lrm_resources>
-+      </lrm>
-+    </node_state>
-+    <node_state id="DEM-2" uname="DEM-2" crmd="online" join="member" crm-debug-origin="do_state_transition" in_ccm="true" expected="member">
-+      <transient_attributes id="DEM-2">
-+        <instance_attributes id="status-DEM-2">
-+          <nvpair id="status-DEM-2-probe_complete" name="probe_complete" value="true"/>
-+          <nvpair id="status-DEM-2-last-failure-d_bird" name="last-failure-d_bird" value="1375341085"/>
-+        </instance_attributes>
-+      </transient_attributes>
-+      <lrm id="DEM-2">
-+        <lrm_resources>
-+          <lrm_resource id="ipv6_dem_tas_dns" type="IPv6addr" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="ipv6_dem_tas_dns_last_0" operation_key="ipv6_dem_tas_dns_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="12:1:7:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:7;12:1:7:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1375341054" last-rc-change="1375341054" exec-time="19" queue-time="0" op-digest="53af56d463bd7ec89aee6e087825e22b"/>
-+          </lrm_resource>
-+          <lrm_resource id="d_bird6" type="bird6" class="lsb">
-+            <lrm_rsc_op id="d_bird6_last_0" operation_key="d_bird6_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="41:1:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:0;41:1:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="43" rc-code="0" op-status="0" interval="0" last-run="1375341055" last-rc-change="1375341055" exec-time="49" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+            <lrm_rsc_op id="d_bird6_monitor_10000" operation_key="d_bird6_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="42:1:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:0;42:1:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="51" rc-code="0" op-status="0" interval="10000" last-rc-change="1375341055" exec-time="26" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
-+          </lrm_resource>
-+          <lrm_resource id="d_bird_subnet_state" type="bird_subnet_state" class="lsb">
-+            <lrm_rsc_op id="d_bird_subnet_state_last_0" operation_key="d_bird_subnet_state_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="13:1:7:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:7;13:1:7:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="9" rc-code="7" op-status="0" interval="0" last-run="1375341054" last-rc-change="1375341054" exec-time="57" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+          </lrm_resource>
-+          <lrm_resource id="ip_trf_tas" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="ip_trf_tas_last_0" operation_key="ip_trf_tas_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="15:1:7:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:7;15:1:7:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="17" rc-code="7" op-status="0" interval="0" last-run="1375341054" last-rc-change="1375341054" exec-time="109" queue-time="0" op-digest="b3cfedd8c3c97d0ac635474e24692dad"/>
-+          </lrm_resource>
-+          <lrm_resource id="d_tomcat_nms" type="tomcat" class="ocf" provider="ntc">
-+            <lrm_rsc_op id="d_tomcat_nms_last_0" operation_key="d_tomcat_nms_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="49:1:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:0;49:1:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="45" rc-code="0" op-status="0" interval="0" last-run="1375341055" last-rc-change="1375341055" exec-time="15714" queue-time="0" op-digest="c030e52a1e91e58d4e2d6e57cb9cdea4" op-force-restart=" state  instance_name  monitor_urls  monitor_use_ssl  monitor_timeout  cleanup " op-restart-digest="c030e52a1e91e58d4e2d6e57cb9cdea4"/>
-+            <lrm_rsc_op id="d_tomcat_nms_monitor_15000" operation_key="d_tomcat_nms_monitor_15000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="50:1:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:0;50:1:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="56" rc-code="0" op-status="0" interval="15000" last-rc-change="1375341070" exec-time="287" queue-time="0" op-digest="9641e02fa4460a2cbfb71f4da59905c7"/>
-+          </lrm_resource>
-+          <lrm_resource id="d_bird" type="bird" class="lsb">
-+            <lrm_rsc_op id="d_bird_last_failure_0" operation_key="d_bird_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="14:10:7:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:0;14:10:7:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="68" rc-code="0" op-status="0" interval="0" last-run="1375341246" last-rc-change="1375341246" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
-+            <lrm_rsc_op id="d_bird_monitor_10000" operation_key="d_bird_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="30:11:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:0;30:11:0:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="71" rc-code="0" op-status="0" interval="10000" last-rc-change="1375341246" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
-+          </lrm_resource>
-+          <lrm_resource id="ip_mgmt" type="IPaddr2" class="ocf" provider="heartbeat">
-+            <lrm_rsc_op id="ip_mgmt_last_0" operation_key="ip_mgmt_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.7" transition-key="14:1:7:59c7d83a-c71b-4e79-bf04-be2b25b00846" transition-magic="0:7;14:1:7:59c7d83a-c71b-4e79-bf04-be2b25b00846" call-id="13" rc-code="7" op-status="0" interval="0" last-run="1375341054" last-rc-change="1375341054" exec-time="114" queue-time="0" op-digest="c311e79fb95db5b1a4b80a95c8947ce1"/>
-+          </lrm_resource>
-+        </lrm_resources>
-+      </lrm>
-+    </node_state>
-+  </status>
-+</cib>
-diff --git a/pengine/test10/stop-failure-no-fencing.scores b/pengine/test10/stop-failure-no-fencing.scores
-index efe9888..93b2031 100644
---- a/pengine/test10/stop-failure-no-fencing.scores
-+++ b/pengine/test10/stop-failure-no-fencing.scores
-@@ -41,7 +41,7 @@ clone_color: dlm:3 allocation score on pcmk-3: 0
- clone_color: dlm:3 allocation score on pcmk-4: 0
- native_color: ClusterIP allocation score on pcmk-1: -INFINITY
- native_color: ClusterIP allocation score on pcmk-2: -INFINITY
--native_color: ClusterIP allocation score on pcmk-3: 0
-+native_color: ClusterIP allocation score on pcmk-3: -INFINITY
- native_color: ClusterIP allocation score on pcmk-4: -INFINITY
- native_color: clvm:0 allocation score on pcmk-1: -INFINITY
- native_color: clvm:0 allocation score on pcmk-2: -INFINITY
-diff --git a/pengine/test10/stop-failure-no-quorum.scores b/pengine/test10/stop-failure-no-quorum.scores
-index ce5d714..df30423 100644
---- a/pengine/test10/stop-failure-no-quorum.scores
-+++ b/pengine/test10/stop-failure-no-quorum.scores
-@@ -41,7 +41,7 @@ clone_color: dlm:3 allocation score on pcmk-3: 0
- clone_color: dlm:3 allocation score on pcmk-4: 0
- native_color: ClusterIP allocation score on pcmk-1: 0
- native_color: ClusterIP allocation score on pcmk-2: -INFINITY
--native_color: ClusterIP allocation score on pcmk-3: 0
-+native_color: ClusterIP allocation score on pcmk-3: -INFINITY
- native_color: ClusterIP allocation score on pcmk-4: -INFINITY
- native_color: Fencing allocation score on pcmk-1: 0
- native_color: Fencing allocation score on pcmk-2: 0
diff --git a/SOURCES/pacemaker-unknown-long-options.patch b/SOURCES/pacemaker-unknown-long-options.patch
new file mode 100644
index 0000000..ff2f7b7
--- /dev/null
+++ b/SOURCES/pacemaker-unknown-long-options.patch
@@ -0,0 +1,18 @@
+commit 0f0ceb44be247cf894422d1dab6a67b474e77d12
+Author: Andrew Beekhof <andrew@beekhof.net>
+Date:   Thu Jan 15 13:43:48 2015 +1100
+
+    Fix: cli: Ensure subsequent unknown long options are correctly detected
+
+diff --git a/lib/common/utils.c b/lib/common/utils.c
+index d70778d..50b5e91 100644
+--- a/lib/common/utils.c
++++ b/lib/common/utils.c
+@@ -1802,6 +1802,7 @@ crm_get_option_long(int argc, char **argv, int *index, const char **longname)
+         long_opts = crm_create_long_opts(crm_long_options);
+     }
+ 
++    *index = 0;
+     if (long_opts) {
+         int flag = getopt_long(argc, argv, crm_short_options, long_opts, index);
+ 
diff --git a/SOURCES/pcmk-crm_report_collect_corosync_quorum_data.patch b/SOURCES/pcmk-crm_report_collect_corosync_quorum_data.patch
deleted file mode 100644
index cce0bf6..0000000
--- a/SOURCES/pcmk-crm_report_collect_corosync_quorum_data.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-commit 706ca1cc698ceaeaf36d60f4cd83ea9691fa7667
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Wed Aug 14 12:13:01 2013 +1000
-
-    Fix: crm_report: Collect corosync quorum data
-
-diff --git a/tools/report.collector b/tools/report.collector
-index 41ff00a..00bd319 100644
---- a/tools/report.collector
-+++ b/tools/report.collector
-@@ -662,6 +662,7 @@ case $cluster in
- 	    *objctl)  $tool -a > corosync.dump  2>/dev/null;;
- 	    *cmapctl) $tool    > corosync.dump  2>/dev/null;;
- 	esac
-+	corosync-quorumtool -s -i > corosync.quorum
- 	;;
- esac
- 
diff --git a/SOURCES/pcmk-fencing_support_agents_that_need_the_host_to_be_unfenced_at_startup.patch b/SOURCES/pcmk-fencing_support_agents_that_need_the_host_to_be_unfenced_at_startup.patch
deleted file mode 100644
index 916c1dc..0000000
--- a/SOURCES/pcmk-fencing_support_agents_that_need_the_host_to_be_unfenced_at_startup.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-commit 8af0d0c8aabe9ef6bb76c0e5032836d3c8bdc9d7
-Author: Andrew Beekhof <andrew@beekhof.net>
-Date:   Tue Aug 13 12:31:25 2013 +1000
-
-    Feature: Fencing: Support agents that need the host to be unfenced at startup
-
-diff --git a/fencing/commands.c b/fencing/commands.c
-index c7c1bf0..73a7fc1 100644
---- a/fencing/commands.c
-+++ b/fencing/commands.c
-@@ -635,8 +635,9 @@ target_list_type(stonith_device_t * dev)
-     return check_type;
- }
- 
--static void
--schedule_internal_command(stonith_device_t * device,
-+void
-+schedule_internal_command(const char *origin,
-+                          stonith_device_t * device,
-                           const char *action,
-                           const char *victim,
-                           int timeout,
-@@ -654,12 +655,12 @@ schedule_internal_command(stonith_device_t * device,
-     cmd->action = strdup(action);
-     cmd->victim = victim ? strdup(victim) : NULL;
-     cmd->device = strdup(device->id);
--    cmd->origin = strdup("st_internal_cmd");
--    cmd->client = strdup("st_internal_client");
--    cmd->client_name = strdup("st_internal_client_name");
-+    cmd->origin = strdup(origin);
-+    cmd->client = strdup(crm_system_name);
-+    cmd->client_name = strdup(crm_system_name);
- 
-     cmd->internal_user_data = internal_user_data;
--    cmd->done_cb = done_cb;
-+    cmd->done_cb = done_cb; /* cmd, not internal_user_data, is passed to 'done_cb' as the userdata */
- 
-     schedule_stonith_command(cmd, device);
- }
-@@ -1093,9 +1094,7 @@ can_fence_host_with_device(stonith_device_t * dev, struct device_search_s *searc
-         time_t now = time(NULL);
- 
-         if (dev->targets == NULL || dev->targets_age + 60 < now) {
--            schedule_internal_command(dev,
--                                      "list",
--                                      NULL,
-+            schedule_internal_command(__FUNCTION__, dev, "list", NULL,
-                                       search->per_device_timeout, search, dynamic_list_search_cb);
- 
-             /* we'll respond to this search request async in the cb */
-@@ -1107,9 +1106,7 @@ can_fence_host_with_device(stonith_device_t * dev, struct device_search_s *searc
-         }
- 
-     } else if (safe_str_eq(check_type, "status")) {
--        schedule_internal_command(dev,
--                                  "status",
--                                  search->host,
-+        schedule_internal_command(__FUNCTION__, dev, "status", search->host,
-                                   search->per_device_timeout, search, status_search_cb);
-         /* we'll respond to this search request async in the cb */
-         return;
-@@ -1395,6 +1392,26 @@ stonith_send_async_reply(async_command_t * cmd, const char *output, int rc, GPid
-     free_xml(reply);
- }
- 
-+void
-+unfence_cb(GPid pid, int rc, const char *output, gpointer user_data)
-+{
-+    async_command_t * cmd = user_data;
-+    stonith_device_t *dev = g_hash_table_lookup(device_list, cmd->device);
-+
-+    log_operation(cmd, rc, pid, NULL, output);
-+
-+    if(dev) {
-+        dev->active_pid = 0;
-+        mainloop_set_trigger(dev->work);
-+    } else {
-+        crm_trace("Device %s does not exist", cmd->device);
-+    }
-+
-+    if(rc != 0) {
-+        crm_exit(DAEMON_RESPAWN_STOP);
-+    }
-+}
-+
- static void
- cancel_stonith_command(async_command_t * cmd)
- {
-diff --git a/fencing/internal.h b/fencing/internal.h
-index 737fc18..9a8b096 100644
---- a/fencing/internal.h
-+++ b/fencing/internal.h
-@@ -162,6 +162,18 @@ bool fencing_peer_active(crm_node_t *peer);
- 
- int stonith_manual_ack(xmlNode * msg, remote_fencing_op_t * op);
- 
-+void unfence_cb(GPid pid, int rc, const char *output, gpointer user_data);
-+
-+void
-+schedule_internal_command(const char *origin,
-+                          stonith_device_t * device,
-+                          const char *action,
-+                          const char *victim,
-+                          int timeout,
-+                          void *internal_user_data,
-+                          void (*done_cb) (GPid pid, int rc, const char *output,
-+                                           gpointer user_data));
-+
- extern char *stonith_our_uname;
- extern gboolean stand_alone;
- extern GHashTable *device_list;
-diff --git a/fencing/main.c b/fencing/main.c
-index e002125..3fa7b5a 100644
---- a/fencing/main.c
-+++ b/fencing/main.c
-@@ -573,6 +573,7 @@ fencing_topology_init(xmlNode * msg)
- }
- 
- #define rsc_name(x) x->clone_name?x->clone_name:x->id
-+static bool have_fence_scsi = FALSE;
- 
- static void cib_device_update(resource_t *rsc, pe_working_set_t *data_set)
- {
-@@ -661,6 +662,22 @@ static void cib_device_update(resource_t *rsc, pe_working_set_t *data_set)
-         data = create_device_registration_xml(rsc_name(rsc), provider, agent, params);
-         stonith_device_register(data, NULL, TRUE);
- 
-+        /* If required, unfence ourselves on cluster startup
-+         *
-+         * Make this generic/smarter if/when more than a single agent needs this
-+         */
-+        if(have_fence_scsi == FALSE && safe_str_eq(agent, "fence_scsi")) {
-+            stonith_device_t *device = g_hash_table_lookup(device_list, rsc->id);
-+
-+            if(device) {
-+                have_fence_scsi = TRUE;
-+                crm_notice("Unfencing ourselves with %s (%s)", agent, device->id);
-+                schedule_internal_command(__FUNCTION__, device, "on", stonith_our_uname, 0, NULL, unfence_cb);
-+            } else {
-+                crm_err("Device %s does not exist", rsc->id);
-+            }
-+        }
-+
-         stonith_key_value_freeall(params, 1, 1);
-         free_xml(data);
-     }
diff --git a/SPECS/pacemaker.spec b/SPECS/pacemaker.spec
index 1183d20..4d26109 100644
--- a/SPECS/pacemaker.spec
+++ b/SPECS/pacemaker.spec
@@ -2,9 +2,10 @@
 %global uname hacluster
 %global pcmk_docdir %{_docdir}/%{name}
 
-%global specversion 32
-%global upstream_prefix pacemaker
-%global upstream_version Pacemaker-1.1.10
+%global specversion 22
+%global commit a14efad51ca8f1e3742fd8520e051cd7a0864f04
+%global shortcommit %(c=%{commit}; echo ${c:0:7})
+%global github_owner ClusterLabs
 
 # Turn off the auto compilation of python files not in the site-packages directory
 # Needed so that the -devel package is multilib compliant
@@ -46,148 +47,49 @@
 %endif
 
 %if %{with pre_release}
-%global pcmk_release 0.%{specversion}.%{upstream_version}.git
+%global pcmk_release 0.%{specversion}.%{shortcommit}.git
 %else
 %global pcmk_release %{specversion}
 %endif
 
 Name:          pacemaker
 Summary:       Scalable High-Availability cluster resource manager
-Version:       1.1.10
-Release:       %{pcmk_release}%{?dist}.1
+Version:       1.1.12
+Release:       %{pcmk_release}%{?dist}
 License:       GPLv2+ and LGPLv2+
 Url:           http://www.clusterlabs.org
 Group:         System Environment/Daemons
 
-Source0:       https://github.com/ClusterLabs/pacemaker/archive/%{upstream_version}.tar.gz
-Patch1:        pacemaker-fix_crmd_prevent_recurring_monitors_being_cancelled_due_to_notify_operations.patch
-Patch2:        pacemaker-fix_pe_do_not_restart_resources_that_depend_on_unmanaged_resources.patch
-Patch3:        pacemaker-fix_crmd_prevent_crash_by_passing_log_arguments_in_the_correct_order.patch
-Patch4:        pacemaker-fix_pe_do_not_re-allocate_clone_instances_that_are_blocked_in_the_stopped_state.patch
-Patch5:        pacemaker-fix_pe_do_not_allow_colocation_with_blocked_clone_instances.patch
-Patch6:        pacemaker-test_pe_do_not_allow_colocation_with_blocked_clone_instances.patch
-Patch7:        pacemaker-fix_systemd_prevent_glib_assertion_-_only_call_g_error_free_with_non-null_arguments.patch
-Patch8:        pacemaker-fix_logging_glib_crit_messages_should_not_produce_core_files_by_default.patch
-Patch9:        pacemaker-doc_controld_update_the_description.patch
-Patch10:        pacemaker-fix_pe_correctly_account_for_the_location_preferences_of_things_colocated_with_a_group.patch
-Patch11:        pacemaker-log_crm_mon_clean_up_the_output_for_failed_operations.patch
-Patch12:        pacemaker-fix_cib_correctly_log_short-form_xml_diffs.patch
-Patch13:        pacemaker-fix_crmd_correcty_update_the_history_cache_when_recurring_ops_change_their_return_code.patch
-Patch14:        pacemaker-log_pe_better_indicate_when_a_resource_has_failed.patch
-Patch15:        pacemaker-test_pe_better_indicate_when_a_resource_has_failed.patch
-Patch16:        pacemaker-fix_services_prevent_use-of-null_in_g_error_free.patch
-Patch17:        pcmk-fencing_support_agents_that_need_the_host_to_be_unfenced_at_startup.patch
-Patch18:        pcmk-crm_report_collect_corosync_quorum_data.patch
-Patch19:        bz902407-pcmk-location_constraints_are_allowed_to_specify_a_role.patch
-Patch20:        bz902407-pcmk-crm_resource_handle_ban_for_master_slave_resources_as_advertised.patch
-Patch21:	pacemaker-fix-setting-remote-node-attributes.patch
-Patch22:	pacemaker-fix-orphaned-connection-resources.patch
-Patch23:	pacemaker-add-RemoteLXC-cts-test.patch
-Patch24:        bz902407-pcmk-provide_a_meaningful_error_if_master_is_used_for_primitives_and_groups.patch
-Patch25:        bz996576-pcmk-observe_pcmk_host_list_during_automatic_unfencing.patch
-Patch26:        bz996576-pcmk-crm_report_correctly_redirect_error_message_to_dev_null.patch
-Patch27:        bz1011618-pcmk-consistently_use_slave_as_the_role_for_unpromoted_master_slave_resources.patch
-Patch28:        bz902407-pcmk-pe_location_constraints_with_role_started_should_prevent_masters_from_running_at_all.patch
-Patch29:        bz902407-pcmk-crm_resource_observe_master_modifier_for_move.patch
-Patch30:        bz996850-pcmk-log_crmd_supply_arguments_in_the_correct_order.patch
-Patch31:        bz720543-pcmk-crmd_don_t_add_node_state_to_cib_if_we_have_not_seen_or_fenced_this_node_yet.patch
-Patch32:        bz720543-pcmk-prevent_use_of_null_when_ping_resources_do_not_define_a_host_list.patch
-Patch33:        bz720543-pcmk-reduce_duplication_by_merging_the_lrmd_exec_rc_enum_with_ocf_exitcode.patch
-Patch34:        bz720543-pcmk-pe_don_t_prevent_clones_from_running_due_to_dependant_resources.patch
-Patch35:        bz720543-pcmk-pe_update_regression_test_scores.patch
-Patch36:        bz720543-pcmk-cib_allow_values_to_be_added_updated_and_removed_in_a_single_update.patch
-Patch37:        bz720543-pcmk-crm_report_record_the_output_of_the_collector.patch
-Patch38:        bz720543-pcmk-crm_report_do_not_print_garbage_when_collecting_from_the_local_node.patch
-Patch39:        bz720543-pcmk-ipc_raise_the_default_buffer_size_to_128k.patch
-
-Patch41:        bz720543-pcmk-lrmd_correctly_cancel_monitor_actions_for_lsb_systemd_service_resources_on_cleaning_up.patch
-Patch42:        bz720543-pcmk-fencing_do_not_broadcast_suicide_if_the_on_action_is_being_executed.patch
-Patch43:        bz720543-pcmk-fencing_allow_fencing_for_node_after_topology_entries_are_deleted.patch
-Patch44:        bz720543-pcmk-iso8601_prevent_dates_from_jumping_backwards_a_day_in_some_timezones.patch
-Patch45:        bz720543-pcmk-crmd_correctly_update_expected_state_when_the_previous_dc_shuts_down.patch
-Patch46:        bz720543-pcmk-crm_resource_wait_for_all_replies_when_cleaning_up_resources.patch
-Patch47:        bz720543-pcmk-cli_do_not_enabled_blackbox_for_cli_tools.patch
-Patch48:        bz720543-pcmk-crmd_cache_rsc_info_retrieved_from_lrmd_and_pacemaker_remoted.patch
-Patch49:        bz720543-pcmk-crmd_pad_internal_lrmd_rsc_info_and_metadata_retrieval_timeout.patch
-Patch50:        bz720543-pcmk-remote_properly_version_the_remote_connection_protocol.patch
-Patch51:        bz720543-pcmk-remote_improved_logging_of_recv_errors.patch
-Patch52:        bz720543-pcmk-ipc_use_the_higher_of_the_configured_buffer_size_or_the_default.patch
-Patch53:        bz720543-pcmk-fencing_deep_copy_current_topology_level_list_on_remote_op.patch
-Patch54:        bz720543-pcmk-remote_handle_endian_changes_between_client_and_server_and_improve_forward_compatibility.patch
-Patch55:        bz720543-pcmk-command_line_tools_should_stop_after_an_assertion_failure.patch
-Patch56:        bz720543-pcmk-pe_probe_containers_not_expected_to_be_up.patch
-Patch57:        bz720543-pcmk-pcmk_remote_ipv6_support.patch
-Patch58:        bz1028627-pcmk-fix_controld_use_corosync2_dlm_variant.patch
-Patch59:        bz720543-pcmk-tools_fixes_formatting_of_remote_nodes_in_crm_mon_and_crm_simulate.patch
-Patch60:        bz720543-pcmk-corosync_attempt_to_retrieve_a_peer_s_node_name_if_it_is_not_already_known.patch
-Patch61:        bz720543-pcmk-removes_unnecessary_newlines_in_crm_resource_o_output.patch
-Patch62:        bz1057697-pcmk-services_detect_missing_agents_and_permission_errors_before_forking.patch
-Patch63:        bz1057697-pcmk-use_native_dbus_library_for_systemd_support_to_avoid_problematic_use_of_threads.patch
-Patch64:        bz1057697-pcmk-use_native_dbus_library_for_systemd_async_support_to_avoid_problematic_use_of_threads.patch
-Patch65:        bz1057697-pcmk-systemd_simplify_dbus_api_usage.patch
-Patch66:        bz1057697-pcmk-portability_use_basic_types_for_dbus_compatability_struct.patch
-Patch67:        bz1057697-pcmk-use_native_dbus_library_for_upstart_support_to_avoid_problematic_use_of_threads.patch
-Patch68:        bz1057697-pcmk-dbus_use_native_function_for_adding_arguments_to_messages.patch
-Patch69:        bz1057697-pcmk-services_keep_dbus_build_support_optional.patch
-Patch70:        bz1060205-pcmk-mcp_tell_systemd_not_to_respawn_us_if_we_return_100.patch
-Patch71:        bz1064519-pcmk-controld-handles-dlm-startup-fencing.patch
-Patch72:        bz1067536-pcmk-controld-wait-for-address-list.patch
-Patch73:        bz1069284-pcmk-prevent_resources_in_an_anti_colocation_from_even_temporarily_running_on_a_same_node.patch
-Patch74:        bz1070916-pcmk-send_details_of_stonith_api_time_and_stonith_api_kick_to_syslog.patch
-Patch75:        bz1070916-pcmk-fencing_pass_the_correct_options_when_looking_up_the_history_by_node_name.patch
-Patch76:        bz1070916-pcmk-api_time_helper_now_returns_when_the_most_recent_fencing_operation_completed.patch
-Patch77:        bz1070916-pcmk-crm_report_allow_ssh_alternatives_to_be_used.patch
-Patch78:        bz1070916-pcmk-crm_report_additional_dlm_detail.patch
-Patch79:        bz1070916-pcmk-crm_report_only_gather_dlm_data_if_dlm_controld_is_running.patch
-Patch80:        bz1070916-pcmk-pe_gracefully_handle_bad_values_for_xml_attr_transition_magic.patch
-Patch81:        bz1070916-pcmk-crmd_gracefully_handle_actions_that_cannot_be_initiated.patch
-Patch82:        bz1070916-pcmk-test_tools_set_up_override_for_local_schema_file_locations.patch
-Patch83:        bz1070916-pcmk-pengine_update_regression_tests.patch
-Patch84:        bz1070916-pcmk-crm_resource_prevent_use_of_null.patch
-Patch85:        bz1070916-pcmk-systemd_prevent_use_of_null_when_determining_if_an_agent_exists.patch
-Patch86:        bz1070916-pcmk-fencing_remove_shadow_definition_and_use_of_variable_progress.patch
-Patch87:        bz1078504-pcmk-pengine_fixes_invalid_transition_caused_by_clones_with_more_than_10_instances.patch
-Patch88:        bz1064519-pcmk-remove_q_0_from_default_dlm_controld_arguments.patch
-Patch89:        bz1078078-pcmk-crmd_correctly_react_to_successful_unfencing_operations.patch
-Patch90:        bz1078078-pcmk-pe_indicate_the_type_of_fencing_in_the_fencing_operation_key.patch
-Patch91:        bz1078078-pcmk-pe_potential_memory_leak.patch
-Patch92:        bz1078078-pcmk-pe_fix_comments_and_formatting_for_pe_ordering_enum.patch
-Patch93:        bz1078078-pcmk-pe_ensure_actions_like_shutdown_and_fence_have_a_unique_key.patch
-Patch94:        bz1078078-pcmk-pe_include_stonith_operation_in_dot_graph_regression_test_results.patch
-Patch95:        bz1078078-pcmk-pe_include_stonith_operation_in_the_summary_results_and_handle_unfencing.patch
-Patch96:        bz1078078-pcmk-pe_store_non_resource_actions_in_a_hashtable_where_we_can_easily_and_cheaply_find_them_again.patch
-Patch97:        bz1078078-pcmk-pe_automatically_re_unfence_a_node_if_the_fencing_device_definition_changes.patch
-Patch98:        bz1078078-pcmk-pe_fencing_devices_default_to_only_requiring_quorum_in_order_to_start.patch
-Patch99:        bz1078078-pcmk-pe_delay_unfencing_until_after_we_know_the_state_of_all_resources_that_require_unfencing.patch
-Patch100:       bz1078078-pcmk-lrmd_provide_stderr_output_from_agents_if_available_otherwise_fall_back_to_stdout.patch
-Patch101:       bz1078078-pcmk-crmd_report_unsuccessful_unfencing_operations.patch
-Patch102:       bz1078078-pcmk-fencing_automatically_switch_from_list_to_status_to_static_list_if_those_actions_are_not_advertised_in_the_metadata.patch
-Patch103:       bz1078078-pcmk-filter_self_fencing_at_the_peers_to_allow_unfencing_to_work_correctly.patch
-Patch104:       bz1078078-pcmk-pe_ensure_unfencing_occurs_before_fencing_devices_are_re_probed.patch
-Patch105:       bz1078078-pcmk-logging_daemons_always_get_a_log_file_unless_explicitly_set_to_configured_none.patch
-Patch106:       bz1078078-pcmk-logging_simplify_processing_of_logging_directives.patch
-Patch107:       bz1078078-pcmk-lrmd_expose_logging_variables_expected_by_ocf_agents.patch
-Patch108:       bz1078078-pcmk-fencing_correctly_record_which_peer_performed_the_fencing_operation.patch
-Patch109:       bz1078078-pcmk-crmd_do_not_erase_the_status_section_for_unfenced_nodes.patch
-Patch110:       bz1078078-pcmk-crmd_device_isn_t_hooked_up_yet_don_t_bother_logging_it.patch
-Patch111:       bz1078078-pcmk-pe_ensure_unfencing_only_happens_once_even_if_the_transition_is_interrupted.patch
-Patch112:       bz1078078-pcmk-pe_do_not_unfence_nodes_that_are_offline_unclean_or_shutting_down.patch
-Patch113:        bz1078078-pcmk-warn_about_fencing_when_fencing_is_disabled.patch
-Patch114:        bz1078078-pcmk-crmd_do_not_overwrite_existing_node_state_when_fencing_completes.patch
-Patch115:        bz1078078-pcmk-unfencing_is_based_on_device_probes_there_is_no_need_to_unfence_when_normal_resources_are_found_active.patch
-Patch116:        bz1078078-pcmk-pe_repair_regression_tests.patch
-Patch117:        bz1078078-pcmk-crm_resource_wait_for_the_correct_number_of_replies_when_cleaning_up_resources.patch
-Patch118:        bz1078078-pcmk-crm_report_suppress_logging_errors_after_the_target_directory_has_been_compressed.patch
-Patch119:        bz1078078-pcmk-fence_using_all_required_devices.patch
-Patch120:        bz1078078-pcmk-execute_all_required_fencing_devices_regardless_of_what_topology_level_they_are_at.patch
-Patch121:        bz1078078-pcmk-default_to_off_when_agent_does_not_advertise_reboot_in_metadata.patch
-Patch122:        bz1115024-pcmk-handle_systemd_reporting_done_before_a_resource_is_actually_stopped.patch
-Patch123:        bz1139701-pcmk-unref_reply_to_prevent_systemd_action_timeouts.patch
+# eg. https://github.com/ClusterLabs/pacemaker/archive/a14efad51ca8f1e3742fd8520e051cd7a0864f04/pacemaker-a14efad51ca8f1e3742fd8520e051cd7a0864f04.tar.gz
+Source0:       https://github.com/%{github_owner}/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz
+Patch1:        pacemaker-rollup-be1e835.patch
+Patch2:        pacemaker-rollup-031e46c.patch
+Patch3:        pacemaker-no-quorum-log.patch
+Patch4:        pacemaker-coverity-fixes.patch
+Patch5:        pacemaker-startup-without-sbd.patch
+Patch6:        pacemaker-async-systemd-reload.patch
+Patch7:        pacemaker-resource-restart.patch
+Patch8:        bz1162727-pcmk-membership-cleanup.patch
+Patch9:        bz1165423-pcmk-long-systemd-stop.patch
+Patch10:       bz1165423-pcmk-coverity.patch
+Patch11:       pacemaker-094c0ea-to-d9a51c6.patch
+Patch12:       bz1176210-require-all.patch
+Patch13:       pacemaker-f43678b-to-fe1ef5c-acl-fix.patch
+Patch14:       pacemaker-5147bbf46b81708a1ac544a4cfd204b50938c67c-crmd-memleak.patch
+Patch15:       pacemaker-6d482cf1c1226f75e59569b930cf916ccb0d350f-pcmk-remote-timer-fix.patch
+Patch16:       pacemaker-8ffcf86bcab8bf98d5477a68b73e5062eb0c0fad-pacemakerd-memleak.patch
+Patch17:       pacemaker-3414f1cd3ebcc2e6f787ea14d8e31510f36fbe4a-update-membership.patch
+Patch18:       bz1117341-remote-imply-stop-on-fence.patch
+Patch19:       pacemaker-7170ed-fix-acl-correctly-implement-the-reference-acl-direct.patch
+Patch20:       pacemaker-attrd-updater-other-nodes.patch
+Patch21:       pacemaker-unknown-long-options.patch
+Patch22:       pacemaker-resource-restart-segfault.patch
+Patch23:       bz1176210-handle-orphaned-remote-nodes.patch
 
 BuildRoot:     %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
 AutoReqProv:   on
 Requires:      python >= 2.4
-Requires:      resource-agents
+Requires:      resource-agents sbd
 Requires:      %{name}-libs = %{version}-%{release}
 Requires:      %{name}-cluster-libs = %{version}-%{release}
 Requires:      %{name}-cli = %{version}-%{release}
@@ -199,7 +101,7 @@ Provides:      rgmanager >= 3.2.0
 %endif
 
 %if 0%{?rhel} > 0
-ExclusiveArch: i686 x86_64
+ExclusiveArch: i686 x86_64 s390x
 %endif
 
 # Required for core functionality
@@ -370,7 +272,7 @@ manager for Corosync, CMAN and/or Linux-HA.
 
 
 %prep
-%autosetup -n %{upstream_prefix}-%{upstream_version} -p1
+%autosetup -n %{name}-%{commit} -p1
 
 # Add '-S git' to have RPM generate a git repo out of the patches
 
@@ -406,7 +308,8 @@ sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
 make %{_smp_mflags} V=1 docdir=%{pcmk_docdir} all
 
 %check
-./BasicSanity.sh -V pengine cli
+# Prevent false positives in rpmlint
+./BasicSanity.sh -V pengine cli 2>&1 | sed s/[fF]ail/faiil/g
 
 %install
 rm -rf %{buildroot}
@@ -498,6 +401,7 @@ exit 0
 
 %exclude %{_datadir}/pacemaker/tests
 
+%config(noreplace) %{_sysconfdir}/logrotate.d/pacemaker
 %config(noreplace) %{_sysconfdir}/sysconfig/pacemaker
 %{_sbindir}/pacemakerd
 
@@ -651,15 +555,86 @@ exit 0
 %doc AUTHORS
 
 %changelog
-* Mon Sep 22 2014 Andrew Beekhof <beekhof@redhat.com> - 1.1.10-32.el7_0.1
 
-- Fix: Bug rhbz#1139701 - Unref dbus reply to prevent systemd action timeouts
-    Resolves: rhbz#1145740
+* Thu Jan 15 2015 Andrew Beekhof <abeekhof@redhat.com> - 1.1.12-22
+- Fix segfault encountered with orphaned remote node connections
+
+  Resolves: rhbz#1176210
+
+* Thu Jan 15 2015 Andrew Beekhof <abeekhof@redhat.com> - 1.1.12-21
+- Fix use-after-free in CLI tool when restarting a resource 
+
+* Tue Jan 13 2015 Andrew Beekhof <abeekhof@redhat.com> - 1.1.12-20
+- Expose the -N/--node option for attrd_updater to allow attributes to
+  be set for other nodes
+
+* Sun Jan 11 2015 David Vossel <dvossel@redhat.com> - 1.1.12-19
+- Imply stop on actions within containers during host fencing
+- acl correctly implement the reference acl direct
+
+  Resolves: rhbz#1117341
+
+* Tue Jan 6 2015 David Vossel <dvossel@redhat.com> - 1.1.12-18
+- clone order constraint require-all option.
+- fix memory leaks in crmd and pacemakerd
+
+  Resolves: rhbz#1176210
+
+* Tue Dec 16 2014 David Vossel <dvossel@redhat.com> - 1.1.12-15
+- Include ipc and pacemaker remote related upstream fixes.
+
+* Wed Nov 26 2014 Andrew Beekhof <abeekhof@redhat.com> - 1.1.12-13
+- Update patch level to upstream a433de6
+- Ensure we wait for long running systemd stop operations to complete
+  Resolves: rhbz#1165423
+
+* Tue Nov 18 2014 Andrew Beekhof <abeekhof@redhat.com> - 1.1.12-11
+- Update patch level to upstream 7dd9022
+- Ensure all internal caches are updated when nodes are removed from the cluster
+  Resolves: rhbz#1162727
+ 
+* Wed Nov 05 2014 Andrew Beekhof <abeekhof@redhat.com> - 1.1.12-10
+- Update patch level to upstream 98b6688
+- Support an intelligent resource restart operation
+- Exclusive discovery implies running the resource is only possible on the listed nodes
+
+* Wed Nov 05 2014 Andrew Beekhof <abeekhof@redhat.com> - 1.1.12-9
+- Update patch level to upstream fb94901
+- Prevent blocking by performing systemd reloads asynchronously
+
+* Tue Oct 28 2014 Andrew Beekhof <abeekhof@redhat.com> - 1.1.12-8
+- Repair the ability to start when sbd is not enabled
+
+* Mon Oct 27 2014 Andrew Beekhof <abeekhof@redhat.com> - 1.1.12-7
+- Update patch level to upstream afa0f33
+  - Resolve coverity defects
+
+* Fri Oct 24 2014 Andrew Beekhof <abeekhof@redhat.com> - 1.1.12-5
+- Update patch level to upstream 031e46c
+  - Prevent glib assert triggered by timers being removed from mainloop more than once 
+  - Allow rsc discovery to be disabled in certain situations
+  - Allow remote-nodes to be placed in maintenance mode
+  - Improved sbd integration
+
+* Thu Oct 16 2014 Andrew Beekhof <abeekhof@redhat.com> - 1.1.12-4
+- Add install dependancy on sbd
+
+* Wed Oct 01 2014 Andrew Beekhof <abeekhof@redhat.com> - 1.1.12-3
+- Update patch level to upstream be1e835
+    Resolves: rhbz#1147989
+
+* Fri Sep 19 2014 Fabio M. Di Nitto <fdinitto@redhat.com> - 1.1.12-2
+- Enable build on s390x
+    Resolves: rhbz#1140917
+
+* Mon Sep 08 2014 Andrew Beekhof <abeekhof@redhat.com> - 1.1.12-1
+- Rebase to upstream a14efad51ca8f1e3742fd8520e051cd7a0864f04 (1.1.12+)
+    Resolves: rhbz#1059626
 
 * Fri Jul 04 2014 Andrew Beekhof <abeekhof@redhat.com> - 1.1.10-32
 
 - Fix: lrmd: Handle systemd reporting 'done' before a resource is actually stopped
-    Resolves: rhbz#1115024
+    Resolves: rhbz#1111747
 
 * Thu Apr 17 2014 David Vossel <dvossel@redhat.com> - 1.1.10-31
 
@@ -849,7 +824,7 @@ exit 0
   + Fix: crmd: Prevent recurring monitors being cancelled due to notify operations
 
 * Fri Jul 26 2013 Andrew Beekhof <andrew@beekhof.net> Pacemaker-1.1.10-6
-- Update source tarball to revision: 368c726
+- Update source tarball to revision: 368c726 (Pacemaker-1.1.10-rc7)
 - Changesets: 18
 - Diff:       9 files changed, 245 insertions(+), 170 deletions(-)