Blame SOURCES/bz1078078-pcmk-pe_delay_unfencing_until_after_we_know_the_state_of_all_resources_that_require_unfencing.patch

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