Blob Blame History Raw
diff --git a/include/crm/crm.h b/include/crm/crm.h
index 41279b0..37bc5ce 100644
--- a/include/crm/crm.h
+++ b/include/crm/crm.h
@@ -133,6 +133,7 @@ extern char *crm_system_name;
 #  define CRM_OP_REPROBE		"probe_again"
 #  define CRM_OP_CLEAR_FAILCOUNT  "clear_failcount"
 #  define CRM_OP_RELAXED_SET  "one-or-more"
+#  define CRM_OP_RELAXED_CLONE  "clone-one-or-more"
 #  define CRM_OP_RM_NODE_CACHE "rm_node_cache"
 
 #  define CRMD_JOINSTATE_DOWN           "down"
diff --git a/pengine/constraints.c b/pengine/constraints.c
index a2ce9c4..7054a8e 100644
--- a/pengine/constraints.c
+++ b/pengine/constraints.c
@@ -255,6 +255,7 @@ unpack_simple_rsc_order(xmlNode * xml_obj, pe_working_set_t * data_set)
     resource_t *rsc_then = NULL;
     resource_t *rsc_first = NULL;
     gboolean invert_bool = TRUE;
+    gboolean require_all = TRUE;
     enum pe_order_kind kind = pe_order_kind_mandatory;
     enum pe_ordering cons_weight = pe_order_optional;
 
@@ -264,6 +265,7 @@ unpack_simple_rsc_order(xmlNode * xml_obj, pe_working_set_t * data_set)
     const char *action_first = NULL;
     const char *instance_then = NULL;
     const char *instance_first = NULL;
+    const char *require_all_s = NULL;
 
     const char *id = crm_element_value(xml_obj, XML_ATTR_ID);
     const char *invert = crm_element_value(xml_obj, XML_CONS_ATTR_SYMMETRICAL);
@@ -343,6 +345,14 @@ unpack_simple_rsc_order(xmlNode * xml_obj, pe_working_set_t * data_set)
         }
     }
 
+    require_all_s = crm_element_value(xml_obj, "require-all");
+    if (require_all_s
+        && crm_is_true(require_all_s) == FALSE
+        && rsc_first->variant >= pe_clone) {
+
+        require_all = FALSE;
+    }
+
     cons_weight = pe_order_optional;
     kind = get_ordering_type(xml_obj);
 
@@ -356,7 +366,29 @@ unpack_simple_rsc_order(xmlNode * xml_obj, pe_working_set_t * data_set)
     } else {
         cons_weight |= get_flags(id, kind, action_first, action_then, FALSE);
     }
-    order_id = new_rsc_order(rsc_first, action_first, rsc_then, action_then, cons_weight, data_set);
+
+    if (require_all == FALSE) {
+        GListPtr rIter = NULL;
+        char *task = crm_concat(CRM_OP_RELAXED_CLONE, id, ':');
+        action_t *unordered_action = get_pseudo_op(task, data_set);
+        free(task);
+
+        update_action_flags(unordered_action, pe_action_requires_any);
+
+        for (rIter = rsc_first->children; id && rIter; rIter = rIter->next) {
+            resource_t *child = rIter->data;
+
+            custom_action_order(child, generate_op_key(child->id, action_first, 0), NULL,
+                                NULL, NULL, unordered_action,
+                                pe_order_one_or_more | pe_order_implies_then_printed, data_set);
+        }
+
+        order_id = custom_action_order(NULL, NULL, unordered_action,
+                       rsc_then, generate_op_key(rsc_then->id, action_then, 0), NULL,
+                       cons_weight | pe_order_runnable_left, data_set);
+    } else {
+        order_id = new_rsc_order(rsc_first, action_first, rsc_then, action_then, cons_weight, data_set);
+    }
 
     pe_rsc_trace(rsc_first, "order-%d (%s): %s_%s before %s_%s flags=0x%.6x",
                  order_id, id, rsc_first->id, action_first, rsc_then->id, action_then, cons_weight);
@@ -387,6 +419,7 @@ unpack_simple_rsc_order(xmlNode * xml_obj, pe_working_set_t * data_set)
     }
 
     cons_weight |= get_flags(id, kind, action_first, action_then, TRUE);
