Blob Blame History Raw
commit cf7988cb02e96f7a278569dcee410691cb7b85e0
Author: Andrew Beekhof <andrew@beekhof.net>
Date:   Fri Apr 4 11:59:13 2014 +1100

    Fix: PE: Delay unfencing until after we know the state of all resources that require unfencing
    
    (cherry picked from commit 22666466bd9e50efdd8efb6c1775c71785c900b1)
    
    Conflicts:
    	include/crm/pengine/internal.h
    	include/crm/pengine/status.h
    	lib/pengine/unpack.c
    	lib/pengine/utils.c
    	pengine/test10/unfence-definition.dot
    	pengine/test10/unfence-definition.exp
    	pengine/test10/unfence-definition.summary
    	pengine/test10/unfence-parameters.dot
    	pengine/test10/unfence-parameters.exp
    	pengine/test10/unfence-parameters.summary
    	pengine/test10/unfence-startup.dot
    	pengine/test10/unfence-startup.exp
    	pengine/test10/unfence-startup.xml

diff --git a/include/crm/pengine/internal.h b/include/crm/pengine/internal.h
index 657c647..b4907c1 100644
--- a/include/crm/pengine/internal.h
+++ b/include/crm/pengine/internal.h
@@ -260,8 +260,13 @@ typedef struct op_digest_cache_s {
 op_digest_cache_t *rsc_action_digest_cmp(resource_t * rsc, xmlNode * xml_op, node_t * node,
                                          pe_working_set_t * data_set);
 
-gboolean is_remote_node(xmlNode *xml);
+action_t *pe_fence_op(node_t * node, const char *op, bool optional, pe_working_set_t * data_set);
+void trigger_unfencing(
+    resource_t * rsc, node_t *node, const char *reason, action_t *dependancy, pe_working_set_t * data_set);
+
+void set_bit_recursive(resource_t * rsc, unsigned long long flag);
 void clear_bit_recursive(resource_t * rsc, unsigned long long flag);
 
+gboolean is_remote_node(xmlNode *xml);
 resource_t * rsc_contains_remote_node(pe_working_set_t * data_set, resource_t *rsc);
 #endif
diff --git a/include/crm/pengine/status.h b/include/crm/pengine/status.h
index ddf9dd7..6542737 100644
--- a/include/crm/pengine/status.h
+++ b/include/crm/pengine/status.h
@@ -191,6 +191,7 @@ struct node_s {
 #  define pe_rsc_needs_quorum	 0x10000000ULL
 #  define pe_rsc_needs_fencing	 0x20000000ULL
 #  define pe_rsc_needs_unfencing 0x40000000ULL
+#  define pe_rsc_have_unfencing  0x80000000ULL
 
 enum pe_graph_flags {
     pe_graph_none = 0x00000,
diff --git a/lib/pengine/clone.c b/lib/pengine/clone.c
index b13cceb..90d7eca 100644
--- a/lib/pengine/clone.c
+++ b/lib/pengine/clone.c
@@ -47,19 +47,6 @@ mark_as_orphan(resource_t * rsc)
 }
 
 void
-clear_bit_recursive(resource_t * rsc, unsigned long long flag)
-{
-    GListPtr gIter = rsc->children;
-
-    clear_bit(rsc->flags, flag);
-    for (; gIter != NULL; gIter = gIter->next) {
-        resource_t *child_rsc = (resource_t *) gIter->data;
-
-        clear_bit_recursive(child_rsc, flag);
-    }
-}
-
-void
 force_non_unique_clone(resource_t * rsc, const char *rid, pe_working_set_t * data_set)
 {
     if (rsc->variant == pe_clone || rsc->variant == pe_master) {
diff --git a/lib/pengine/complex.c b/lib/pengine/complex.c
index 0f20481..a3133e7 100644
--- a/lib/pengine/complex.c
+++ b/lib/pengine/complex.c
@@ -575,7 +575,7 @@ common_unpack(xmlNode * xml_obj, resource_t ** rsc,
     } else if (safe_str_eq(value, "fencing")) {
         set_bit((*rsc)->flags, pe_rsc_needs_fencing);
         if (is_set(data_set->flags, pe_flag_stonith_enabled)) {
-            crm_config_warn("%s requires (un)fencing but fencing is disabled", (*rsc)->id);
+            crm_config_warn("%s requires fencing but fencing is disabled", (*rsc)->id);
         }
 
     } else {
diff --git a/lib/pengine/unpack.c b/lib/pengine/unpack.c
index 39ded96..eb10bd8 100644
--- a/lib/pengine/unpack.c
+++ b/lib/pengine/unpack.c
@@ -2325,6 +2325,31 @@ unpack_rsc_op(resource_t * rsc, node_t * node, xmlNode * xml_op,
      * didnt include target_rc and liked to remap status
      */
     switch (actual_rc_i) {
+        case PCMK_OCF_OK:
+            if (is_probe && target_rc == 7) {
+                task_status_i = PCMK_LRM_OP_DONE;
+                set_bit(rsc->flags, pe_rsc_unexpectedly_running);
+
+                if(is_set(rsc->flags, pe_rsc_needs_unfencing)) {
+                    /* _Require_ unfencing after probing resources that need unfencing and was found active */
+                    crm_warn("Operation %s found resource %s active on %s: triggering unfencing",
+                             task, rsc->id, node->details->uname);
+                    trigger_unfencing(NULL, node, "Unexpected state", NULL, data_set);
+
+                } else {
+                    pe_rsc_info(rsc, "Operation %s found resource %s active on %s",
+                                task, rsc->id, node->details->uname);
+                }
+
+                /* legacy code for pre-0.6.5 operations */
+            } else if (target_rc < 0 && interval > 0 && rsc->role == RSC_ROLE_MASTER) {
+                /* catch status ops that return 0 instead of 8 while they
+                 *   are supposed to be in master mode
+                 */
+                task_status_i = PCMK_LRM_OP_ERROR;
+            }
+            break;
+
         case PCMK_OCF_NOT_RUNNING:
             if (is_probe || target_rc == actual_rc_i) {
                 task_status_i = PCMK_LRM_OP_DONE;
@@ -2415,23 +2440,6 @@ unpack_rsc_op(resource_t * rsc, node_t * node, xmlNode * xml_op,
             }
             break;
 
-        case PCMK_OCF_OK:
-            if (is_probe && target_rc == 7) {
-                task_status_i = PCMK_LRM_OP_DONE;
-                set_bit(rsc->flags, pe_rsc_unexpectedly_running);
-                pe_rsc_info(rsc, "Operation %s found resource %s active on %s",
-                            task, rsc->id, node->details->uname);
-
-                /* legacy code for pre-0.6.5 operations */
-            } else if (target_rc < 0 && interval > 0 && rsc->role == RSC_ROLE_MASTER) {
-                /* catch status ops that return 0 instead of 8 while they
-                 *   are supposed to be in master mode
-                 */
-                task_status_i = PCMK_LRM_OP_ERROR;
-            }
-
-            break;
-
         default:
             if (task_status_i == PCMK_LRM_OP_DONE) {
                 crm_info("Remapping %s (rc=%d) on %s to an ERROR",
diff --git a/lib/pengine/utils.c b/lib/pengine/utils.c
index 2520eeb..e84d341 100644
--- a/lib/pengine/utils.c
+++ b/lib/pengine/utils.c
@@ -1807,3 +1807,92 @@ rsc_contains_remote_node(pe_working_set_t * data_set, resource_t *rsc)
     return NULL;
 }
 
+void
+clear_bit_recursive(resource_t * rsc, unsigned long long flag)
+{
+    GListPtr gIter = rsc->children;
+
+    clear_bit(rsc->flags, flag);
+    for (; gIter != NULL; gIter = gIter->next) {
+        resource_t *child_rsc = (resource_t *) gIter->data;
+
+        clear_bit_recursive(child_rsc, flag);
+    }
+}
+
+void
+set_bit_recursive(resource_t * rsc, unsigned long long flag)
+{
+    GListPtr gIter = rsc->children;
+
+    set_bit(rsc->flags, flag);
+    for (; gIter != NULL; gIter = gIter->next) {
+        resource_t *child_rsc = (resource_t *) gIter->data;
+
+        set_bit_recursive(child_rsc, flag);
+    }
+}
+
+action_t *
+pe_fence_op(node_t * node, const char *op, bool optional, pe_working_set_t * data_set)
+{
+    char *key = NULL;
+    action_t *stonith_op = NULL;
+
+    if(op == NULL) {
+        op = data_set->stonith_action;
+    }
+
+    key = g_strdup_printf("%s-%s-%s", CRM_OP_FENCE, node->details->uname, op);
+
+    if(data_set->singletons) {
+        stonith_op = g_hash_table_lookup(data_set->singletons, key);
+    }
+
+    if(stonith_op == NULL) {
+        stonith_op = custom_action(NULL, key, CRM_OP_FENCE, node, optional, TRUE, data_set);
+
+        add_hash_param(stonith_op->meta, XML_LRM_ATTR_TARGET, node->details->uname);
+        add_hash_param(stonith_op->meta, XML_LRM_ATTR_TARGET_UUID, node->details->id);
+        add_hash_param(stonith_op->meta, "stonith_action", op);
+    }
+
+    if(optional == FALSE) {
+        crm_trace("%s is no longer optional", stonith_op->uuid);
+        pe_clear_action_bit(stonith_op, pe_action_optional);
+    }
+
+    return stonith_op;
+}
+
+void
+trigger_unfencing(
+    resource_t * rsc, node_t *node, const char *reason, action_t *dependancy, pe_working_set_t * data_set) 
+{
+    if(is_not_set(data_set->flags, pe_flag_enable_unfencing)) {
+        /* No resources require it */
+        return;
+
+    } else if (rsc != NULL && is_not_set(rsc->flags, pe_rsc_fence_device)) {
+        /* Wasnt a stonith device */
+        return;
+
+    } else if(node) {
+        action_t *unfence = pe_fence_op(node, "on", FALSE, data_set);
+
+        crm_notice("Unfencing %s: %s", node->details->uname, reason);
+        if(FALSE && dependancy) {
+            order_actions(unfence, dependancy, pe_order_optional);
+        }
+
+    } else if(rsc) {
+        GHashTableIter iter;
+
+        g_hash_table_iter_init(&iter, rsc->allowed_nodes);
+        while (g_hash_table_iter_next(&iter, NULL, (void **)&node)) {
+            if(node->details->online && node->details->unclean == FALSE && node->details->shutdown == FALSE) {
+                trigger_unfencing(rsc, node, reason, dependancy, data_set);
+            }
+        }
+    }
+}
diff --git a/pengine/allocate.c b/pengine/allocate.c
index 88258f4..3480eb9 100644
--- a/pengine/allocate.c
+++ b/pengine/allocate.c
@@ -1267,70 +1267,6 @@ any_managed_resources(pe_working_set_t * data_set)
     return FALSE;
 }
 
-void
-trigger_unfencing(
-    resource_t * rsc, node_t *node, const char *reason, action_t *dependancy, pe_working_set_t * data_set) 
-{
-    if(is_not_set(data_set->flags, pe_flag_enable_unfencing)) {
-        /* No resources require it */
-        return;
-
-    } else if (rsc != NULL && is_not_set(rsc->flags, pe_rsc_fence_device)) {
-        /* Wasnt a stonith device */
-        return;
-
-    } else if(node) {
-        action_t *unfence = pe_fence_op(node, "on", FALSE, data_set);
-
-        crm_notice("Unfencing %s: %s", node->details->uname, reason);
-        if(FALSE && dependancy) {
-            order_actions(dependancy, unfence, pe_order_optional);
-        }
-
-    } else if(rsc) {
-        GHashTableIter iter;
-
-        g_hash_table_iter_init(&iter, rsc->allowed_nodes);
-        while (g_hash_table_iter_next(&iter, NULL, (void **)&node)) {
-            if(node->details->online && node->details->unclean == FALSE && node->details->shutdown == FALSE) {
-                trigger_unfencing(rsc, node, reason, dependancy, data_set);
-            }
-        }
-    }
-}
-
-action_t *
-pe_fence_op(node_t * node, const char *op, bool optional, pe_working_set_t * data_set)
-{
-    char *key = NULL;
-    action_t *stonith_op = NULL;
-
-    if(op == NULL) {
-        op = data_set->stonith_action;
-    }
-
-    key = g_strdup_printf("%s-%s-%s", CRM_OP_FENCE, node->details->uname, op);
-
-    if(data_set->singletons) {
-        stonith_op = g_hash_table_lookup(data_set->singletons, key);
-    }
-
-    if(stonith_op == NULL) {
-        stonith_op = custom_action(NULL, key, CRM_OP_FENCE, node, optional, TRUE, data_set);
-
-        add_hash_param(stonith_op->meta, XML_LRM_ATTR_TARGET, node->details->uname);
-        add_hash_param(stonith_op->meta, XML_LRM_ATTR_TARGET_UUID, node->details->id);
-        add_hash_param(stonith_op->meta, "stonith_action", op);
-    }
-
-    if(optional == FALSE) {
-        crm_trace("%s is no longer optional", stonith_op->uuid);
-        pe_clear_action_bit(stonith_op, pe_action_optional);
-    }
-
-    return stonith_op;
-}
-
 /*
  * Create dependancies for stonith and shutdown operations
  */
diff --git a/pengine/allocate.h b/pengine/allocate.h
index 712de60..0a352fd 100644
--- a/pengine/allocate.h
+++ b/pengine/allocate.h
@@ -51,8 +51,6 @@ struct resource_alloc_functions_s {
     void (*append_meta) (resource_t * rsc, xmlNode * xml);
 };
 
-action_t *pe_fence_op(node_t * node, const char *op, bool optional, pe_working_set_t * data_set);
-
 extern GHashTable *rsc_merge_weights(resource_t * rsc, const char *rhs, GHashTable * nodes,
                                      const char *attr, float factor, enum pe_weights flags);
 
@@ -161,8 +159,6 @@ extern void rsc_migrate_reload(resource_t * rsc, pe_working_set_t * data_set);
 extern void rsc_stonith_ordering(resource_t * rsc, action_t * stonith_op,
                                  pe_working_set_t * data_set);
 
-void trigger_unfencing(resource_t * rsc, node_t *node, const char *reason, action_t *dependancy, pe_working_set_t * data_set);
-
 extern enum pe_graph_flags native_update_actions(action_t * first, action_t * then, node_t * node,
                                                  enum pe_action_flags flags,
                                                  enum pe_action_flags filter,
diff --git a/pengine/native.c b/pengine/native.c
index d0eb950..3d75dc9 100644
--- a/pengine/native.c
+++ b/pengine/native.c
@@ -1253,14 +1253,15 @@ native_internal_constraints(resource_t * rsc, pe_working_set_t * data_set)
 
     if (is_stonith == FALSE
         && is_set(data_set->flags, pe_flag_enable_unfencing)
-        && is_set(rsc->flags, pe_rsc_needs_unfencing)) {
+        && is_set(rsc->flags, pe_rsc_needs_unfencing)
+        && is_not_set(rsc->flags, pe_rsc_have_unfencing)) {
         /* Check if the node needs to be unfenced first */
         node_t *node = NULL;
         GHashTableIter iter;
 
         if(rsc != top) {
             /* Only create these constraints once, rsc is almost certainly cloned */
-            clear_bit_recursive(top, pe_rsc_needs_unfencing);
+            clear_bit_recursive(top, pe_rsc_have_unfencing);
         }
 
         g_hash_table_iter_init(&iter, rsc->allowed_nodes);
@@ -2482,9 +2483,26 @@ native_create_probe(resource_t * rsc, node_t * node, action_t * complete,
     probe = custom_action(rsc, key, RSC_STATUS, node, FALSE, TRUE, data_set);
     update_action_flags(probe, pe_action_optional | pe_action_clear);
 
-    if(is_set(rsc->flags, pe_rsc_fence_device)) {
-        crm_crit("TODO: %s: Trigger when probing the device or the resource that needs unfencing?", rsc->id);
+    /* If enabled, require unfencing before probing any fence devices
+     * but ensure it happens after any resources that require
+     * unfencing have been probed.
+     *
+     * Doing it the other way (requiring unfencing after probing
+     * resources that need it) would result in the node being
+     * unfenced, and all its resources being stopped, whenever a new
+     * resource is added.  Which would be highly suboptimal.
+     *
+     * So essentially, at the point the fencing device(s) have been
+     * probed, we know the state of all resources that require
+     * unfencing and that unfencing occurred.
+     */
+    if(is_set(rsc->flags, pe_rsc_fence_device) && is_set(data_set->flags, pe_flag_enable_unfencing)) {
         trigger_unfencing(NULL, node, "node discovery", probe, data_set);
+
+    } else if(is_set(rsc->flags, pe_rsc_needs_unfencing)) {
+        action_t *unfence = pe_fence_op(node, "on", TRUE, data_set);
+
+        order_actions(probe, unfence, pe_order_optional);
     }
 
     /*
diff --git a/pengine/test10/unfence-definition.dot b/pengine/test10/unfence-definition.dot
new file mode 100644
index 0000000..e737687
--- /dev/null
+++ b/pengine/test10/unfence-definition.dot
@@ -0,0 +1,102 @@
+digraph "g" {
+"all_stopped" -> "fencing_start_0 virt-1" [ style = bold]
+"all_stopped" [ style=bold color="green" fontcolor="orange"]
+"clvmd-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"clvmd-clone_start_0" -> "clvmd-clone_running_0" [ style = bold]
+"clvmd-clone_start_0" -> "clvmd:1_start_0 virt-2" [ style = bold]
+"clvmd-clone_start_0" -> "clvmd:2_start_0 virt-3" [ style = bold]
+"clvmd-clone_start_0" -> "clvmd_start_0 virt-1" [ style = bold]
+"clvmd-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"clvmd-clone_stop_0" -> "clvmd-clone_stopped_0" [ style = bold]
+"clvmd-clone_stop_0" -> "clvmd_stop_0 virt-1" [ style = bold]
+"clvmd-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"clvmd-clone_stopped_0" -> "clvmd-clone_start_0" [ style = bold]
+"clvmd-clone_stopped_0" -> "dlm-clone_stop_0" [ style = bold]
+"clvmd-clone_stopped_0" -> "stonith 'on' virt-1" [ style = bold]
+"clvmd-clone_stopped_0" -> "stonith 'on' virt-3" [ style = bold]
+"clvmd-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"clvmd:1_monitor_0 virt-2" -> "probe_complete virt-2" [ style = bold]
+"clvmd:1_monitor_0 virt-2" [ style=bold color="green" fontcolor="black"]
+"clvmd:1_start_0 virt-2" -> "clvmd-clone_running_0" [ style = bold]
+"clvmd:1_start_0 virt-2" -> "clvmd:2_start_0 virt-3" [ style = bold]
+"clvmd:1_start_0 virt-2" [ style=bold color="green" fontcolor="black"]
+"clvmd:2_monitor_0 virt-3" -> "probe_complete virt-3" [ style = bold]
+"clvmd:2_monitor_0 virt-3" -> "stonith 'on' virt-3" [ style = bold]
+"clvmd:2_monitor_0 virt-3" [ style=bold color="green" fontcolor="black"]
+"clvmd:2_start_0 virt-3" -> "clvmd-clone_running_0" [ style = bold]
+"clvmd:2_start_0 virt-3" [ style=bold color="green" fontcolor="black"]
+"clvmd_start_0 virt-1" -> "clvmd-clone_running_0" [ style = bold]
+"clvmd_start_0 virt-1" -> "clvmd:1_start_0 virt-2" [ style = bold]
+"clvmd_start_0 virt-1" [ style=bold color="green" fontcolor="black"]
+"clvmd_stop_0 virt-1" -> "all_stopped" [ style = bold]
+"clvmd_stop_0 virt-1" -> "clvmd-clone_stopped_0" [ style = bold]
+"clvmd_stop_0 virt-1" -> "clvmd_start_0 virt-1" [ style = bold]
+"clvmd_stop_0 virt-1" -> "dlm_stop_0 virt-1" [ style = bold]
+"clvmd_stop_0 virt-1" [ style=bold color="green" fontcolor="black"]
+"dlm-clone_running_0" -> "clvmd-clone_start_0" [ style = bold]
+"dlm-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"dlm-clone_start_0" -> "dlm-clone_running_0" [ style = bold]
+"dlm-clone_start_0" -> "dlm:2_start_0 virt-3" [ style = bold]
+"dlm-clone_start_0" -> "dlm_start_0 virt-1" [ style = bold]
+"dlm-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"dlm-clone_stop_0" -> "dlm-clone_stopped_0" [ style = bold]
+"dlm-clone_stop_0" -> "dlm_stop_0 virt-1" [ style = bold]
+"dlm-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"dlm-clone_stopped_0" -> "dlm-clone_start_0" [ style = bold]
+"dlm-clone_stopped_0" -> "stonith 'on' virt-1" [ style = bold]
+"dlm-clone_stopped_0" -> "stonith 'on' virt-3" [ style = bold]
+"dlm-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"dlm:2_monitor_0 virt-3" -> "probe_complete virt-3" [ style = bold]
+"dlm:2_monitor_0 virt-3" -> "stonith 'on' virt-3" [ style = bold]
+"dlm:2_monitor_0 virt-3" [ style=bold color="green" fontcolor="black"]
+"dlm:2_start_0 virt-3" -> "clvmd:2_start_0 virt-3" [ style = bold]
+"dlm:2_start_0 virt-3" -> "dlm-clone_running_0" [ style = bold]
+"dlm:2_start_0 virt-3" [ style=bold color="green" fontcolor="black"]
+"dlm_start_0 virt-1" -> "clvmd_start_0 virt-1" [ style = bold]
+"dlm_start_0 virt-1" -> "dlm-clone_running_0" [ style = bold]
+"dlm_start_0 virt-1" [ style=bold color="green" fontcolor="black"]
+"dlm_stop_0 virt-1" -> "all_stopped" [ style = bold]
+"dlm_stop_0 virt-1" -> "dlm-clone_stopped_0" [ style = bold]
+"dlm_stop_0 virt-1" -> "dlm_start_0 virt-1" [ style = bold]
+"dlm_stop_0 virt-1" [ style=bold color="green" fontcolor="black"]
+"fencing_delete_0 virt-1" -> "fencing_start_0 virt-1" [ style = bold]
+"fencing_delete_0 virt-1" [ style=bold color="green" fontcolor="black"]
+"fencing_monitor_0 virt-3" -> "probe_complete virt-3" [ style = bold]
+"fencing_monitor_0 virt-3" [ style=bold color="green" fontcolor="black"]
+"fencing_start_0 virt-1" [ style=bold color="green" fontcolor="black"]
+"fencing_stop_0 virt-1" -> "all_stopped" [ style = bold]
+"fencing_stop_0 virt-1" -> "fencing_delete_0 virt-1" [ style = bold]
+"fencing_stop_0 virt-1" -> "fencing_start_0 virt-1" [ style = bold]
+"fencing_stop_0 virt-1" [ style=bold color="green" fontcolor="black"]
+"probe_complete virt-1" -> "probe_complete" [ style = bold]
+"probe_complete virt-1" [ style=bold color="green" fontcolor="black"]
+"probe_complete virt-2" -> "probe_complete" [ style = bold]
+"probe_complete virt-2" [ style=bold color="green" fontcolor="black"]
+"probe_complete virt-3" -> "probe_complete" [ style = bold]
+"probe_complete virt-3" [ style=bold color="green" fontcolor="black"]
+"probe_complete" -> "clvmd:1_start_0 virt-2" [ style = bold]
+"probe_complete" -> "clvmd:2_start_0 virt-3" [ style = bold]
+"probe_complete" -> "clvmd_start_0 virt-1" [ style = bold]
+"probe_complete" -> "clvmd_stop_0 virt-1" [ style = bold]
+"probe_complete" -> "dlm:2_start_0 virt-3" [ style = bold]
+"probe_complete" -> "dlm_start_0 virt-1" [ style = bold]
+"probe_complete" -> "dlm_stop_0 virt-1" [ style = bold]
+"probe_complete" -> "fencing_start_0 virt-1" [ style = bold]
+"probe_complete" -> "fencing_stop_0 virt-1" [ style = bold]
+"probe_complete" [ style=bold color="green" fontcolor="orange"]
+"stonith 'on' virt-1" -> "clvmd-clone_start_0" [ style = bold]
+"stonith 'on' virt-1" -> "dlm-clone_start_0" [ style = bold]
+"stonith 'on' virt-1" [ style=bold color="green" fontcolor="black"]
+"stonith 'on' virt-3" -> "clvmd-clone_start_0" [ style = bold]
+"stonith 'on' virt-3" -> "dlm-clone_start_0" [ style = bold]
+"stonith 'on' virt-3" [ style=bold color="green" fontcolor="black"]
+"stonith 'reboot' virt-4" -> "stonith_complete" [ style = bold]
+"stonith 'reboot' virt-4" [ style=bold color="green" fontcolor="black"]
+"stonith_complete" -> "all_stopped" [ style = bold]
+"stonith_complete" -> "clvmd:1_start_0 virt-2" [ style = bold]
+"stonith_complete" -> "clvmd:2_start_0 virt-3" [ style = bold]
+"stonith_complete" -> "clvmd_start_0 virt-1" [ style = bold]
+"stonith_complete" -> "dlm:2_start_0 virt-3" [ style = bold]
+"stonith_complete" -> "dlm_start_0 virt-1" [ style = bold]
+"stonith_complete" [ style=bold color="green" fontcolor="orange"]
+}
diff --git a/pengine/test10/unfence-definition.exp b/pengine/test10/unfence-definition.exp
new file mode 100644
index 0000000..9075347
--- /dev/null
+++ b/pengine/test10/unfence-definition.exp
@@ -0,0 +1,495 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0">
+    <action_set>
+      <rsc_op id="16" operation="start" operation_key="fencing_start_0" on_node="virt-1" on_node_uuid="1">
+        <primitive id="fencing" class="stonith" type="fence_scsi"/>
+        <attributes CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="2" operation="all_stopped" operation_key="all_stopped"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="6" operation="stop" operation_key="fencing_stop_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="7" operation="delete" operation_key="fencing_delete_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="13" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3">
+        <primitive id="fencing" class="stonith" type="fence_scsi"/>
+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="2">
+    <action_set>
+      <rsc_op id="7" operation="delete" operation_key="fencing_delete_0" on_node="virt-1" on_node_uuid="1">
+        <primitive id="fencing" class="stonith" type="fence_scsi"/>
+        <attributes CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="6" operation="stop" operation_key="fencing_stop_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <rsc_op id="6" operation="stop" operation_key="fencing_stop_0" on_node="virt-1" on_node_uuid="1">
+        <primitive id="fencing" class="stonith" type="fence_scsi"/>
+        <attributes CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4">
+    <action_set>
+      <rsc_op id="18" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:0_start_0" on_node="virt-1" on_node_uuid="1">
+        <primitive id="dlm" long-id="dlm:0" class="ocf" provider="pacemaker" type="controld"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="17" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="22" operation="start" operation_key="dlm-clone_start_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="34" operation="stonith_complete" operation_key="stonith_complete"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <rsc_op id="17" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0" on_node="virt-1" on_node_uuid="1">
+        <primitive id="dlm" long-id="dlm:0" class="ocf" provider="pacemaker" type="controld"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="24" operation="stop" operation_key="dlm-clone_stop_0"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="26" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="6">
+    <action_set>
+      <rsc_op id="21" operation="start" operation_key="dlm:2_start_0" on_node="virt-3" on_node_uuid="3">
+        <primitive id="dlm" long-id="dlm:2" class="ocf" provider="pacemaker" type="controld"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="22" operation="start" operation_key="dlm-clone_start_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="34" operation="stonith_complete" operation_key="stonith_complete"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="7">
+    <action_set>
+      <rsc_op id="14" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3">
+        <primitive id="dlm" long-id="dlm:2" class="ocf" provider="pacemaker" type="controld"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="8" priority="1000000">
+    <action_set>
+      <pseudo_event id="25" operation="stopped" operation_key="dlm-clone_stopped_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="17" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="24" operation="stop" operation_key="dlm-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="9">
+    <action_set>
+      <pseudo_event id="24" operation="stop" operation_key="dlm-clone_stop_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="33" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="10" priority="1000000">
+    <action_set>
+      <pseudo_event id="23" operation="running" operation_key="dlm-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="18" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:0_start_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="21" operation="start" operation_key="dlm:2_start_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="22" operation="start" operation_key="dlm-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="11">
+    <action_set>
+      <pseudo_event id="22" operation="start" operation_key="dlm-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <crm_event id="1" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="25" operation="stopped" operation_key="dlm-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="12">
+    <action_set>
+      <rsc_op id="27" operation="start" operation_key="clvmd_start_0" internal_operation_key="clvmd:0_start_0" on_node="virt-1" on_node_uuid="1">
+        <primitive id="clvmd" long-id="clvmd:0" class="ocf" provider="heartbeat" type="clvm"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="18" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:0_start_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="26" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="30" operation="start" operation_key="clvmd-clone_start_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="34" operation="stonith_complete" operation_key="stonith_complete"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="13">
+    <action_set>
+      <rsc_op id="26" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1">
+        <primitive id="clvmd" long-id="clvmd:0" class="ocf" provider="heartbeat" type="clvm"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="32" operation="stop" operation_key="clvmd-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="14">
+    <action_set>
+      <rsc_op id="28" operation="start" operation_key="clvmd:1_start_0" on_node="virt-2" on_node_uuid="2">
+        <primitive id="clvmd" long-id="clvmd:1" class="ocf" provider="heartbeat" type="clvm"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="27" operation="start" operation_key="clvmd_start_0" internal_operation_key="clvmd:0_start_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="30" operation="start" operation_key="clvmd-clone_start_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="34" operation="stonith_complete" operation_key="stonith_complete"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="15">
+    <action_set>
+      <rsc_op id="11" operation="monitor" operation_key="clvmd:1_monitor_0" on_node="virt-2" on_node_uuid="2">
+        <primitive id="clvmd" long-id="clvmd:1" class="ocf" provider="heartbeat" type="clvm"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="16">
+    <action_set>
+      <rsc_op id="29" operation="start" operation_key="clvmd:2_start_0" on_node="virt-3" on_node_uuid="3">
+        <primitive id="clvmd" long-id="clvmd:2" class="ocf" provider="heartbeat" type="clvm"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="21" operation="start" operation_key="dlm:2_start_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="28" operation="start" operation_key="clvmd:1_start_0" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="30" operation="start" operation_key="clvmd-clone_start_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="34" operation="stonith_complete" operation_key="stonith_complete"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="17">
+    <action_set>
+      <rsc_op id="15" operation="monitor" operation_key="clvmd:2_monitor_0" on_node="virt-3" on_node_uuid="3">
+        <primitive id="clvmd" long-id="clvmd:2" class="ocf" provider="heartbeat" type="clvm"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="18" priority="1000000">
+    <action_set>
+      <pseudo_event id="33" operation="stopped" operation_key="clvmd-clone_stopped_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="26" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="32" operation="stop" operation_key="clvmd-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="19">
+    <action_set>
+      <pseudo_event id="32" operation="stop" operation_key="clvmd-clone_stop_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="20" priority="1000000">
+    <action_set>
+      <pseudo_event id="31" operation="running" operation_key="clvmd-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="27" operation="start" operation_key="clvmd_start_0" internal_operation_key="clvmd:0_start_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="28" operation="start" operation_key="clvmd:1_start_0" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="29" operation="start" operation_key="clvmd:2_start_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="30" operation="start" operation_key="clvmd-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="21">
+    <action_set>
+      <pseudo_event id="30" operation="start" operation_key="clvmd-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <crm_event id="1" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="23" operation="running" operation_key="dlm-clone_running_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="33" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="22">
+    <action_set>
+      <crm_event id="35" operation="stonith" operation_key="stonith-virt-4-reboot" on_node="virt-4" on_node_uuid="4">
+        <attributes CRM_meta_on_node="virt-4" CRM_meta_on_node_uuid="4" CRM_meta_stonith_action="reboot" />
+      </crm_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="23">
+    <action_set>
+      <pseudo_event id="34" operation="stonith_complete" operation_key="stonith_complete">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <crm_event id="35" operation="stonith" operation_key="stonith-virt-4-reboot" on_node="virt-4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="24" priority="1000000">
+    <action_set>
+      <rsc_op id="12" operation="probe_complete" operation_key="probe_complete-virt-3" on_node="virt-3" on_node_uuid="3">
+        <attributes CRM_meta_op_no_wait="true" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="13" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="14" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="15" operation="monitor" operation_key="clvmd:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="25" priority="1000000">
+    <action_set>
+      <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-virt-2" on_node="virt-2" on_node_uuid="2">
+        <attributes CRM_meta_op_no_wait="true" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="11" operation="monitor" operation_key="clvmd:1_monitor_0" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="26" priority="1000000">
+    <action_set>
+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-virt-1" on_node="virt-1" on_node_uuid="1">
+        <attributes CRM_meta_op_no_wait="true" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="27">
+    <action_set>
+      <pseudo_event id="8" operation="probe_complete" operation_key="probe_complete">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-virt-1" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-virt-2" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="12" operation="probe_complete" operation_key="probe_complete-virt-3" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="28">
+    <action_set>
+      <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3">
+        <attributes CRM_meta_on_node="virt-3" CRM_meta_on_node_uuid="3" CRM_meta_stonith_action="on" />
+      </crm_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="14" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="15" operation="monitor" operation_key="clvmd:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="25" operation="stopped" operation_key="dlm-clone_stopped_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="33" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="29">
+    <action_set>
+      <pseudo_event id="2" operation="all_stopped" operation_key="all_stopped">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="6" operation="stop" operation_key="fencing_stop_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="17" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="26" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="34" operation="stonith_complete" operation_key="stonith_complete"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="30">
+    <action_set>
+      <crm_event id="1" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1">
+        <attributes CRM_meta_on_node="virt-1" CRM_meta_on_node_uuid="1" CRM_meta_stonith_action="on" />
+      </crm_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="25" operation="stopped" operation_key="dlm-clone_stopped_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="33" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/unfence-definition.summary b/pengine/test10/unfence-definition.summary
new file mode 100644
index 0000000..c954c4b
--- /dev/null
+++ b/pengine/test10/unfence-definition.summary
@@ -0,0 +1,63 @@
+
+Current cluster status:
+Node virt-4 (4): UNCLEAN (offline)
+Online: [ virt-1 virt-2 virt-3 ]
+
+ fencing	(stonith:fence_scsi):	Started virt-1 
+ Clone Set: dlm-clone [dlm]
+     Started: [ virt-1 virt-2 ]
+     Stopped: [ virt-3 virt-4 ]
+ Clone Set: clvmd-clone [clvmd]
+     Started: [ virt-1 ]
+     Stopped: [ virt-2 virt-3 virt-4 ]
+
+Transition Summary:
+ * Restart fencing	(Started virt-1)
+ * Restart dlm:0	(Started virt-1)
+ * Start   dlm:2	(virt-3)
+ * Restart clvmd:0	(Started virt-1)
+ * Start   clvmd:1	(virt-2)
+ * Start   clvmd:2	(virt-3)
+
+Executing cluster transition:
+ * Resource action: fencing         monitor on virt-3
+ * Resource action: dlm             monitor on virt-3
+ * Resource action: clvmd           monitor on virt-2
+ * Resource action: clvmd           monitor on virt-3
+ * Pseudo action:   clvmd-clone_stop_0
+ * Fencing virt-4 (reboot)
+ * Pseudo action:   stonith_complete
+ * Pseudo action:   probe_complete
+ * Resource action: fencing         stop on virt-1
+ * Resource action: clvmd           stop on virt-1
+ * Pseudo action:   clvmd-clone_stopped_0
+ * Resource action: fencing         delete on virt-1
+ * Pseudo action:   dlm-clone_stop_0
+ * Resource action: dlm             stop on virt-1
+ * Pseudo action:   dlm-clone_stopped_0
+ * Fencing virt-3 (on)
+ * Pseudo action:   all_stopped
+ * Fencing virt-1 (on)
+ * Resource action: fencing         start on virt-1
+ * Pseudo action:   dlm-clone_start_0
+ * Resource action: dlm             start on virt-1
+ * Resource action: dlm             start on virt-3
+ * Pseudo action:   dlm-clone_running_0
+ * Pseudo action:   clvmd-clone_start_0
+ * Resource action: clvmd           start on virt-1
+ * Resource action: clvmd           start on virt-2
+ * Resource action: clvmd           start on virt-3
+ * Pseudo action:   clvmd-clone_running_0
+
+Revised cluster status:
+Online: [ virt-1 virt-2 virt-3 ]
+OFFLINE: [ virt-4 ]
+
+ fencing	(stonith:fence_scsi):	Started virt-1 
+ Clone Set: dlm-clone [dlm]
+     Started: [ virt-1 virt-2 virt-3 ]
+     Stopped: [ virt-4 ]
+ Clone Set: clvmd-clone [clvmd]
+     Started: [ virt-1 virt-2 virt-3 ]
+     Stopped: [ virt-4 ]
+
diff --git a/pengine/test10/unfence-parameters.dot b/pengine/test10/unfence-parameters.dot
new file mode 100644
index 0000000..e67eb5a
--- /dev/null
+++ b/pengine/test10/unfence-parameters.dot
@@ -0,0 +1,125 @@
+digraph "g" {
+"all_stopped" -> "fencing_start_0 virt-1" [ style = bold]
+"all_stopped" [ style=bold color="green" fontcolor="orange"]
+"clvmd-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"clvmd-clone_start_0" -> "clvmd-clone_running_0" [ style = bold]
+"clvmd-clone_start_0" -> "clvmd:1_start_0 virt-2" [ style = bold]
+"clvmd-clone_start_0" -> "clvmd:2_start_0 virt-3" [ style = bold]
+"clvmd-clone_start_0" -> "clvmd_start_0 virt-1" [ style = bold]
+"clvmd-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"clvmd-clone_stop_0" -> "clvmd-clone_stopped_0" [ style = bold]
+"clvmd-clone_stop_0" -> "clvmd_stop_0 virt-1" [ style = bold]
+"clvmd-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"clvmd-clone_stopped_0" -> "clvmd-clone_start_0" [ style = bold]
+"clvmd-clone_stopped_0" -> "dlm-clone_stop_0" [ style = bold]
+"clvmd-clone_stopped_0" -> "stonith 'on' virt-1" [ style = bold]
+"clvmd-clone_stopped_0" -> "stonith 'on' virt-2" [ style = bold]
+"clvmd-clone_stopped_0" -> "stonith 'on' virt-3" [ style = bold]
+"clvmd-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"clvmd:1_monitor_0 virt-2" -> "probe_complete virt-2" [ style = bold]
+"clvmd:1_monitor_0 virt-2" -> "stonith 'on' virt-2" [ style = bold]
+"clvmd:1_monitor_0 virt-2" [ style=bold color="green" fontcolor="black"]
+"clvmd:1_start_0 virt-2" -> "clvmd-clone_running_0" [ style = bold]
+"clvmd:1_start_0 virt-2" -> "clvmd:2_start_0 virt-3" [ style = bold]
+"clvmd:1_start_0 virt-2" [ style=bold color="green" fontcolor="black"]
+"clvmd:2_monitor_0 virt-3" -> "probe_complete virt-3" [ style = bold]
+"clvmd:2_monitor_0 virt-3" -> "stonith 'on' virt-3" [ style = bold]
+"clvmd:2_monitor_0 virt-3" [ style=bold color="green" fontcolor="black"]
+"clvmd:2_start_0 virt-3" -> "clvmd-clone_running_0" [ style = bold]
+"clvmd:2_start_0 virt-3" -> "clvmd:3_start_0 <none>" [ style = dashed]
+"clvmd:2_start_0 virt-3" [ style=bold color="green" fontcolor="black"]
+"clvmd:3_start_0 <none>" -> "clvmd-clone_running_0" [ style = dashed]
+"clvmd:3_start_0 <none>" [ style=dashed color="red" fontcolor="black"]
+"clvmd_start_0 virt-1" -> "clvmd-clone_running_0" [ style = bold]
+"clvmd_start_0 virt-1" -> "clvmd:1_start_0 virt-2" [ style = bold]
+"clvmd_start_0 virt-1" [ style=bold color="green" fontcolor="black"]
+"clvmd_stop_0 virt-1" -> "all_stopped" [ style = bold]
+"clvmd_stop_0 virt-1" -> "clvmd-clone_stopped_0" [ style = bold]
+"clvmd_stop_0 virt-1" -> "clvmd_start_0 virt-1" [ style = bold]
+"clvmd_stop_0 virt-1" -> "dlm_stop_0 virt-1" [ style = bold]
+"clvmd_stop_0 virt-1" [ style=bold color="green" fontcolor="black"]
+"dlm-clone_running_0" -> "clvmd-clone_start_0" [ style = bold]
+"dlm-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"dlm-clone_start_0" -> "dlm-clone_running_0" [ style = bold]
+"dlm-clone_start_0" -> "dlm:2_start_0 virt-3" [ style = bold]
+"dlm-clone_start_0" -> "dlm_start_0 virt-1" [ style = bold]
+"dlm-clone_start_0" -> "dlm_start_0 virt-2" [ style = bold]
+"dlm-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"dlm-clone_stop_0" -> "dlm-clone_stopped_0" [ style = bold]
+"dlm-clone_stop_0" -> "dlm_stop_0 virt-1" [ style = bold]
+"dlm-clone_stop_0" -> "dlm_stop_0 virt-2" [ style = bold]
+"dlm-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"dlm-clone_stopped_0" -> "dlm-clone_start_0" [ style = bold]
+"dlm-clone_stopped_0" -> "stonith 'on' virt-1" [ style = bold]
+"dlm-clone_stopped_0" -> "stonith 'on' virt-2" [ style = bold]
+"dlm-clone_stopped_0" -> "stonith 'on' virt-3" [ style = bold]
+"dlm-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"dlm:2_monitor_0 virt-3" -> "probe_complete virt-3" [ style = bold]
+"dlm:2_monitor_0 virt-3" -> "stonith 'on' virt-3" [ style = bold]
+"dlm:2_monitor_0 virt-3" [ style=bold color="green" fontcolor="black"]
+"dlm:2_start_0 virt-3" -> "clvmd:2_start_0 virt-3" [ style = bold]
+"dlm:2_start_0 virt-3" -> "dlm-clone_running_0" [ style = bold]
+"dlm:2_start_0 virt-3" [ style=bold color="green" fontcolor="black"]
+"dlm_start_0 virt-1" -> "clvmd_start_0 virt-1" [ style = bold]
+"dlm_start_0 virt-1" -> "dlm-clone_running_0" [ style = bold]
+"dlm_start_0 virt-1" -> "dlm_start_0 virt-2" [ style = bold]
+"dlm_start_0 virt-1" [ style=bold color="green" fontcolor="black"]
+"dlm_start_0 virt-2" -> "clvmd:1_start_0 virt-2" [ style = bold]
+"dlm_start_0 virt-2" -> "clvmd:3_start_0 <none>" [ style = dashed]
+"dlm_start_0 virt-2" -> "dlm-clone_running_0" [ style = bold]
+"dlm_start_0 virt-2" -> "dlm:2_start_0 virt-3" [ style = bold]
+"dlm_start_0 virt-2" [ style=bold color="green" fontcolor="black"]
+"dlm_stop_0 virt-1" -> "all_stopped" [ style = bold]
+"dlm_stop_0 virt-1" -> "dlm-clone_stopped_0" [ style = bold]
+"dlm_stop_0 virt-1" -> "dlm_start_0 virt-1" [ style = bold]
+"dlm_stop_0 virt-1" [ style=bold color="green" fontcolor="black"]
+"dlm_stop_0 virt-2" -> "all_stopped" [ style = bold]
+"dlm_stop_0 virt-2" -> "dlm-clone_stopped_0" [ style = bold]
+"dlm_stop_0 virt-2" -> "dlm_start_0 virt-2" [ style = bold]
+"dlm_stop_0 virt-2" -> "dlm_stop_0 virt-1" [ style = bold]
+"dlm_stop_0 virt-2" [ style=bold color="green" fontcolor="black"]
+"fencing_monitor_0 virt-3" -> "probe_complete virt-3" [ style = bold]
+"fencing_monitor_0 virt-3" [ style=bold color="green" fontcolor="black"]
+"fencing_start_0 virt-1" [ style=bold color="green" fontcolor="black"]
+"fencing_stop_0 virt-1" -> "all_stopped" [ style = bold]
+"fencing_stop_0 virt-1" -> "fencing_start_0 virt-1" [ style = bold]
+"fencing_stop_0 virt-1" [ style=bold color="green" fontcolor="black"]
+"probe_complete virt-1" -> "probe_complete" [ style = bold]
+"probe_complete virt-1" [ style=bold color="green" fontcolor="black"]
+"probe_complete virt-2" -> "probe_complete" [ style = bold]
+"probe_complete virt-2" [ style=bold color="green" fontcolor="black"]
+"probe_complete virt-3" -> "probe_complete" [ style = bold]
+"probe_complete virt-3" [ style=bold color="green" fontcolor="black"]
+"probe_complete" -> "clvmd:1_start_0 virt-2" [ style = bold]
+"probe_complete" -> "clvmd:2_start_0 virt-3" [ style = bold]
+"probe_complete" -> "clvmd:3_start_0 <none>" [ style = dashed]
+"probe_complete" -> "clvmd_start_0 virt-1" [ style = bold]
+"probe_complete" -> "clvmd_stop_0 virt-1" [ style = bold]
+"probe_complete" -> "dlm:2_start_0 virt-3" [ style = bold]
+"probe_complete" -> "dlm_start_0 virt-1" [ style = bold]
+"probe_complete" -> "dlm_start_0 virt-2" [ style = bold]
+"probe_complete" -> "dlm_stop_0 virt-1" [ style = bold]
+"probe_complete" -> "dlm_stop_0 virt-2" [ style = bold]
+"probe_complete" -> "fencing_start_0 virt-1" [ style = bold]
+"probe_complete" -> "fencing_stop_0 virt-1" [ style = bold]
+"probe_complete" [ style=bold color="green" fontcolor="orange"]
+"stonith 'on' virt-1" -> "clvmd-clone_start_0" [ style = bold]
+"stonith 'on' virt-1" -> "dlm-clone_start_0" [ style = bold]
+"stonith 'on' virt-1" [ style=bold color="green" fontcolor="black"]
+"stonith 'on' virt-2" -> "clvmd-clone_start_0" [ style = bold]
+"stonith 'on' virt-2" -> "dlm-clone_start_0" [ style = bold]
+"stonith 'on' virt-2" [ style=bold color="green" fontcolor="black"]
+"stonith 'on' virt-3" -> "clvmd-clone_start_0" [ style = bold]
+"stonith 'on' virt-3" -> "dlm-clone_start_0" [ style = bold]
+"stonith 'on' virt-3" [ style=bold color="green" fontcolor="black"]
+"stonith 'reboot' virt-4" -> "stonith_complete" [ style = bold]
+"stonith 'reboot' virt-4" [ style=bold color="green" fontcolor="black"]
+"stonith_complete" -> "all_stopped" [ style = bold]
+"stonith_complete" -> "clvmd:1_start_0 virt-2" [ style = bold]
+"stonith_complete" -> "clvmd:2_start_0 virt-3" [ style = bold]
+"stonith_complete" -> "clvmd_start_0 virt-1" [ style = bold]
+"stonith_complete" -> "dlm:2_start_0 virt-3" [ style = bold]
+"stonith_complete" -> "dlm_start_0 virt-1" [ style = bold]
+"stonith_complete" -> "dlm_start_0 virt-2" [ style = bold]
+"stonith_complete" [ style=bold color="green" fontcolor="orange"]
+}
diff --git a/pengine/test10/unfence-parameters.exp b/pengine/test10/unfence-parameters.exp
new file mode 100644
index 0000000..491d78e
--- /dev/null
+++ b/pengine/test10/unfence-parameters.exp
@@ -0,0 +1,562 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0">
+    <action_set>
+      <rsc_op id="15" operation="stop" operation_key="fencing_stop_0" on_node="virt-1" on_node_uuid="1">
+        <primitive id="fencing" class="stonith" type="fence_scsi"/>
+        <attributes CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="12" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3">
+        <primitive id="fencing" class="stonith" type="fence_scsi"/>
+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="2">
+    <action_set>
+      <rsc_op id="6" operation="start" operation_key="fencing_start_0" on_node="virt-1" on_node_uuid="1">
+        <primitive id="fencing" class="stonith" type="fence_scsi"/>
+        <attributes CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="2" operation="all_stopped" operation_key="all_stopped"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="15" operation="stop" operation_key="fencing_stop_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <rsc_op id="17" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:0_start_0" on_node="virt-1" on_node_uuid="1">
+        <primitive id="dlm" long-id="dlm:0" class="ocf" provider="pacemaker" type="controld"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="16" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="21" operation="start" operation_key="dlm-clone_start_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4">
+    <action_set>
+      <rsc_op id="16" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0" on_node="virt-1" on_node_uuid="1">
+        <primitive id="dlm" long-id="dlm:0" class="ocf" provider="pacemaker" type="controld"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="18" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:1_stop_0" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="23" operation="stop" operation_key="dlm-clone_stop_0"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="25" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <rsc_op id="19" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:1_start_0" on_node="virt-2" on_node_uuid="2">
+        <primitive id="dlm" long-id="dlm:1" class="ocf" provider="pacemaker" type="controld"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="17" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:0_start_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="18" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:1_stop_0" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="21" operation="start" operation_key="dlm-clone_start_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="6">
+    <action_set>
+      <rsc_op id="18" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:1_stop_0" on_node="virt-2" on_node_uuid="2">
+        <primitive id="dlm" long-id="dlm:1" class="ocf" provider="pacemaker" type="controld"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="23" operation="stop" operation_key="dlm-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="7">
+    <action_set>
+      <rsc_op id="20" operation="start" operation_key="dlm:2_start_0" on_node="virt-3" on_node_uuid="3">
+        <primitive id="dlm" long-id="dlm:2" class="ocf" provider="pacemaker" type="controld"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="19" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:1_start_0" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="21" operation="start" operation_key="dlm-clone_start_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="8">
+    <action_set>
+      <rsc_op id="13" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3">
+        <primitive id="dlm" long-id="dlm:2" class="ocf" provider="pacemaker" type="controld"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="9" priority="1000000">
+    <action_set>
+      <pseudo_event id="24" operation="stopped" operation_key="dlm-clone_stopped_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="16" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="18" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:1_stop_0" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="23" operation="stop" operation_key="dlm-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="10">
+    <action_set>
+      <pseudo_event id="23" operation="stop" operation_key="dlm-clone_stop_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="32" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="11" priority="1000000">
+    <action_set>
+      <pseudo_event id="22" operation="running" operation_key="dlm-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="17" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:0_start_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="19" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:1_start_0" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="20" operation="start" operation_key="dlm:2_start_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="21" operation="start" operation_key="dlm-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="12">
+    <action_set>
+      <pseudo_event id="21" operation="start" operation_key="dlm-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <crm_event id="1" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <crm_event id="3" operation="stonith" operation_key="stonith-virt-2-on" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="24" operation="stopped" operation_key="dlm-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="13">
+    <action_set>
+      <rsc_op id="26" operation="start" operation_key="clvmd_start_0" internal_operation_key="clvmd:0_start_0" on_node="virt-1" on_node_uuid="1">
+        <primitive id="clvmd" long-id="clvmd:0" class="ocf" provider="heartbeat" type="clvm"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="17" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:0_start_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="25" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="29" operation="start" operation_key="clvmd-clone_start_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="14">
+    <action_set>
+      <rsc_op id="25" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1">
+        <primitive id="clvmd" long-id="clvmd:0" class="ocf" provider="heartbeat" type="clvm"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="31" operation="stop" operation_key="clvmd-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="15">
+    <action_set>
+      <rsc_op id="27" operation="start" operation_key="clvmd:1_start_0" on_node="virt-2" on_node_uuid="2">
+        <primitive id="clvmd" long-id="clvmd:1" class="ocf" provider="heartbeat" type="clvm"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="19" operation="start" operation_key="dlm_start_0" internal_operation_key="dlm:1_start_0" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="26" operation="start" operation_key="clvmd_start_0" internal_operation_key="clvmd:0_start_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="29" operation="start" operation_key="clvmd-clone_start_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="16">
+    <action_set>
+      <rsc_op id="10" operation="monitor" operation_key="clvmd:1_monitor_0" on_node="virt-2" on_node_uuid="2">
+        <primitive id="clvmd" long-id="clvmd:1" class="ocf" provider="heartbeat" type="clvm"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="17">
+    <action_set>
+      <rsc_op id="28" operation="start" operation_key="clvmd:2_start_0" on_node="virt-3" on_node_uuid="3">
+        <primitive id="clvmd" long-id="clvmd:2" class="ocf" provider="heartbeat" type="clvm"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="20" operation="start" operation_key="dlm:2_start_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="27" operation="start" operation_key="clvmd:1_start_0" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="29" operation="start" operation_key="clvmd-clone_start_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="18">
+    <action_set>
+      <rsc_op id="14" operation="monitor" operation_key="clvmd:2_monitor_0" on_node="virt-3" on_node_uuid="3">
+        <primitive id="clvmd" long-id="clvmd:2" class="ocf" provider="heartbeat" type="clvm"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="19" priority="1000000">
+    <action_set>
+      <pseudo_event id="32" operation="stopped" operation_key="clvmd-clone_stopped_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="25" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="31" operation="stop" operation_key="clvmd-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="20">
+    <action_set>
+      <pseudo_event id="31" operation="stop" operation_key="clvmd-clone_stop_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="21" priority="1000000">
+    <action_set>
+      <pseudo_event id="30" operation="running" operation_key="clvmd-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="26" operation="start" operation_key="clvmd_start_0" internal_operation_key="clvmd:0_start_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="27" operation="start" operation_key="clvmd:1_start_0" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="28" operation="start" operation_key="clvmd:2_start_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="29" operation="start" operation_key="clvmd-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="22">
+    <action_set>
+      <pseudo_event id="29" operation="start" operation_key="clvmd-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <crm_event id="1" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <crm_event id="3" operation="stonith" operation_key="stonith-virt-2-on" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="22" operation="running" operation_key="dlm-clone_running_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="32" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="23">
+    <action_set>
+      <crm_event id="34" operation="stonith" operation_key="stonith-virt-4-reboot" on_node="virt-4" on_node_uuid="4">
+        <attributes CRM_meta_on_node="virt-4" CRM_meta_on_node_uuid="4" CRM_meta_stonith_action="reboot" />
+      </crm_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="24">
+    <action_set>
+      <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <crm_event id="34" operation="stonith" operation_key="stonith-virt-4-reboot" on_node="virt-4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="25" priority="1000000">
+    <action_set>
+      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-virt-3" on_node="virt-3" on_node_uuid="3">
+        <attributes CRM_meta_op_no_wait="true" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="12" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="13" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="14" operation="monitor" operation_key="clvmd:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="26" priority="1000000">
+    <action_set>
+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-virt-2" on_node="virt-2" on_node_uuid="2">
+        <attributes CRM_meta_op_no_wait="true" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="10" operation="monitor" operation_key="clvmd:1_monitor_0" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="27" priority="1000000">
+    <action_set>
+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-virt-1" on_node="virt-1" on_node_uuid="1">
+        <attributes CRM_meta_op_no_wait="true" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="28">
+    <action_set>
+      <pseudo_event id="7" operation="probe_complete" operation_key="probe_complete">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-virt-1" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-virt-2" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-virt-3" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="29">
+    <action_set>
+      <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3">
+        <attributes CRM_meta_on_node="virt-3" CRM_meta_on_node_uuid="3" CRM_meta_stonith_action="on" />
+      </crm_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="13" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="14" operation="monitor" operation_key="clvmd:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="24" operation="stopped" operation_key="dlm-clone_stopped_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="32" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="30">
+    <action_set>
+      <crm_event id="3" operation="stonith" operation_key="stonith-virt-2-on" on_node="virt-2" on_node_uuid="2">
+        <attributes CRM_meta_on_node="virt-2" CRM_meta_on_node_uuid="2" CRM_meta_stonith_action="on" />
+      </crm_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="10" operation="monitor" operation_key="clvmd:1_monitor_0" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="24" operation="stopped" operation_key="dlm-clone_stopped_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="32" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="31">
+    <action_set>
+      <pseudo_event id="2" operation="all_stopped" operation_key="all_stopped">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="15" operation="stop" operation_key="fencing_stop_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="16" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="18" operation="stop" operation_key="dlm_stop_0" internal_operation_key="dlm:1_stop_0" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="25" operation="stop" operation_key="clvmd_stop_0" internal_operation_key="clvmd:0_stop_0" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="32">
+    <action_set>
+      <crm_event id="1" operation="stonith" operation_key="stonith-virt-1-on" on_node="virt-1" on_node_uuid="1">
+        <attributes CRM_meta_on_node="virt-1" CRM_meta_on_node_uuid="1" CRM_meta_stonith_action="on" />
+      </crm_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="24" operation="stopped" operation_key="dlm-clone_stopped_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="32" operation="stopped" operation_key="clvmd-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/unfence-parameters.summary b/pengine/test10/unfence-parameters.summary
new file mode 100644
index 0000000..17bbc62
--- /dev/null
+++ b/pengine/test10/unfence-parameters.summary
@@ -0,0 +1,66 @@
+
+Current cluster status:
+Node virt-4 (4): UNCLEAN (offline)
+Online: [ virt-1 virt-2 virt-3 ]
+
+ fencing	(stonith:fence_scsi):	Started virt-1 
+ Clone Set: dlm-clone [dlm]
+     Started: [ virt-1 virt-2 ]
+     Stopped: [ virt-3 virt-4 ]
+ Clone Set: clvmd-clone [clvmd]
+     Started: [ virt-1 ]
+     Stopped: [ virt-2 virt-3 virt-4 ]
+
+Transition Summary:
+ * Restart fencing	(Started virt-1)
+ * Restart dlm:0	(Started virt-1)
+ * Restart dlm:1	(Started virt-2)
+ * Start   dlm:2	(virt-3)
+ * Restart clvmd:0	(Started virt-1)
+ * Start   clvmd:1	(virt-2)
+ * Start   clvmd:2	(virt-3)
+
+Executing cluster transition:
+ * Resource action: fencing         monitor on virt-3
+ * Resource action: dlm             monitor on virt-3
+ * Resource action: clvmd           monitor on virt-2
+ * Resource action: clvmd           monitor on virt-3
+ * Pseudo action:   clvmd-clone_stop_0
+ * Fencing virt-4 (reboot)
+ * Pseudo action:   stonith_complete
+ * Pseudo action:   probe_complete
+ * Resource action: fencing         stop on virt-1
+ * Resource action: clvmd           stop on virt-1
+ * Pseudo action:   clvmd-clone_stopped_0
+ * Pseudo action:   dlm-clone_stop_0
+ * Resource action: dlm             stop on virt-2
+ * Resource action: dlm             stop on virt-1
+ * Pseudo action:   dlm-clone_stopped_0
+ * Fencing virt-3 (on)
+ * Fencing virt-2 (on)
+ * Pseudo action:   all_stopped
+ * Fencing virt-1 (on)
+ * Resource action: fencing         start on virt-1
+ * Pseudo action:   dlm-clone_start_0
+ * Resource action: dlm             start on virt-1
+ * Resource action: dlm             start on virt-2
+ * Resource action: dlm             start on virt-3
+ * Pseudo action:   dlm-clone_running_0
+ * Pseudo action:   clvmd-clone_start_0
+ * Resource action: clvmd           start on virt-1
+ * Resource action: clvmd           start on virt-2
+ * Resource action: clvmd           start on virt-3
+ * Pseudo action:   clvmd-clone_running_0
+
+Revised cluster status:
+Online: [ virt-1 virt-2 virt-3 ]
+OFFLINE: [ virt-4 ]
+
+ fencing	(stonith:fence_scsi):	Started virt-1 
+ Clone Set: dlm-clone [dlm]
+     Started: [ virt-1 virt-2 virt-3 ]
+     Stopped: [ virt-4 ]
+ Clone Set: clvmd-clone [clvmd]
+     Started: [ virt-1 virt-2 virt-3 ]
+     Stopped: [ virt-4 ]
+
diff --git a/pengine/test10/unfence-startup.dot b/pengine/test10/unfence-startup.dot
new file mode 100644
index 0000000..a5cc606
--- /dev/null
+++ b/pengine/test10/unfence-startup.dot
@@ -0,0 +1,51 @@
+digraph "g" {
+"all_stopped" [ style=bold color="green" fontcolor="orange"]
+"clvmd-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"clvmd-clone_start_0" -> "clvmd-clone_running_0" [ style = bold]
+"clvmd-clone_start_0" -> "clvmd:1_start_0 virt-2" [ style = bold]
+"clvmd-clone_start_0" -> "clvmd:2_start_0 virt-3" [ style = bold]
+"clvmd-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"clvmd:1_monitor_0 virt-2" -> "probe_complete virt-2" [ style = bold]
+"clvmd:1_monitor_0 virt-2" [ style=bold color="green" fontcolor="black"]
+"clvmd:1_start_0 virt-2" -> "clvmd-clone_running_0" [ style = bold]
+"clvmd:1_start_0 virt-2" -> "clvmd:2_start_0 virt-3" [ style = bold]
+"clvmd:1_start_0 virt-2" [ style=bold color="green" fontcolor="black"]
+"clvmd:2_monitor_0 virt-3" -> "probe_complete virt-3" [ style = bold]
+"clvmd:2_monitor_0 virt-3" -> "stonith 'on' virt-3" [ style = bold]
+"clvmd:2_monitor_0 virt-3" [ style=bold color="green" fontcolor="black"]
+"clvmd:2_start_0 virt-3" -> "clvmd-clone_running_0" [ style = bold]
+"clvmd:2_start_0 virt-3" [ style=bold color="green" fontcolor="black"]
+"dlm-clone_running_0" -> "clvmd-clone_start_0" [ style = bold]
+"dlm-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"dlm-clone_start_0" -> "dlm-clone_running_0" [ style = bold]
+"dlm-clone_start_0" -> "dlm:2_start_0 virt-3" [ style = bold]
+"dlm-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"dlm:2_monitor_0 virt-3" -> "probe_complete virt-3" [ style = bold]
+"dlm:2_monitor_0 virt-3" -> "stonith 'on' virt-3" [ style = bold]
+"dlm:2_monitor_0 virt-3" [ style=bold color="green" fontcolor="black"]
+"dlm:2_start_0 virt-3" -> "clvmd:2_start_0 virt-3" [ style = bold]
+"dlm:2_start_0 virt-3" -> "dlm-clone_running_0" [ style = bold]
+"dlm:2_start_0 virt-3" [ style=bold color="green" fontcolor="black"]
+"fencing_monitor_0 virt-3" -> "probe_complete virt-3" [ style = bold]
+"fencing_monitor_0 virt-3" [ style=bold color="green" fontcolor="black"]
+"probe_complete virt-1" -> "probe_complete" [ style = bold]
+"probe_complete virt-1" [ style=bold color="green" fontcolor="black"]
+"probe_complete virt-2" -> "probe_complete" [ style = bold]
+"probe_complete virt-2" [ style=bold color="green" fontcolor="black"]
+"probe_complete virt-3" -> "probe_complete" [ style = bold]
+"probe_complete virt-3" [ style=bold color="green" fontcolor="black"]
+"probe_complete" -> "clvmd:1_start_0 virt-2" [ style = bold]
+"probe_complete" -> "clvmd:2_start_0 virt-3" [ style = bold]
+"probe_complete" -> "dlm:2_start_0 virt-3" [ style = bold]
+"probe_complete" [ style=bold color="green" fontcolor="orange"]
+"stonith 'on' virt-3" -> "clvmd-clone_start_0" [ style = bold]
+"stonith 'on' virt-3" -> "dlm-clone_start_0" [ style = bold]
+"stonith 'on' virt-3" [ style=bold color="green" fontcolor="black"]
+"stonith 'reboot' virt-4" -> "stonith_complete" [ style = bold]
+"stonith 'reboot' virt-4" [ style=bold color="green" fontcolor="black"]
+"stonith_complete" -> "all_stopped" [ style = bold]
+"stonith_complete" -> "clvmd:1_start_0 virt-2" [ style = bold]
+"stonith_complete" -> "clvmd:2_start_0 virt-3" [ style = bold]
+"stonith_complete" -> "dlm:2_start_0 virt-3" [ style = bold]
+"stonith_complete" [ style=bold color="green" fontcolor="orange"]
+}
diff --git a/pengine/test10/unfence-startup.exp b/pengine/test10/unfence-startup.exp
new file mode 100644
index 0000000..8a04d54
--- /dev/null
+++ b/pengine/test10/unfence-startup.exp
@@ -0,0 +1,264 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0">
+    <action_set>
+      <rsc_op id="11" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3">
+        <primitive id="fencing" class="stonith" type="fence_scsi"/>
+        <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="20" operation="start" operation_key="dlm:2_start_0" on_node="virt-3" on_node_uuid="3">
+        <primitive id="dlm" long-id="dlm:2" class="ocf" provider="pacemaker" type="controld"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="21" operation="start" operation_key="dlm-clone_start_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2">
+    <action_set>
+      <rsc_op id="12" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3">
+        <primitive id="dlm" long-id="dlm:2" class="ocf" provider="pacemaker" type="controld"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="3" priority="1000000">
+    <action_set>
+      <pseudo_event id="22" operation="running" operation_key="dlm-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="20" operation="start" operation_key="dlm:2_start_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="21" operation="start" operation_key="dlm-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4">
+    <action_set>
+      <pseudo_event id="21" operation="start" operation_key="dlm-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <rsc_op id="27" operation="start" operation_key="clvmd:1_start_0" on_node="virt-2" on_node_uuid="2">
+        <primitive id="clvmd" long-id="clvmd:1" class="ocf" provider="heartbeat" type="clvm"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="29" operation="start" operation_key="clvmd-clone_start_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="6">
+    <action_set>
+      <rsc_op id="9" operation="monitor" operation_key="clvmd:1_monitor_0" on_node="virt-2" on_node_uuid="2">
+        <primitive id="clvmd" long-id="clvmd:1" class="ocf" provider="heartbeat" type="clvm"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="7">
+    <action_set>
+      <rsc_op id="28" operation="start" operation_key="clvmd:2_start_0" on_node="virt-3" on_node_uuid="3">
+        <primitive id="clvmd" long-id="clvmd:2" class="ocf" provider="heartbeat" type="clvm"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="20" operation="start" operation_key="dlm:2_start_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="27" operation="start" operation_key="clvmd:1_start_0" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="29" operation="start" operation_key="clvmd-clone_start_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="8">
+    <action_set>
+      <rsc_op id="13" operation="monitor" operation_key="clvmd:2_monitor_0" on_node="virt-3" on_node_uuid="3">
+        <primitive id="clvmd" long-id="clvmd:2" class="ocf" provider="heartbeat" type="clvm"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="9" priority="1000000">
+    <action_set>
+      <pseudo_event id="30" operation="running" operation_key="clvmd-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="27" operation="start" operation_key="clvmd:1_start_0" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="28" operation="start" operation_key="clvmd:2_start_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="29" operation="start" operation_key="clvmd-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="10">
+    <action_set>
+      <pseudo_event id="29" operation="start" operation_key="clvmd-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="22" operation="running" operation_key="dlm-clone_running_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="11">
+    <action_set>
+      <crm_event id="34" operation="stonith" operation_key="stonith-virt-4-reboot" on_node="virt-4" on_node_uuid="4">
+        <attributes CRM_meta_on_node="virt-4" CRM_meta_on_node_uuid="4" CRM_meta_stonith_action="reboot" />
+      </crm_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="12">
+    <action_set>
+      <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <crm_event id="34" operation="stonith" operation_key="stonith-virt-4-reboot" on_node="virt-4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="13" priority="1000000">
+    <action_set>
+      <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-virt-3" on_node="virt-3" on_node_uuid="3">
+        <attributes CRM_meta_op_no_wait="true" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="11" operation="monitor" operation_key="fencing_monitor_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="12" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="13" operation="monitor" operation_key="clvmd:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="14" priority="1000000">
+    <action_set>
+      <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-virt-2" on_node="virt-2" on_node_uuid="2">
+        <attributes CRM_meta_op_no_wait="true" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="9" operation="monitor" operation_key="clvmd:1_monitor_0" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="15" priority="1000000">
+    <action_set>
+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-virt-1" on_node="virt-1" on_node_uuid="1">
+        <attributes CRM_meta_op_no_wait="true" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="16">
+    <action_set>
+      <pseudo_event id="6" operation="probe_complete" operation_key="probe_complete">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-virt-1" on_node="virt-1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="8" operation="probe_complete" operation_key="probe_complete-virt-2" on_node="virt-2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="10" operation="probe_complete" operation_key="probe_complete-virt-3" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="17">
+    <action_set>
+      <crm_event id="4" operation="stonith" operation_key="stonith-virt-3-on" on_node="virt-3" on_node_uuid="3">
+        <attributes CRM_meta_on_node="virt-3" CRM_meta_on_node_uuid="3" CRM_meta_stonith_action="on" />
+      </crm_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="12" operation="monitor" operation_key="dlm:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="13" operation="monitor" operation_key="clvmd:2_monitor_0" on_node="virt-3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="18">
+    <action_set>
+      <pseudo_event id="1" operation="all_stopped" operation_key="all_stopped">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="33" operation="stonith_complete" operation_key="stonith_complete"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/unfence-startup.xml b/pengine/test10/unfence-startup.xml
new file mode 100644
index 0000000..83e9ffe
--- /dev/null
+++ b/pengine/test10/unfence-startup.xml
@@ -0,0 +1,73 @@
+<cib epoch="17" num_updates="25" admin_epoch="0" validate-with="pacemaker-1.2" cib-last-written="Wed Mar 19 19:51:25 2014" update-origin="virt-009.cluster-qe.lab.eng.brq.redhat.com" update-client="crm_resource" crm_feature_set="3.0.7" have-quorum="1" dc-uuid="8">
+  <configuration>
+    <crm_config>
+      <cluster_property_set id="cib-bootstrap-options">
+        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.10-27.el7-368c726"/>
+        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
+        <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="freeze"/>
+      </cluster_property_set>
+    </crm_config>
+    <nodes>
+      <node id="1" uname="virt-1"/>
+      <node id="2" uname="virt-2"/>
+      <node id="3" uname="virt-3"/>
+      <node id="4" uname="virt-4"/>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="fencing" type="fence_scsi">
+        <meta_attributes id="stonith-meta">
+          <nvpair id="stonith-unfence" name="provides" value="unfencing"/>
+        </meta_attributes>
+      </primitive>
+      <clone id="dlm-clone">
+        <primitive class="ocf" id="dlm" provider="pacemaker" type="controld"/>
+        <meta_attributes id="dlm-clone-meta">
+          <nvpair id="dlm-interleave" name="interleave" value="true"/>
+          <nvpair id="dlm-ordered" name="ordered" value="true"/>
+        </meta_attributes>
+      </clone>
+      <clone id="clvmd-clone">
+        <primitive class="ocf" id="clvmd" provider="heartbeat" type="clvm"/>
+        <meta_attributes id="clvmd-clone-meta">
+          <nvpair id="clvmd-interleave" name="interleave" value="true"/>
+          <nvpair id="clvmd-ordered" name="ordered" value="true"/>
+        </meta_attributes>
+      </clone>
+    </resources>
+    <constraints>
+      <rsc_order first="dlm-clone" first-action="start" id="order-dlm-clone-clvmd-clone-mandatory" then="clvmd-clone" then-action="start"/>
+      <rsc_colocation id="colocation-clvmd-clone-dlm-clone-INFINITY" rsc="clvmd-clone" score="INFINITY" with-rsc="dlm-clone"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="1" uname="virt-1" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member">
+      <lrm id="1">
+        <lrm_resources>
+          <lrm_resource id="fencing" type="fence_scsi" class="stonith">
+            <lrm_rsc_op id="fencing_last_0" operation_key="fencing_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="23:8:0:d45f7bbd-8249-4af5-8120-a9199830d27a" transition-magic="0:0;23:8:0:d45f7bbd-8249-4af5-8120-a9199830d27a" call-id="26" rc-code="0" op-status="0" interval="0" last-run="1395255112" last-rc-change="1395255112" exec-time="1047" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="dlm" type="controld" class="ocf" provider="pacemaker">
+            <lrm_rsc_op id="dlm_last_0" operation_key="dlm_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="22:7:0:d45f7bbd-8249-4af5-8120-a9199830d27a" transition-magic="0:0;22:7:0:d45f7bbd-8249-4af5-8120-a9199830d27a" call-id="24" rc-code="0" op-status="0" interval="0" last-run="1395255085" last-rc-change="1395255085" exec-time="1102" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="clvmd" type="clvm" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="clvmd_last_0" operation_key="clvmd_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="9:2:0:d45f7bbd-8249-4af5-8120-a9199830d27a" transition-magic="0:0;9:2:0:d45f7bbd-8249-4af5-8120-a9199830d27a" call-id="15" rc-code="0" op-status="0" interval="0" last-run="1395254324" last-rc-change="1395254324" exec-time="214" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="2" uname="virt-2" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member">
+      <lrm id="2">
+        <lrm_resources>
+          <lrm_resource id="fencing" type="fence_scsi" class="stonith">
+            <lrm_rsc_op id="fencing_last_0" operation_key="fencing_status_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="23:8:7:d45f7bbd-8249-4af5-8120-a9199830d27a" transition-magic="0:0;23:8:0:d45f7bbd-8249-4af5-8120-a9199830d27a" call-id="26" rc-code="7" op-status="0" interval="0" last-run="1395255112" last-rc-change="1395255112" exec-time="1047" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="dlm" type="controld" class="ocf" provider="pacemaker">
+            <lrm_rsc_op id="dlm_last_0" operation_key="dlm_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.7" transition-key="22:7:0:d45f7bbd-8249-4af5-8120-a9199830d27a" transition-magic="0:0;22:7:0:d45f7bbd-8249-4af5-8120-a9199830d27a" call-id="24" rc-code="0" op-status="0" interval="0" last-run="1395255085" last-rc-change="1395255085" exec-time="1102" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="3" uname="virt-3" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member"/>
+  </status>
+</cib>
+