Blob Blame History Raw
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>