+
     order_id = new_rsc_order(rsc_then, action_then, rsc_first, action_first, cons_weight, data_set);
 
     pe_rsc_trace(rsc_then, "order-%d (%s): %s_%s before %s_%s flags=0x%.6x",
diff --git a/pengine/regression.sh b/pengine/regression.sh
index 3a244d7..c2bc7fb 100755
--- a/pengine/regression.sh
+++ b/pengine/regression.sh
@@ -126,6 +126,16 @@ do_test one-or-more-5 "Start A and F even though C and D are stopped"
 do_test one-or-more-6 "Leave A running even though B is stopped"
 do_test one-or-more-7 "Leave A running even though C is stopped"
 do_test bug-5140-require-all-false "Allow basegrp:0 to stop"
+do_test clone-require-all-1 "clone B starts node 3 and 4"
+do_test clone-require-all-2 "clone B remains stopped everywhere"
+do_test clone-require-all-3 "clone B stops everywhere because A stops everywhere"
+do_test clone-require-all-4 "clone B remains on node 3 and 4 with only one instance of A remaining."
+do_test clone-require-all-5 "clone B starts on node 1 3 and 4"
+do_test clone-require-all-6 "clone B remains active after shutting down instances of A"
+do_test clone-require-all-7 "clone A and B both start at the same time. all instances of A start before B."
+do_test clone-require-all-no-interleave-1 "C starts everywhere after A and B"
+do_test clone-require-all-no-interleave-2 "C starts on nodes 1, 2, and 4 with only one active instance of B"
+do_test clone-require-all-no-interleave-3 "C remains active when instance of B is stopped on one node and started on another."
 
 echo ""
 do_test order1 "Order start 1     "
diff --git a/pengine/test10/clone-require-all-1.dot b/pengine/test10/clone-require-all-1.dot
new file mode 100644
index 0000000..9856969
--- /dev/null
+++ b/pengine/test10/clone-require-all-1.dot
@@ -0,0 +1,15 @@
+ digraph "g" {
+"B-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"B-clone_start_0" -> "B-clone_running_0" [ style = bold]
+"B-clone_start_0" -> "B:1_start_0 rhel7-auto4" [ style = bold]
+"B-clone_start_0" -> "B_start_0 rhel7-auto3" [ style = bold]
+"B-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"B:1_monitor_10000 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
+"B:1_start_0 rhel7-auto4" -> "B-clone_running_0" [ style = bold]
+"B:1_start_0 rhel7-auto4" -> "B:1_monitor_10000 rhel7-auto4" [ style = bold]
+"B:1_start_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
+"B_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"B_start_0 rhel7-auto3" -> "B-clone_running_0" [ style = bold]
+"B_start_0 rhel7-auto3" -> "B_monitor_10000 rhel7-auto3" [ style = bold]
+"B_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+}
diff --git a/pengine/test10/clone-require-all-1.exp b/pengine/test10/clone-require-all-1.exp
new file mode 100644
index 0000000..c2d1abd
--- /dev/null
+++ b/pengine/test10/clone-require-all-1.exp
@@ -0,0 +1,80 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0">
+    <action_set>
+      <rsc_op id="22" operation="monitor" operation_key="B_monitor_10000" internal_operation_key="B:0_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="21" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="21" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="25" operation="start" operation_key="B-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2">
+    <action_set>
+      <rsc_op id="24" operation="monitor" operation_key="B:1_monitor_10000" on_node="rhel7-auto4" on_node_uuid="4">
+        <primitive id="B" long-id="B:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="23" operation="start" operation_key="B:1_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <rsc_op id="23" operation="start" operation_key="B:1_start_0" on_node="rhel7-auto4" on_node_uuid="4">
+        <primitive id="B" long-id="B:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="25" operation="start" operation_key="B-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4" priority="1000000">
+    <action_set>
+      <pseudo_event id="26" operation="running" operation_key="B-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="21" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="23" operation="start" operation_key="B:1_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="25" operation="start" operation_key="B-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <pseudo_event id="25" operation="start" operation_key="B-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/clone-require-all-1.scores b/pengine/test10/clone-require-all-1.scores
new file mode 100644
index 0000000..fe3ce21
--- /dev/null
+++ b/pengine/test10/clone-require-all-1.scores
@@ -0,0 +1,77 @@
+Allocation scores:
+clone_color: A-clone allocation score on rhel7-auto1: 0
+clone_color: A-clone allocation score on rhel7-auto2: 0
+clone_color: A-clone allocation score on rhel7-auto3: -INFINITY
+clone_color: A-clone allocation score on rhel7-auto4: -INFINITY
+clone_color: A:0 allocation score on rhel7-auto1: 1
+clone_color: A:0 allocation score on rhel7-auto2: 0
+clone_color: A:0 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:0 allocation score on rhel7-auto4: -INFINITY
+clone_color: A:1 allocation score on rhel7-auto1: 0
+clone_color: A:1 allocation score on rhel7-auto2: 1
+clone_color: A:1 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:1 allocation score on rhel7-auto4: -INFINITY
+clone_color: A:2 allocation score on rhel7-auto1: 0
+clone_color: A:2 allocation score on rhel7-auto2: 0
+clone_color: A:2 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:2 allocation score on rhel7-auto4: -INFINITY
+clone_color: A:3 allocation score on rhel7-auto1: 0
+clone_color: A:3 allocation score on rhel7-auto2: 0
+clone_color: A:3 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:3 allocation score on rhel7-auto4: -INFINITY
+clone_color: B-clone allocation score on rhel7-auto1: -INFINITY
+clone_color: B-clone allocation score on rhel7-auto2: -INFINITY
+clone_color: B-clone allocation score on rhel7-auto3: 0
+clone_color: B-clone allocation score on rhel7-auto4: 0
+clone_color: B:0 allocation score on rhel7-auto1: -INFINITY
+clone_color: B:0 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:0 allocation score on rhel7-auto3: 0
+clone_color: B:0 allocation score on rhel7-auto4: 0
+clone_color: B:1 allocation score on rhel7-auto1: -INFINITY
+clone_color: B:1 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:1 allocation score on rhel7-auto3: 0
+clone_color: B:1 allocation score on rhel7-auto4: 0
+clone_color: B:2 allocation score on rhel7-auto1: -INFINITY
+clone_color: B:2 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:2 allocation score on rhel7-auto3: 0
+clone_color: B:2 allocation score on rhel7-auto4: 0
+clone_color: B:3 allocation score on rhel7-auto1: -INFINITY
+clone_color: B:3 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:3 allocation score on rhel7-auto3: 0
+clone_color: B:3 allocation score on rhel7-auto4: 0
+native_color: A:0 allocation score on rhel7-auto1: 1
+native_color: A:0 allocation score on rhel7-auto2: -INFINITY
+native_color: A:0 allocation score on rhel7-auto3: -INFINITY
+native_color: A:0 allocation score on rhel7-auto4: -INFINITY
+native_color: A:1 allocation score on rhel7-auto1: 0
+native_color: A:1 allocation score on rhel7-auto2: 1
+native_color: A:1 allocation score on rhel7-auto3: -INFINITY
+native_color: A:1 allocation score on rhel7-auto4: -INFINITY
+native_color: A:2 allocation score on rhel7-auto1: -INFINITY
+native_color: A:2 allocation score on rhel7-auto2: -INFINITY
+native_color: A:2 allocation score on rhel7-auto3: -INFINITY
+native_color: A:2 allocation score on rhel7-auto4: -INFINITY
+native_color: A:3 allocation score on rhel7-auto1: -INFINITY
+native_color: A:3 allocation score on rhel7-auto2: -INFINITY
+native_color: A:3 allocation score on rhel7-auto3: -INFINITY
+native_color: A:3 allocation score on rhel7-auto4: -INFINITY
+native_color: B:0 allocation score on rhel7-auto1: -INFINITY
+native_color: B:0 allocation score on rhel7-auto2: -INFINITY
+native_color: B:0 allocation score on rhel7-auto3: 0
+native_color: B:0 allocation score on rhel7-auto4: 0
+native_color: B:1 allocation score on rhel7-auto1: -INFINITY
+native_color: B:1 allocation score on rhel7-auto2: -INFINITY
+native_color: B:1 allocation score on rhel7-auto3: -INFINITY
+native_color: B:1 allocation score on rhel7-auto4: 0
+native_color: B:2 allocation score on rhel7-auto1: -INFINITY
+native_color: B:2 allocation score on rhel7-auto2: -INFINITY
+native_color: B:2 allocation score on rhel7-auto3: -INFINITY
+native_color: B:2 allocation score on rhel7-auto4: -INFINITY
+native_color: B:3 allocation score on rhel7-auto1: -INFINITY
+native_color: B:3 allocation score on rhel7-auto2: -INFINITY
+native_color: B:3 allocation score on rhel7-auto3: -INFINITY
+native_color: B:3 allocation score on rhel7-auto4: -INFINITY
+native_color: shooter allocation score on rhel7-auto1: 0
+native_color: shooter allocation score on rhel7-auto2: 0
+native_color: shooter allocation score on rhel7-auto3: 0
+native_color: shooter allocation score on rhel7-auto4: 0
diff --git a/pengine/test10/clone-require-all-1.summary b/pengine/test10/clone-require-all-1.summary
new file mode 100644
index 0000000..2cbb97d
--- /dev/null
+++ b/pengine/test10/clone-require-all-1.summary
@@ -0,0 +1,34 @@
+
+Current cluster status:
+Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+
+ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
+ Clone Set: A-clone [A]
+     Started: [ rhel7-auto1 rhel7-auto2 ]
+     Stopped: [ rhel7-auto3 rhel7-auto4 ]
+ Clone Set: B-clone [B]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+
+Transition Summary:
+ * Start   B:0	(rhel7-auto3)
+ * Start   B:1	(rhel7-auto4)
+
+Executing cluster transition:
+ * Pseudo action:   B-clone_start_0
+ * Resource action: B               start on rhel7-auto3
+ * Resource action: B               start on rhel7-auto4
+ * Pseudo action:   B-clone_running_0
+ * Resource action: B               monitor=10000 on rhel7-auto3
+ * Resource action: B               monitor=10000 on rhel7-auto4
+
+Revised cluster status:
+Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+
+ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
+ Clone Set: A-clone [A]
+     Started: [ rhel7-auto1 rhel7-auto2 ]
+     Stopped: [ rhel7-auto3 rhel7-auto4 ]
+ Clone Set: B-clone [B]
+     Started: [ rhel7-auto3 rhel7-auto4 ]
+     Stopped: [ rhel7-auto1 rhel7-auto2 ]
+
diff --git a/pengine/test10/clone-require-all-1.xml b/pengine/test10/clone-require-all-1.xml
new file mode 100644
index 0000000..724fac1
--- /dev/null
+++ b/pengine/test10/clone-require-all-1.xml
@@ -0,0 +1,152 @@
+<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.3" epoch="17" num_updates="2" admin_epoch="0" cib-last-written="Mon Jan  5 17:40:52 2015" have-quorum="1" dc-uuid="2">
+  <configuration>
+    <crm_config>
+      <cluster_property_set id="cib-bootstrap-options">
+        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-a14efad"/>
+        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
+        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
+      </cluster_property_set>
+    </crm_config>
+    <nodes>
+      <node id="1" uname="rhel7-auto1"/>
+      <node id="2" uname="rhel7-auto2"/>
+      <node id="3" uname="rhel7-auto3"/>
+      <node id="4" uname="rhel7-auto4"/>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_xvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="A-clone">
+        <primitive class="ocf" id="A" provider="heartbeat" type="Dummy">
+          <instance_attributes id="A-instance_attributes"/>
+          <operations>
+            <op id="A-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="A-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="A-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="A-clone-meta">
+          <nvpair id="A-clone-meta_attributes-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+      <clone id="B-clone">
+        <primitive class="ocf" id="B" provider="heartbeat" type="Dummy">
+          <instance_attributes id="B-instance_attributes"/>
+          <operations>
+            <op id="B-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="B-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="B-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="B-clone-meta">
+          <nvpair id="B-clone-meta_attributes-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+    </resources>
+    <constraints>
+      <rsc_location id="location-A-clone-rhel7-auto3--INFINITY" node="rhel7-auto3" rsc="A-clone" score="-INFINITY"/>
+      <rsc_location id="location-A-clone-rhel7-auto4--INFINITY" node="rhel7-auto4" rsc="A-clone" score="-INFINITY"/>
+      <rsc_location id="location-B-clone-rhel7-auto1--INFINITY" node="rhel7-auto1" rsc="B-clone" score="-INFINITY"/>
+      <rsc_location id="location-B-clone-rhel7-auto2--INFINITY" node="rhel7-auto2" rsc="B-clone" score="-INFINITY"/>
+      <rsc_order require-all="false" first="A-clone" first-action="start" id="order-A-clone-B-clone-mandatory" then="B-clone" then-action="start"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="1">
+        <instance_attributes id="status-1">
+          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="1">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1420497434" last-rc-change="1420497434" exec-time="84" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
+            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1420497434" exec-time="62" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="12" rc-code="0" op-status="0" interval="0" last-run="1420497496" last-rc-change="1420497496" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="13" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497496" exec-time="19" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497505" exec-time="24" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="2">
+        <instance_attributes id="status-2">
+          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="2">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="10" rc-code="0" op-status="0" interval="0" last-run="1420497495" last-rc-change="1420497495" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497495" exec-time="20" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="3">
+        <instance_attributes id="status-3">
+          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="3">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="22:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;22:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497546" last-rc-change="1420497546" exec-time="32" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="22:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;22:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497653" last-rc-change="1420497653" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="30:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;30:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="22" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="4" uname="rhel7-auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="4">
+        <instance_attributes id="status-4">
+          <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-4-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="4">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497431" last-rc-change="1420497431" exec-time="987" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497545" last-rc-change="1420497545" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="24:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;24:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497652" last-rc-change="1420497652" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="32:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;32:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="28" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/clone-require-all-2.dot b/pengine/test10/clone-require-all-2.dot
new file mode 100644
index 0000000..4f830ce
--- /dev/null
+++ b/pengine/test10/clone-require-all-2.dot
@@ -0,0 +1,42 @@
+ digraph "g" {
+"A-clone_running_0" [ style=dashed color="red" fontcolor="orange"]
+"A-clone_start_0" -> "A-clone_running_0" [ style = dashed]
+"A-clone_start_0" -> "A_start_0 <none>" [ style = dashed]
+"A-clone_start_0" [ style=dashed color="red" fontcolor="orange"]
+"A-clone_stop_0" -> "A-clone_stopped_0" [ style = bold]
+"A-clone_stop_0" -> "A_stop_0 rhel7-auto1" [ style = bold]
+"A-clone_stop_0" -> "A_stop_0 rhel7-auto2" [ style = bold]
+"A-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"A-clone_stopped_0" -> "A-clone_start_0" [ style = dashed]
+"A-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"A_start_0 <none>" -> "A-clone_running_0" [ style = dashed]
+"A_start_0 <none>" [ style=dashed color="red" fontcolor="black"]
+"A_stop_0 rhel7-auto1" -> "A-clone_stopped_0" [ style = bold]
+"A_stop_0 rhel7-auto1" -> "A_start_0 <none>" [ style = dashed]
+"A_stop_0 rhel7-auto1" -> "all_stopped" [ style = bold]
+"A_stop_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
+"A_stop_0 rhel7-auto2" -> "A-clone_stopped_0" [ style = bold]
+"A_stop_0 rhel7-auto2" -> "A_start_0 <none>" [ style = dashed]
+"A_stop_0 rhel7-auto2" -> "all_stopped" [ style = bold]
+"A_stop_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
+"B-clone_running_0" [ style=dashed color="red" fontcolor="orange"]
+"B-clone_start_0" -> "B-clone_running_0" [ style = dashed]
+"B-clone_start_0" -> "B:1_start_0 rhel7-auto3" [ style = dashed]
+"B-clone_start_0" -> "B_start_0 rhel7-auto4" [ style = dashed]
+"B-clone_start_0" [ style=dashed color="red" fontcolor="orange"]
+"B:1_monitor_10000 rhel7-auto3" [ style=dashed color="red" fontcolor="black"]
+"B:1_start_0 rhel7-auto3" -> "B-clone_running_0" [ style = dashed]
+"B:1_start_0 rhel7-auto3" -> "B:1_monitor_10000 rhel7-auto3" [ style = dashed]
+"B:1_start_0 rhel7-auto3" [ style=dashed color="red" fontcolor="black"]
+"B_monitor_10000 rhel7-auto4" [ style=dashed color="red" fontcolor="black"]
+"B_start_0 rhel7-auto4" -> "B-clone_running_0" [ style = dashed]
+"B_start_0 rhel7-auto4" -> "B_monitor_10000 rhel7-auto4" [ style = dashed]
+"B_start_0 rhel7-auto4" [ style=dashed color="red" fontcolor="black"]
+"all_stopped" [ style=bold color="green" fontcolor="orange"]
+"shooter_monitor_60000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"shooter_start_0 rhel7-auto3" -> "shooter_monitor_60000 rhel7-auto3" [ style = bold]
+"shooter_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"shooter_stop_0 rhel7-auto1" -> "all_stopped" [ style = bold]
+"shooter_stop_0 rhel7-auto1" -> "shooter_start_0 rhel7-auto3" [ style = bold]
+"shooter_stop_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
+}
diff --git a/pengine/test10/clone-require-all-2.exp b/pengine/test10/clone-require-all-2.exp
new file mode 100644
index 0000000..a5ad63f
--- /dev/null
+++ b/pengine/test10/clone-require-all-2.exp
@@ -0,0 +1,107 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0">
+    <action_set>
+      <rsc_op id="13" operation="monitor" operation_key="shooter_monitor_60000" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="shooter" class="stonith" type="fence_xvm"/>
+        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="12" operation="start" operation_key="shooter_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="12" operation="start" operation_key="shooter_start_0" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="shooter" class="stonith" type="fence_xvm"/>
+        <attributes CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="11" operation="stop" operation_key="shooter_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2">
+    <action_set>
+      <rsc_op id="11" operation="stop" operation_key="shooter_stop_0" on_node="rhel7-auto1" on_node_uuid="1">
+        <primitive id="shooter" class="stonith" type="fence_xvm"/>
+        <attributes CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <rsc_op id="14" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1">
+        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="18" operation="stop" operation_key="A-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4">
+    <action_set>
+      <rsc_op id="15" operation="stop" operation_key="A_stop_0" internal_operation_key="A:1_stop_0" on_node="rhel7-auto2" on_node_uuid="2">
+        <primitive id="A" long-id="A:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="18" operation="stop" operation_key="A-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5" priority="1000000">
+    <action_set>
+      <pseudo_event id="19" operation="stopped" operation_key="A-clone_stopped_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="14" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="15" operation="stop" operation_key="A_stop_0" internal_operation_key="A:1_stop_0" on_node="rhel7-auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="18" operation="stop" operation_key="A-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="6">
+    <action_set>
+      <pseudo_event id="18" operation="stop" operation_key="A-clone_stop_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="7">
+    <action_set>
+      <pseudo_event id="5" operation="all_stopped" operation_key="all_stopped">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="11" operation="stop" operation_key="shooter_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="14" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="15" operation="stop" operation_key="A_stop_0" internal_operation_key="A:1_stop_0" on_node="rhel7-auto2" on_node_uuid="2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/clone-require-all-2.scores b/pengine/test10/clone-require-all-2.scores
new file mode 100644
index 0000000..cdbf611
--- /dev/null
+++ b/pengine/test10/clone-require-all-2.scores
@@ -0,0 +1,77 @@
+Allocation scores:
+clone_color: A-clone allocation score on rhel7-auto1: 0
+clone_color: A-clone allocation score on rhel7-auto2: 0
+clone_color: A-clone allocation score on rhel7-auto3: -INFINITY
+clone_color: A-clone allocation score on rhel7-auto4: -INFINITY
+clone_color: A:0 allocation score on rhel7-auto1: 1
+clone_color: A:0 allocation score on rhel7-auto2: 0
+clone_color: A:0 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:0 allocation score on rhel7-auto4: -INFINITY
+clone_color: A:1 allocation score on rhel7-auto1: 0
+clone_color: A:1 allocation score on rhel7-auto2: 1
+clone_color: A:1 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:1 allocation score on rhel7-auto4: -INFINITY
+clone_color: A:2 allocation score on rhel7-auto1: 0
+clone_color: A:2 allocation score on rhel7-auto2: 0
+clone_color: A:2 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:2 allocation score on rhel7-auto4: -INFINITY
+clone_color: A:3 allocation score on rhel7-auto1: 0
+clone_color: A:3 allocation score on rhel7-auto2: 0
+clone_color: A:3 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:3 allocation score on rhel7-auto4: -INFINITY
+clone_color: B-clone allocation score on rhel7-auto1: -INFINITY
+clone_color: B-clone allocation score on rhel7-auto2: -INFINITY
+clone_color: B-clone allocation score on rhel7-auto3: 0
+clone_color: B-clone allocation score on rhel7-auto4: 0
+clone_color: B:0 allocation score on rhel7-auto1: -INFINITY
+clone_color: B:0 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:0 allocation score on rhel7-auto3: 0
+clone_color: B:0 allocation score on rhel7-auto4: 0
+clone_color: B:1 allocation score on rhel7-auto1: -INFINITY
+clone_color: B:1 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:1 allocation score on rhel7-auto3: 0
+clone_color: B:1 allocation score on rhel7-auto4: 0
+clone_color: B:2 allocation score on rhel7-auto1: -INFINITY
+clone_color: B:2 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:2 allocation score on rhel7-auto3: 0
+clone_color: B:2 allocation score on rhel7-auto4: 0
+clone_color: B:3 allocation score on rhel7-auto1: -INFINITY
+clone_color: B:3 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:3 allocation score on rhel7-auto3: 0
+clone_color: B:3 allocation score on rhel7-auto4: 0
+native_color: A:0 allocation score on rhel7-auto1: -INFINITY
+native_color: A:0 allocation score on rhel7-auto2: -INFINITY
+native_color: A:0 allocation score on rhel7-auto3: -INFINITY
+native_color: A:0 allocation score on rhel7-auto4: -INFINITY
+native_color: A:1 allocation score on rhel7-auto1: -INFINITY
+native_color: A:1 allocation score on rhel7-auto2: -INFINITY
+native_color: A:1 allocation score on rhel7-auto3: -INFINITY
+native_color: A:1 allocation score on rhel7-auto4: -INFINITY
+native_color: A:2 allocation score on rhel7-auto1: -INFINITY
+native_color: A:2 allocation score on rhel7-auto2: -INFINITY
+native_color: A:2 allocation score on rhel7-auto3: -INFINITY
+native_color: A:2 allocation score on rhel7-auto4: -INFINITY
+native_color: A:3 allocation score on rhel7-auto1: -INFINITY
+native_color: A:3 allocation score on rhel7-auto2: -INFINITY
+native_color: A:3 allocation score on rhel7-auto3: -INFINITY
+native_color: A:3 allocation score on rhel7-auto4: -INFINITY
+native_color: B:0 allocation score on rhel7-auto1: -INFINITY
+native_color: B:0 allocation score on rhel7-auto2: -INFINITY
+native_color: B:0 allocation score on rhel7-auto3: 0
+native_color: B:0 allocation score on rhel7-auto4: 0
+native_color: B:1 allocation score on rhel7-auto1: -INFINITY
+native_color: B:1 allocation score on rhel7-auto2: -INFINITY
+native_color: B:1 allocation score on rhel7-auto3: 0
+native_color: B:1 allocation score on rhel7-auto4: -INFINITY
+native_color: B:2 allocation score on rhel7-auto1: -INFINITY
+native_color: B:2 allocation score on rhel7-auto2: -INFINITY
+native_color: B:2 allocation score on rhel7-auto3: -INFINITY
+native_color: B:2 allocation score on rhel7-auto4: -INFINITY
+native_color: B:3 allocation score on rhel7-auto1: -INFINITY
+native_color: B:3 allocation score on rhel7-auto2: -INFINITY
+native_color: B:3 allocation score on rhel7-auto3: -INFINITY
+native_color: B:3 allocation score on rhel7-auto4: -INFINITY
+native_color: shooter allocation score on rhel7-auto1: 0
+native_color: shooter allocation score on rhel7-auto2: 0
+native_color: shooter allocation score on rhel7-auto3: 0
+native_color: shooter allocation score on rhel7-auto4: 0
diff --git a/pengine/test10/clone-require-all-2.summary b/pengine/test10/clone-require-all-2.summary
new file mode 100644
index 0000000..d4b2519
--- /dev/null
+++ b/pengine/test10/clone-require-all-2.summary
@@ -0,0 +1,41 @@
+
+Current cluster status:
+Node rhel7-auto1 (1): standby
+Node rhel7-auto2 (2): standby
+Online: [ rhel7-auto3 rhel7-auto4 ]
+
+ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
+ Clone Set: A-clone [A]
+     Started: [ rhel7-auto1 rhel7-auto2 ]
+     Stopped: [ rhel7-auto3 rhel7-auto4 ]
+ Clone Set: B-clone [B]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+
+Transition Summary:
+ * Move    shooter	(Started rhel7-auto1 -> rhel7-auto3)
+ * Stop    A:0	(rhel7-auto1)
+ * Stop    A:1	(rhel7-auto2)
+ * Start   B:0	(rhel7-auto4 - blocked)
+ * Start   B:1	(rhel7-auto3 - blocked)
+
+Executing cluster transition:
+ * Resource action: shooter         stop on rhel7-auto1
+ * Pseudo action:   A-clone_stop_0
+ * Resource action: shooter         start on rhel7-auto3
+ * Resource action: A               stop on rhel7-auto1
+ * Resource action: A               stop on rhel7-auto2
+ * Pseudo action:   A-clone_stopped_0
+ * Pseudo action:   all_stopped
+ * Resource action: shooter         monitor=60000 on rhel7-auto3
+
+Revised cluster status:
+Node rhel7-auto1 (1): standby
+Node rhel7-auto2 (2): standby
+Online: [ rhel7-auto3 rhel7-auto4 ]
+
+ shooter	(stonith:fence_xvm):	Started rhel7-auto3 
+ Clone Set: A-clone [A]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+ Clone Set: B-clone [B]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+
diff --git a/pengine/test10/clone-require-all-2.xml b/pengine/test10/clone-require-all-2.xml
new file mode 100644
index 0000000..1fd9576
--- /dev/null
+++ b/pengine/test10/clone-require-all-2.xml
@@ -0,0 +1,160 @@
+<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.3" epoch="19" num_updates="0" admin_epoch="0" cib-last-written="Mon Jan  5 17:40:52 2015" have-quorum="1" dc-uuid="2">
+  <configuration>
+    <crm_config>
+      <cluster_property_set id="cib-bootstrap-options">
+        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-a14efad"/>
+        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
+        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
+      </cluster_property_set>
+    </crm_config>
+    <nodes>
+      <node id="1" uname="rhel7-auto1">
+        <instance_attributes id="nodes-1">
+          <nvpair id="nodes-1-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+      <node id="2" uname="rhel7-auto2">
+        <instance_attributes id="nodes-2">
+          <nvpair id="nodes-2-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+      <node id="3" uname="rhel7-auto3"/>
+      <node id="4" uname="rhel7-auto4"/>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_xvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="A-clone">
+        <primitive class="ocf" id="A" provider="heartbeat" type="Dummy">
+          <instance_attributes id="A-instance_attributes"/>
+          <operations>
+            <op id="A-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="A-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="A-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="A-clone-meta">
+          <nvpair id="A-clone-meta_attributes-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+      <clone id="B-clone">
+        <primitive class="ocf" id="B" provider="heartbeat" type="Dummy">
+          <instance_attributes id="B-instance_attributes"/>
+          <operations>
+            <op id="B-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="B-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="B-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="B-clone-meta">
+          <nvpair id="B-clone-meta_attributes-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+    </resources>
+    <constraints>
+      <rsc_location id="location-A-clone-rhel7-auto3--INFINITY" node="rhel7-auto3" rsc="A-clone" score="-INFINITY"/>
+      <rsc_location id="location-A-clone-rhel7-auto4--INFINITY" node="rhel7-auto4" rsc="A-clone" score="-INFINITY"/>
+      <rsc_location id="location-B-clone-rhel7-auto1--INFINITY" node="rhel7-auto1" rsc="B-clone" score="-INFINITY"/>
+      <rsc_location id="location-B-clone-rhel7-auto2--INFINITY" node="rhel7-auto2" rsc="B-clone" score="-INFINITY"/>
+      <rsc_order require-all="false" first="A-clone" first-action="start" id="order-A-clone-B-clone-mandatory" then="B-clone" then-action="start"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="1">
+        <instance_attributes id="status-1">
+          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="1">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1420497434" last-rc-change="1420497434" exec-time="84" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
+            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1420497434" exec-time="62" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="12" rc-code="0" op-status="0" interval="0" last-run="1420497496" last-rc-change="1420497496" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="13" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497496" exec-time="19" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497505" exec-time="24" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="2">
+        <instance_attributes id="status-2">
+          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="2">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="10" rc-code="0" op-status="0" interval="0" last-run="1420497495" last-rc-change="1420497495" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497495" exec-time="20" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="3">
+        <instance_attributes id="status-3">
+          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="3">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="22:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;22:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497546" last-rc-change="1420497546" exec-time="32" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="22:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;22:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497653" last-rc-change="1420497653" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="30:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;30:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="22" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="4" uname="rhel7-auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="4">
+        <instance_attributes id="status-4">
+          <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-4-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="4">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497431" last-rc-change="1420497431" exec-time="987" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497545" last-rc-change="1420497545" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="24:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;24:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497652" last-rc-change="1420497652" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="32:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;32:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="28" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/clone-require-all-3.dot b/pengine/test10/clone-require-all-3.dot
new file mode 100644
index 0000000..d93693d
--- /dev/null
+++ b/pengine/test10/clone-require-all-3.dot
@@ -0,0 +1,57 @@
+ digraph "g" {
+"A-clone_running_0" [ style=dashed color="red" fontcolor="orange"]
+"A-clone_start_0" -> "A-clone_running_0" [ style = dashed]
+"A-clone_start_0" -> "A_start_0 <none>" [ style = dashed]
+"A-clone_start_0" [ style=dashed color="red" fontcolor="orange"]
+"A-clone_stop_0" -> "A-clone_stopped_0" [ style = bold]
+"A-clone_stop_0" -> "A_stop_0 rhel7-auto1" [ style = bold]
+"A-clone_stop_0" -> "A_stop_0 rhel7-auto2" [ style = bold]
+"A-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"A-clone_stopped_0" -> "A-clone_start_0" [ style = dashed]
+"A-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"A_start_0 <none>" -> "A-clone_running_0" [ style = dashed]
+"A_start_0 <none>" [ style=dashed color="red" fontcolor="black"]
+"A_stop_0 rhel7-auto1" -> "A-clone_stopped_0" [ style = bold]
+"A_stop_0 rhel7-auto1" -> "A_start_0 <none>" [ style = dashed]
+"A_stop_0 rhel7-auto1" -> "all_stopped" [ style = bold]
+"A_stop_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
+"A_stop_0 rhel7-auto2" -> "A-clone_stopped_0" [ style = bold]
+"A_stop_0 rhel7-auto2" -> "A_start_0 <none>" [ style = dashed]
+"A_stop_0 rhel7-auto2" -> "all_stopped" [ style = bold]
+"A_stop_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
+"B-clone_running_0" [ style=dashed color="red" fontcolor="orange"]
+"B-clone_start_0" -> "B-clone_running_0" [ style = dashed]
+"B-clone_start_0" -> "B_start_0 rhel7-auto3" [ style = dashed]
+"B-clone_start_0" -> "B_start_0 rhel7-auto4" [ style = dashed]
+"B-clone_start_0" [ style=dashed color="red" fontcolor="orange"]
+"B-clone_stop_0" -> "B-clone_stopped_0" [ style = bold]
+"B-clone_stop_0" -> "B_stop_0 rhel7-auto3" [ style = bold]
+"B-clone_stop_0" -> "B_stop_0 rhel7-auto4" [ style = bold]
+"B-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"B-clone_stopped_0" -> "A-clone_stop_0" [ style = bold]
+"B-clone_stopped_0" -> "B-clone_start_0" [ style = dashed]
+"B-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"B_monitor_10000 rhel7-auto3" [ style=dashed color="red" fontcolor="black"]
+"B_monitor_10000 rhel7-auto4" [ style=dashed color="red" fontcolor="black"]
+"B_start_0 rhel7-auto3" -> "B-clone_running_0" [ style = dashed]
+"B_start_0 rhel7-auto3" -> "B_monitor_10000 rhel7-auto3" [ style = dashed]
+"B_start_0 rhel7-auto3" [ style=dashed color="red" fontcolor="black"]
+"B_start_0 rhel7-auto4" -> "B-clone_running_0" [ style = dashed]
+"B_start_0 rhel7-auto4" -> "B_monitor_10000 rhel7-auto4" [ style = dashed]
+"B_start_0 rhel7-auto4" [ style=dashed color="red" fontcolor="black"]
+"B_stop_0 rhel7-auto3" -> "B-clone_stopped_0" [ style = bold]
+"B_stop_0 rhel7-auto3" -> "B_start_0 rhel7-auto3" [ style = dashed]
+"B_stop_0 rhel7-auto3" -> "all_stopped" [ style = bold]
+"B_stop_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"B_stop_0 rhel7-auto4" -> "B-clone_stopped_0" [ style = bold]
+"B_stop_0 rhel7-auto4" -> "B_start_0 rhel7-auto4" [ style = dashed]
+"B_stop_0 rhel7-auto4" -> "all_stopped" [ style = bold]
+"B_stop_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
+"all_stopped" [ style=bold color="green" fontcolor="orange"]
+"shooter_monitor_60000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"shooter_start_0 rhel7-auto3" -> "shooter_monitor_60000 rhel7-auto3" [ style = bold]
+"shooter_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"shooter_stop_0 rhel7-auto1" -> "all_stopped" [ style = bold]
+"shooter_stop_0 rhel7-auto1" -> "shooter_start_0 rhel7-auto3" [ style = bold]
+"shooter_stop_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
+}
diff --git a/pengine/test10/clone-require-all-3.exp b/pengine/test10/clone-require-all-3.exp
new file mode 100644
index 0000000..02eea7a
--- /dev/null
+++ b/pengine/test10/clone-require-all-3.exp
@@ -0,0 +1,169 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0">
+    <action_set>
+      <rsc_op id="15" operation="monitor" operation_key="shooter_monitor_60000" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="shooter" class="stonith" type="fence_xvm"/>
+        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="14" operation="start" operation_key="shooter_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="14" operation="start" operation_key="shooter_start_0" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="shooter" class="stonith" type="fence_xvm"/>
+        <attributes CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="13" operation="stop" operation_key="shooter_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2">
+    <action_set>
+      <rsc_op id="13" operation="stop" operation_key="shooter_stop_0" on_node="rhel7-auto1" on_node_uuid="1">
+        <primitive id="shooter" class="stonith" type="fence_xvm"/>
+        <attributes CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <rsc_op id="16" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1">
+        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="20" operation="stop" operation_key="A-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4">
+    <action_set>
+      <rsc_op id="17" operation="stop" operation_key="A_stop_0" internal_operation_key="A:1_stop_0" on_node="rhel7-auto2" on_node_uuid="2">
+        <primitive id="A" long-id="A:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="20" operation="stop" operation_key="A-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5" priority="1000000">
+    <action_set>
+      <pseudo_event id="21" operation="stopped" operation_key="A-clone_stopped_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="16" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="17" operation="stop" operation_key="A_stop_0" internal_operation_key="A:1_stop_0" on_node="rhel7-auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="20" operation="stop" operation_key="A-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="6">
+    <action_set>
+      <pseudo_event id="20" operation="stop" operation_key="A-clone_stop_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="29" operation="stopped" operation_key="B-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="7">
+    <action_set>
+      <rsc_op id="22" operation="stop" operation_key="B_stop_0" internal_operation_key="B:0_stop_0" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="28" operation="stop" operation_key="B-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="8">
+    <action_set>
+      <rsc_op id="24" operation="stop" operation_key="B_stop_0" internal_operation_key="B:1_stop_0" on_node="rhel7-auto4" on_node_uuid="4">
+        <primitive id="B" long-id="B:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="28" operation="stop" operation_key="B-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="9" priority="1000000">
+    <action_set>
+      <pseudo_event id="29" operation="stopped" operation_key="B-clone_stopped_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="22" operation="stop" operation_key="B_stop_0" internal_operation_key="B:0_stop_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="24" operation="stop" operation_key="B_stop_0" internal_operation_key="B:1_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="28" operation="stop" operation_key="B-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="10">
+    <action_set>
+      <pseudo_event id="28" operation="stop" operation_key="B-clone_stop_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="11">
+    <action_set>
+      <pseudo_event id="7" operation="all_stopped" operation_key="all_stopped">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="13" operation="stop" operation_key="shooter_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="16" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="17" operation="stop" operation_key="A_stop_0" internal_operation_key="A:1_stop_0" on_node="rhel7-auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="22" operation="stop" operation_key="B_stop_0" internal_operation_key="B:0_stop_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="24" operation="stop" operation_key="B_stop_0" internal_operation_key="B:1_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/clone-require-all-3.scores b/pengine/test10/clone-require-all-3.scores
new file mode 100644
index 0000000..814a972
--- /dev/null
+++ b/pengine/test10/clone-require-all-3.scores
@@ -0,0 +1,77 @@
+Allocation scores:
+clone_color: A-clone allocation score on rhel7-auto1: 0
+clone_color: A-clone allocation score on rhel7-auto2: 0
+clone_color: A-clone allocation score on rhel7-auto3: -INFINITY
+clone_color: A-clone allocation score on rhel7-auto4: -INFINITY
+clone_color: A:0 allocation score on rhel7-auto1: 1
+clone_color: A:0 allocation score on rhel7-auto2: 0
+clone_color: A:0 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:0 allocation score on rhel7-auto4: -INFINITY
+clone_color: A:1 allocation score on rhel7-auto1: 0
+clone_color: A:1 allocation score on rhel7-auto2: 1
+clone_color: A:1 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:1 allocation score on rhel7-auto4: -INFINITY
+clone_color: A:2 allocation score on rhel7-auto1: 0
+clone_color: A:2 allocation score on rhel7-auto2: 0
+clone_color: A:2 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:2 allocation score on rhel7-auto4: -INFINITY
+clone_color: A:3 allocation score on rhel7-auto1: 0
+clone_color: A:3 allocation score on rhel7-auto2: 0
+clone_color: A:3 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:3 allocation score on rhel7-auto4: -INFINITY
+clone_color: B-clone allocation score on rhel7-auto1: -INFINITY
+clone_color: B-clone allocation score on rhel7-auto2: -INFINITY
+clone_color: B-clone allocation score on rhel7-auto3: 0
+clone_color: B-clone allocation score on rhel7-auto4: 0
+clone_color: B:0 allocation score on rhel7-auto1: -INFINITY
+clone_color: B:0 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:0 allocation score on rhel7-auto3: 1
+clone_color: B:0 allocation score on rhel7-auto4: 0
+clone_color: B:1 allocation score on rhel7-auto1: -INFINITY
+clone_color: B:1 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:1 allocation score on rhel7-auto3: 0
+clone_color: B:1 allocation score on rhel7-auto4: 1
+clone_color: B:2 allocation score on rhel7-auto1: -INFINITY
+clone_color: B:2 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:2 allocation score on rhel7-auto3: 0
+clone_color: B:2 allocation score on rhel7-auto4: 0
+clone_color: B:3 allocation score on rhel7-auto1: -INFINITY
+clone_color: B:3 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:3 allocation score on rhel7-auto3: 0
+clone_color: B:3 allocation score on rhel7-auto4: 0
+native_color: A:0 allocation score on rhel7-auto1: -INFINITY
+native_color: A:0 allocation score on rhel7-auto2: -INFINITY
+native_color: A:0 allocation score on rhel7-auto3: -INFINITY
+native_color: A:0 allocation score on rhel7-auto4: -INFINITY
+native_color: A:1 allocation score on rhel7-auto1: -INFINITY
+native_color: A:1 allocation score on rhel7-auto2: -INFINITY
+native_color: A:1 allocation score on rhel7-auto3: -INFINITY
+native_color: A:1 allocation score on rhel7-auto4: -INFINITY
+native_color: A:2 allocation score on rhel7-auto1: -INFINITY
+native_color: A:2 allocation score on rhel7-auto2: -INFINITY
+native_color: A:2 allocation score on rhel7-auto3: -INFINITY
+native_color: A:2 allocation score on rhel7-auto4: -INFINITY
+native_color: A:3 allocation score on rhel7-auto1: -INFINITY
+native_color: A:3 allocation score on rhel7-auto2: -INFINITY
+native_color: A:3 allocation score on rhel7-auto3: -INFINITY
+native_color: A:3 allocation score on rhel7-auto4: -INFINITY
+native_color: B:0 allocation score on rhel7-auto1: -INFINITY
+native_color: B:0 allocation score on rhel7-auto2: -INFINITY
+native_color: B:0 allocation score on rhel7-auto3: 1
+native_color: B:0 allocation score on rhel7-auto4: -INFINITY
+native_color: B:1 allocation score on rhel7-auto1: -INFINITY
+native_color: B:1 allocation score on rhel7-auto2: -INFINITY
+native_color: B:1 allocation score on rhel7-auto3: 0
+native_color: B:1 allocation score on rhel7-auto4: 1
+native_color: B:2 allocation score on rhel7-auto1: -INFINITY
+native_color: B:2 allocation score on rhel7-auto2: -INFINITY
+native_color: B:2 allocation score on rhel7-auto3: -INFINITY
+native_color: B:2 allocation score on rhel7-auto4: -INFINITY
+native_color: B:3 allocation score on rhel7-auto1: -INFINITY
+native_color: B:3 allocation score on rhel7-auto2: -INFINITY
+native_color: B:3 allocation score on rhel7-auto3: -INFINITY
+native_color: B:3 allocation score on rhel7-auto4: -INFINITY
+native_color: shooter allocation score on rhel7-auto1: 0
+native_color: shooter allocation score on rhel7-auto2: 0
+native_color: shooter allocation score on rhel7-auto3: 0
+native_color: shooter allocation score on rhel7-auto4: 0
diff --git a/pengine/test10/clone-require-all-3.summary b/pengine/test10/clone-require-all-3.summary
new file mode 100644
index 0000000..68191b1
--- /dev/null
+++ b/pengine/test10/clone-require-all-3.summary
@@ -0,0 +1,46 @@
+
+Current cluster status:
+Node rhel7-auto1 (1): standby
+Node rhel7-auto2 (2): standby
+Online: [ rhel7-auto3 rhel7-auto4 ]
+
+ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
+ Clone Set: A-clone [A]
+     Started: [ rhel7-auto1 rhel7-auto2 ]
+     Stopped: [ rhel7-auto3 rhel7-auto4 ]
+ Clone Set: B-clone [B]
+     Started: [ rhel7-auto3 rhel7-auto4 ]
+     Stopped: [ rhel7-auto1 rhel7-auto2 ]
+
+Transition Summary:
+ * Move    shooter	(Started rhel7-auto1 -> rhel7-auto3)
+ * Stop    A:0	(rhel7-auto1)
+ * Stop    A:1	(rhel7-auto2)
+ * Stop    B:0	(Started rhel7-auto3)
+ * Stop    B:1	(Started rhel7-auto4)
+
+Executing cluster transition:
+ * Resource action: shooter         stop on rhel7-auto1
+ * Pseudo action:   B-clone_stop_0
+ * Resource action: shooter         start on rhel7-auto3
+ * Resource action: B               stop on rhel7-auto3
+ * Resource action: B               stop on rhel7-auto4
+ * Pseudo action:   B-clone_stopped_0
+ * Resource action: shooter         monitor=60000 on rhel7-auto3
+ * Pseudo action:   A-clone_stop_0
+ * Resource action: A               stop on rhel7-auto1
+ * Resource action: A               stop on rhel7-auto2
+ * Pseudo action:   A-clone_stopped_0
+ * Pseudo action:   all_stopped
+
+Revised cluster status:
+Node rhel7-auto1 (1): standby
+Node rhel7-auto2 (2): standby
+Online: [ rhel7-auto3 rhel7-auto4 ]
+
+ shooter	(stonith:fence_xvm):	Started rhel7-auto3 
+ Clone Set: A-clone [A]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+ Clone Set: B-clone [B]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+
diff --git a/pengine/test10/clone-require-all-3.xml b/pengine/test10/clone-require-all-3.xml
new file mode 100644
index 0000000..b04f0e2
--- /dev/null
+++ b/pengine/test10/clone-require-all-3.xml
@@ -0,0 +1,160 @@
+<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.3" epoch="17" num_updates="6" admin_epoch="0" cib-last-written="Mon Jan  5 17:40:52 2015" have-quorum="1" dc-uuid="2">
+  <configuration>
+    <crm_config>
+      <cluster_property_set id="cib-bootstrap-options">
+        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-a14efad"/>
+        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
+        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
+      </cluster_property_set>
+    </crm_config>
+    <nodes>
+      <node id="1" uname="rhel7-auto1">
+        <instance_attributes id="nodes-1">
+          <nvpair id="nodes-1-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+      <node id="2" uname="rhel7-auto2">
+        <instance_attributes id="nodes-2">
+          <nvpair id="nodes-2-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+      <node id="3" uname="rhel7-auto3"/>
+      <node id="4" uname="rhel7-auto4"/>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_xvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="A-clone">
+        <primitive class="ocf" id="A" provider="heartbeat" type="Dummy">
+          <instance_attributes id="A-instance_attributes"/>
+          <operations>
+            <op id="A-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="A-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="A-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="A-clone-meta">
+          <nvpair id="A-clone-meta_attributes-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+      <clone id="B-clone">
+        <primitive class="ocf" id="B" provider="heartbeat" type="Dummy">
+          <instance_attributes id="B-instance_attributes"/>
+          <operations>
+            <op id="B-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="B-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="B-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="B-clone-meta">
+          <nvpair id="B-clone-meta_attributes-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+    </resources>
+    <constraints>
+      <rsc_location id="location-A-clone-rhel7-auto3--INFINITY" node="rhel7-auto3" rsc="A-clone" score="-INFINITY"/>
+      <rsc_location id="location-A-clone-rhel7-auto4--INFINITY" node="rhel7-auto4" rsc="A-clone" score="-INFINITY"/>
+      <rsc_location id="location-B-clone-rhel7-auto1--INFINITY" node="rhel7-auto1" rsc="B-clone" score="-INFINITY"/>
+      <rsc_location id="location-B-clone-rhel7-auto2--INFINITY" node="rhel7-auto2" rsc="B-clone" score="-INFINITY"/>
+      <rsc_order require-all="false" first="A-clone" first-action="start" id="order-A-clone-B-clone-mandatory" then="B-clone" then-action="start"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="1">
+        <instance_attributes id="status-1">
+          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="1">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1420497434" last-rc-change="1420497434" exec-time="84" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
+            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1420497434" exec-time="62" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="12" rc-code="0" op-status="0" interval="0" last-run="1420497496" last-rc-change="1420497496" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="13" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497496" exec-time="19" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497505" exec-time="24" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="2">
+        <instance_attributes id="status-2">
+          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="2">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="10" rc-code="0" op-status="0" interval="0" last-run="1420497495" last-rc-change="1420497495" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497495" exec-time="20" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="3">
+        <instance_attributes id="status-3">
+          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="3">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="22:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;22:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497546" last-rc-change="1420497546" exec-time="32" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="22" rc-code="0" op-status="0" interval="0" last-run="1420572996" last-rc-change="1420572996" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420572996" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="4" uname="rhel7-auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="4">
+        <instance_attributes id="status-4">
+          <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-4-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="4">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497431" last-rc-change="1420497431" exec-time="987" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497545" last-rc-change="1420497545" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="22" rc-code="0" op-status="0" interval="0" last-run="1420572996" last-rc-change="1420572996" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420572996" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/clone-require-all-4.dot b/pengine/test10/clone-require-all-4.dot
new file mode 100644
index 0000000..4b9521f
--- /dev/null
+++ b/pengine/test10/clone-require-all-4.dot
@@ -0,0 +1,24 @@
+ digraph "g" {
+"A-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"A-clone_start_0" -> "A-clone_running_0" [ style = bold]
+"A-clone_start_0" -> "A_start_0 <none>" [ style = dashed]
+"A-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"A-clone_stop_0" -> "A-clone_stopped_0" [ style = bold]
+"A-clone_stop_0" -> "A_stop_0 rhel7-auto1" [ style = bold]
+"A-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"A-clone_stopped_0" -> "A-clone_start_0" [ style = bold]
+"A-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"A_start_0 <none>" -> "A-clone_running_0" [ style = dashed]
+"A_start_0 <none>" [ style=dashed color="red" fontcolor="black"]
+"A_stop_0 rhel7-auto1" -> "A-clone_stopped_0" [ style = bold]
+"A_stop_0 rhel7-auto1" -> "A_start_0 <none>" [ style = dashed]
+"A_stop_0 rhel7-auto1" -> "all_stopped" [ style = bold]
+"A_stop_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
+"all_stopped" [ style=bold color="green" fontcolor="orange"]
+"shooter_monitor_60000 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
+"shooter_start_0 rhel7-auto2" -> "shooter_monitor_60000 rhel7-auto2" [ style = bold]
+"shooter_start_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
+"shooter_stop_0 rhel7-auto1" -> "all_stopped" [ style = bold]
+"shooter_stop_0 rhel7-auto1" -> "shooter_start_0 rhel7-auto2" [ style = bold]
+"shooter_stop_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
+}
diff --git a/pengine/test10/clone-require-all-4.exp b/pengine/test10/clone-require-all-4.exp
new file mode 100644
index 0000000..53c1529
--- /dev/null
+++ b/pengine/test10/clone-require-all-4.exp
@@ -0,0 +1,112 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0">
+    <action_set>
+      <rsc_op id="15" operation="monitor" operation_key="shooter_monitor_60000" on_node="rhel7-auto2" on_node_uuid="2">
+        <primitive id="shooter" class="stonith" type="fence_xvm"/>
+        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="14" operation="start" operation_key="shooter_start_0" on_node="rhel7-auto2" on_node_uuid="2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="14" operation="start" operation_key="shooter_start_0" on_node="rhel7-auto2" on_node_uuid="2">
+        <primitive id="shooter" class="stonith" type="fence_xvm"/>
+        <attributes CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="13" operation="stop" operation_key="shooter_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2">
+    <action_set>
+      <rsc_op id="13" operation="stop" operation_key="shooter_stop_0" on_node="rhel7-auto1" on_node_uuid="1">
+        <primitive id="shooter" class="stonith" type="fence_xvm"/>
+        <attributes CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <rsc_op id="16" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1">
+        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="21" operation="stop" operation_key="A-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4" priority="1000000">
+    <action_set>
+      <pseudo_event id="22" operation="stopped" operation_key="A-clone_stopped_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="16" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="21" operation="stop" operation_key="A-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <pseudo_event id="21" operation="stop" operation_key="A-clone_stop_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="6" priority="1000000">
+    <action_set>
+      <pseudo_event id="20" operation="running" operation_key="A-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="19" operation="start" operation_key="A-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="7">
+    <action_set>
+      <pseudo_event id="19" operation="start" operation_key="A-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="22" operation="stopped" operation_key="A-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="8">
+    <action_set>
+      <pseudo_event id="7" operation="all_stopped" operation_key="all_stopped">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="13" operation="stop" operation_key="shooter_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="16" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/clone-require-all-4.scores b/pengine/test10/clone-require-all-4.scores
new file mode 100644
index 0000000..c602a1d
--- /dev/null
+++ b/pengine/test10/clone-require-all-4.scores
@@ -0,0 +1,77 @@
+Allocation scores:
+clone_color: A-clone allocation score on rhel7-auto1: 0
+clone_color: A-clone allocation score on rhel7-auto2: 0
+clone_color: A-clone allocation score on rhel7-auto3: -INFINITY
+clone_color: A-clone allocation score on rhel7-auto4: -INFINITY
+clone_color: A:0 allocation score on rhel7-auto1: 1
+clone_color: A:0 allocation score on rhel7-auto2: 0
+clone_color: A:0 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:0 allocation score on rhel7-auto4: -INFINITY
+clone_color: A:1 allocation score on rhel7-auto1: 0
+clone_color: A:1 allocation score on rhel7-auto2: 1
+clone_color: A:1 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:1 allocation score on rhel7-auto4: -INFINITY
+clone_color: A:2 allocation score on rhel7-auto1: 0
+clone_color: A:2 allocation score on rhel7-auto2: 0
+clone_color: A:2 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:2 allocation score on rhel7-auto4: -INFINITY
+clone_color: A:3 allocation score on rhel7-auto1: 0
+clone_color: A:3 allocation score on rhel7-auto2: 0
+clone_color: A:3 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:3 allocation score on rhel7-auto4: -INFINITY
+clone_color: B-clone allocation score on rhel7-auto1: -INFINITY
+clone_color: B-clone allocation score on rhel7-auto2: -INFINITY
+clone_color: B-clone allocation score on rhel7-auto3: 0
+clone_color: B-clone allocation score on rhel7-auto4: 0
+clone_color: B:0 allocation score on rhel7-auto1: -INFINITY
+clone_color: B:0 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:0 allocation score on rhel7-auto3: 1
+clone_color: B:0 allocation score on rhel7-auto4: 0
+clone_color: B:1 allocation score on rhel7-auto1: -INFINITY
+clone_color: B:1 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:1 allocation score on rhel7-auto3: 0
+clone_color: B:1 allocation score on rhel7-auto4: 1
+clone_color: B:2 allocation score on rhel7-auto1: -INFINITY
+clone_color: B:2 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:2 allocation score on rhel7-auto3: 0
+clone_color: B:2 allocation score on rhel7-auto4: 0
+clone_color: B:3 allocation score on rhel7-auto1: -INFINITY
+clone_color: B:3 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:3 allocation score on rhel7-auto3: 0
+clone_color: B:3 allocation score on rhel7-auto4: 0
+native_color: A:0 allocation score on rhel7-auto1: -INFINITY
+native_color: A:0 allocation score on rhel7-auto2: -INFINITY
+native_color: A:0 allocation score on rhel7-auto3: -INFINITY
+native_color: A:0 allocation score on rhel7-auto4: -INFINITY
+native_color: A:1 allocation score on rhel7-auto1: -INFINITY
+native_color: A:1 allocation score on rhel7-auto2: 1
+native_color: A:1 allocation score on rhel7-auto3: -INFINITY
+native_color: A:1 allocation score on rhel7-auto4: -INFINITY
+native_color: A:2 allocation score on rhel7-auto1: -INFINITY
+native_color: A:2 allocation score on rhel7-auto2: -INFINITY
+native_color: A:2 allocation score on rhel7-auto3: -INFINITY
+native_color: A:2 allocation score on rhel7-auto4: -INFINITY
+native_color: A:3 allocation score on rhel7-auto1: -INFINITY
+native_color: A:3 allocation score on rhel7-auto2: -INFINITY
+native_color: A:3 allocation score on rhel7-auto3: -INFINITY
+native_color: A:3 allocation score on rhel7-auto4: -INFINITY
+native_color: B:0 allocation score on rhel7-auto1: -INFINITY
+native_color: B:0 allocation score on rhel7-auto2: -INFINITY
+native_color: B:0 allocation score on rhel7-auto3: 1
+native_color: B:0 allocation score on rhel7-auto4: 0
+native_color: B:1 allocation score on rhel7-auto1: -INFINITY
+native_color: B:1 allocation score on rhel7-auto2: -INFINITY
+native_color: B:1 allocation score on rhel7-auto3: -INFINITY
+native_color: B:1 allocation score on rhel7-auto4: 1
+native_color: B:2 allocation score on rhel7-auto1: -INFINITY
+native_color: B:2 allocation score on rhel7-auto2: -INFINITY
+native_color: B:2 allocation score on rhel7-auto3: -INFINITY
+native_color: B:2 allocation score on rhel7-auto4: -INFINITY
+native_color: B:3 allocation score on rhel7-auto1: -INFINITY
+native_color: B:3 allocation score on rhel7-auto2: -INFINITY
+native_color: B:3 allocation score on rhel7-auto3: -INFINITY
+native_color: B:3 allocation score on rhel7-auto4: -INFINITY
+native_color: shooter allocation score on rhel7-auto1: 0
+native_color: shooter allocation score on rhel7-auto2: 0
+native_color: shooter allocation score on rhel7-auto3: 0
+native_color: shooter allocation score on rhel7-auto4: 0
diff --git a/pengine/test10/clone-require-all-4.summary b/pengine/test10/clone-require-all-4.summary
new file mode 100644
index 0000000..49ae3bd
--- /dev/null
+++ b/pengine/test10/clone-require-all-4.summary
@@ -0,0 +1,40 @@
+
+Current cluster status:
+Node rhel7-auto1 (1): standby
+Online: [ rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+
+ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
+ Clone Set: A-clone [A]
+     Started: [ rhel7-auto1 rhel7-auto2 ]
+     Stopped: [ rhel7-auto3 rhel7-auto4 ]
+ Clone Set: B-clone [B]
+     Started: [ rhel7-auto3 rhel7-auto4 ]
+     Stopped: [ rhel7-auto1 rhel7-auto2 ]
+
+Transition Summary:
+ * Move    shooter	(Started rhel7-auto1 -> rhel7-auto2)
+ * Stop    A:0	(rhel7-auto1)
+
+Executing cluster transition:
+ * Resource action: shooter         stop on rhel7-auto1
+ * Pseudo action:   A-clone_stop_0
+ * Resource action: shooter         start on rhel7-auto2
+ * Resource action: A               stop on rhel7-auto1
+ * Pseudo action:   A-clone_stopped_0
+ * Pseudo action:   A-clone_start_0
+ * Pseudo action:   all_stopped
+ * Resource action: shooter         monitor=60000 on rhel7-auto2
+ * Pseudo action:   A-clone_running_0
+
+Revised cluster status:
+Node rhel7-auto1 (1): standby
+Online: [ rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+
+ shooter	(stonith:fence_xvm):	Started rhel7-auto2 
+ Clone Set: A-clone [A]
+     Started: [ rhel7-auto2 ]
+     Stopped: [ rhel7-auto1 rhel7-auto3 rhel7-auto4 ]
+ Clone Set: B-clone [B]
+     Started: [ rhel7-auto3 rhel7-auto4 ]
+     Stopped: [ rhel7-auto1 rhel7-auto2 ]
+
diff --git a/pengine/test10/clone-require-all-4.xml b/pengine/test10/clone-require-all-4.xml
new file mode 100644
index 0000000..8bfd27f
--- /dev/null
+++ b/pengine/test10/clone-require-all-4.xml
@@ -0,0 +1,156 @@
+<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.3" epoch="17" num_updates="6" admin_epoch="0" cib-last-written="Mon Jan  5 17:40:52 2015" have-quorum="1" dc-uuid="2">
+  <configuration>
+    <crm_config>
+      <cluster_property_set id="cib-bootstrap-options">
+        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-a14efad"/>
+        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
+        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
+      </cluster_property_set>
+    </crm_config>
+    <nodes>
+      <node id="1" uname="rhel7-auto1">
+        <instance_attributes id="nodes-1">
+          <nvpair id="nodes-1-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+      <node id="2" uname="rhel7-auto2"/>
+      <node id="3" uname="rhel7-auto3"/>
+      <node id="4" uname="rhel7-auto4"/>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_xvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="A-clone">
+        <primitive class="ocf" id="A" provider="heartbeat" type="Dummy">
+          <instance_attributes id="A-instance_attributes"/>
+          <operations>
+            <op id="A-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="A-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="A-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="A-clone-meta">
+          <nvpair id="A-clone-meta_attributes-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+      <clone id="B-clone">
+        <primitive class="ocf" id="B" provider="heartbeat" type="Dummy">
+          <instance_attributes id="B-instance_attributes"/>
+          <operations>
+            <op id="B-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="B-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="B-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="B-clone-meta">
+          <nvpair id="B-clone-meta_attributes-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+    </resources>
+    <constraints>
+      <rsc_location id="location-A-clone-rhel7-auto3--INFINITY" node="rhel7-auto3" rsc="A-clone" score="-INFINITY"/>
+      <rsc_location id="location-A-clone-rhel7-auto4--INFINITY" node="rhel7-auto4" rsc="A-clone" score="-INFINITY"/>
+      <rsc_location id="location-B-clone-rhel7-auto1--INFINITY" node="rhel7-auto1" rsc="B-clone" score="-INFINITY"/>
+      <rsc_location id="location-B-clone-rhel7-auto2--INFINITY" node="rhel7-auto2" rsc="B-clone" score="-INFINITY"/>
+      <rsc_order require-all="false" first="A-clone" first-action="start" id="order-A-clone-B-clone-mandatory" then="B-clone" then-action="start"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="1">
+        <instance_attributes id="status-1">
+          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="1">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1420497434" last-rc-change="1420497434" exec-time="84" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
+            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1420497434" exec-time="62" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="12" rc-code="0" op-status="0" interval="0" last-run="1420497496" last-rc-change="1420497496" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="13" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497496" exec-time="19" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497505" exec-time="24" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="2">
+        <instance_attributes id="status-2">
+          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="2">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="10" rc-code="0" op-status="0" interval="0" last-run="1420497495" last-rc-change="1420497495" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497495" exec-time="20" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="3">
+        <instance_attributes id="status-3">
+          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="3">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="22:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;22:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497546" last-rc-change="1420497546" exec-time="32" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="22" rc-code="0" op-status="0" interval="0" last-run="1420572996" last-rc-change="1420572996" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420572996" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="4" uname="rhel7-auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="4">
+        <instance_attributes id="status-4">
+          <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-4-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="4">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497431" last-rc-change="1420497431" exec-time="987" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497545" last-rc-change="1420497545" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="22" rc-code="0" op-status="0" interval="0" last-run="1420572996" last-rc-change="1420572996" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420572996" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/clone-require-all-5.dot b/pengine/test10/clone-require-all-5.dot
new file mode 100644
index 0000000..ce5a593
--- /dev/null
+++ b/pengine/test10/clone-require-all-5.dot
@@ -0,0 +1,31 @@
+ digraph "g" {
+"A-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"A-clone_start_0" -> "A-clone_running_0" [ style = bold]
+"A-clone_start_0" -> "A_start_0 rhel7-auto3" [ style = bold]
+"A-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"A_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"A_start_0 rhel7-auto3" -> "A-clone_running_0" [ style = bold]
+"A_start_0 rhel7-auto3" -> "A_monitor_10000 rhel7-auto3" [ style = bold]
+"A_start_0 rhel7-auto3" -> "clone-one-or-more:order-A-clone-B-clone-mandatory" [ style = bold]
+"A_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"B-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"B-clone_start_0" -> "B-clone_running_0" [ style = bold]
+"B-clone_start_0" -> "B:1_start_0 rhel7-auto3" [ style = bold]
+"B-clone_start_0" -> "B:2_start_0 rhel7-auto1" [ style = bold]
+"B-clone_start_0" -> "B_start_0 rhel7-auto4" [ style = bold]
+"B-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"B:1_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"B:1_start_0 rhel7-auto3" -> "B-clone_running_0" [ style = bold]
+"B:1_start_0 rhel7-auto3" -> "B:1_monitor_10000 rhel7-auto3" [ style = bold]
+"B:1_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"B:2_monitor_10000 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
+"B:2_start_0 rhel7-auto1" -> "B-clone_running_0" [ style = bold]
+"B:2_start_0 rhel7-auto1" -> "B:2_monitor_10000 rhel7-auto1" [ style = bold]
+"B:2_start_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
+"B_monitor_10000 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
+"B_start_0 rhel7-auto4" -> "B-clone_running_0" [ style = bold]
+"B_start_0 rhel7-auto4" -> "B_monitor_10000 rhel7-auto4" [ style = bold]
+"B_start_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
+"clone-one-or-more:order-A-clone-B-clone-mandatory" -> "B-clone_start_0" [ style = bold]
+"clone-one-or-more:order-A-clone-B-clone-mandatory" [ style=bold color="green" fontcolor="orange"]
+}
diff --git a/pengine/test10/clone-require-all-5.exp b/pengine/test10/clone-require-all-5.exp
new file mode 100644
index 0000000..abb4d25
--- /dev/null
+++ b/pengine/test10/clone-require-all-5.exp
@@ -0,0 +1,174 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0">
+    <action_set>
+      <rsc_op id="18" operation="monitor" operation_key="A_monitor_10000" internal_operation_key="A:2_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="A" long-id="A:2" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="17" operation="start" operation_key="A_start_0" internal_operation_key="A:2_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="17" operation="start" operation_key="A_start_0" internal_operation_key="A:2_start_0" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="A" long-id="A:2" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="19" operation="start" operation_key="A-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2" priority="1000000">
+    <action_set>
+      <pseudo_event id="20" operation="running" operation_key="A-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="17" operation="start" operation_key="A_start_0" internal_operation_key="A:2_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="19" operation="start" operation_key="A-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <pseudo_event id="19" operation="start" operation_key="A-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="4">
+    <action_set>
+      <rsc_op id="24" operation="monitor" operation_key="B_monitor_10000" internal_operation_key="B:0_monitor_10000" on_node="rhel7-auto4" on_node_uuid="4">
+        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="23" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <rsc_op id="23" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto4" on_node_uuid="4">
+        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="29" operation="start" operation_key="B-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="6">
+    <action_set>
+      <rsc_op id="26" operation="monitor" operation_key="B:1_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="B" long-id="B:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="25" operation="start" operation_key="B:1_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="7">
+    <action_set>
+      <rsc_op id="25" operation="start" operation_key="B:1_start_0" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="B" long-id="B:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="29" operation="start" operation_key="B-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="8">
+    <action_set>
+      <rsc_op id="28" operation="monitor" operation_key="B:2_monitor_10000" on_node="rhel7-auto1" on_node_uuid="1">
+        <primitive id="B" long-id="B:2" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="27" operation="start" operation_key="B:2_start_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="9">
+    <action_set>
+      <rsc_op id="27" operation="start" operation_key="B:2_start_0" on_node="rhel7-auto1" on_node_uuid="1">
+        <primitive id="B" long-id="B:2" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="29" operation="start" operation_key="B-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="10" priority="1000000">
+    <action_set>
+      <pseudo_event id="30" operation="running" operation_key="B-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="23" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="25" operation="start" operation_key="B:1_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="27" operation="start" operation_key="B:2_start_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="29" operation="start" operation_key="B-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="11">
+    <action_set>
+      <pseudo_event id="29" operation="start" operation_key="B-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="4" operation="clone-one-or-more:order-A-clone-B-clone-mandatory" operation_key="clone-one-or-more:order-A-clone-B-clone-mandatory"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="12">
+    <action_set>
+      <pseudo_event id="4" operation="clone-one-or-more:order-A-clone-B-clone-mandatory" operation_key="clone-one-or-more:order-A-clone-B-clone-mandatory">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="17" operation="start" operation_key="A_start_0" internal_operation_key="A:2_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/clone-require-all-5.scores b/pengine/test10/clone-require-all-5.scores
new file mode 100644
index 0000000..cca6739
--- /dev/null
+++ b/pengine/test10/clone-require-all-5.scores
@@ -0,0 +1,77 @@
+Allocation scores:
+clone_color: A-clone allocation score on rhel7-auto1: 0
+clone_color: A-clone allocation score on rhel7-auto2: 0
+clone_color: A-clone allocation score on rhel7-auto3: 0
+clone_color: A-clone allocation score on rhel7-auto4: -INFINITY
+clone_color: A:0 allocation score on rhel7-auto1: 1
+clone_color: A:0 allocation score on rhel7-auto2: 0
+clone_color: A:0 allocation score on rhel7-auto3: 0
+clone_color: A:0 allocation score on rhel7-auto4: -INFINITY
+clone_color: A:1 allocation score on rhel7-auto1: 0
+clone_color: A:1 allocation score on rhel7-auto2: 1
+clone_color: A:1 allocation score on rhel7-auto3: 0
+clone_color: A:1 allocation score on rhel7-auto4: -INFINITY
+clone_color: A:2 allocation score on rhel7-auto1: 0
+clone_color: A:2 allocation score on rhel7-auto2: 0
+clone_color: A:2 allocation score on rhel7-auto3: 0
+clone_color: A:2 allocation score on rhel7-auto4: -INFINITY
+clone_color: A:3 allocation score on rhel7-auto1: 0
+clone_color: A:3 allocation score on rhel7-auto2: 0
+clone_color: A:3 allocation score on rhel7-auto3: 0
+clone_color: A:3 allocation score on rhel7-auto4: -INFINITY
+clone_color: B-clone allocation score on rhel7-auto1: 0
+clone_color: B-clone allocation score on rhel7-auto2: -INFINITY
+clone_color: B-clone allocation score on rhel7-auto3: 0
+clone_color: B-clone allocation score on rhel7-auto4: 0
+clone_color: B:0 allocation score on rhel7-auto1: 0
+clone_color: B:0 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:0 allocation score on rhel7-auto3: 0
+clone_color: B:0 allocation score on rhel7-auto4: 0
+clone_color: B:1 allocation score on rhel7-auto1: 0
+clone_color: B:1 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:1 allocation score on rhel7-auto3: 0
+clone_color: B:1 allocation score on rhel7-auto4: 0
+clone_color: B:2 allocation score on rhel7-auto1: 0
+clone_color: B:2 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:2 allocation score on rhel7-auto3: 0
+clone_color: B:2 allocation score on rhel7-auto4: 0
+clone_color: B:3 allocation score on rhel7-auto1: 0
+clone_color: B:3 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:3 allocation score on rhel7-auto3: 0
+clone_color: B:3 allocation score on rhel7-auto4: 0
+native_color: A:0 allocation score on rhel7-auto1: 1
+native_color: A:0 allocation score on rhel7-auto2: -INFINITY
+native_color: A:0 allocation score on rhel7-auto3: 0
+native_color: A:0 allocation score on rhel7-auto4: -INFINITY
+native_color: A:1 allocation score on rhel7-auto1: 0
+native_color: A:1 allocation score on rhel7-auto2: 1
+native_color: A:1 allocation score on rhel7-auto3: 0
+native_color: A:1 allocation score on rhel7-auto4: -INFINITY
+native_color: A:2 allocation score on rhel7-auto1: -INFINITY
+native_color: A:2 allocation score on rhel7-auto2: -INFINITY
+native_color: A:2 allocation score on rhel7-auto3: 0
+native_color: A:2 allocation score on rhel7-auto4: -INFINITY
+native_color: A:3 allocation score on rhel7-auto1: -INFINITY
+native_color: A:3 allocation score on rhel7-auto2: -INFINITY
+native_color: A:3 allocation score on rhel7-auto3: -INFINITY
+native_color: A:3 allocation score on rhel7-auto4: -INFINITY
+native_color: B:0 allocation score on rhel7-auto1: 0
+native_color: B:0 allocation score on rhel7-auto2: -INFINITY
+native_color: B:0 allocation score on rhel7-auto3: 0
+native_color: B:0 allocation score on rhel7-auto4: 0
+native_color: B:1 allocation score on rhel7-auto1: 0
+native_color: B:1 allocation score on rhel7-auto2: -INFINITY
+native_color: B:1 allocation score on rhel7-auto3: 0
+native_color: B:1 allocation score on rhel7-auto4: -INFINITY
+native_color: B:2 allocation score on rhel7-auto1: 0
+native_color: B:2 allocation score on rhel7-auto2: -INFINITY
+native_color: B:2 allocation score on rhel7-auto3: -INFINITY
+native_color: B:2 allocation score on rhel7-auto4: -INFINITY
+native_color: B:3 allocation score on rhel7-auto1: -INFINITY
+native_color: B:3 allocation score on rhel7-auto2: -INFINITY
+native_color: B:3 allocation score on rhel7-auto3: -INFINITY
+native_color: B:3 allocation score on rhel7-auto4: -INFINITY
+native_color: shooter allocation score on rhel7-auto1: 0
+native_color: shooter allocation score on rhel7-auto2: 0
+native_color: shooter allocation score on rhel7-auto3: 0
+native_color: shooter allocation score on rhel7-auto4: 0
diff --git a/pengine/test10/clone-require-all-5.summary b/pengine/test10/clone-require-all-5.summary
new file mode 100644
index 0000000..2820093
--- /dev/null
+++ b/pengine/test10/clone-require-all-5.summary
@@ -0,0 +1,43 @@
+
+Current cluster status:
+Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+
+ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
+ Clone Set: A-clone [A]
+     Started: [ rhel7-auto1 rhel7-auto2 ]
+     Stopped: [ rhel7-auto3 rhel7-auto4 ]
+ Clone Set: B-clone [B]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+
+Transition Summary:
+ * Start   A:2	(rhel7-auto3)
+ * Start   B:0	(rhel7-auto4)
+ * Start   B:1	(rhel7-auto3)
+ * Start   B:2	(rhel7-auto1)
+
+Executing cluster transition:
+ * Pseudo action:   A-clone_start_0
+ * Resource action: A               start on rhel7-auto3
+ * Pseudo action:   A-clone_running_0
+ * Pseudo action:   clone-one-or-more:order-A-clone-B-clone-mandatory
+ * Resource action: A               monitor=10000 on rhel7-auto3
+ * Pseudo action:   B-clone_start_0
+ * Resource action: B               start on rhel7-auto4
+ * Resource action: B               start on rhel7-auto3
+ * Resource action: B               start on rhel7-auto1
+ * Pseudo action:   B-clone_running_0
+ * Resource action: B               monitor=10000 on rhel7-auto4
+ * Resource action: B               monitor=10000 on rhel7-auto3
+ * Resource action: B               monitor=10000 on rhel7-auto1
+
+Revised cluster status:
+Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+
+ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
+ Clone Set: A-clone [A]
+     Started: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
+     Stopped: [ rhel7-auto4 ]
+ Clone Set: B-clone [B]
+     Started: [ rhel7-auto1 rhel7-auto3 rhel7-auto4 ]
+     Stopped: [ rhel7-auto2 ]
+
diff --git a/pengine/test10/clone-require-all-5.xml b/pengine/test10/clone-require-all-5.xml
new file mode 100644
index 0000000..1079dae
--- /dev/null
+++ b/pengine/test10/clone-require-all-5.xml
@@ -0,0 +1,150 @@
+<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.3" epoch="17" num_updates="2" admin_epoch="0" cib-last-written="Mon Jan  5 17:40:52 2015" have-quorum="1" dc-uuid="2">
+  <configuration>
+    <crm_config>
+      <cluster_property_set id="cib-bootstrap-options">
+        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-a14efad"/>
+        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
+        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
+      </cluster_property_set>
+    </crm_config>
+    <nodes>
+      <node id="1" uname="rhel7-auto1"/>
+      <node id="2" uname="rhel7-auto2"/>
+      <node id="3" uname="rhel7-auto3"/>
+      <node id="4" uname="rhel7-auto4"/>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_xvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="A-clone">
+        <primitive class="ocf" id="A" provider="heartbeat" type="Dummy">
+          <instance_attributes id="A-instance_attributes"/>
+          <operations>
+            <op id="A-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="A-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="A-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="A-clone-meta">
+          <nvpair id="A-clone-meta_attributes-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+      <clone id="B-clone">
+        <primitive class="ocf" id="B" provider="heartbeat" type="Dummy">
+          <instance_attributes id="B-instance_attributes"/>
+          <operations>
+            <op id="B-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="B-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="B-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="B-clone-meta">
+          <nvpair id="B-clone-meta_attributes-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+    </resources>
+    <constraints>
+      <rsc_location id="location-A-clone-rhel7-auto4--INFINITY" node="rhel7-auto4" rsc="A-clone" score="-INFINITY"/>
+      <rsc_location id="location-B-clone-rhel7-auto2--INFINITY" node="rhel7-auto2" rsc="B-clone" score="-INFINITY"/>
+      <rsc_order require-all="false" first="A-clone" first-action="start" id="order-A-clone-B-clone-mandatory" then="B-clone" then-action="start"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="1">
+        <instance_attributes id="status-1">
+          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="1">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1420497434" last-rc-change="1420497434" exec-time="84" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
+            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1420497434" exec-time="62" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="12" rc-code="0" op-status="0" interval="0" last-run="1420497496" last-rc-change="1420497496" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="13" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497496" exec-time="19" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497505" exec-time="24" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="2">
+        <instance_attributes id="status-2">
+          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="2">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="10" rc-code="0" op-status="0" interval="0" last-run="1420497495" last-rc-change="1420497495" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497495" exec-time="20" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="3">
+        <instance_attributes id="status-3">
+          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="3">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="22:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;22:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497546" last-rc-change="1420497546" exec-time="32" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="22:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;22:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497653" last-rc-change="1420497653" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="30:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;30:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="22" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="4" uname="rhel7-auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="4">
+        <instance_attributes id="status-4">
+          <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-4-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="4">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497431" last-rc-change="1420497431" exec-time="987" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497545" last-rc-change="1420497545" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="24:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;24:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497652" last-rc-change="1420497652" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="32:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;32:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="28" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/clone-require-all-6.dot b/pengine/test10/clone-require-all-6.dot
new file mode 100644
index 0000000..3ee5c89
--- /dev/null
+++ b/pengine/test10/clone-require-all-6.dot
@@ -0,0 +1,23 @@
+ digraph "g" {
+"A-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"A-clone_start_0" -> "A-clone_running_0" [ style = bold]
+"A-clone_start_0" -> "A_start_0 <none>" [ style = dashed]
+"A-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"A-clone_stop_0" -> "A-clone_stopped_0" [ style = bold]
+"A-clone_stop_0" -> "A_stop_0 rhel7-auto1" [ style = bold]
+"A-clone_stop_0" -> "A_stop_0 rhel7-auto3" [ style = bold]
+"A-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"A-clone_stopped_0" -> "A-clone_start_0" [ style = bold]
+"A-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"A_start_0 <none>" -> "A-clone_running_0" [ style = dashed]
+"A_start_0 <none>" [ style=dashed color="red" fontcolor="black"]
+"A_stop_0 rhel7-auto1" -> "A-clone_stopped_0" [ style = bold]
+"A_stop_0 rhel7-auto1" -> "A_start_0 <none>" [ style = dashed]
+"A_stop_0 rhel7-auto1" -> "all_stopped" [ style = bold]
+"A_stop_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
+"A_stop_0 rhel7-auto3" -> "A-clone_stopped_0" [ style = bold]
+"A_stop_0 rhel7-auto3" -> "A_start_0 <none>" [ style = dashed]
+"A_stop_0 rhel7-auto3" -> "all_stopped" [ style = bold]
+"A_stop_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"all_stopped" [ style=bold color="green" fontcolor="orange"]
+}
diff --git a/pengine/test10/clone-require-all-6.exp b/pengine/test10/clone-require-all-6.exp
new file mode 100644
index 0000000..8cc4c57
--- /dev/null
+++ b/pengine/test10/clone-require-all-6.exp
@@ -0,0 +1,93 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0">
+    <action_set>
+      <rsc_op id="17" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1">
+        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="23" operation="stop" operation_key="A-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="20" operation="stop" operation_key="A_stop_0" internal_operation_key="A:2_stop_0" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="A" long-id="A:2" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="23" operation="stop" operation_key="A-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2" priority="1000000">
+    <action_set>
+      <pseudo_event id="24" operation="stopped" operation_key="A-clone_stopped_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="17" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="20" operation="stop" operation_key="A_stop_0" internal_operation_key="A:2_stop_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="23" operation="stop" operation_key="A-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <pseudo_event id="23" operation="stop" operation_key="A-clone_stop_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="4" priority="1000000">
+    <action_set>
+      <pseudo_event id="22" operation="running" operation_key="A-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="21" operation="start" operation_key="A-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <pseudo_event id="21" operation="start" operation_key="A-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="24" operation="stopped" operation_key="A-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="6">
+    <action_set>
+      <pseudo_event id="9" operation="all_stopped" operation_key="all_stopped">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="17" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="20" operation="stop" operation_key="A_stop_0" internal_operation_key="A:2_stop_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/clone-require-all-6.scores b/pengine/test10/clone-require-all-6.scores
new file mode 100644
index 0000000..4e8ee5a
--- /dev/null
+++ b/pengine/test10/clone-require-all-6.scores
@@ -0,0 +1,77 @@
+Allocation scores:
+clone_color: A-clone allocation score on rhel7-auto1: -INFINITY
+clone_color: A-clone allocation score on rhel7-auto2: 0
+clone_color: A-clone allocation score on rhel7-auto3: -INFINITY
+clone_color: A-clone allocation score on rhel7-auto4: -INFINITY
+clone_color: A:0 allocation score on rhel7-auto1: -INFINITY
+clone_color: A:0 allocation score on rhel7-auto2: 0
+clone_color: A:0 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:0 allocation score on rhel7-auto4: -INFINITY
+clone_color: A:1 allocation score on rhel7-auto1: -INFINITY
+clone_color: A:1 allocation score on rhel7-auto2: 1
+clone_color: A:1 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:1 allocation score on rhel7-auto4: -INFINITY
+clone_color: A:2 allocation score on rhel7-auto1: -INFINITY
+clone_color: A:2 allocation score on rhel7-auto2: 0
+clone_color: A:2 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:2 allocation score on rhel7-auto4: -INFINITY
+clone_color: A:3 allocation score on rhel7-auto1: -INFINITY
+clone_color: A:3 allocation score on rhel7-auto2: 0
+clone_color: A:3 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:3 allocation score on rhel7-auto4: -INFINITY
+clone_color: B-clone allocation score on rhel7-auto1: 0
+clone_color: B-clone allocation score on rhel7-auto2: -INFINITY
+clone_color: B-clone allocation score on rhel7-auto3: 0
+clone_color: B-clone allocation score on rhel7-auto4: 0
+clone_color: B:0 allocation score on rhel7-auto1: 1
+clone_color: B:0 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:0 allocation score on rhel7-auto3: 0
+clone_color: B:0 allocation score on rhel7-auto4: 0
+clone_color: B:1 allocation score on rhel7-auto1: 0
+clone_color: B:1 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:1 allocation score on rhel7-auto3: 1
+clone_color: B:1 allocation score on rhel7-auto4: 0
+clone_color: B:2 allocation score on rhel7-auto1: 0
+clone_color: B:2 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:2 allocation score on rhel7-auto3: 0
+clone_color: B:2 allocation score on rhel7-auto4: 1
+clone_color: B:3 allocation score on rhel7-auto1: 0
+clone_color: B:3 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:3 allocation score on rhel7-auto3: 0
+clone_color: B:3 allocation score on rhel7-auto4: 0
+native_color: A:0 allocation score on rhel7-auto1: -INFINITY
+native_color: A:0 allocation score on rhel7-auto2: -INFINITY
+native_color: A:0 allocation score on rhel7-auto3: -INFINITY
+native_color: A:0 allocation score on rhel7-auto4: -INFINITY
+native_color: A:1 allocation score on rhel7-auto1: -INFINITY
+native_color: A:1 allocation score on rhel7-auto2: 1
+native_color: A:1 allocation score on rhel7-auto3: -INFINITY
+native_color: A:1 allocation score on rhel7-auto4: -INFINITY
+native_color: A:2 allocation score on rhel7-auto1: -INFINITY
+native_color: A:2 allocation score on rhel7-auto2: -INFINITY
+native_color: A:2 allocation score on rhel7-auto3: -INFINITY
+native_color: A:2 allocation score on rhel7-auto4: -INFINITY
+native_color: A:3 allocation score on rhel7-auto1: -INFINITY
+native_color: A:3 allocation score on rhel7-auto2: -INFINITY
+native_color: A:3 allocation score on rhel7-auto3: -INFINITY
+native_color: A:3 allocation score on rhel7-auto4: -INFINITY
+native_color: B:0 allocation score on rhel7-auto1: 1
+native_color: B:0 allocation score on rhel7-auto2: -INFINITY
+native_color: B:0 allocation score on rhel7-auto3: -INFINITY
+native_color: B:0 allocation score on rhel7-auto4: -INFINITY
+native_color: B:1 allocation score on rhel7-auto1: 0
+native_color: B:1 allocation score on rhel7-auto2: -INFINITY
+native_color: B:1 allocation score on rhel7-auto3: 1
+native_color: B:1 allocation score on rhel7-auto4: 0
+native_color: B:2 allocation score on rhel7-auto1: 0
+native_color: B:2 allocation score on rhel7-auto2: -INFINITY
+native_color: B:2 allocation score on rhel7-auto3: -INFINITY
+native_color: B:2 allocation score on rhel7-auto4: 1
+native_color: B:3 allocation score on rhel7-auto1: -INFINITY
+native_color: B:3 allocation score on rhel7-auto2: -INFINITY
+native_color: B:3 allocation score on rhel7-auto3: -INFINITY
+native_color: B:3 allocation score on rhel7-auto4: -INFINITY
+native_color: shooter allocation score on rhel7-auto1: 0
+native_color: shooter allocation score on rhel7-auto2: 0
+native_color: shooter allocation score on rhel7-auto3: 0
+native_color: shooter allocation score on rhel7-auto4: 0
diff --git a/pengine/test10/clone-require-all-6.summary b/pengine/test10/clone-require-all-6.summary
new file mode 100644
index 0000000..6561ea3
--- /dev/null
+++ b/pengine/test10/clone-require-all-6.summary
@@ -0,0 +1,36 @@
+
+Current cluster status:
+Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+
+ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
+ Clone Set: A-clone [A]
+     Started: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
+     Stopped: [ rhel7-auto4 ]
+ Clone Set: B-clone [B]
+     Started: [ rhel7-auto1 rhel7-auto3 rhel7-auto4 ]
+     Stopped: [ rhel7-auto2 ]
+
+Transition Summary:
+ * Stop    A:0	(rhel7-auto1)
+ * Stop    A:2	(rhel7-auto3)
+
+Executing cluster transition:
+ * Pseudo action:   A-clone_stop_0
+ * Resource action: A               stop on rhel7-auto1
+ * Resource action: A               stop on rhel7-auto3
+ * Pseudo action:   A-clone_stopped_0
+ * Pseudo action:   A-clone_start_0
+ * Pseudo action:   all_stopped
+ * Pseudo action:   A-clone_running_0
+
+Revised cluster status:
+Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+
+ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
+ Clone Set: A-clone [A]
+     Started: [ rhel7-auto2 ]
+     Stopped: [ rhel7-auto1 rhel7-auto3 rhel7-auto4 ]
+ Clone Set: B-clone [B]
+     Started: [ rhel7-auto1 rhel7-auto3 rhel7-auto4 ]
+     Stopped: [ rhel7-auto2 ]
+
diff --git a/pengine/test10/clone-require-all-6.xml b/pengine/test10/clone-require-all-6.xml
new file mode 100644
index 0000000..5222b33
--- /dev/null
+++ b/pengine/test10/clone-require-all-6.xml
@@ -0,0 +1,153 @@
+<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.3" epoch="17" num_updates="10" admin_epoch="0" cib-last-written="Mon Jan  5 17:40:52 2015" have-quorum="1" dc-uuid="2">
+  <configuration>
+    <crm_config>
+      <cluster_property_set id="cib-bootstrap-options">
+        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-a14efad"/>
+        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
+        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
+      </cluster_property_set>
+    </crm_config>
+    <nodes>
+      <node id="1" uname="rhel7-auto1"/>
+      <node id="2" uname="rhel7-auto2"/>
+      <node id="3" uname="rhel7-auto3"/>
+      <node id="4" uname="rhel7-auto4"/>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_xvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="A-clone">
+        <primitive class="ocf" id="A" provider="heartbeat" type="Dummy">
+          <instance_attributes id="A-instance_attributes"/>
+          <operations>
+            <op id="A-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="A-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="A-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="A-clone-meta">
+          <nvpair id="A-clone-meta_attributes-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+      <clone id="B-clone">
+        <primitive class="ocf" id="B" provider="heartbeat" type="Dummy">
+          <instance_attributes id="B-instance_attributes"/>
+          <operations>
+            <op id="B-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="B-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="B-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="B-clone-meta">
+          <nvpair id="B-clone-meta_attributes-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+    </resources>
+    <constraints>
+      <rsc_location id="location-A-clone-rhel7-auto4--INFINITY" node="rhel7-auto4" rsc="A-clone" score="-INFINITY"/>
+      <rsc_location id="location-A-clone-rhel7-auto3--INFINITY" node="rhel7-auto3" rsc="A-clone" score="-INFINITY"/>
+      <rsc_location id="location-A-clone-rhel7-auto1--INFINITY" node="rhel7-auto1" rsc="A-clone" score="-INFINITY"/>
+      <rsc_location id="location-B-clone-rhel7-auto2--INFINITY" node="rhel7-auto2" rsc="B-clone" score="-INFINITY"/>
+      <rsc_order require-all="false" first="A-clone" first-action="start" id="order-A-clone-B-clone-mandatory" then="B-clone" then-action="start"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="1">
+        <instance_attributes id="status-1">
+          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="1">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1420497434" last-rc-change="1420497434" exec-time="84" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
+            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1420497434" exec-time="62" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;17:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="12" rc-code="0" op-status="0" interval="0" last-run="1420497496" last-rc-change="1420497496" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;18:6:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="13" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497496" exec-time="19" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="22" rc-code="0" op-status="0" interval="0" last-run="1420580294" last-rc-change="1420580294" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420580294" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="2">
+        <instance_attributes id="status-2">
+          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="2">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;14:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="10" rc-code="0" op-status="0" interval="0" last-run="1420497495" last-rc-change="1420497495" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;15:5:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497495" exec-time="20" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="3">
+        <instance_attributes id="status-3">
+          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="3">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="20:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;20:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="20" rc-code="0" op-status="0" interval="0" last-run="1420580294" last-rc-change="1420580294" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
+            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="21:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;21:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="21" rc-code="0" op-status="0" interval="10000" last-rc-change="1420580294" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="22" rc-code="0" op-status="0" interval="0" last-run="1420580294" last-rc-change="1420580294" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420580294" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="4" uname="rhel7-auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="4">
+        <instance_attributes id="status-4">
+          <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-4-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="4">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497431" last-rc-change="1420497431" exec-time="987" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;23:9:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497545" last-rc-change="1420497545" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;22:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="22" rc-code="0" op-status="0" interval="0" last-run="1420580294" last-rc-change="1420580294" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;23:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420580294" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/clone-require-all-7.dot b/pengine/test10/clone-require-all-7.dot
new file mode 100644
index 0000000..baa87a2
--- /dev/null
+++ b/pengine/test10/clone-require-all-7.dot
@@ -0,0 +1,51 @@
+ digraph "g" {
+"A-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"A-clone_start_0" -> "A-clone_running_0" [ style = bold]
+"A-clone_start_0" -> "A:0_start_0 rhel7-auto2" [ style = bold]
+"A-clone_start_0" -> "A:1_start_0 rhel7-auto1" [ style = bold]
+"A-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"A:0_monitor_0 rhel7-auto2" -> "probe_complete rhel7-auto2" [ style = bold]
+"A:0_monitor_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
+"A:0_monitor_0 rhel7-auto3" -> "probe_complete rhel7-auto3" [ style = bold]
+"A:0_monitor_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"A:0_monitor_0 rhel7-auto4" -> "probe_complete rhel7-auto4" [ style = bold]
+"A:0_monitor_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
+"A:0_monitor_10000 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
+"A:0_start_0 rhel7-auto2" -> "A-clone_running_0" [ style = bold]
+"A:0_start_0 rhel7-auto2" -> "A:0_monitor_10000 rhel7-auto2" [ style = bold]
+"A:0_start_0 rhel7-auto2" -> "clone-one-or-more:order-A-clone-B-clone-mandatory" [ style = bold]
+"A:0_start_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
+"A:1_monitor_0 rhel7-auto1" -> "probe_complete rhel7-auto1" [ style = bold]
+"A:1_monitor_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
+"A:1_monitor_10000 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
+"A:1_start_0 rhel7-auto1" -> "A-clone_running_0" [ style = bold]
+"A:1_start_0 rhel7-auto1" -> "A:1_monitor_10000 rhel7-auto1" [ style = bold]
+"A:1_start_0 rhel7-auto1" -> "clone-one-or-more:order-A-clone-B-clone-mandatory" [ style = bold]
+"A:1_start_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
+"B-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"B-clone_start_0" -> "B-clone_running_0" [ style = bold]
+"B-clone_start_0" -> "B:1_start_0 rhel7-auto4" [ style = bold]
+"B-clone_start_0" -> "B_start_0 rhel7-auto3" [ style = bold]
+"B-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"B:1_monitor_10000 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
+"B:1_start_0 rhel7-auto4" -> "B-clone_running_0" [ style = bold]
+"B:1_start_0 rhel7-auto4" -> "B:1_monitor_10000 rhel7-auto4" [ style = bold]
+"B:1_start_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
+"B_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"B_start_0 rhel7-auto3" -> "B-clone_running_0" [ style = bold]
+"B_start_0 rhel7-auto3" -> "B_monitor_10000 rhel7-auto3" [ style = bold]
+"B_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"clone-one-or-more:order-A-clone-B-clone-mandatory" -> "B-clone_start_0" [ style = bold]
+"clone-one-or-more:order-A-clone-B-clone-mandatory" [ style=bold color="green" fontcolor="orange"]
+"probe_complete rhel7-auto1" -> "probe_complete" [ style = bold]
+"probe_complete rhel7-auto1" [ style=bold color="green" fontcolor="black"]
+"probe_complete rhel7-auto2" -> "probe_complete" [ style = bold]
+"probe_complete rhel7-auto2" [ style=bold color="green" fontcolor="black"]
+"probe_complete rhel7-auto3" -> "probe_complete" [ style = bold]
+"probe_complete rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"probe_complete rhel7-auto4" -> "probe_complete" [ style = bold]
+"probe_complete rhel7-auto4" [ style=bold color="green" fontcolor="black"]
+"probe_complete" -> "A:0_start_0 rhel7-auto2" [ style = bold]
+"probe_complete" -> "A:1_start_0 rhel7-auto1" [ style = bold]
+"probe_complete" [ style=bold color="green" fontcolor="orange"]
+}
diff --git a/pengine/test10/clone-require-all-7.exp b/pengine/test10/clone-require-all-7.exp
new file mode 100644
index 0000000..d37a82f
--- /dev/null
+++ b/pengine/test10/clone-require-all-7.exp
@@ -0,0 +1,288 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0">
+    <action_set>
+      <rsc_op id="16" operation="monitor" operation_key="A:0_monitor_10000" on_node="rhel7-auto2" on_node_uuid="2">
+        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="15" operation="start" operation_key="A:0_start_0" on_node="rhel7-auto2" on_node_uuid="2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="15" operation="start" operation_key="A:0_start_0" on_node="rhel7-auto2" on_node_uuid="2">
+        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="4" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="19" operation="start" operation_key="A-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2">
+    <action_set>
+      <rsc_op id="12" operation="monitor" operation_key="A:0_monitor_0" on_node="rhel7-auto4" on_node_uuid="4">
+        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <rsc_op id="10" operation="monitor" operation_key="A:0_monitor_0" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="4">
+    <action_set>
+      <rsc_op id="8" operation="monitor" operation_key="A:0_monitor_0" on_node="rhel7-auto2" on_node_uuid="2">
+        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <rsc_op id="18" operation="monitor" operation_key="A:1_monitor_10000" on_node="rhel7-auto1" on_node_uuid="1">
+        <primitive id="A" long-id="A:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="17" operation="start" operation_key="A:1_start_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="6">
+    <action_set>
+      <rsc_op id="17" operation="start" operation_key="A:1_start_0" on_node="rhel7-auto1" on_node_uuid="1">
+        <primitive id="A" long-id="A:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="4" operation="probe_complete" operation_key="probe_complete"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="19" operation="start" operation_key="A-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="7">
+    <action_set>
+      <rsc_op id="6" operation="monitor" operation_key="A:1_monitor_0" on_node="rhel7-auto1" on_node_uuid="1">
+        <primitive id="A" long-id="A:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="8" priority="1000000">
+    <action_set>
+      <pseudo_event id="20" operation="running" operation_key="A-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="15" operation="start" operation_key="A:0_start_0" on_node="rhel7-auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="17" operation="start" operation_key="A:1_start_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="19" operation="start" operation_key="A-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="9">
+    <action_set>
+      <pseudo_event id="19" operation="start" operation_key="A-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="10">
+    <action_set>
+      <rsc_op id="24" operation="monitor" operation_key="B_monitor_10000" internal_operation_key="B:0_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="23" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="11">
+    <action_set>
+      <rsc_op id="23" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="27" operation="start" operation_key="B-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="12">
+    <action_set>
+      <rsc_op id="26" operation="monitor" operation_key="B:1_monitor_10000" on_node="rhel7-auto4" on_node_uuid="4">
+        <primitive id="B" long-id="B:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="25" operation="start" operation_key="B:1_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="13">
+    <action_set>
+      <rsc_op id="25" operation="start" operation_key="B:1_start_0" on_node="rhel7-auto4" on_node_uuid="4">
+        <primitive id="B" long-id="B:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="27" operation="start" operation_key="B-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="14" priority="1000000">
+    <action_set>
+      <pseudo_event id="28" operation="running" operation_key="B-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="23" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="25" operation="start" operation_key="B:1_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="27" operation="start" operation_key="B-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="15">
+    <action_set>
+      <pseudo_event id="27" operation="start" operation_key="B-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="2" operation="clone-one-or-more:order-A-clone-B-clone-mandatory" operation_key="clone-one-or-more:order-A-clone-B-clone-mandatory"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="16" priority="1000000">
+    <action_set>
+      <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-rhel7-auto4" on_node="rhel7-auto4" on_node_uuid="4">
+        <attributes CRM_meta_op_no_wait="true" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="12" operation="monitor" operation_key="A:0_monitor_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="17" priority="1000000">
+    <action_set>
+      <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-rhel7-auto3" on_node="rhel7-auto3" on_node_uuid="3">
+        <attributes CRM_meta_op_no_wait="true" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="10" operation="monitor" operation_key="A:0_monitor_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="18" priority="1000000">
+    <action_set>
+      <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-rhel7-auto2" on_node="rhel7-auto2" on_node_uuid="2">
+        <attributes CRM_meta_op_no_wait="true" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="8" operation="monitor" operation_key="A:0_monitor_0" on_node="rhel7-auto2" on_node_uuid="2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="19" priority="1000000">
+    <action_set>
+      <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-rhel7-auto1" on_node="rhel7-auto1" on_node_uuid="1">
+        <attributes CRM_meta_op_no_wait="true" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="6" operation="monitor" operation_key="A:1_monitor_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="20">
+    <action_set>
+      <pseudo_event id="4" operation="probe_complete" operation_key="probe_complete">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="5" operation="probe_complete" operation_key="probe_complete-rhel7-auto1" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="7" operation="probe_complete" operation_key="probe_complete-rhel7-auto2" on_node="rhel7-auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="9" operation="probe_complete" operation_key="probe_complete-rhel7-auto3" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="11" operation="probe_complete" operation_key="probe_complete-rhel7-auto4" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="21">
+    <action_set>
+      <pseudo_event id="2" operation="clone-one-or-more:order-A-clone-B-clone-mandatory" operation_key="clone-one-or-more:order-A-clone-B-clone-mandatory">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="15" operation="start" operation_key="A:0_start_0" on_node="rhel7-auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="17" operation="start" operation_key="A:1_start_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/clone-require-all-7.scores b/pengine/test10/clone-require-all-7.scores
new file mode 100644
index 0000000..8c61fd1
--- /dev/null
+++ b/pengine/test10/clone-require-all-7.scores
@@ -0,0 +1,77 @@
+Allocation scores:
+clone_color: A-clone allocation score on rhel7-auto1: 0
+clone_color: A-clone allocation score on rhel7-auto2: 0
+clone_color: A-clone allocation score on rhel7-auto3: -INFINITY
+clone_color: A-clone allocation score on rhel7-auto4: -INFINITY
+clone_color: A:0 allocation score on rhel7-auto1: 0
+clone_color: A:0 allocation score on rhel7-auto2: 0
+clone_color: A:0 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:0 allocation score on rhel7-auto4: -INFINITY
+clone_color: A:1 allocation score on rhel7-auto1: 0
+clone_color: A:1 allocation score on rhel7-auto2: 0
+clone_color: A:1 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:1 allocation score on rhel7-auto4: -INFINITY
+clone_color: A:2 allocation score on rhel7-auto1: 0
+clone_color: A:2 allocation score on rhel7-auto2: 0
+clone_color: A:2 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:2 allocation score on rhel7-auto4: -INFINITY
+clone_color: A:3 allocation score on rhel7-auto1: 0
+clone_color: A:3 allocation score on rhel7-auto2: 0
+clone_color: A:3 allocation score on rhel7-auto3: -INFINITY
+clone_color: A:3 allocation score on rhel7-auto4: -INFINITY
+clone_color: B-clone allocation score on rhel7-auto1: -INFINITY
+clone_color: B-clone allocation score on rhel7-auto2: -INFINITY
+clone_color: B-clone allocation score on rhel7-auto3: 0
+clone_color: B-clone allocation score on rhel7-auto4: 0
+clone_color: B:0 allocation score on rhel7-auto1: -INFINITY
+clone_color: B:0 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:0 allocation score on rhel7-auto3: 0
+clone_color: B:0 allocation score on rhel7-auto4: 0
+clone_color: B:1 allocation score on rhel7-auto1: -INFINITY
+clone_color: B:1 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:1 allocation score on rhel7-auto3: 0
+clone_color: B:1 allocation score on rhel7-auto4: 0
+clone_color: B:2 allocation score on rhel7-auto1: -INFINITY
+clone_color: B:2 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:2 allocation score on rhel7-auto3: 0
+clone_color: B:2 allocation score on rhel7-auto4: 0
+clone_color: B:3 allocation score on rhel7-auto1: -INFINITY
+clone_color: B:3 allocation score on rhel7-auto2: -INFINITY
+clone_color: B:3 allocation score on rhel7-auto3: 0
+clone_color: B:3 allocation score on rhel7-auto4: 0
+native_color: A:0 allocation score on rhel7-auto1: 0
+native_color: A:0 allocation score on rhel7-auto2: 0
+native_color: A:0 allocation score on rhel7-auto3: -INFINITY
+native_color: A:0 allocation score on rhel7-auto4: -INFINITY
+native_color: A:1 allocation score on rhel7-auto1: 0
+native_color: A:1 allocation score on rhel7-auto2: -INFINITY
+native_color: A:1 allocation score on rhel7-auto3: -INFINITY
+native_color: A:1 allocation score on rhel7-auto4: -INFINITY
+native_color: A:2 allocation score on rhel7-auto1: -INFINITY
+native_color: A:2 allocation score on rhel7-auto2: -INFINITY
+native_color: A:2 allocation score on rhel7-auto3: -INFINITY
+native_color: A:2 allocation score on rhel7-auto4: -INFINITY
+native_color: A:3 allocation score on rhel7-auto1: -INFINITY
+native_color: A:3 allocation score on rhel7-auto2: -INFINITY
+native_color: A:3 allocation score on rhel7-auto3: -INFINITY
+native_color: A:3 allocation score on rhel7-auto4: -INFINITY
+native_color: B:0 allocation score on rhel7-auto1: -INFINITY
+native_color: B:0 allocation score on rhel7-auto2: -INFINITY
+native_color: B:0 allocation score on rhel7-auto3: 0
+native_color: B:0 allocation score on rhel7-auto4: 0
+native_color: B:1 allocation score on rhel7-auto1: -INFINITY
+native_color: B:1 allocation score on rhel7-auto2: -INFINITY
+native_color: B:1 allocation score on rhel7-auto3: -INFINITY
+native_color: B:1 allocation score on rhel7-auto4: 0
+native_color: B:2 allocation score on rhel7-auto1: -INFINITY
+native_color: B:2 allocation score on rhel7-auto2: -INFINITY
+native_color: B:2 allocation score on rhel7-auto3: -INFINITY
+native_color: B:2 allocation score on rhel7-auto4: -INFINITY
+native_color: B:3 allocation score on rhel7-auto1: -INFINITY
+native_color: B:3 allocation score on rhel7-auto2: -INFINITY
+native_color: B:3 allocation score on rhel7-auto3: -INFINITY
+native_color: B:3 allocation score on rhel7-auto4: -INFINITY
+native_color: shooter allocation score on rhel7-auto1: 0
+native_color: shooter allocation score on rhel7-auto2: 0
+native_color: shooter allocation score on rhel7-auto3: 0
+native_color: shooter allocation score on rhel7-auto4: 0
diff --git a/pengine/test10/clone-require-all-7.summary b/pengine/test10/clone-require-all-7.summary
new file mode 100644
index 0000000..411f738
--- /dev/null
+++ b/pengine/test10/clone-require-all-7.summary
@@ -0,0 +1,47 @@
+
+Current cluster status:
+Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+
+ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
+ Clone Set: A-clone [A]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+ Clone Set: B-clone [B]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+
+Transition Summary:
+ * Start   A:0	(rhel7-auto2)
+ * Start   A:1	(rhel7-auto1)
+ * Start   B:0	(rhel7-auto3)
+ * Start   B:1	(rhel7-auto4)
+
+Executing cluster transition:
+ * Resource action: A:0             monitor on rhel7-auto4
+ * Resource action: A:0             monitor on rhel7-auto3
+ * Resource action: A:0             monitor on rhel7-auto2
+ * Resource action: A:1             monitor on rhel7-auto1
+ * Pseudo action:   A-clone_start_0
+ * Pseudo action:   probe_complete
+ * Resource action: A:0             start on rhel7-auto2
+ * Resource action: A:1             start on rhel7-auto1
+ * Pseudo action:   A-clone_running_0
+ * Pseudo action:   clone-one-or-more:order-A-clone-B-clone-mandatory
+ * Resource action: A:0             monitor=10000 on rhel7-auto2
+ * Resource action: A:1             monitor=10000 on rhel7-auto1
+ * Pseudo action:   B-clone_start_0
+ * Resource action: B               start on rhel7-auto3
+ * Resource action: B               start on rhel7-auto4
+ * Pseudo action:   B-clone_running_0
+ * Resource action: B               monitor=10000 on rhel7-auto3
+ * Resource action: B               monitor=10000 on rhel7-auto4
+
+Revised cluster status:
+Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+
+ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
+ Clone Set: A-clone [A]
+     Started: [ rhel7-auto1 rhel7-auto2 ]
+     Stopped: [ rhel7-auto3 rhel7-auto4 ]
+ Clone Set: B-clone [B]
+     Started: [ rhel7-auto3 rhel7-auto4 ]
+     Stopped: [ rhel7-auto1 rhel7-auto2 ]
+
diff --git a/pengine/test10/clone-require-all-7.xml b/pengine/test10/clone-require-all-7.xml
new file mode 100644
index 0000000..6aea47b
--- /dev/null
+++ b/pengine/test10/clone-require-all-7.xml
@@ -0,0 +1,138 @@
+<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.3" epoch="17" num_updates="2" admin_epoch="0" cib-last-written="Mon Jan  5 17:40:52 2015" have-quorum="1" dc-uuid="2">
+  <configuration>
+    <crm_config>
+      <cluster_property_set id="cib-bootstrap-options">
+        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-a14efad"/>
+        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
+        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
+      </cluster_property_set>
+    </crm_config>
+    <nodes>
+      <node id="1" uname="rhel7-auto1"/>
+      <node id="2" uname="rhel7-auto2"/>
+      <node id="3" uname="rhel7-auto3"/>
+      <node id="4" uname="rhel7-auto4"/>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_xvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="A-clone">
+        <primitive class="ocf" id="A" provider="heartbeat" type="Dummy">
+          <instance_attributes id="A-instance_attributes"/>
+          <operations>
+            <op id="A-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="A-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="A-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="A-clone-meta">
+          <nvpair id="A-clone-meta_attributes-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+      <clone id="B-clone">
+        <primitive class="ocf" id="B" provider="heartbeat" type="Dummy">
+          <instance_attributes id="B-instance_attributes"/>
+          <operations>
+            <op id="B-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="B-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="B-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="B-clone-meta">
+          <nvpair id="B-clone-meta_attributes-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+    </resources>
+    <constraints>
+      <rsc_location id="location-A-clone-rhel7-auto3--INFINITY" node="rhel7-auto3" rsc="A-clone" score="-INFINITY"/>
+      <rsc_location id="location-A-clone-rhel7-auto4--INFINITY" node="rhel7-auto4" rsc="A-clone" score="-INFINITY"/>
+      <rsc_location id="location-B-clone-rhel7-auto1--INFINITY" node="rhel7-auto1" rsc="B-clone" score="-INFINITY"/>
+      <rsc_location id="location-B-clone-rhel7-auto2--INFINITY" node="rhel7-auto2" rsc="B-clone" score="-INFINITY"/>
+      <rsc_order require-all="false" first="A-clone" first-action="start" id="order-A-clone-B-clone-mandatory" then="B-clone" then-action="start"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="1">
+        <instance_attributes id="status-1">
+          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="1">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;11:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1420497434" last-rc-change="1420497434" exec-time="84" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
+            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;12:4:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1420497434" exec-time="62" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;24:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;34:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497505" exec-time="24" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="2">
+        <instance_attributes id="status-2">
+          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="2">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;6:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;25:10:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1420497555" last-rc-change="1420497555" exec-time="27" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;31:7:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="3">
+        <instance_attributes id="status-3">
+          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="3">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;8:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497432" last-rc-change="1420497432" exec-time="991" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="22:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;22:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497653" last-rc-change="1420497653" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="30:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;30:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="22" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="4" uname="rhel7-auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="4">
+        <instance_attributes id="status-4">
+          <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-4-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="4">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:7;10:4:7:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420497431" last-rc-change="1420497431" exec-time="987" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="24:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;24:13:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="21" rc-code="0" op-status="0" interval="0" last-run="1420497652" last-rc-change="1420497652" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="32:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" transition-magic="0:0;32:8:0:cae8134b-6333-43f4-a950-53bfe72762c8" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420497504" exec-time="28" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/clone-require-all-no-interleave-1.dot b/pengine/test10/clone-require-all-no-interleave-1.dot
new file mode 100644
index 0000000..d03703b
--- /dev/null
+++ b/pengine/test10/clone-require-all-no-interleave-1.dot
@@ -0,0 +1,40 @@
+ digraph "g" {
+"A-clone_running_0" -> "B-clone_start_0" [ style = bold]
+"A-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"A-clone_start_0" -> "A-clone_running_0" [ style = bold]
+"A-clone_start_0" -> "A_start_0 rhel7-auto3" [ style = bold]
+"A-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"A_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"A_start_0 rhel7-auto3" -> "A-clone_running_0" [ style = bold]
+"A_start_0 rhel7-auto3" -> "A_monitor_10000 rhel7-auto3" [ style = bold]
+"A_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"B-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"B-clone_start_0" -> "B-clone_running_0" [ style = bold]
+"B-clone_start_0" -> "B_start_0 rhel7-auto3" [ style = bold]
+"B-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"B_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"B_start_0 rhel7-auto3" -> "B-clone_running_0" [ style = bold]
+"B_start_0 rhel7-auto3" -> "B_monitor_10000 rhel7-auto3" [ style = bold]
+"B_start_0 rhel7-auto3" -> "clone-one-or-more:order-B-clone-C-clone-mandatory" [ style = bold]
+"B_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"C-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"C-clone_start_0" -> "C-clone_running_0" [ style = bold]
+"C-clone_start_0" -> "C:1_start_0 rhel7-auto1" [ style = bold]
+"C-clone_start_0" -> "C:2_start_0 rhel7-auto3" [ style = bold]
+"C-clone_start_0" -> "C_start_0 rhel7-auto2" [ style = bold]
+"C-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"C:1_monitor_10000 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
+"C:1_start_0 rhel7-auto1" -> "C-clone_running_0" [ style = bold]
+"C:1_start_0 rhel7-auto1" -> "C:1_monitor_10000 rhel7-auto1" [ style = bold]
+"C:1_start_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
+"C:2_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"C:2_start_0 rhel7-auto3" -> "C-clone_running_0" [ style = bold]
+"C:2_start_0 rhel7-auto3" -> "C:2_monitor_10000 rhel7-auto3" [ style = bold]
+"C:2_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"C_monitor_10000 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
+"C_start_0 rhel7-auto2" -> "C-clone_running_0" [ style = bold]
+"C_start_0 rhel7-auto2" -> "C_monitor_10000 rhel7-auto2" [ style = bold]
+"C_start_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
+"clone-one-or-more:order-B-clone-C-clone-mandatory" -> "C-clone_start_0" [ style = bold]
+"clone-one-or-more:order-B-clone-C-clone-mandatory" [ style=bold color="green" fontcolor="orange"]
+}
diff --git a/pengine/test10/clone-require-all-no-interleave-1.exp b/pengine/test10/clone-require-all-no-interleave-1.exp
new file mode 100644
index 0000000..7048f51
--- /dev/null
+++ b/pengine/test10/clone-require-all-no-interleave-1.exp
@@ -0,0 +1,227 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0">
+    <action_set>
+      <rsc_op id="12" operation="monitor" operation_key="A_monitor_10000" internal_operation_key="A:0_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="11" operation="start" operation_key="A_start_0" internal_operation_key="A:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="11" operation="start" operation_key="A_start_0" internal_operation_key="A:0_start_0" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="13" operation="start" operation_key="A-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2" priority="1000000">
+    <action_set>
+      <pseudo_event id="14" operation="running" operation_key="A-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="11" operation="start" operation_key="A_start_0" internal_operation_key="A:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="13" operation="start" operation_key="A-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <pseudo_event id="13" operation="start" operation_key="A-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="4">
+    <action_set>
+      <rsc_op id="18" operation="monitor" operation_key="B_monitor_10000" internal_operation_key="B:0_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="17" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <rsc_op id="17" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="19" operation="start" operation_key="B-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="6" priority="1000000">
+    <action_set>
+      <pseudo_event id="20" operation="running" operation_key="B-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="17" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="19" operation="start" operation_key="B-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="7">
+    <action_set>
+      <pseudo_event id="19" operation="start" operation_key="B-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="14" operation="running" operation_key="A-clone_running_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="8">
+    <action_set>
+      <rsc_op id="24" operation="monitor" operation_key="C_monitor_10000" internal_operation_key="C:0_monitor_10000" on_node="rhel7-auto2" on_node_uuid="2">
+        <primitive id="C" long-id="C:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="23" operation="start" operation_key="C_start_0" internal_operation_key="C:0_start_0" on_node="rhel7-auto2" on_node_uuid="2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="9">
+    <action_set>
+      <rsc_op id="23" operation="start" operation_key="C_start_0" internal_operation_key="C:0_start_0" on_node="rhel7-auto2" on_node_uuid="2">
+        <primitive id="C" long-id="C:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="29" operation="start" operation_key="C-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="10">
+    <action_set>
+      <rsc_op id="26" operation="monitor" operation_key="C:1_monitor_10000" on_node="rhel7-auto1" on_node_uuid="1">
+        <primitive id="C" long-id="C:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="25" operation="start" operation_key="C:1_start_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="11">
+    <action_set>
+      <rsc_op id="25" operation="start" operation_key="C:1_start_0" on_node="rhel7-auto1" on_node_uuid="1">
+        <primitive id="C" long-id="C:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="29" operation="start" operation_key="C-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="12">
+    <action_set>
+      <rsc_op id="28" operation="monitor" operation_key="C:2_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="C" long-id="C:2" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="27" operation="start" operation_key="C:2_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="13">
+    <action_set>
+      <rsc_op id="27" operation="start" operation_key="C:2_start_0" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="C" long-id="C:2" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="29" operation="start" operation_key="C-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="14" priority="1000000">
+    <action_set>
+      <pseudo_event id="30" operation="running" operation_key="C-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="23" operation="start" operation_key="C_start_0" internal_operation_key="C:0_start_0" on_node="rhel7-auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="25" operation="start" operation_key="C:1_start_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="27" operation="start" operation_key="C:2_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="29" operation="start" operation_key="C-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="15">
+    <action_set>
+      <pseudo_event id="29" operation="start" operation_key="C-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="2" operation="clone-one-or-more:order-B-clone-C-clone-mandatory" operation_key="clone-one-or-more:order-B-clone-C-clone-mandatory"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="16">
+    <action_set>
+      <pseudo_event id="2" operation="clone-one-or-more:order-B-clone-C-clone-mandatory" operation_key="clone-one-or-more:order-B-clone-C-clone-mandatory">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="17" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/clone-require-all-no-interleave-1.scores b/pengine/test10/clone-require-all-no-interleave-1.scores
new file mode 100644
index 0000000..f6d3232
--- /dev/null
+++ b/pengine/test10/clone-require-all-no-interleave-1.scores
@@ -0,0 +1,113 @@
+Allocation scores:
+clone_color: A-clone allocation score on rhel7-auto1: -INFINITY
+clone_color: A-clone allocation score on rhel7-auto2: -INFINITY
+clone_color: A-clone allocation score on rhel7-auto3: 0
+clone_color: A-clone allocation score on rhel7-auto4: 0
+clone_color: A:0 allocation score on rhel7-auto1: -INFINITY
+clone_color: A:0 allocation score on rhel7-auto2: -INFINITY
+clone_color: A:0 allocation score on rhel7-auto3: 0
+clone_color: A:0 allocation score on rhel7-auto4: 0
+clone_color: A:1 allocation score on rhel7-auto1: -INFINITY
+clone_color: A:1 allocation score on rhel7-auto2: -INFINITY
+clone_color: A:1 allocation score on rhel7-auto3: 0
+clone_color: A:1 allocation score on rhel7-auto4: 0
+clone_color: A:2 allocation score on rhel7-auto1: -INFINITY
+clone_color: A:2 allocation score on rhel7-auto2: -INFINITY
+clone_color: A:2 allocation score on rhel7-auto3: 0
+clone_color: A:2 allocation score on rhel7-auto4: 0
+clone_color: A:3 allocation score on rhel7-auto1: -INFINITY
+clone_color: A:3 allocation score on rhel7-auto2: -INFINITY
+clone_color: A:3 allocation score on rhel7-auto3: 0
+clone_color: A:3 allocation score on rhel7-auto4: 0
+clone_color: B-clone allocation score on rhel7-auto1: 0
+clone_color: B-clone allocation score on rhel7-auto2: 0
+clone_color: B-clone allocation score on rhel7-auto3: 0
+clone_color: B-clone allocation score on rhel7-auto4: 0
+clone_color: B:0 allocation score on rhel7-auto1: 0
+clone_color: B:0 allocation score on rhel7-auto2: 0
+clone_color: B:0 allocation score on rhel7-auto3: 0
+clone_color: B:0 allocation score on rhel7-auto4: 0
+clone_color: B:1 allocation score on rhel7-auto1: 0
+clone_color: B:1 allocation score on rhel7-auto2: 0
+clone_color: B:1 allocation score on rhel7-auto3: 0
+clone_color: B:1 allocation score on rhel7-auto4: 0
+clone_color: B:2 allocation score on rhel7-auto1: 0
+clone_color: B:2 allocation score on rhel7-auto2: 0
+clone_color: B:2 allocation score on rhel7-auto3: 0
+clone_color: B:2 allocation score on rhel7-auto4: 0
+clone_color: B:3 allocation score on rhel7-auto1: 0
+clone_color: B:3 allocation score on rhel7-auto2: 0
+clone_color: B:3 allocation score on rhel7-auto3: 0
+clone_color: B:3 allocation score on rhel7-auto4: 0
+clone_color: C-clone allocation score on rhel7-auto1: 0
+clone_color: C-clone allocation score on rhel7-auto2: 0
+clone_color: C-clone allocation score on rhel7-auto3: 0
+clone_color: C-clone allocation score on rhel7-auto4: 0
+clone_color: C:0 allocation score on rhel7-auto1: 0
+clone_color: C:0 allocation score on rhel7-auto2: 0
+clone_color: C:0 allocation score on rhel7-auto3: 0
+clone_color: C:0 allocation score on rhel7-auto4: 0
+clone_color: C:1 allocation score on rhel7-auto1: 0
+clone_color: C:1 allocation score on rhel7-auto2: 0
+clone_color: C:1 allocation score on rhel7-auto3: 0
+clone_color: C:1 allocation score on rhel7-auto4: 0
+clone_color: C:2 allocation score on rhel7-auto1: 0
+clone_color: C:2 allocation score on rhel7-auto2: 0
+clone_color: C:2 allocation score on rhel7-auto3: 0
+clone_color: C:2 allocation score on rhel7-auto4: 0
+clone_color: C:3 allocation score on rhel7-auto1: 0
+clone_color: C:3 allocation score on rhel7-auto2: 0
+clone_color: C:3 allocation score on rhel7-auto3: 0
+clone_color: C:3 allocation score on rhel7-auto4: 0
+native_color: A:0 allocation score on rhel7-auto1: -INFINITY
+native_color: A:0 allocation score on rhel7-auto2: -INFINITY
+native_color: A:0 allocation score on rhel7-auto3: 0
+native_color: A:0 allocation score on rhel7-auto4: -INFINITY
+native_color: A:1 allocation score on rhel7-auto1: -INFINITY
+native_color: A:1 allocation score on rhel7-auto2: -INFINITY
+native_color: A:1 allocation score on rhel7-auto3: -INFINITY
+native_color: A:1 allocation score on rhel7-auto4: -INFINITY
+native_color: A:2 allocation score on rhel7-auto1: -INFINITY
+native_color: A:2 allocation score on rhel7-auto2: -INFINITY
+native_color: A:2 allocation score on rhel7-auto3: -INFINITY
+native_color: A:2 allocation score on rhel7-auto4: -INFINITY
+native_color: A:3 allocation score on rhel7-auto1: -INFINITY
+native_color: A:3 allocation score on rhel7-auto2: -INFINITY
+native_color: A:3 allocation score on rhel7-auto3: -INFINITY
+native_color: A:3 allocation score on rhel7-auto4: -INFINITY
+native_color: B:0 allocation score on rhel7-auto1: -INFINITY
+native_color: B:0 allocation score on rhel7-auto2: -INFINITY
+native_color: B:0 allocation score on rhel7-auto3: 0
+native_color: B:0 allocation score on rhel7-auto4: -INFINITY
+native_color: B:1 allocation score on rhel7-auto1: -INFINITY
+native_color: B:1 allocation score on rhel7-auto2: -INFINITY
+native_color: B:1 allocation score on rhel7-auto3: -INFINITY
+native_color: B:1 allocation score on rhel7-auto4: -INFINITY
+native_color: B:2 allocation score on rhel7-auto1: -INFINITY
+native_color: B:2 allocation score on rhel7-auto2: -INFINITY
+native_color: B:2 allocation score on rhel7-auto3: -INFINITY
+native_color: B:2 allocation score on rhel7-auto4: -INFINITY
+native_color: B:3 allocation score on rhel7-auto1: -INFINITY
+native_color: B:3 allocation score on rhel7-auto2: -INFINITY
+native_color: B:3 allocation score on rhel7-auto3: -INFINITY
+native_color: B:3 allocation score on rhel7-auto4: -INFINITY
+native_color: C:0 allocation score on rhel7-auto1: 0
+native_color: C:0 allocation score on rhel7-auto2: 0
+native_color: C:0 allocation score on rhel7-auto3: 0
+native_color: C:0 allocation score on rhel7-auto4: -INFINITY
+native_color: C:1 allocation score on rhel7-auto1: 0
+native_color: C:1 allocation score on rhel7-auto2: -INFINITY
+native_color: C:1 allocation score on rhel7-auto3: 0
+native_color: C:1 allocation score on rhel7-auto4: -INFINITY
+native_color: C:2 allocation score on rhel7-auto1: -INFINITY
+native_color: C:2 allocation score on rhel7-auto2: -INFINITY
+native_color: C:2 allocation score on rhel7-auto3: 0
+native_color: C:2 allocation score on rhel7-auto4: -INFINITY
+native_color: C:3 allocation score on rhel7-auto1: -INFINITY
+native_color: C:3 allocation score on rhel7-auto2: -INFINITY
+native_color: C:3 allocation score on rhel7-auto3: -INFINITY
+native_color: C:3 allocation score on rhel7-auto4: -INFINITY
+native_color: shooter allocation score on rhel7-auto1: 0
+native_color: shooter allocation score on rhel7-auto2: 0
+native_color: shooter allocation score on rhel7-auto3: 0
+native_color: shooter allocation score on rhel7-auto4: 0
diff --git a/pengine/test10/clone-require-all-no-interleave-1.summary b/pengine/test10/clone-require-all-no-interleave-1.summary
new file mode 100644
index 0000000..dd4bc99
--- /dev/null
+++ b/pengine/test10/clone-require-all-no-interleave-1.summary
@@ -0,0 +1,54 @@
+
+Current cluster status:
+Node rhel7-auto4 (4): standby
+Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
+
+ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
+ Clone Set: A-clone [A]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+ Clone Set: B-clone [B]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+ Clone Set: C-clone [C]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+
+Transition Summary:
+ * Start   A:0	(rhel7-auto3)
+ * Start   B:0	(rhel7-auto3)
+ * Start   C:0	(rhel7-auto2)
+ * Start   C:1	(rhel7-auto1)
+ * Start   C:2	(rhel7-auto3)
+
+Executing cluster transition:
+ * Pseudo action:   A-clone_start_0
+ * Resource action: A               start on rhel7-auto3
+ * Pseudo action:   A-clone_running_0
+ * Pseudo action:   B-clone_start_0
+ * Resource action: A               monitor=10000 on rhel7-auto3
+ * Resource action: B               start on rhel7-auto3
+ * Pseudo action:   B-clone_running_0
+ * Pseudo action:   clone-one-or-more:order-B-clone-C-clone-mandatory
+ * Resource action: B               monitor=10000 on rhel7-auto3
+ * Pseudo action:   C-clone_start_0
+ * Resource action: C               start on rhel7-auto2
+ * Resource action: C               start on rhel7-auto1
+ * Resource action: C               start on rhel7-auto3
+ * Pseudo action:   C-clone_running_0
+ * Resource action: C               monitor=10000 on rhel7-auto2
+ * Resource action: C               monitor=10000 on rhel7-auto1
+ * Resource action: C               monitor=10000 on rhel7-auto3
+
+Revised cluster status:
+Node rhel7-auto4 (4): standby
+Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
+
+ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
+ Clone Set: A-clone [A]
+     Started: [ rhel7-auto3 ]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto4 ]
+ Clone Set: B-clone [B]
+     Started: [ rhel7-auto3 ]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto4 ]
+ Clone Set: C-clone [C]
+     Started: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
+     Stopped: [ rhel7-auto4 ]
+
diff --git a/pengine/test10/clone-require-all-no-interleave-1.xml b/pengine/test10/clone-require-all-no-interleave-1.xml
new file mode 100644
index 0000000..4630f96
--- /dev/null
+++ b/pengine/test10/clone-require-all-no-interleave-1.xml
@@ -0,0 +1,177 @@
+<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.3" epoch="19" num_updates="6" admin_epoch="0" cib-last-written="Wed Jan  7 20:24:31 2015" have-quorum="1" dc-uuid="1">
+  <configuration>
+    <crm_config>
+      <cluster_property_set id="cib-bootstrap-options">
+        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-eea796a"/>
+        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
+        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
+      </cluster_property_set>
+    </crm_config>
+    <nodes>
+      <node id="1" uname="rhel7-auto1"/>
+      <node id="2" uname="rhel7-auto2"/>
+      <node id="3" uname="rhel7-auto3"/>
+      <node id="4" uname="rhel7-auto4">
+        <instance_attributes id="nodes-4">
+          <nvpair id="nodes-4-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_xvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="A-clone">
+        <primitive class="ocf" id="A" provider="heartbeat" type="Dummy">
+          <instance_attributes id="A-instance_attributes"/>
+          <operations>
+            <op id="A-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="A-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="A-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="A-clone-meta"/>
+      </clone>
+      <clone id="B-clone">
+        <primitive class="ocf" id="B" provider="heartbeat" type="Dummy">
+          <instance_attributes id="B-instance_attributes"/>
+          <operations>
+            <op id="B-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="B-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="B-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="B-clone-meta"/>
+      </clone>
+      <clone id="C-clone">
+        <primitive class="ocf" id="C" provider="heartbeat" type="Dummy">
+          <instance_attributes id="C-instance_attributes"/>
+          <operations>
+            <op id="C-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="C-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="C-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="C-clone-meta"/>
+      </clone>
+    </resources>
+    <constraints>
+      <rsc_order first="A-clone" first-action="start" id="order-A-clone-B-clone-mandatory" then="B-clone" then-action="start"/>
+      <rsc_colocation id="colocation-B-clone-A-clone-INFINITY" rsc="B-clone" score="INFINITY" with-rsc="A-clone"/>
+      <rsc_order first="B-clone" first-action="start" id="order-B-clone-C-clone-mandatory" require-all="false" then="C-clone" then-action="start"/>
+      <rsc_location id="location-A-clone-rhel7-auto1--INFINITY" node="rhel7-auto1" rsc="A-clone" score="-INFINITY"/>
+      <rsc_location id="location-A-clone-rhel7-auto2--INFINITY" node="rhel7-auto2" rsc="A-clone" score="-INFINITY"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="4" uname="rhel7-auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="4">
+        <instance_attributes id="status-4">
+          <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-4-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="4">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:7;10:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420679798" last-rc-change="1420679798" exec-time="1071" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="17:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;17:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1420680270" last-rc-change="1420680270" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="16:5:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;16:5:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680105" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="22:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;22:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680270" last-rc-change="1420680270" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="32:7:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;32:7:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680111" exec-time="23" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="C_last_0" operation_key="C_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="27:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;27:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1420680270" last-rc-change="1420680270" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="48:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;48:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680120" exec-time="22" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="3">
+        <instance_attributes id="status-3">
+          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="3">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:7;8:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420679799" last-rc-change="1420679799" exec-time="1070" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="21:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;21:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680244" last-rc-change="1420680244" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="14:5:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;14:5:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680105" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="28:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;28:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1420680244" last-rc-change="1420680244" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="30:7:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;30:7:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680112" exec-time="23" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
+          </lrm_resource>
+          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="C_last_0" operation_key="C_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="28:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;28:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1420680271" last-rc-change="1420680271" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="46:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;46:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680121" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="1">
+        <instance_attributes id="status-1">
+          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="1">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;11:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1420679801" last-rc-change="1420679801" exec-time="88" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
+            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="12:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;12:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1420679801" exec-time="64" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="27:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;27:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1420680232" last-rc-change="1420680232" exec-time="33" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="38:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;38:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680232" last-rc-change="1420680232" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="C_last_0" operation_key="C_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="30:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;30:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="31" rc-code="0" op-status="0" interval="0" last-run="1420680271" last-rc-change="1420680271" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="50:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;50:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="25" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680121" exec-time="23" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="2">
+        <instance_attributes id="status-2">
+          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="2">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="6:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:7;6:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420679798" last-rc-change="1420679798" exec-time="1070" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="25:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;25:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680238" last-rc-change="1420680238" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="34:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;34:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1420680238" last-rc-change="1420680238" exec-time="37" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="C_last_0" operation_key="C_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="32:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;32:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1420680270" last-rc-change="1420680270" exec-time="31" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="47:8:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;47:8:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680120" exec-time="19" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/clone-require-all-no-interleave-2.dot b/pengine/test10/clone-require-all-no-interleave-2.dot
new file mode 100644
index 0000000..1d7f8be
--- /dev/null
+++ b/pengine/test10/clone-require-all-no-interleave-2.dot
@@ -0,0 +1,40 @@
+ digraph "g" {
+"A-clone_running_0" -> "B-clone_start_0" [ style = bold]
+"A-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"A-clone_start_0" -> "A-clone_running_0" [ style = bold]
+"A-clone_start_0" -> "A_start_0 rhel7-auto4" [ style = bold]
+"A-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"A_monitor_10000 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
+"A_start_0 rhel7-auto4" -> "A-clone_running_0" [ style = bold]
+"A_start_0 rhel7-auto4" -> "A_monitor_10000 rhel7-auto4" [ style = bold]
+"A_start_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
+"B-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"B-clone_start_0" -> "B-clone_running_0" [ style = bold]
+"B-clone_start_0" -> "B_start_0 rhel7-auto4" [ style = bold]
+"B-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"B_monitor_10000 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
+"B_start_0 rhel7-auto4" -> "B-clone_running_0" [ style = bold]
+"B_start_0 rhel7-auto4" -> "B_monitor_10000 rhel7-auto4" [ style = bold]
+"B_start_0 rhel7-auto4" -> "clone-one-or-more:order-B-clone-C-clone-mandatory" [ style = bold]
+"B_start_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
+"C-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"C-clone_start_0" -> "C-clone_running_0" [ style = bold]
+"C-clone_start_0" -> "C:1_start_0 rhel7-auto1" [ style = bold]
+"C-clone_start_0" -> "C:2_start_0 rhel7-auto4" [ style = bold]
+"C-clone_start_0" -> "C_start_0 rhel7-auto2" [ style = bold]
+"C-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"C:1_monitor_10000 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
+"C:1_start_0 rhel7-auto1" -> "C-clone_running_0" [ style = bold]
+"C:1_start_0 rhel7-auto1" -> "C:1_monitor_10000 rhel7-auto1" [ style = bold]
+"C:1_start_0 rhel7-auto1" [ style=bold color="green" fontcolor="black"]
+"C:2_monitor_10000 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
+"C:2_start_0 rhel7-auto4" -> "C-clone_running_0" [ style = bold]
+"C:2_start_0 rhel7-auto4" -> "C:2_monitor_10000 rhel7-auto4" [ style = bold]
+"C:2_start_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
+"C_monitor_10000 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
+"C_start_0 rhel7-auto2" -> "C-clone_running_0" [ style = bold]
+"C_start_0 rhel7-auto2" -> "C_monitor_10000 rhel7-auto2" [ style = bold]
+"C_start_0 rhel7-auto2" [ style=bold color="green" fontcolor="black"]
+"clone-one-or-more:order-B-clone-C-clone-mandatory" -> "C-clone_start_0" [ style = bold]
+"clone-one-or-more:order-B-clone-C-clone-mandatory" [ style=bold color="green" fontcolor="orange"]
+}
diff --git a/pengine/test10/clone-require-all-no-interleave-2.exp b/pengine/test10/clone-require-all-no-interleave-2.exp
new file mode 100644
index 0000000..35a2df6
--- /dev/null
+++ b/pengine/test10/clone-require-all-no-interleave-2.exp
@@ -0,0 +1,227 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0">
+    <action_set>
+      <rsc_op id="12" operation="monitor" operation_key="A_monitor_10000" internal_operation_key="A:0_monitor_10000" on_node="rhel7-auto4" on_node_uuid="4">
+        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="11" operation="start" operation_key="A_start_0" internal_operation_key="A:0_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="11" operation="start" operation_key="A_start_0" internal_operation_key="A:0_start_0" on_node="rhel7-auto4" on_node_uuid="4">
+        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="13" operation="start" operation_key="A-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2" priority="1000000">
+    <action_set>
+      <pseudo_event id="14" operation="running" operation_key="A-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="11" operation="start" operation_key="A_start_0" internal_operation_key="A:0_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="13" operation="start" operation_key="A-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <pseudo_event id="13" operation="start" operation_key="A-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="4">
+    <action_set>
+      <rsc_op id="18" operation="monitor" operation_key="B_monitor_10000" internal_operation_key="B:0_monitor_10000" on_node="rhel7-auto4" on_node_uuid="4">
+        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="17" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <rsc_op id="17" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto4" on_node_uuid="4">
+        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="19" operation="start" operation_key="B-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="6" priority="1000000">
+    <action_set>
+      <pseudo_event id="20" operation="running" operation_key="B-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="17" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="19" operation="start" operation_key="B-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="7">
+    <action_set>
+      <pseudo_event id="19" operation="start" operation_key="B-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="14" operation="running" operation_key="A-clone_running_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="8">
+    <action_set>
+      <rsc_op id="24" operation="monitor" operation_key="C_monitor_10000" internal_operation_key="C:0_monitor_10000" on_node="rhel7-auto2" on_node_uuid="2">
+        <primitive id="C" long-id="C:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="23" operation="start" operation_key="C_start_0" internal_operation_key="C:0_start_0" on_node="rhel7-auto2" on_node_uuid="2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="9">
+    <action_set>
+      <rsc_op id="23" operation="start" operation_key="C_start_0" internal_operation_key="C:0_start_0" on_node="rhel7-auto2" on_node_uuid="2">
+        <primitive id="C" long-id="C:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="29" operation="start" operation_key="C-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="10">
+    <action_set>
+      <rsc_op id="26" operation="monitor" operation_key="C:1_monitor_10000" on_node="rhel7-auto1" on_node_uuid="1">
+        <primitive id="C" long-id="C:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="25" operation="start" operation_key="C:1_start_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="11">
+    <action_set>
+      <rsc_op id="25" operation="start" operation_key="C:1_start_0" on_node="rhel7-auto1" on_node_uuid="1">
+        <primitive id="C" long-id="C:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="29" operation="start" operation_key="C-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="12">
+    <action_set>
+      <rsc_op id="28" operation="monitor" operation_key="C:2_monitor_10000" on_node="rhel7-auto4" on_node_uuid="4">
+        <primitive id="C" long-id="C:2" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="27" operation="start" operation_key="C:2_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="13">
+    <action_set>
+      <rsc_op id="27" operation="start" operation_key="C:2_start_0" on_node="rhel7-auto4" on_node_uuid="4">
+        <primitive id="C" long-id="C:2" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="29" operation="start" operation_key="C-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="14" priority="1000000">
+    <action_set>
+      <pseudo_event id="30" operation="running" operation_key="C-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="23" operation="start" operation_key="C_start_0" internal_operation_key="C:0_start_0" on_node="rhel7-auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="25" operation="start" operation_key="C:1_start_0" on_node="rhel7-auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="27" operation="start" operation_key="C:2_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="29" operation="start" operation_key="C-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="15">
+    <action_set>
+      <pseudo_event id="29" operation="start" operation_key="C-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="2" operation="clone-one-or-more:order-B-clone-C-clone-mandatory" operation_key="clone-one-or-more:order-B-clone-C-clone-mandatory"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="16">
+    <action_set>
+      <pseudo_event id="2" operation="clone-one-or-more:order-B-clone-C-clone-mandatory" operation_key="clone-one-or-more:order-B-clone-C-clone-mandatory">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="17" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/clone-require-all-no-interleave-2.scores b/pengine/test10/clone-require-all-no-interleave-2.scores
new file mode 100644
index 0000000..50e054e
--- /dev/null
+++ b/pengine/test10/clone-require-all-no-interleave-2.scores
@@ -0,0 +1,113 @@
+Allocation scores:
+clone_color: A-clone allocation score on rhel7-auto1: -INFINITY
+clone_color: A-clone allocation score on rhel7-auto2: -INFINITY
+clone_color: A-clone allocation score on rhel7-auto3: 0
+clone_color: A-clone allocation score on rhel7-auto4: 0
+clone_color: A:0 allocation score on rhel7-auto1: -INFINITY
+clone_color: A:0 allocation score on rhel7-auto2: -INFINITY
+clone_color: A:0 allocation score on rhel7-auto3: 0
+clone_color: A:0 allocation score on rhel7-auto4: 0
+clone_color: A:1 allocation score on rhel7-auto1: -INFINITY
+clone_color: A:1 allocation score on rhel7-auto2: -INFINITY
+clone_color: A:1 allocation score on rhel7-auto3: 0
+clone_color: A:1 allocation score on rhel7-auto4: 0
+clone_color: A:2 allocation score on rhel7-auto1: -INFINITY
+clone_color: A:2 allocation score on rhel7-auto2: -INFINITY
+clone_color: A:2 allocation score on rhel7-auto3: 0
+clone_color: A:2 allocation score on rhel7-auto4: 0
+clone_color: A:3 allocation score on rhel7-auto1: -INFINITY
+clone_color: A:3 allocation score on rhel7-auto2: -INFINITY
+clone_color: A:3 allocation score on rhel7-auto3: 0
+clone_color: A:3 allocation score on rhel7-auto4: 0
+clone_color: B-clone allocation score on rhel7-auto1: 0
+clone_color: B-clone allocation score on rhel7-auto2: 0
+clone_color: B-clone allocation score on rhel7-auto3: 0
+clone_color: B-clone allocation score on rhel7-auto4: 0
+clone_color: B:0 allocation score on rhel7-auto1: 0
+clone_color: B:0 allocation score on rhel7-auto2: 0
+clone_color: B:0 allocation score on rhel7-auto3: 0
+clone_color: B:0 allocation score on rhel7-auto4: 0
+clone_color: B:1 allocation score on rhel7-auto1: 0
+clone_color: B:1 allocation score on rhel7-auto2: 0
+clone_color: B:1 allocation score on rhel7-auto3: 0
+clone_color: B:1 allocation score on rhel7-auto4: 0
+clone_color: B:2 allocation score on rhel7-auto1: 0
+clone_color: B:2 allocation score on rhel7-auto2: 0
+clone_color: B:2 allocation score on rhel7-auto3: 0
+clone_color: B:2 allocation score on rhel7-auto4: 0
+clone_color: B:3 allocation score on rhel7-auto1: 0
+clone_color: B:3 allocation score on rhel7-auto2: 0
+clone_color: B:3 allocation score on rhel7-auto3: 0
+clone_color: B:3 allocation score on rhel7-auto4: 0
+clone_color: C-clone allocation score on rhel7-auto1: 0
+clone_color: C-clone allocation score on rhel7-auto2: 0
+clone_color: C-clone allocation score on rhel7-auto3: 0
+clone_color: C-clone allocation score on rhel7-auto4: 0
+clone_color: C:0 allocation score on rhel7-auto1: 0
+clone_color: C:0 allocation score on rhel7-auto2: 0
+clone_color: C:0 allocation score on rhel7-auto3: 0
+clone_color: C:0 allocation score on rhel7-auto4: 0
+clone_color: C:1 allocation score on rhel7-auto1: 0
+clone_color: C:1 allocation score on rhel7-auto2: 0
+clone_color: C:1 allocation score on rhel7-auto3: 0
+clone_color: C:1 allocation score on rhel7-auto4: 0
+clone_color: C:2 allocation score on rhel7-auto1: 0
+clone_color: C:2 allocation score on rhel7-auto2: 0
+clone_color: C:2 allocation score on rhel7-auto3: 0
+clone_color: C:2 allocation score on rhel7-auto4: 0
+clone_color: C:3 allocation score on rhel7-auto1: 0
+clone_color: C:3 allocation score on rhel7-auto2: 0
+clone_color: C:3 allocation score on rhel7-auto3: 0
+clone_color: C:3 allocation score on rhel7-auto4: 0
+native_color: A:0 allocation score on rhel7-auto1: -INFINITY
+native_color: A:0 allocation score on rhel7-auto2: -INFINITY
+native_color: A:0 allocation score on rhel7-auto3: -INFINITY
+native_color: A:0 allocation score on rhel7-auto4: 0
+native_color: A:1 allocation score on rhel7-auto1: -INFINITY
+native_color: A:1 allocation score on rhel7-auto2: -INFINITY
+native_color: A:1 allocation score on rhel7-auto3: -INFINITY
+native_color: A:1 allocation score on rhel7-auto4: -INFINITY
+native_color: A:2 allocation score on rhel7-auto1: -INFINITY
+native_color: A:2 allocation score on rhel7-auto2: -INFINITY
+native_color: A:2 allocation score on rhel7-auto3: -INFINITY
+native_color: A:2 allocation score on rhel7-auto4: -INFINITY
+native_color: A:3 allocation score on rhel7-auto1: -INFINITY
+native_color: A:3 allocation score on rhel7-auto2: -INFINITY
+native_color: A:3 allocation score on rhel7-auto3: -INFINITY
+native_color: A:3 allocation score on rhel7-auto4: -INFINITY
+native_color: B:0 allocation score on rhel7-auto1: -INFINITY
+native_color: B:0 allocation score on rhel7-auto2: -INFINITY
+native_color: B:0 allocation score on rhel7-auto3: -INFINITY
+native_color: B:0 allocation score on rhel7-auto4: 0
+native_color: B:1 allocation score on rhel7-auto1: -INFINITY
+native_color: B:1 allocation score on rhel7-auto2: -INFINITY
+native_color: B:1 allocation score on rhel7-auto3: -INFINITY
+native_color: B:1 allocation score on rhel7-auto4: -INFINITY
+native_color: B:2 allocation score on rhel7-auto1: -INFINITY
+native_color: B:2 allocation score on rhel7-auto2: -INFINITY
+native_color: B:2 allocation score on rhel7-auto3: -INFINITY
+native_color: B:2 allocation score on rhel7-auto4: -INFINITY
+native_color: B:3 allocation score on rhel7-auto1: -INFINITY
+native_color: B:3 allocation score on rhel7-auto2: -INFINITY
+native_color: B:3 allocation score on rhel7-auto3: -INFINITY
+native_color: B:3 allocation score on rhel7-auto4: -INFINITY
+native_color: C:0 allocation score on rhel7-auto1: 0
+native_color: C:0 allocation score on rhel7-auto2: 0
+native_color: C:0 allocation score on rhel7-auto3: -INFINITY
+native_color: C:0 allocation score on rhel7-auto4: 0
+native_color: C:1 allocation score on rhel7-auto1: 0
+native_color: C:1 allocation score on rhel7-auto2: -INFINITY
+native_color: C:1 allocation score on rhel7-auto3: -INFINITY
+native_color: C:1 allocation score on rhel7-auto4: 0
+native_color: C:2 allocation score on rhel7-auto1: -INFINITY
+native_color: C:2 allocation score on rhel7-auto2: -INFINITY
+native_color: C:2 allocation score on rhel7-auto3: -INFINITY
+native_color: C:2 allocation score on rhel7-auto4: 0
+native_color: C:3 allocation score on rhel7-auto1: -INFINITY
+native_color: C:3 allocation score on rhel7-auto2: -INFINITY
+native_color: C:3 allocation score on rhel7-auto3: -INFINITY
+native_color: C:3 allocation score on rhel7-auto4: -INFINITY
+native_color: shooter allocation score on rhel7-auto1: 0
+native_color: shooter allocation score on rhel7-auto2: 0
+native_color: shooter allocation score on rhel7-auto3: 0
+native_color: shooter allocation score on rhel7-auto4: 0
diff --git a/pengine/test10/clone-require-all-no-interleave-2.summary b/pengine/test10/clone-require-all-no-interleave-2.summary
new file mode 100644
index 0000000..f16be9b
--- /dev/null
+++ b/pengine/test10/clone-require-all-no-interleave-2.summary
@@ -0,0 +1,54 @@
+
+Current cluster status:
+Node rhel7-auto3 (3): standby
+Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto4 ]
+
+ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
+ Clone Set: A-clone [A]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+ Clone Set: B-clone [B]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+ Clone Set: C-clone [C]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 rhel7-auto4 ]
+
+Transition Summary:
+ * Start   A:0	(rhel7-auto4)
+ * Start   B:0	(rhel7-auto4)
+ * Start   C:0	(rhel7-auto2)
+ * Start   C:1	(rhel7-auto1)
+ * Start   C:2	(rhel7-auto4)
+
+Executing cluster transition:
+ * Pseudo action:   A-clone_start_0
+ * Resource action: A               start on rhel7-auto4
+ * Pseudo action:   A-clone_running_0
+ * Pseudo action:   B-clone_start_0
+ * Resource action: A               monitor=10000 on rhel7-auto4
+ * Resource action: B               start on rhel7-auto4
+ * Pseudo action:   B-clone_running_0
+ * Pseudo action:   clone-one-or-more:order-B-clone-C-clone-mandatory
+ * Resource action: B               monitor=10000 on rhel7-auto4
+ * Pseudo action:   C-clone_start_0
+ * Resource action: C               start on rhel7-auto2
+ * Resource action: C               start on rhel7-auto1
+ * Resource action: C               start on rhel7-auto4
+ * Pseudo action:   C-clone_running_0
+ * Resource action: C               monitor=10000 on rhel7-auto2
+ * Resource action: C               monitor=10000 on rhel7-auto1
+ * Resource action: C               monitor=10000 on rhel7-auto4
+
+Revised cluster status:
+Node rhel7-auto3 (3): standby
+Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto4 ]
+
+ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
+ Clone Set: A-clone [A]
+     Started: [ rhel7-auto4 ]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
+ Clone Set: B-clone [B]
+     Started: [ rhel7-auto4 ]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
+ Clone Set: C-clone [C]
+     Started: [ rhel7-auto1 rhel7-auto2 rhel7-auto4 ]
+     Stopped: [ rhel7-auto3 ]
+
diff --git a/pengine/test10/clone-require-all-no-interleave-2.xml b/pengine/test10/clone-require-all-no-interleave-2.xml
new file mode 100644
index 0000000..214a7c7
--- /dev/null
+++ b/pengine/test10/clone-require-all-no-interleave-2.xml
@@ -0,0 +1,179 @@
+<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.3" epoch="23" num_updates="0" admin_epoch="0" cib-last-written="Wed Jan  7 20:24:31 2015" have-quorum="1" dc-uuid="1">
+  <configuration>
+    <crm_config>
+      <cluster_property_set id="cib-bootstrap-options">
+        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-eea796a"/>
+        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
+        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
+      </cluster_property_set>
+    </crm_config>
+    <nodes>
+      <node id="1" uname="rhel7-auto1"/>
+      <node id="2" uname="rhel7-auto2"/>
+      <node id="3" uname="rhel7-auto3">
+        <instance_attributes id="nodes-3">
+          <nvpair id="nodes-3-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+      <node id="4" uname="rhel7-auto4">
+        <instance_attributes id="nodes-4"/>
+      </node>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_xvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="A-clone">
+        <primitive class="ocf" id="A" provider="heartbeat" type="Dummy">
+          <instance_attributes id="A-instance_attributes"/>
+          <operations>
+            <op id="A-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="A-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="A-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="A-clone-meta"/>
+      </clone>
+      <clone id="B-clone">
+        <primitive class="ocf" id="B" provider="heartbeat" type="Dummy">
+          <instance_attributes id="B-instance_attributes"/>
+          <operations>
+            <op id="B-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="B-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="B-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="B-clone-meta"/>
+      </clone>
+      <clone id="C-clone">
+        <primitive class="ocf" id="C" provider="heartbeat" type="Dummy">
+          <instance_attributes id="C-instance_attributes"/>
+          <operations>
+            <op id="C-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="C-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="C-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="C-clone-meta"/>
+      </clone>
+    </resources>
+    <constraints>
+      <rsc_order first="A-clone" first-action="start" id="order-A-clone-B-clone-mandatory" then="B-clone" then-action="start"/>
+      <rsc_colocation id="colocation-B-clone-A-clone-INFINITY" rsc="B-clone" score="INFINITY" with-rsc="A-clone"/>
+      <rsc_order first="B-clone" first-action="start" id="order-B-clone-C-clone-mandatory" require-all="false" then="C-clone" then-action="start"/>
+      <rsc_location id="location-A-clone-rhel7-auto1--INFINITY" node="rhel7-auto1" rsc="A-clone" score="-INFINITY"/>
+      <rsc_location id="location-A-clone-rhel7-auto2--INFINITY" node="rhel7-auto2" rsc="A-clone" score="-INFINITY"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="4" uname="rhel7-auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="4">
+        <instance_attributes id="status-4">
+          <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-4-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="4">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:7;10:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420679798" last-rc-change="1420679798" exec-time="1071" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="17:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;17:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1420680270" last-rc-change="1420680270" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="16:5:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;16:5:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680105" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="22:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;22:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680270" last-rc-change="1420680270" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="32:7:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;32:7:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680111" exec-time="23" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="C_last_0" operation_key="C_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="27:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;27:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1420680270" last-rc-change="1420680270" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="48:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;48:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680120" exec-time="22" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="3">
+        <instance_attributes id="status-3">
+          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="3">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:7;8:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420679799" last-rc-change="1420679799" exec-time="1070" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="21:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;21:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680244" last-rc-change="1420680244" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="14:5:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;14:5:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680105" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="28:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;28:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1420680244" last-rc-change="1420680244" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="30:7:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;30:7:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680112" exec-time="23" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
+          </lrm_resource>
+          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="C_last_0" operation_key="C_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="28:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;28:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1420680271" last-rc-change="1420680271" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="46:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;46:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680121" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="1">
+        <instance_attributes id="status-1">
+          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="1">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;11:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1420679801" last-rc-change="1420679801" exec-time="88" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
+            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="12:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;12:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1420679801" exec-time="64" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="27:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;27:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1420680232" last-rc-change="1420680232" exec-time="33" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="38:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;38:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680232" last-rc-change="1420680232" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="C_last_0" operation_key="C_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="30:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;30:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="31" rc-code="0" op-status="0" interval="0" last-run="1420680271" last-rc-change="1420680271" exec-time="24" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="50:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;50:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="25" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680121" exec-time="23" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="2">
+        <instance_attributes id="status-2">
+          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="2">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="6:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:7;6:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420679798" last-rc-change="1420679798" exec-time="1070" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="25:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;25:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680238" last-rc-change="1420680238" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="34:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;34:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1420680238" last-rc-change="1420680238" exec-time="37" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="C_last_0" operation_key="C_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="32:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;32:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1420680270" last-rc-change="1420680270" exec-time="31" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="47:8:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;47:8:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680120" exec-time="19" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/clone-require-all-no-interleave-3.dot b/pengine/test10/clone-require-all-no-interleave-3.dot
new file mode 100644
index 0000000..58f97a5
--- /dev/null
+++ b/pengine/test10/clone-require-all-no-interleave-3.dot
@@ -0,0 +1,60 @@
+ digraph "g" {
+"A-clone_running_0" -> "B-clone_start_0" [ style = bold]
+"A-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"A-clone_start_0" -> "A-clone_running_0" [ style = bold]
+"A-clone_start_0" -> "A_start_0 rhel7-auto3" [ style = bold]
+"A-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"A-clone_stop_0" -> "A-clone_stopped_0" [ style = bold]
+"A-clone_stop_0" -> "A_stop_0 rhel7-auto4" [ style = bold]
+"A-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"A-clone_stopped_0" -> "A-clone_start_0" [ style = bold]
+"A-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"A_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"A_start_0 rhel7-auto3" -> "A-clone_running_0" [ style = bold]
+"A_start_0 rhel7-auto3" -> "A_monitor_10000 rhel7-auto3" [ style = bold]
+"A_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"A_stop_0 rhel7-auto4" -> "A-clone_stopped_0" [ style = bold]
+"A_stop_0 rhel7-auto4" -> "A_start_0 rhel7-auto3" [ style = bold]
+"A_stop_0 rhel7-auto4" -> "all_stopped" [ style = bold]
+"A_stop_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
+"B-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"B-clone_start_0" -> "B-clone_running_0" [ style = bold]
+"B-clone_start_0" -> "B_start_0 rhel7-auto3" [ style = bold]
+"B-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"B-clone_stop_0" -> "B-clone_stopped_0" [ style = bold]
+"B-clone_stop_0" -> "B_stop_0 rhel7-auto4" [ style = bold]
+"B-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"B-clone_stopped_0" -> "A-clone_stop_0" [ style = bold]
+"B-clone_stopped_0" -> "B-clone_start_0" [ style = bold]
+"B-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"B_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"B_start_0 rhel7-auto3" -> "B-clone_running_0" [ style = bold]
+"B_start_0 rhel7-auto3" -> "B_monitor_10000 rhel7-auto3" [ style = bold]
+"B_start_0 rhel7-auto3" -> "clone-one-or-more:order-B-clone-C-clone-mandatory" [ style = bold]
+"B_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"B_stop_0 rhel7-auto4" -> "B-clone_stopped_0" [ style = bold]
+"B_stop_0 rhel7-auto4" -> "B_start_0 rhel7-auto3" [ style = bold]
+"B_stop_0 rhel7-auto4" -> "all_stopped" [ style = bold]
+"B_stop_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
+"C-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"C-clone_start_0" -> "C-clone_running_0" [ style = bold]
+"C-clone_start_0" -> "C_start_0 rhel7-auto3" [ style = bold]
+"C-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"C-clone_stop_0" -> "C-clone_stopped_0" [ style = bold]
+"C-clone_stop_0" -> "C_stop_0 rhel7-auto4" [ style = bold]
+"C-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"C-clone_stopped_0" -> "B-clone_stop_0" [ style = bold]
+"C-clone_stopped_0" -> "C-clone_start_0" [ style = bold]
+"C-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"C_monitor_10000 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"C_start_0 rhel7-auto3" -> "C-clone_running_0" [ style = bold]
+"C_start_0 rhel7-auto3" -> "C_monitor_10000 rhel7-auto3" [ style = bold]
+"C_start_0 rhel7-auto3" [ style=bold color="green" fontcolor="black"]
+"C_stop_0 rhel7-auto4" -> "C-clone_stopped_0" [ style = bold]
+"C_stop_0 rhel7-auto4" -> "C_start_0 rhel7-auto3" [ style = bold]
+"C_stop_0 rhel7-auto4" -> "all_stopped" [ style = bold]
+"C_stop_0 rhel7-auto4" [ style=bold color="green" fontcolor="black"]
+"all_stopped" [ style=bold color="green" fontcolor="orange"]
+"clone-one-or-more:order-B-clone-C-clone-mandatory" -> "C-clone_start_0" [ style = bold]
+"clone-one-or-more:order-B-clone-C-clone-mandatory" [ style=bold color="green" fontcolor="orange"]
+}
diff --git a/pengine/test10/clone-require-all-no-interleave-3.exp b/pengine/test10/clone-require-all-no-interleave-3.exp
new file mode 100644
index 0000000..8aba35e
--- /dev/null
+++ b/pengine/test10/clone-require-all-no-interleave-3.exp
@@ -0,0 +1,322 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0">
+    <action_set>
+      <rsc_op id="18" operation="monitor" operation_key="A_monitor_10000" internal_operation_key="A:0_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="17" operation="start" operation_key="A_start_0" internal_operation_key="A:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="17" operation="start" operation_key="A_start_0" internal_operation_key="A:0_start_0" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="16" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="19" operation="start" operation_key="A-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2">
+    <action_set>
+      <rsc_op id="16" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4">
+        <primitive id="A" long-id="A:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="21" operation="stop" operation_key="A-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="3" priority="1000000">
+    <action_set>
+      <pseudo_event id="22" operation="stopped" operation_key="A-clone_stopped_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="16" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="21" operation="stop" operation_key="A-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4">
+    <action_set>
+      <pseudo_event id="21" operation="stop" operation_key="A-clone_stop_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="29" operation="stopped" operation_key="B-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5" priority="1000000">
+    <action_set>
+      <pseudo_event id="20" operation="running" operation_key="A-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="17" operation="start" operation_key="A_start_0" internal_operation_key="A:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="19" operation="start" operation_key="A-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="6">
+    <action_set>
+      <pseudo_event id="19" operation="start" operation_key="A-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="22" operation="stopped" operation_key="A-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="7">
+    <action_set>
+      <rsc_op id="25" operation="monitor" operation_key="B_monitor_10000" internal_operation_key="B:0_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="24" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="8">
+    <action_set>
+      <rsc_op id="24" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="23" operation="stop" operation_key="B_stop_0" internal_operation_key="B:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="26" operation="start" operation_key="B-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="9">
+    <action_set>
+      <rsc_op id="23" operation="stop" operation_key="B_stop_0" internal_operation_key="B:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4">
+        <primitive id="B" long-id="B:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="28" operation="stop" operation_key="B-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="10" priority="1000000">
+    <action_set>
+      <pseudo_event id="29" operation="stopped" operation_key="B-clone_stopped_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="23" operation="stop" operation_key="B_stop_0" internal_operation_key="B:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="28" operation="stop" operation_key="B-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="11">
+    <action_set>
+      <pseudo_event id="28" operation="stop" operation_key="B-clone_stop_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="40" operation="stopped" operation_key="C-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="12" priority="1000000">
+    <action_set>
+      <pseudo_event id="27" operation="running" operation_key="B-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="24" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="26" operation="start" operation_key="B-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="13">
+    <action_set>
+      <pseudo_event id="26" operation="start" operation_key="B-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="20" operation="running" operation_key="A-clone_running_0"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="29" operation="stopped" operation_key="B-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="14">
+    <action_set>
+      <rsc_op id="32" operation="monitor" operation_key="C_monitor_10000" internal_operation_key="C:0_monitor_10000" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="C" long-id="C:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="31" operation="start" operation_key="C_start_0" internal_operation_key="C:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="15">
+    <action_set>
+      <rsc_op id="31" operation="start" operation_key="C_start_0" internal_operation_key="C:0_start_0" on_node="rhel7-auto3" on_node_uuid="3">
+        <primitive id="C" long-id="C:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="30" operation="stop" operation_key="C_stop_0" internal_operation_key="C:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="37" operation="start" operation_key="C-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="16">
+    <action_set>
+      <rsc_op id="30" operation="stop" operation_key="C_stop_0" internal_operation_key="C:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4">
+        <primitive id="C" long-id="C:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="39" operation="stop" operation_key="C-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="17" priority="1000000">
+    <action_set>
+      <pseudo_event id="40" operation="stopped" operation_key="C-clone_stopped_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="30" operation="stop" operation_key="C_stop_0" internal_operation_key="C:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="39" operation="stop" operation_key="C-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="18">
+    <action_set>
+      <pseudo_event id="39" operation="stop" operation_key="C-clone_stop_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="19" priority="1000000">
+    <action_set>
+      <pseudo_event id="38" operation="running" operation_key="C-clone_running_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="31" operation="start" operation_key="C_start_0" internal_operation_key="C:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="37" operation="start" operation_key="C-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="20">
+    <action_set>
+      <pseudo_event id="37" operation="start" operation_key="C-clone_start_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="7" operation="clone-one-or-more:order-B-clone-C-clone-mandatory" operation_key="clone-one-or-more:order-B-clone-C-clone-mandatory"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="40" operation="stopped" operation_key="C-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="21">
+    <action_set>
+      <pseudo_event id="8" operation="all_stopped" operation_key="all_stopped">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="16" operation="stop" operation_key="A_stop_0" internal_operation_key="A:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="23" operation="stop" operation_key="B_stop_0" internal_operation_key="B:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="30" operation="stop" operation_key="C_stop_0" internal_operation_key="C:0_stop_0" on_node="rhel7-auto4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="22">
+    <action_set>
+      <pseudo_event id="7" operation="clone-one-or-more:order-B-clone-C-clone-mandatory" operation_key="clone-one-or-more:order-B-clone-C-clone-mandatory">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="24" operation="start" operation_key="B_start_0" internal_operation_key="B:0_start_0" on_node="rhel7-auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/clone-require-all-no-interleave-3.scores b/pengine/test10/clone-require-all-no-interleave-3.scores
new file mode 100644
index 0000000..70dd2d1
--- /dev/null
+++ b/pengine/test10/clone-require-all-no-interleave-3.scores
@@ -0,0 +1,113 @@
+Allocation scores:
+clone_color: A-clone allocation score on rhel7-auto1: -INFINITY
+clone_color: A-clone allocation score on rhel7-auto2: -INFINITY
+clone_color: A-clone allocation score on rhel7-auto3: 0
+clone_color: A-clone allocation score on rhel7-auto4: 0
+clone_color: A:0 allocation score on rhel7-auto1: -INFINITY
+clone_color: A:0 allocation score on rhel7-auto2: -INFINITY
+clone_color: A:0 allocation score on rhel7-auto3: 0
+clone_color: A:0 allocation score on rhel7-auto4: 1
+clone_color: A:1 allocation score on rhel7-auto1: -INFINITY
+clone_color: A:1 allocation score on rhel7-auto2: -INFINITY
+clone_color: A:1 allocation score on rhel7-auto3: 0
+clone_color: A:1 allocation score on rhel7-auto4: 0
+clone_color: A:2 allocation score on rhel7-auto1: -INFINITY
+clone_color: A:2 allocation score on rhel7-auto2: -INFINITY
+clone_color: A:2 allocation score on rhel7-auto3: 0
+clone_color: A:2 allocation score on rhel7-auto4: 0
+clone_color: A:3 allocation score on rhel7-auto1: -INFINITY
+clone_color: A:3 allocation score on rhel7-auto2: -INFINITY
+clone_color: A:3 allocation score on rhel7-auto3: 0
+clone_color: A:3 allocation score on rhel7-auto4: 0
+clone_color: B-clone allocation score on rhel7-auto1: 0
+clone_color: B-clone allocation score on rhel7-auto2: 0
+clone_color: B-clone allocation score on rhel7-auto3: 0
+clone_color: B-clone allocation score on rhel7-auto4: 0
+clone_color: B:0 allocation score on rhel7-auto1: 0
+clone_color: B:0 allocation score on rhel7-auto2: 0
+clone_color: B:0 allocation score on rhel7-auto3: 0
+clone_color: B:0 allocation score on rhel7-auto4: 1
+clone_color: B:1 allocation score on rhel7-auto1: 0
+clone_color: B:1 allocation score on rhel7-auto2: 0
+clone_color: B:1 allocation score on rhel7-auto3: 0
+clone_color: B:1 allocation score on rhel7-auto4: 0
+clone_color: B:2 allocation score on rhel7-auto1: 0
+clone_color: B:2 allocation score on rhel7-auto2: 0
+clone_color: B:2 allocation score on rhel7-auto3: 0
+clone_color: B:2 allocation score on rhel7-auto4: 0
+clone_color: B:3 allocation score on rhel7-auto1: 0
+clone_color: B:3 allocation score on rhel7-auto2: 0
+clone_color: B:3 allocation score on rhel7-auto3: 0
+clone_color: B:3 allocation score on rhel7-auto4: 0
+clone_color: C-clone allocation score on rhel7-auto1: 0
+clone_color: C-clone allocation score on rhel7-auto2: 0
+clone_color: C-clone allocation score on rhel7-auto3: 0
+clone_color: C-clone allocation score on rhel7-auto4: 0
+clone_color: C:0 allocation score on rhel7-auto1: 0
+clone_color: C:0 allocation score on rhel7-auto2: 0
+clone_color: C:0 allocation score on rhel7-auto3: 0
+clone_color: C:0 allocation score on rhel7-auto4: 1
+clone_color: C:1 allocation score on rhel7-auto1: 1
+clone_color: C:1 allocation score on rhel7-auto2: 0
+clone_color: C:1 allocation score on rhel7-auto3: 0
+clone_color: C:1 allocation score on rhel7-auto4: 0
+clone_color: C:2 allocation score on rhel7-auto1: 0
+clone_color: C:2 allocation score on rhel7-auto2: 1
+clone_color: C:2 allocation score on rhel7-auto3: 0
+clone_color: C:2 allocation score on rhel7-auto4: 0
+clone_color: C:3 allocation score on rhel7-auto1: 0
+clone_color: C:3 allocation score on rhel7-auto2: 0
+clone_color: C:3 allocation score on rhel7-auto3: 0
+clone_color: C:3 allocation score on rhel7-auto4: 0
+native_color: A:0 allocation score on rhel7-auto1: -INFINITY
+native_color: A:0 allocation score on rhel7-auto2: -INFINITY
+native_color: A:0 allocation score on rhel7-auto3: 0
+native_color: A:0 allocation score on rhel7-auto4: -INFINITY
+native_color: A:1 allocation score on rhel7-auto1: -INFINITY
+native_color: A:1 allocation score on rhel7-auto2: -INFINITY
+native_color: A:1 allocation score on rhel7-auto3: -INFINITY
+native_color: A:1 allocation score on rhel7-auto4: -INFINITY
+native_color: A:2 allocation score on rhel7-auto1: -INFINITY
+native_color: A:2 allocation score on rhel7-auto2: -INFINITY
+native_color: A:2 allocation score on rhel7-auto3: -INFINITY
+native_color: A:2 allocation score on rhel7-auto4: -INFINITY
+native_color: A:3 allocation score on rhel7-auto1: -INFINITY
+native_color: A:3 allocation score on rhel7-auto2: -INFINITY
+native_color: A:3 allocation score on rhel7-auto3: -INFINITY
+native_color: A:3 allocation score on rhel7-auto4: -INFINITY
+native_color: B:0 allocation score on rhel7-auto1: -INFINITY
+native_color: B:0 allocation score on rhel7-auto2: -INFINITY
+native_color: B:0 allocation score on rhel7-auto3: 0
+native_color: B:0 allocation score on rhel7-auto4: -INFINITY
+native_color: B:1 allocation score on rhel7-auto1: -INFINITY
+native_color: B:1 allocation score on rhel7-auto2: -INFINITY
+native_color: B:1 allocation score on rhel7-auto3: -INFINITY
+native_color: B:1 allocation score on rhel7-auto4: -INFINITY
+native_color: B:2 allocation score on rhel7-auto1: -INFINITY
+native_color: B:2 allocation score on rhel7-auto2: -INFINITY
+native_color: B:2 allocation score on rhel7-auto3: -INFINITY
+native_color: B:2 allocation score on rhel7-auto4: -INFINITY
+native_color: B:3 allocation score on rhel7-auto1: -INFINITY
+native_color: B:3 allocation score on rhel7-auto2: -INFINITY
+native_color: B:3 allocation score on rhel7-auto3: -INFINITY
+native_color: B:3 allocation score on rhel7-auto4: -INFINITY
+native_color: C:0 allocation score on rhel7-auto1: -INFINITY
+native_color: C:0 allocation score on rhel7-auto2: -INFINITY
+native_color: C:0 allocation score on rhel7-auto3: 0
+native_color: C:0 allocation score on rhel7-auto4: -INFINITY
+native_color: C:1 allocation score on rhel7-auto1: 1
+native_color: C:1 allocation score on rhel7-auto2: -INFINITY
+native_color: C:1 allocation score on rhel7-auto3: 0
+native_color: C:1 allocation score on rhel7-auto4: -INFINITY
+native_color: C:2 allocation score on rhel7-auto1: 0
+native_color: C:2 allocation score on rhel7-auto2: 1
+native_color: C:2 allocation score on rhel7-auto3: 0
+native_color: C:2 allocation score on rhel7-auto4: -INFINITY
+native_color: C:3 allocation score on rhel7-auto1: -INFINITY
+native_color: C:3 allocation score on rhel7-auto2: -INFINITY
+native_color: C:3 allocation score on rhel7-auto3: -INFINITY
+native_color: C:3 allocation score on rhel7-auto4: -INFINITY
+native_color: shooter allocation score on rhel7-auto1: 0
+native_color: shooter allocation score on rhel7-auto2: 0
+native_color: shooter allocation score on rhel7-auto3: 0
+native_color: shooter allocation score on rhel7-auto4: 0
diff --git a/pengine/test10/clone-require-all-no-interleave-3.summary b/pengine/test10/clone-require-all-no-interleave-3.summary
new file mode 100644
index 0000000..4379644
--- /dev/null
+++ b/pengine/test10/clone-require-all-no-interleave-3.summary
@@ -0,0 +1,61 @@
+
+Current cluster status:
+Node rhel7-auto4 (4): standby
+Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
+
+ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
+ Clone Set: A-clone [A]
+     Started: [ rhel7-auto4 ]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
+ Clone Set: B-clone [B]
+     Started: [ rhel7-auto4 ]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
+ Clone Set: C-clone [C]
+     Started: [ rhel7-auto1 rhel7-auto2 rhel7-auto4 ]
+     Stopped: [ rhel7-auto3 ]
+
+Transition Summary:
+ * Move    A:0	(Started rhel7-auto4 -> rhel7-auto3)
+ * Move    B:0	(Started rhel7-auto4 -> rhel7-auto3)
+ * Move    C:0	(Started rhel7-auto4 -> rhel7-auto3)
+
+Executing cluster transition:
+ * Pseudo action:   C-clone_stop_0
+ * Resource action: C               stop on rhel7-auto4
+ * Pseudo action:   C-clone_stopped_0
+ * Pseudo action:   B-clone_stop_0
+ * Resource action: B               stop on rhel7-auto4
+ * Pseudo action:   B-clone_stopped_0
+ * Pseudo action:   A-clone_stop_0
+ * Resource action: A               stop on rhel7-auto4
+ * Pseudo action:   A-clone_stopped_0
+ * Pseudo action:   A-clone_start_0
+ * Pseudo action:   all_stopped
+ * Resource action: A               start on rhel7-auto3
+ * Pseudo action:   A-clone_running_0
+ * Pseudo action:   B-clone_start_0
+ * Resource action: A               monitor=10000 on rhel7-auto3
+ * Resource action: B               start on rhel7-auto3
+ * Pseudo action:   B-clone_running_0
+ * Pseudo action:   clone-one-or-more:order-B-clone-C-clone-mandatory
+ * Resource action: B               monitor=10000 on rhel7-auto3
+ * Pseudo action:   C-clone_start_0
+ * Resource action: C               start on rhel7-auto3
+ * Pseudo action:   C-clone_running_0
+ * Resource action: C               monitor=10000 on rhel7-auto3
+
+Revised cluster status:
+Node rhel7-auto4 (4): standby
+Online: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
+
+ shooter	(stonith:fence_xvm):	Started rhel7-auto1 
+ Clone Set: A-clone [A]
+     Started: [ rhel7-auto3 ]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto4 ]
+ Clone Set: B-clone [B]
+     Started: [ rhel7-auto3 ]
+     Stopped: [ rhel7-auto1 rhel7-auto2 rhel7-auto4 ]
+ Clone Set: C-clone [C]
+     Started: [ rhel7-auto1 rhel7-auto2 rhel7-auto3 ]
+     Stopped: [ rhel7-auto4 ]
+
diff --git a/pengine/test10/clone-require-all-no-interleave-3.xml b/pengine/test10/clone-require-all-no-interleave-3.xml
new file mode 100644
index 0000000..8a9bea8
--- /dev/null
+++ b/pengine/test10/clone-require-all-no-interleave-3.xml
@@ -0,0 +1,179 @@
+<cib crm_feature_set="3.0.9" validate-with="pacemaker-2.3" epoch="25" num_updates="0" admin_epoch="0" cib-last-written="Wed Jan  7 20:24:31 2015" have-quorum="1" dc-uuid="1">
+  <configuration>
+    <crm_config>
+      <cluster_property_set id="cib-bootstrap-options">
+        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-eea796a"/>
+        <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
+        <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="phd"/>
+      </cluster_property_set>
+    </crm_config>
+    <nodes>
+      <node id="1" uname="rhel7-auto1"/>
+      <node id="2" uname="rhel7-auto2"/>
+      <node id="3" uname="rhel7-auto3">
+        <instance_attributes id="nodes-3"/>
+      </node>
+      <node id="4" uname="rhel7-auto4">
+        <instance_attributes id="nodes-4">
+          <nvpair id="nodes-4-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_xvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="A-clone">
+        <primitive class="ocf" id="A" provider="heartbeat" type="Dummy">
+          <instance_attributes id="A-instance_attributes"/>
+          <operations>
+            <op id="A-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="A-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="A-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="A-clone-meta"/>
+      </clone>
+      <clone id="B-clone">
+        <primitive class="ocf" id="B" provider="heartbeat" type="Dummy">
+          <instance_attributes id="B-instance_attributes"/>
+          <operations>
+            <op id="B-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="B-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="B-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="B-clone-meta"/>
+      </clone>
+      <clone id="C-clone">
+        <primitive class="ocf" id="C" provider="heartbeat" type="Dummy">
+          <instance_attributes id="C-instance_attributes"/>
+          <operations>
+            <op id="C-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="C-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="C-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="C-clone-meta"/>
+      </clone>
+    </resources>
+    <constraints>
+      <rsc_order first="A-clone" first-action="start" id="order-A-clone-B-clone-mandatory" then="B-clone" then-action="start"/>
+      <rsc_colocation id="colocation-B-clone-A-clone-INFINITY" rsc="B-clone" score="INFINITY" with-rsc="A-clone"/>
+      <rsc_order first="B-clone" first-action="start" id="order-B-clone-C-clone-mandatory" require-all="false" then="C-clone" then-action="start"/>
+      <rsc_location id="location-A-clone-rhel7-auto1--INFINITY" node="rhel7-auto1" rsc="A-clone" score="-INFINITY"/>
+      <rsc_location id="location-A-clone-rhel7-auto2--INFINITY" node="rhel7-auto2" rsc="A-clone" score="-INFINITY"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="4" uname="rhel7-auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="4">
+        <instance_attributes id="status-4">
+          <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-4-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="4">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="10:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:7;10:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420679798" last-rc-change="1420679798" exec-time="1071" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="30:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;30:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="30" rc-code="0" op-status="0" interval="0" last-run="1420680528" last-rc-change="1420680528" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="31:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;31:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="31" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680528" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="28:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;28:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="28" rc-code="0" op-status="0" interval="0" last-run="1420680528" last-rc-change="1420680528" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="29:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;29:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="29" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680528" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
+          </lrm_resource>
+          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="C_last_0" operation_key="C_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="26:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;26:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="26" rc-code="0" op-status="0" interval="0" last-run="1420680528" last-rc-change="1420680528" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto4" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="27:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;27:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="27" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680528" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto4"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="3" uname="rhel7-auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="3">
+        <instance_attributes id="status-3">
+          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="3">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="8:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:7;8:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420679799" last-rc-change="1420679799" exec-time="1070" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="21:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;21:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680244" last-rc-change="1420680244" exec-time="22" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="A_monitor_10000" operation_key="A_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="14:5:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;14:5:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="11" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680105" exec-time="21" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="28:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;28:15:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1420680244" last-rc-change="1420680244" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="B_monitor_10000" operation_key="B_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="30:7:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;30:7:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="17" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680112" exec-time="23" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
+          </lrm_resource>
+          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="C_last_0" operation_key="C_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.9" transition-key="28:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;28:16:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1420680271" last-rc-change="1420680271" exec-time="21" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto3" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="46:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;46:9:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="23" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680121" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto3"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="1" uname="rhel7-auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="1">
+        <instance_attributes id="status-1">
+          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="1">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="11:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;11:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1420679801" last-rc-change="1420679801" exec-time="88" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
+            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="12:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;12:3:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1420679801" exec-time="64" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="27:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;27:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1420680232" last-rc-change="1420680232" exec-time="33" queue-time="1" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="38:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;38:13:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680232" last-rc-change="1420680232" exec-time="23" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1"/>
+          </lrm_resource>
+          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="C_last_0" operation_key="C_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="32:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;32:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="32" rc-code="0" op-status="0" interval="0" last-run="1420680528" last-rc-change="1420680528" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto1" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="33:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;33:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="33" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680528" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto1"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="2" uname="rhel7-auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <transient_attributes id="2">
+        <instance_attributes id="status-2">
+          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+      <lrm id="2">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_xvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="6:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:7;6:3:7:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1420679798" last-rc-change="1420679798" exec-time="1070" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="A" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="A_last_0" operation_key="A_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="25:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;25:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1420680238" last-rc-change="1420680238" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="B" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="B_last_0" operation_key="B_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.9" transition-key="34:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" transition-magic="0:0;34:14:0:0abc4e71-eceb-4fae-bc05-3c9935bff1de" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1420680238" last-rc-change="1420680238" exec-time="37" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2"/>
+          </lrm_resource>
+          <lrm_resource id="C" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="C_last_0" operation_key="C_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="30:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;30:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="30" rc-code="0" op-status="0" interval="0" last-run="1420680528" last-rc-change="1420680528" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" on_node="rhel7-auto2" op-force-restart=" state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="C_monitor_10000" operation_key="C_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.9" transition-key="31:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;31:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="31" rc-code="0" op-status="0" interval="10000" last-rc-change="1420680528" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd" on_node="rhel7-auto2"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+  </status>
+</cib>
diff --git a/xml/constraints-2.3.rng b/xml/constraints-2.3.rng
new file mode 100644
index 0000000..d9a4701
--- /dev/null
+++ b/xml/constraints-2.3.rng
@@ -0,0 +1,252 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<grammar xmlns="http://relaxng.org/ns/structure/1.0" 
+         datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
+  <start>
+      <ref name="element-constraints"/>
+  </start>
+
+  <define name="element-constraints">
+    <element name="constraints">
+      <zeroOrMore>
+	<choice>
+	  <ref name="element-location"/>
+	  <ref name="element-colocation"/>
+	  <ref name="element-order"/>
+	  <ref name="element-rsc_ticket"/>
+	</choice>
+      </zeroOrMore>
+    </element>
+  </define>
+
+  <define name="element-location">
+    <element name="rsc_location">
+      <attribute name="id"><data type="ID"/></attribute>
+      <choice>
+	<group>
+	  <attribute name="rsc"><data type="IDREF"/></attribute>
+	  <optional>
+	    <attribute name="role">
+	      <ref name="attribute-roles"/>
+	    </attribute>
+	  </optional>
+	</group>
+	<oneOrMore>
+	  <ref name="element-resource-set"/>
+	</oneOrMore>
+      </choice>
+      <choice>
+	<group>
+	  <externalRef href="score.rng"/>
+	  <attribute name="node"><text/></attribute>
+	</group>
+	<oneOrMore>
+	  <externalRef href="rule.rng"/>
+	</oneOrMore>
+      </choice>
+      <optional>
+	<ref name="element-lifetime"/>
+      </optional>
+      <optional>
+	<attribute name="resource-discovery">
+	  <ref name="attribute-discovery"/>
+	</attribute>
+      </optional>
+    </element>
+  </define>
+
+  <define name="element-resource-set">
+    <element name="resource_set">
+      <choice>
+	<attribute name="id-ref"><data type="IDREF"/></attribute>
+	<group>
+	  <attribute name="id"><data type="ID"/></attribute>
+	  <optional>
+	    <attribute name="sequential"><data type="boolean"/></attribute>
+	  </optional>
+	  <optional>
+	    <attribute name="require-all"><data type="boolean"/></attribute>
+	  </optional>
+	  <optional>
+	    <attribute name="ordering">
+	      <choice>
+		<value>group</value>
+		<value>listed</value>
+	      </choice>
+	    </attribute>
+	  </optional>
+	  <optional>
+	    <attribute name="action">
+	      <ref name="attribute-actions"/>
+	    </attribute>
+	  </optional>
+	  <optional>
+	    <attribute name="role">
+	      <ref name="attribute-roles"/>
+	    </attribute>
+	  </optional>
+	  <optional>
+	    <externalRef href="score.rng"/>
+	  </optional>
+	  <oneOrMore>
+	    <element name="resource_ref">
+	      <attribute name="id"><data type="IDREF"/></attribute>
+	    </element>
+	  </oneOrMore>
+	</group>
+      </choice>
+    </element>
+  </define>
+
+  <define name="element-colocation">
+    <element name="rsc_colocation">
+      <attribute name="id"><data type="ID"/></attribute>
+      <optional>
+	<choice>
+	  <externalRef href="score.rng"/>
+	  <attribute name="score-attribute"><text/></attribute>
+	  <attribute name="score-attribute-mangle"><text/></attribute>
+	</choice>
+      </optional>
+      <optional>
+	<ref name="element-lifetime"/>
+      </optional>
+      <choice>
+	<oneOrMore>
+	  <ref name="element-resource-set"/>
+	</oneOrMore>
+	<group>
+	  <attribute name="rsc"><data type="IDREF"/></attribute>
+	  <attribute name="with-rsc"><data type="IDREF"/></attribute>
+	  <optional>
+	    <attribute name="node-attribute"><text/></attribute>
+	  </optional>
+	  <optional>
+	    <attribute name="rsc-role">
+	      <ref name="attribute-roles"/>
+	    </attribute>
+	  </optional>
+	  <optional>
+	    <attribute name="with-rsc-role">
+	      <ref name="attribute-roles"/>
+	    </attribute>
+	  </optional>
+	</group>
+      </choice>
+    </element>
+  </define>
+
+  <define name="element-order">
+    <element name="rsc_order">
+      <attribute name="id"><data type="ID"/></attribute>
+      <optional>
+	<ref name="element-lifetime"/>
+      </optional>
+      <optional>
+	<attribute name="symmetrical"><data type="boolean"/></attribute>
+      </optional>
+      <optional>
+	<attribute name="require-all"><data type="boolean"/></attribute>
+      </optional>
+      <optional>
+	<choice>
+	  <externalRef href="score.rng"/>
+	  <attribute name="kind">
+	    <ref name="order-types"/>
+	  </attribute>
+	</choice>
+      </optional>
+      <choice>
+	<oneOrMore>
+	  <ref name="element-resource-set"/>
+	</oneOrMore>
+	<group>
+	  <attribute name="first"><data type="IDREF"/></attribute>
+	  <attribute name="then"><data type="IDREF"/></attribute>
+	  <optional>
+	    <attribute name="first-action">
+	      <ref name="attribute-actions"/>
+	    </attribute>
+	  </optional>
+	  <optional>
+	    <attribute name="then-action">
+	      <ref name="attribute-actions"/>
+	    </attribute>
+	  </optional>
+	</group>
+      </choice>
+    </element>
+  </define>
+ 
+  <define name="element-rsc_ticket">
+    <element name="rsc_ticket">
+      <attribute name="id"><data type="ID"/></attribute>
+      <choice>
+	<oneOrMore>
+	  <ref name="element-resource-set"/>
+	</oneOrMore>
+	<group>
+	  <attribute name="rsc"><data type="IDREF"/></attribute>
+	  <optional>
+	    <attribute name="rsc-role">
+	      <ref name="attribute-roles"/>
+	    </attribute>
+	  </optional>
+	</group>
+      </choice>
+      <attribute name="ticket"><text/></attribute>
+      <optional>
+	<attribute name="loss-policy">
+	  <choice>
+	    <value>stop</value>
+	    <value>demote</value>
+	    <value>fence</value>
+	    <value>freeze</value>
+	  </choice>
+	</attribute>
+      </optional>
+    </element>
+  </define>
+
+  <define name="attribute-discovery">
+    <choice>
+      <value>always</value>
+      <value>never</value>
+      <value>exclusive</value>
+    </choice>
+  </define>
+
+  <define name="attribute-actions">
+    <choice>
+      <value>start</value>
+      <value>promote</value>
+      <value>demote</value>
+      <value>stop</value>
+    </choice>
+  </define>
+      
+  <define name="attribute-roles">
+    <choice>
+      <value>Stopped</value>
+      <value>Started</value>
+      <value>Master</value>
+      <value>Slave</value>
+    </choice>
+  </define>
+
+  <define name="order-types">
+    <choice>
+      <value>Optional</value>
+      <value>Mandatory</value>
+      <value>Serialize</value>
+    </choice>
+  </define>
+
+  <define name="element-lifetime">
+    <element name="lifetime">
+      <oneOrMore>
+	<externalRef href="rule.rng"/>
+      </oneOrMore>
+    </element>
+  </define>
+  
+</grammar>
diff --git a/xml/constraints-next.rng b/xml/constraints-next.rng
index 0defe8f..9d11003 100644
--- a/xml/constraints-next.rng
+++ b/xml/constraints-next.rng
@@ -154,6 +154,9 @@
 	<attribute name="symmetrical"><data type="boolean"/></attribute>
       </optional>
       <optional>
+	<attribute name="require-all"><data type="boolean"/></attribute>
+      </optional>
+      <optional>
 	<choice>
 	  <externalRef href="score.rng"/>
 	  <attribute name="kind">