Blob Blame History Raw
diff --git a/cib/io.c b/cib/io.c
index e2873a8..4e2b24a 100644
--- a/cib/io.c
+++ b/cib/io.c
@@ -254,9 +254,7 @@ readCibXmlFile(const char *dir, const char *file, gboolean discard_status)
     if (cib_writes_enabled && use_valgrind) {
         if (crm_is_true(use_valgrind) || strstr(use_valgrind, "cib")) {
             cib_writes_enabled = FALSE;
-            crm_err("*********************************************************");
             crm_err("*** Disabling disk writes to avoid confusing Valgrind ***");
-            crm_err("*********************************************************");
         }
     }
 
diff --git a/crmd/crmd_lrm.h b/crmd/crmd_lrm.h
index 81a53c5..78432df 100644
--- a/crmd/crmd_lrm.h
+++ b/crmd/crmd_lrm.h
@@ -37,6 +37,8 @@ typedef struct resource_history_s {
     GHashTable *stop_params;
 } rsc_history_t;
 
+void history_free(gpointer data);
+
 /* TDOD - Replace this with lrmd_event_data_t */
 struct recurring_op_s {
     int call_id;
diff --git a/crmd/lrm.c b/crmd/lrm.c
index 062f769..418e7cf 100644
--- a/crmd/lrm.c
+++ b/crmd/lrm.c
@@ -103,6 +103,80 @@ copy_meta_keys(gpointer key, gpointer value, gpointer user_data)
     }
 }
 
+/*
+ * \internal
+ * \brief Remove a recurring operation from a resource's history
+ *
+ * \param[in,out] history  Resource history to modify
+ * \param[in]     op       Operation to remove
+ *
+ * \return TRUE if the operation was found and removed, FALSE otherwise
+ */
+static gboolean
+history_remove_recurring_op(rsc_history_t *history, const lrmd_event_data_t *op)
+{
+    GList *iter;
+
+    for (iter = history->recurring_op_list; iter != NULL; iter = iter->next) {
+        lrmd_event_data_t *existing = iter->data;
+
+        if ((op->interval == existing->interval)
+            && crm_str_eq(op->rsc_id, existing->rsc_id, TRUE)
+            && safe_str_eq(op->op_type, existing->op_type)) {
+
+            history->recurring_op_list = g_list_delete_link(history->recurring_op_list, iter);
+            lrmd_free_event(existing);
+            return TRUE;
+        }
+    }
+    return FALSE;
+}
+
+/*
+ * \internal
+ * \brief Free all recurring operations in resource history
+ *
+ * \param[in,out] history  Resource history to modify
+ */
+static void
+history_free_recurring_ops(rsc_history_t *history)
+{
+    GList *iter;
+
+    for (iter = history->recurring_op_list; iter != NULL; iter = iter->next) {
+        lrmd_free_event(iter->data);
+    }
+    g_list_free(history->recurring_op_list);
+    history->recurring_op_list = NULL;
+}
+
+/*
+ * \internal
+ * \brief Free resource history
+ *
+ * \param[in,out] history  Resource history to free
+ */
+void
+history_free(gpointer data)
+{
+    rsc_history_t *history = (rsc_history_t*)data;
+
+    if (history->stop_params) {
+        g_hash_table_destroy(history->stop_params);
+    }
+
+    /* Don't need to free history->rsc.id because it's set to history->id */
+    free(history->rsc.type);
+    free(history->rsc.class);
+    free(history->rsc.provider);
+
+    lrmd_free_event(history->failed);
+    lrmd_free_event(history->last);
+    free(history->id);
+    history_free_recurring_ops(history);
+    free(history);
+}
+
 static void
 update_history_cache(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, lrmd_event_data_t * op)
 {
@@ -145,25 +219,10 @@ update_history_cache(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, lrmd_event_
     target_rc = rsc_op_expected_rc(op);
     if (op->op_status == PCMK_LRM_OP_CANCELLED) {
         if (op->interval > 0) {
-            GList *gIter, *gIterNext;
-
             crm_trace("Removing cancelled recurring op: %s_%s_%d", op->rsc_id, op->op_type,
                       op->interval);
-
-            for (gIter = entry->recurring_op_list; gIter != NULL; gIter = gIterNext) {
-                lrmd_event_data_t *existing = gIter->data;
-
-                gIterNext = gIter->next;
-
-                if (crm_str_eq(op->rsc_id, existing->rsc_id, TRUE)
-                    && safe_str_eq(op->op_type, existing->op_type)
-                    && op->interval == existing->interval) {
-                    lrmd_free_event(existing);
-                    entry->recurring_op_list = g_list_delete_link(entry->recurring_op_list, gIter);
-                }
-            }
+            history_remove_recurring_op(entry, op);
             return;
-
         } else {
             crm_trace("Skipping %s_%s_%d rc=%d, status=%d", op->rsc_id, op->op_type, op->interval,
                       op->rc, op->op_status);
@@ -201,32 +260,17 @@ update_history_cache(lrm_state_t * lrm_state, lrmd_rsc_info_t * rsc, lrmd_event_
     }
 
     if (op->interval > 0) {
-        GListPtr iter = NULL;
-
-        for(iter = entry->recurring_op_list; iter; iter = iter->next) {
-            lrmd_event_data_t *o = iter->data;
-
-            /* op->rsc_id is implied */
-            if(op->interval == o->interval && strcmp(op->op_type, o->op_type) == 0) {
-                crm_trace("Removing existing recurring op entry: %s_%s_%d", op->rsc_id, op->op_type, op->interval);
-                entry->recurring_op_list = g_list_remove(entry->recurring_op_list, o);
-                break;
-            }
-        }
+        /* Ensure there are no duplicates */
+        history_remove_recurring_op(entry, op);
 
         crm_trace("Adding recurring op: %s_%s_%d", op->rsc_id, op->op_type, op->interval);
         entry->recurring_op_list = g_list_prepend(entry->recurring_op_list, lrmd_copy_event(op));
 
     } else if (entry->recurring_op_list && safe_str_eq(op->op_type, RSC_STATUS) == FALSE) {
-        GList *gIter = entry->recurring_op_list;
-
         crm_trace("Dropping %d recurring ops because of: %s_%s_%d",
-                  g_list_length(gIter), op->rsc_id, op->op_type, op->interval);
-        for (; gIter != NULL; gIter = gIter->next) {
-            lrmd_free_event(gIter->data);
-        }
-        g_list_free(entry->recurring_op_list);
-        entry->recurring_op_list = NULL;
+                  g_list_length(entry->recurring_op_list), op->rsc_id,
+                  op->op_type, op->interval);
+        history_free_recurring_ops(entry);
     }
 }
 
diff --git a/crmd/lrm_state.c b/crmd/lrm_state.c
index 374c806..162ad03 100644
--- a/crmd/lrm_state.c
+++ b/crmd/lrm_state.c
@@ -32,24 +32,6 @@ int lrmd_internal_proxy_send(lrmd_t * lrmd, xmlNode *msg);
 void lrmd_internal_set_proxy_callback(lrmd_t * lrmd, void *userdata, void (*callback)(lrmd_t *lrmd, void *userdata, xmlNode *msg));
 
 static void
-history_cache_destroy(gpointer data)
-{
-    rsc_history_t *entry = data;
-
-    if (entry->stop_params) {
-        g_hash_table_destroy(entry->stop_params);
-    }
-
-    free(entry->rsc.type);
-    free(entry->rsc.class);
-    free(entry->rsc.provider);
-
-    lrmd_free_event(entry->failed);
-    lrmd_free_event(entry->last);
-    free(entry->id);
-    free(entry);
-}
-static void
 free_rsc_info(gpointer value)
 {
     lrmd_rsc_info_t *rsc_info = value;
@@ -155,7 +137,7 @@ lrm_state_create(const char *node_name)
                                                g_str_equal, g_hash_destroy_str, free_recurring_op);
 
     state->resource_history = g_hash_table_new_full(crm_str_hash,
-                                                    g_str_equal, NULL, history_cache_destroy);
+                                                    g_str_equal, NULL, history_free);
 
     g_hash_table_insert(lrm_state_table, (char *)state->node_name, state);
     return state;
diff --git a/cts/CM_ais.py b/cts/CM_ais.py
index 44f91cd..a34f9b1 100644
--- a/cts/CM_ais.py
+++ b/cts/CM_ais.py
@@ -49,42 +49,46 @@ class crm_ais(crm_lha):
     def NodeUUID(self, node):
         return node
 
-    def ais_components(self):
+    def ais_components(self, extra={}):
 
         complist = []
         if not len(self.fullcomplist.keys()):
             for c in ["cib", "lrmd", "crmd", "attrd" ]:
-               self.fullcomplist[c] = Process(
-                   self, c, 
-                   pats = self.templates.get_component(self.name, c),
-                   badnews_ignore = self.templates.get_component(self.name, "%s-ignore"%c),
-                   common_ignore = self.templates.get_component(self.name, "common-ignore"))
-
-               self.fullcomplist["pengine"] = Process(
-                   self, "pengine", 
-                   dc_pats = self.templates.get_component(self.name, "pengine"),
-                   badnews_ignore = self.templates.get_component(self.name, "pengine-ignore"),
-                   common_ignore = self.templates.get_component(self.name, "common-ignore"))
-
-               self.fullcomplist["stonith-ng"] = Process(
-                   self, "stonith-ng", process="stonithd", 
-                   pats = self.templates.get_component(self.name, "stonith"),
-                   badnews_ignore = self.templates.get_component(self.name, "stonith-ignore"),
-                   common_ignore = self.templates.get_component(self.name, "common-ignore"))
-
+                self.fullcomplist[c] = Process(
+                    self, c, 
+                    pats = self.templates.get_component(self.name, c),
+                    badnews_ignore = self.templates.get_component(self.name, "%s-ignore" % c),
+                    common_ignore = self.templates.get_component(self.name, "common-ignore"))
+
+            # pengine uses dc_pats instead of pats
+            self.fullcomplist["pengine"] = Process(
+                self, "pengine", 
+                dc_pats = self.templates.get_component(self.name, "pengine"),
+                badnews_ignore = self.templates.get_component(self.name, "pengine-ignore"),
+                common_ignore = self.templates.get_component(self.name, "common-ignore"))
+
+            # stonith-ng's process name is different from its component name
+            self.fullcomplist["stonith-ng"] = Process(
+                self, "stonith-ng", process="stonithd", 
+                pats = self.templates.get_component(self.name, "stonith"),
+                badnews_ignore = self.templates.get_component(self.name, "stonith-ignore"),
+                common_ignore = self.templates.get_component(self.name, "common-ignore"))
+
+            # add (or replace) any extra components passed in
+            self.fullcomplist.update(extra)
+
+        # Processes running under valgrind can't be shot with "killall -9 processname",
+        # so don't include them in the returned list
         vgrind = self.Env["valgrind-procs"].split()
         for key in self.fullcomplist.keys():
             if self.Env["valgrind-tests"]:
-               if key in vgrind:
-               # Processes running under valgrind can't be shot with "killall -9 processname"
+                if key in vgrind:
                     self.log("Filtering %s from the component list as it is being profiled by valgrind" % key)
                     continue
             if key == "stonith-ng" and not self.Env["DoFencing"]:
                 continue
-
             complist.append(self.fullcomplist[key])
 
-        #self.complist = [ fullcomplist["pengine"] ]
         return complist
 
 
@@ -100,17 +104,14 @@ class crm_cs_v0(crm_ais):
         crm_ais.__init__(self, Environment, randseed=randseed, name=name)
 
     def Components(self):
-        self.ais_components()
-        c = "corosync"
-
-        self.fullcomplist[c] = Process(
-            self, c, 
-            pats = self.templates.get_component(self.name, c),
-            badnews_ignore = self.templates.get_component(self.name, "%s-ignore"%c),
+        extra = {}
+        extra["corosync"] = Process(
+            self, "corosync", 
+            pats = self.templates.get_component(self.name, "corosync"),
+            badnews_ignore = self.templates.get_component(self.name, "corosync-ignore"),
             common_ignore = self.templates.get_component(self.name, "common-ignore")
         )
-
-        return self.ais_components()
+        return self.ais_components(extra=extra)
 
 
 class crm_cs_v1(crm_cs_v0):
diff --git a/cts/environment.py b/cts/environment.py
index a3399c3..61d4211 100644
--- a/cts/environment.py
+++ b/cts/environment.py
@@ -59,7 +59,7 @@ class Environment:
         self["stonith-params"] = "hostlist=all,livedangerously=yes"
         self["loop-minutes"] = 60
         self["valgrind-prefix"] = None
-        self["valgrind-procs"] = "cib crmd attrd pengine stonith-ng"
+        self["valgrind-procs"] = "attrd cib crmd lrmd pengine stonith-ng"
         self["valgrind-opts"] = """--leak-check=full --show-reachable=yes --trace-children=no --num-callers=25 --gen-suppressions=all --suppressions="""+CTSvars.CTS_home+"""/cts.supp"""
 
         self["experimental-tests"] = 0
@@ -578,6 +578,10 @@ class Environment:
             elif args[i] == "--valgrind-tests":
                 self["valgrind-tests"] = 1
 
+            elif args[i] == "--valgrind-procs":
+                self["valgrind-procs"] = args[i+1]
+                skipthis = 1
+
             elif args[i] == "--no-loop-tests":
                 self["loop-tests"] = 0
 
diff --git a/cts/patterns.py b/cts/patterns.py
index 1bc05a6..493b690 100644
--- a/cts/patterns.py
+++ b/cts/patterns.py
@@ -7,7 +7,9 @@ class BasePatterns:
     def __init__(self, name):
         self.name = name
         patternvariants[name] = self
-        self.ignore = []
+        self.ignore = [
+            "avoid confusing Valgrind",
+        ]
         self.BadNews = []
         self.components = {}
         self.commands = {
@@ -140,7 +142,7 @@ class crm_lha(BasePatterns):
                 r"Parameters to .* changed",
             ]
 
-        self.ignore = [
+        self.ignore = self.ignore + [
                 r"(ERROR|error):.*\s+assert\s+at\s+crm_glib_handler:"
                 "(ERROR|error): Message hist queue is filling up",
                 "stonithd.*CRIT: external_hostlist:.*'vmware gethosts' returned an empty hostlist",
@@ -177,7 +179,7 @@ class crm_cs_v0(BasePatterns):
             "Pat:PacemakerUp"  : "%s\W.*pacemakerd.*Starting Pacemaker",
         })
 
-        self.ignore = [
+        self.ignore = self.ignore + [
             r"crm_mon:",
             r"crmadmin:",
             r"update_trace_data",
diff --git a/extra/ansible/docker/group_vars/all b/extra/ansible/docker/group_vars/all
new file mode 100644
index 0000000..935e88a
--- /dev/null
+++ b/extra/ansible/docker/group_vars/all
@@ -0,0 +1,5 @@
+max: 4
+prefix: ansible-pcmk
+base_image: centos:centos7
+subnet: 172.17.200
+pacemaker_authkey: this_is_very_insecure
\ No newline at end of file
diff --git a/extra/ansible/docker/hosts b/extra/ansible/docker/hosts
new file mode 100644
index 0000000..5b0fb71
--- /dev/null
+++ b/extra/ansible/docker/hosts
@@ -0,0 +1,7 @@
+[controllers]
+oss-uk-1.clusterlabs.org
+
+[containers]
+ansible-1
+ansible-2
+ansible-3
diff --git a/extra/ansible/docker/roles/docker-host/files/docker-enter b/extra/ansible/docker/roles/docker-host/files/docker-enter
new file mode 100644
index 0000000..04c4822
--- /dev/null
+++ b/extra/ansible/docker/roles/docker-host/files/docker-enter
@@ -0,0 +1,29 @@
+#! /bin/sh -e
+
+case "$1" in
+  -h|--help)
+    echo "Usage: docker-enter CONTAINER [COMMAND]"
+    exit 0
+    ;;
+esac
+
+if [ $(id -ru) -ne 0 ]; then
+  echo "You have to be root."
+  exit 1
+fi
+
+if [ $# -eq 0 ]; then
+  echo "Usage: docker-enter CONTAINER [COMMAND]"
+  exit 1
+fi
+
+container=$1; shift
+PID=$(docker inspect --format {{.State.Pid}} "$container")
+
+if [ $# -ne 0 ]; then
+   nsenter --target $PID --mount --uts --ipc --net --pid -- $*
+   exit $?
+fi
+
+nsenter --target $PID --mount --uts --ipc --net --pid
+exit 0
diff --git a/extra/ansible/docker/roles/docker-host/files/fence_docker_cts b/extra/ansible/docker/roles/docker-host/files/fence_docker_cts
new file mode 100644
index 0000000..6d6f025
--- /dev/null
+++ b/extra/ansible/docker/roles/docker-host/files/fence_docker_cts
@@ -0,0 +1,202 @@
+#!/bin/bash
+#
+# Copyright (c) 2014 David Vossel <dvossel@redhat.com>
+#					All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of version 2 of the GNU General Public License as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it would be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Further, this software is distributed without any warranty that it is
+# free of the rightful claim of any third person regarding infringement
+# or the like.  Any license provided herein, whether implied or
+# otherwise, applies only to this software file.  Patent licenses, if
+# any, provided herein do not apply to combinations of this program with
+# other software, or any other product whatsoever.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write the Free Software Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
+#
+#######################################################################
+
+port=""
+action="list"		 # Default fence action
+
+function usage()
+{
+cat <<EOF
+`basename $0` - A fencing agent for docker containers for testing purposes
+ 
+Usage: `basename $0` -o|--action [-n|--port] [options]
+Options:
+ -h, --help 		This text
+ -V, --version		Version information
+ 
+Commands:
+ -o, --action		Action to perform: on|off|reboot|status|monitor
+ -n, --port 		The name of a container to control/check
+
+EOF
+	exit 0;
+}
+
+function metadata()
+{
+cat <<EOF
+<?xml version="1.0" ?>
+<resource-agent name="fence_docker_cts" shortdesc="docker fencing agent for testing purposes" >
+	<longdesc>
+		fence_docker_cts fences docker containers for testing purposes.
+	</longdesc>
+	<parameters>
+	<parameter name="action" unique="1" required="0">
+		<getopt mixed="-o, --action=[action]" />
+		<content type="string" default="reboot" />
+		<shortdesc lang="en">Fencing Action</shortdesc>
+	</parameter>
+	<parameter name="port" unique="1" required="0">
+		<getopt mixed="-n, --port=[port]" />
+		<content type="string" />
+		<shortdesc lang="en">The name/id of docker container to control/check</shortdesc>
+	</parameter>
+	</parameters>
+	<actions>
+	<action name="on" />
+	<action name="off" />
+	<action name="reboot" />
+	<action name="status" />
+	<action name="list" />
+	<action name="monitor" />
+	<action name="metadata" />
+	</actions>
+</resource-agent>
+EOF
+	exit 0;
+}
+
+function docker_log() {
+	if ! [ "$action" = "list" ]; then
+		printf "$*\n" 1>&2
+	fi
+}
+
+# stdin option processing
+if [ -z $1 ]; then
+	# If there are no command line args, look for options from stdin
+	while read line; do
+		for word in $(echo "$line"); do
+			case $word in 
+			option=*|action=*) action=`echo $word | sed s/.*=//`;;
+			port=*)			port=`echo $word | sed s/.*=//`;;
+			node=*)			port=`echo $word | sed s/.*=//`;;
+			nodename=*)			port=`echo $word | sed s/.*=//`;;
+			--);;
+			*) docker_log "Invalid command: $word";;
+			esac
+		done
+	done
+fi
+
+# Command line option processing
+while true ; do
+	if [ -z "$1" ]; then
+		break;
+	fi
+	case "$1" in
+	-o|--action|--option) action=$2;	shift; shift;;
+	-n|--port)			port=$2;	  shift; shift;;
+	-V|--version) echo "1.0.0"; exit 0;;
+	--help|-h) 
+		usage;
+		exit 0;;
+	--) shift ; break ;;
+	*) docker_log "Unknown option: $1. See --help for details."; exit 1;;
+	esac
+done
+
+action=`echo $action | tr 'A-Z' 'a-z'`
+case $action in
+	hostlist|list) action=list;;
+	stat|status)   action=status;;
+	restart|reboot|reset)  action=reboot;;
+	poweron|on)	action=start;;
+	poweroff|off)  action=stop;;
+esac
+
+function fence_done() 
+{
+	if [ $1 -eq 0 ]; then
+		docker_log "Operation $action (port=$port) passed"
+	else
+		docker_log "Operation $action (port=$port) failed: $1"
+	fi
+	if [ -z "$returnfile" ]; then
+		rm -f $returnfile
+	fi
+	if [ -z "$helperscript" ]; then
+		rm -f $helperscript
+	fi
+	exit $1
+}
+
+case $action in 
+	metadata) metadata;;
+esac
+
+returnfile=$(mktemp /tmp/fence_docker_cts_returnfileXXXX)
+returnstring=""
+helper_script=$(mktemp /tmp/fence_docker_cts_helperXXXX)
+
+exec_action()
+{
+	echo "#!/bin/bash" > $helper_script
+	echo "sleep 10000" >> $helper_script
+	chmod 755 $helper_script
+	src="$(uname -n)"
+
+	$helper_script "$src" "$action" "$returnfile" "$port" > /dev/null 2>&1 &
+	pid=$!
+	docker_log "waiting on pid $pid"
+	wait $pid > /dev/null 2>&1
+	returnstring=$(cat $returnfile)
+
+	if [ -z "$returnstring" ]; then
+		docker_log "fencing daemon did not respond"
+		fence_done 1
+	fi
+
+	if [ "$returnstring" == "fail" ]; then
+		docker_log "fencing daemon failed to execute action [$action on port $port]"
+		fence_done 1
+	fi
+
+	return 0
+}
+
+exec_action
+case $action in 
+	list)
+		cat $returnfile
+		fence_done 0
+		;;
+
+	status)
+		# 0 if container is on
+		# 1 if container can not be contacted or unknown
+		# 2 if container is off
+		if [ "$returnstring" = "true" ]; then
+			fence_done 0
+		else 
+			fence_done 2
+		fi
+		;;
+	monitor|stop|start|reboot) : ;;
+	*) docker_log "Unknown action: $action"; fence_done 1;;
+esac
+
+fence_done $?
diff --git a/extra/ansible/docker/roles/docker-host/files/launch.sh b/extra/ansible/docker/roles/docker-host/files/launch.sh
new file mode 100644
index 0000000..66bebf4
--- /dev/null
+++ b/extra/ansible/docker/roles/docker-host/files/launch.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+while true; do
+	sleep 1
+done
diff --git a/extra/ansible/docker/roles/docker-host/files/pcmk_remote_start b/extra/ansible/docker/roles/docker-host/files/pcmk_remote_start
new file mode 100644
index 0000000..1bf0320
--- /dev/null
+++ b/extra/ansible/docker/roles/docker-host/files/pcmk_remote_start
@@ -0,0 +1,18 @@
+#!/bin/bash
+/usr/sbin/ip_start
+pid=$(pidof pacemaker_remoted)
+if [ "$?" -ne 0 ];  then
+	mkdir -p /var/run
+
+	export PCMK_debugfile=$pcmklogs
+	(pacemaker_remoted &) & > /dev/null 2>&1
+	sleep 5
+
+	pid=$(pidof pacemaker_remoted)
+	if [ "$?" -ne 0 ]; then
+		echo "startup of pacemaker failed"
+		exit 1
+	fi
+	echo "$pid" > /var/run/pacemaker_remoted.pid
+fi
+exit 0
diff --git a/extra/ansible/docker/roles/docker-host/files/pcmk_remote_stop b/extra/ansible/docker/roles/docker-host/files/pcmk_remote_stop
new file mode 100644
index 0000000..074cd59
--- /dev/null
+++ b/extra/ansible/docker/roles/docker-host/files/pcmk_remote_stop
@@ -0,0 +1,36 @@
+#!/bin/bash
+status()
+{
+	pid=$(pidof $1 2>/dev/null)
+	rtrn=$?
+	if [ $rtrn -ne 0 ]; then
+		echo "$1 is stopped"
+	else
+		echo "$1 (pid $pid) is running..."
+	fi
+	return $rtrn
+}
+stop()
+{
+	desc="Pacemaker Remote"
+	prog=$1
+	shutdown_prog=$prog
+
+	if status $shutdown_prog > /dev/null 2>&1; then
+	    kill -TERM $(pidof $prog) > /dev/null 2>&1
+
+	    while status $prog > /dev/null 2>&1; do
+		sleep 1
+		echo -n "."
+	    done
+	else
+	    echo -n "$desc is already stopped"
+	fi
+
+	rm -f /var/lock/subsystem/pacemaker
+	rm -f /var/run/${prog}.pid
+	killall -q -9 'crmd stonithd attrd cib lrmd pacemakerd pacemaker_remoted'
+}
+
+stop "pacemaker_remoted"
+exit 0
diff --git a/extra/ansible/docker/roles/docker-host/files/pcmk_start b/extra/ansible/docker/roles/docker-host/files/pcmk_start
new file mode 100644
index 0000000..d8b2ba8
--- /dev/null
+++ b/extra/ansible/docker/roles/docker-host/files/pcmk_start
@@ -0,0 +1,23 @@
+#!/bin/bash
+
+/usr/sbin/ip_start
+sed -i 's@to_syslog:.*yes@to_logfile: yes\nlogfile: /var/log/pacemaker.log@g' /etc/corosync/corosync.conf
+
+/usr/share/corosync/corosync start > /dev/null 2>&1
+
+pid=$(pidof pacemakerd)
+if [ "$?" -ne 0 ];  then
+	mkdir -p /var/run
+
+	export PCMK_debugfile=$pcmklogs
+	(pacemakerd &) & > /dev/null 2>&1
+	sleep 5
+
+	pid=$(pidof pacemakerd)
+	if [ "$?" -ne 0 ]; then
+		echo "startup of pacemaker failed"
+		exit 1
+	fi
+	echo "$pid" > /var/run/pacemakerd.pid
+fi
+exit 0
diff --git a/extra/ansible/docker/roles/docker-host/files/pcmk_stop b/extra/ansible/docker/roles/docker-host/files/pcmk_stop
new file mode 100644
index 0000000..a8f395a
--- /dev/null
+++ b/extra/ansible/docker/roles/docker-host/files/pcmk_stop
@@ -0,0 +1,45 @@
+#!/bin/bash
+status()
+{
+	pid=$(pidof $1 2>/dev/null)
+	rtrn=$?
+	if [ $rtrn -ne 0 ]; then
+		echo "$1 is stopped"
+	else
+		echo "$1 (pid $pid) is running..."
+	fi
+	return $rtrn
+}
+stop()
+{
+	desc="Pacemaker Cluster Manager"
+	prog=$1
+	shutdown_prog=$prog
+
+	if ! status $prog > /dev/null 2>&1; then
+	    shutdown_prog="crmd"
+	fi
+
+	cname=$(crm_node --name)
+	crm_attribute -N $cname -n standby -v true -l reboot
+
+	if status $shutdown_prog > /dev/null 2>&1; then
+	    kill -TERM $(pidof $prog) > /dev/null 2>&1
+
+	    while status $prog > /dev/null 2>&1; do
+		sleep 1
+		echo -n "."
+	    done
+	else
+	    echo -n "$desc is already stopped"
+	fi
+
+	rm -f /var/lock/subsystem/pacemaker
+	rm -f /var/run/${prog}.pid
+	killall -q -9 'crmd stonithd attrd cib lrmd pacemakerd pacemaker_remoted'
+}
+
+stop "pacemakerd"
+/usr/share/corosync/corosync stop > /dev/null 2>&1
+killall -q -9 'corosync'
+exit 0
diff --git a/extra/ansible/docker/roles/docker-host/tasks/main.yml b/extra/ansible/docker/roles/docker-host/tasks/main.yml
new file mode 100644
index 0000000..ce69adf
--- /dev/null
+++ b/extra/ansible/docker/roles/docker-host/tasks/main.yml
@@ -0,0 +1,77 @@
+---
+#local_action: command /usr/bin/take_out_of_pool {{ inventory_hostname }}
+- name: Update docker  
+  yum: pkg=docker state=latest
+- name: Start docker
+  service: name=docker state=started enabled=yes
+- name: Install helper
+  copy: src=docker-enter dest=/usr/sbin/ mode=0755
+- name: Download image
+  shell: docker pull {{ base_image }}
+- name: Cleanup kill
+  shell: docker kill $(docker ps -a | grep {{ prefix }} | awk '{print $1}') || echo "Nothing to kill"
+- name: Cleanup remove
+  shell: docker rm $(docker ps -a | grep {{ prefix }} | awk '{print $1}') || echo "Nothing to remove"
+- name: Cleanup docker skeleton
+  file: path={{ prefix }} state=absent
+- name: Create docker skeleton
+  file: path={{ prefix }}/{{ item }} state=directory recurse=yes
+  with_items:
+  - rpms
+  - repos
+  - bin_files
+  - launch_scripts
+- name: Create IP helper
+  template: src=ip_start.j2 dest={{ prefix }}/bin_files/ip_start mode=0755
+- name: Copy helper scripts
+  copy: src={{ item }} dest={{ prefix }}/bin_files/{{ item }} mode=0755
+  with_items:
+  - pcmk_stop
+  - pcmk_start
+  - pcmk_remote_stop
+  - pcmk_remote_start
+  - fence_docker_cts
+- name: Copy launch script
+  copy: src=launch.sh dest={{ prefix }}/launch_scripts/launch.sh mode=0755
+- name: Copy authorized keys
+  shell: cp /root/.ssh/authorized_keys {{ prefix }}
+- name: Create docker file
+  template: src=Dockerfile.j2 dest={{ prefix }}/Dockerfile
+- name: Making image
+  shell: docker build -t {{ prefix }} {{ prefix }}
+- name: Launch images
+  shell: docker run -d -i -t -P -h {{ prefix }}-{{ item }} --name={{ prefix }}-{{ item }} -p 2200{{ item }}:22 $(docker images | grep {{ prefix }}.*latest | awk '{print $3}') /bin/bash
+  with_sequence: count={{ max }}
+- name: Calculate IPs
+  shell: for n in $(seq {{ max }} ); do echo {{ subnet }}.${n}; done | tr '\n' ' '
+  register: node_ips
+- name: Start the IP
+  shell: docker-enter {{ prefix }}-{{ item }} ip_start
+  with_sequence: count={{ max }}
+- name: Configure cluster
+  shell: docker-enter {{ prefix }}-{{ item }} pcs cluster setup --local --name {{ prefix }} {{ node_ips.stdout }}
+  with_sequence: count={{ max }}
+- name: Start the cluster
+  shell: docker-enter {{ prefix }}-{{ item }} pcmk_start
+  with_sequence: count={{ max }}
+- name: Set cluster options
+  shell: docker-enter {{ prefix }}-1 pcs property set stonith-enabled=false
+- name: Configure VIP
+  shell: docker-enter {{ prefix }}-1 pcs resource create ClusterIP ocf:heartbeat:IPaddr2 ip={{ subnet }}.100 cidr_netmask=32 op monitor interval=30s
+- name: Configure 
+  shell: docker-enter {{ prefix }}-1 pcs resource defaults resource-stickiness=100
+- name: Configure 
+  shell: docker-enter {{ prefix }}-1 pcs resource create WebSite apache configfile=/etc/httpd/conf/httpd.conf statusurl="http://localhost/server-status" op monitor interval=1min
+- name: Configure 
+  shell: docker-enter {{ prefix }}-1 pcs constraint colocation add WebSite with ClusterIP INFINITY
+- name: Configure 
+  shell: docker-enter {{ prefix }}-1 pcs constraint order ClusterIP then WebSite
+- name: Configure 
+  shell: docker-enter {{ prefix }}-1 pcs constraint location WebSite prefers {{ prefix }}-1=50
+# TODO: Enable fencing
+# TODO: Make this a full LAMP stack similar to https://github.com/ansible/ansible-examples/tree/master/lamp_simple
+# TODO: Create a Pacemaker module?
+
+#  run_once: true
+#  delegate_to: web01.example.org
+
diff --git a/extra/ansible/docker/roles/docker-host/templates/Dockerfile.j2 b/extra/ansible/docker/roles/docker-host/templates/Dockerfile.j2
new file mode 100644
index 0000000..1d57175
--- /dev/null
+++ b/extra/ansible/docker/roles/docker-host/templates/Dockerfile.j2
@@ -0,0 +1,16 @@
+FROM {{ base_image }}
+ADD /repos /etc/yum.repos.d/
+#ADD /rpms /root/
+#RUN yum install -y /root/*.rpm
+ADD /launch_scripts /root/
+ADD /bin_files /usr/sbin/
+
+RUN mkdir -p /root/.ssh; chmod 700 /root/.ssh
+ADD authorized_keys /root/.ssh/
+
+RUN yum install -y openssh-server net-tools pacemaker pacemaker-cts resource-agents pcs corosync which fence-agents-common sysvinit-tools
+RUN mkdir -p /etc/pacemaker/
+RUN echo {{ pacemaker_authkey }} > /etc/pacemaker/authkey
+RUN /usr/sbin/sshd
+
+ENTRYPOINT ["/root/launch.sh"]
diff --git a/extra/ansible/docker/roles/docker-host/templates/ip_start.j2 b/extra/ansible/docker/roles/docker-host/templates/ip_start.j2
new file mode 100755
index 0000000..edbd392
--- /dev/null
+++ b/extra/ansible/docker/roles/docker-host/templates/ip_start.j2
@@ -0,0 +1,3 @@
+offset=$(hostname | sed s/.*-//)
+export OCF_ROOT=/usr/lib/ocf/ OCF_RESKEY_ip={{ subnet }}.${offset} OCF_RESKEY_cidr_netmask=32
+/usr/lib/ocf/resource.d/heartbeat/IPaddr2 start
diff --git a/extra/ansible/docker/site.yml b/extra/ansible/docker/site.yml
new file mode 100644
index 0000000..0cc65e4
--- /dev/null
+++ b/extra/ansible/docker/site.yml
@@ -0,0 +1,12 @@
+---
+# See /etc/ansible/hosts or -i hosts
+- hosts: controllers
+  remote_user: root
+  roles:
+    - docker-host
+
+#- hosts: containers
+#  gather_facts: no
+#  remote_user: root
+#  roles:
+#    - docker-container
diff --git a/include/crm/msg_xml.h b/include/crm/msg_xml.h
index 42f9003..15f1b3c 100644
--- a/include/crm/msg_xml.h
+++ b/include/crm/msg_xml.h
@@ -194,6 +194,7 @@
 #  define XML_RSC_ATTR_INTERLEAVE	"interleave"
 #  define XML_RSC_ATTR_INCARNATION	"clone"
 #  define XML_RSC_ATTR_INCARNATION_MAX	"clone-max"
+#  define XML_RSC_ATTR_INCARNATION_MIN	"clone-min"
 #  define XML_RSC_ATTR_INCARNATION_NODEMAX	"clone-node-max"
 #  define XML_RSC_ATTR_MASTER_MAX	"master-max"
 #  define XML_RSC_ATTR_MASTER_NODEMAX	"master-node-max"
diff --git a/include/crm/pengine/status.h b/include/crm/pengine/status.h
index 4214959..b95b1e5 100644
--- a/include/crm/pengine/status.h
+++ b/include/crm/pengine/status.h
@@ -256,7 +256,6 @@ struct resource_s {
     int stickiness;
     int sort_index;
     int failure_timeout;
-    int remote_reconnect_interval;
     int effective_priority;
     int migration_threshold;
 
@@ -295,6 +294,7 @@ struct resource_s {
 
     const char *isolation_wrapper;
     gboolean exclusive_discover;
+    int remote_reconnect_interval;
 };
 
 struct pe_action_s {
@@ -324,6 +324,26 @@ struct pe_action_s {
     GHashTable *meta;
     GHashTable *extra;
 
+    /* 
+     * These two varables are associated with the constraint logic
+     * that involves first having one or more actions runnable before
+     * then allowing this action to execute.
+     *
+     * These varables are used with features such as 'clone-min' which
+     * requires at minimum X number of cloned instances to be running
+     * before an order dependency can run. Another option that uses
+     * this is 'require-all=false' in ordering constrants. This option
+     * says "only required one instance of a resource to start before
+     * allowing dependencies to start" basicall require-all=false is
+     * the same as clone-min=1.
+     */
+
+    /* current number of known runnable actions in the before list. */
+    int runnable_before;
+    /* the number of "before" runnable actions required for this action
+     * to be considered runnable */ 
+    int required_runnable_before;
+
     GListPtr actions_before;    /* action_warpper_t* */
     GListPtr actions_after;     /* action_warpper_t* */
 };
diff --git a/lib/cib/Makefile.am b/lib/cib/Makefile.am
index e84f4f7..1e50511 100644
--- a/lib/cib/Makefile.am
+++ b/lib/cib/Makefile.am
@@ -28,7 +28,7 @@ noinst_HEADERS		=
 libcib_la_SOURCES	= cib_ops.c cib_utils.c cib_client.c cib_native.c cib_attrs.c
 libcib_la_SOURCES      += cib_file.c cib_remote.c
 
-libcib_la_LDFLAGS	= -version-info 4:1:0 -L$(top_builddir)/lib/pengine/.libs
+libcib_la_LDFLAGS	= -version-info 4:2:0 -L$(top_builddir)/lib/pengine/.libs
 libcib_la_LIBADD        = $(CRYPTOLIB) $(top_builddir)/lib/pengine/libpe_rules.la $(top_builddir)/lib/common/libcrmcommon.la
 libcib_la_CFLAGS	= -I$(top_srcdir)
 
diff --git a/lib/cluster/Makefile.am b/lib/cluster/Makefile.am
index 29413ba..29daeb2 100644
--- a/lib/cluster/Makefile.am
+++ b/lib/cluster/Makefile.am
@@ -28,7 +28,7 @@ header_HEADERS =
 lib_LTLIBRARIES	= libcrmcluster.la 
 
 libcrmcluster_la_SOURCES = election.c cluster.c membership.c
-libcrmcluster_la_LDFLAGS = -version-info 4:2:0 $(CLUSTERLIBS) 
+libcrmcluster_la_LDFLAGS = -version-info 5:0:1 $(CLUSTERLIBS) 
 libcrmcluster_la_LIBADD  = $(top_builddir)/lib/common/libcrmcommon.la $(top_builddir)/lib/fencing/libstonithd.la
 libcrmcluster_la_DEPENDENCIES = $(top_builddir)/lib/common/libcrmcommon.la $(top_builddir)/lib/fencing/libstonithd.la 
 
diff --git a/lib/common/Makefile.am b/lib/common/Makefile.am
index a593f40..f5c0766 100644
--- a/lib/common/Makefile.am
+++ b/lib/common/Makefile.am
@@ -37,7 +37,7 @@ if BUILD_CIBSECRETS
 libcrmcommon_la_SOURCES	+= cib_secrets.c
 endif
 
-libcrmcommon_la_LDFLAGS	= -version-info 7:0:4
+libcrmcommon_la_LDFLAGS	= -version-info 8:0:5
 libcrmcommon_la_LIBADD  = @LIBADD_DL@ $(GNUTLSLIBS)
 libcrmcommon_la_SOURCES += $(top_builddir)/lib/gnu/md5.c
 
diff --git a/lib/fencing/Makefile.am b/lib/fencing/Makefile.am
index 2bdcfeb..fbe02e4 100644
--- a/lib/fencing/Makefile.am
+++ b/lib/fencing/Makefile.am
@@ -25,7 +25,7 @@ AM_CPPFLAGS         = -I$(top_builddir)/include  -I$(top_srcdir)/include     \
 lib_LTLIBRARIES = libstonithd.la
 
 libstonithd_la_SOURCES = st_client.c
-libstonithd_la_LDFLAGS = -version-info 3:2:1
+libstonithd_la_LDFLAGS = -version-info 3:3:1
 libstonithd_la_LIBADD = $(top_builddir)/lib/common/libcrmcommon.la
 
 AM_CFLAGS = $(AM_CPPFLAGS)
diff --git a/lib/lrmd/Makefile.am b/lib/lrmd/Makefile.am
index f961ae1..820654c 100644
--- a/lib/lrmd/Makefile.am
+++ b/lib/lrmd/Makefile.am
@@ -25,7 +25,7 @@ AM_CPPFLAGS         = -I$(top_builddir)/include  -I$(top_srcdir)/include     \
 lib_LTLIBRARIES = liblrmd.la
 
 liblrmd_la_SOURCES = lrmd_client.c proxy_common.c
-liblrmd_la_LDFLAGS = -version-info 3:0:2
+liblrmd_la_LDFLAGS = -version-info 3:1:2
 liblrmd_la_LIBADD = $(top_builddir)/lib/common/libcrmcommon.la	\
 			$(top_builddir)/lib/services/libcrmservice.la \
 			$(top_builddir)/lib/fencing/libstonithd.la
diff --git a/lib/pengine/Makefile.am b/lib/pengine/Makefile.am
index 78da075..60d1770 100644
--- a/lib/pengine/Makefile.am
+++ b/lib/pengine/Makefile.am
@@ -26,11 +26,11 @@ lib_LTLIBRARIES	= libpe_rules.la libpe_status.la
 ## SOURCES
 noinst_HEADERS	= unpack.h variant.h
 
-libpe_rules_la_LDFLAGS	= -version-info 2:4:0
+libpe_rules_la_LDFLAGS	= -version-info 2:5:0
 libpe_rules_la_SOURCES	= rules.c common.c
 libpe_rules_la_LIBADD	= $(top_builddir)/lib/common/libcrmcommon.la
 
-libpe_status_la_LDFLAGS	= -version-info 8:0:4
+libpe_status_la_LDFLAGS	= -version-info 9:0:5
 libpe_status_la_SOURCES	=  status.c unpack.c utils.c complex.c native.c group.c clone.c rules.c common.c
 libpe_status_la_LIBADD	=  @CURSESLIBS@ $(top_builddir)/lib/common/libcrmcommon.la
 
diff --git a/lib/services/dbus.c b/lib/services/dbus.c
index 6341fc5..e2efecb 100644
--- a/lib/services/dbus.c
+++ b/lib/services/dbus.c
@@ -64,11 +64,14 @@ pcmk_dbus_find_error(const char *method, DBusPendingCall* pending, DBusMessage *
     } else {
         DBusMessageIter args;
         int dtype = dbus_message_get_type(reply);
+        char *sig;
 
         switch(dtype) {
             case DBUS_MESSAGE_TYPE_METHOD_RETURN:
                 dbus_message_iter_init(reply, &args);
-                crm_trace("Call to %s returned '%s'", method, dbus_message_iter_get_signature(&args));
+                sig = dbus_message_iter_get_signature(&args);
+                crm_trace("Call to %s returned '%s'", method, sig);
+                dbus_free(sig);
                 break;
             case DBUS_MESSAGE_TYPE_INVALID:
                 error.message = "Invalid reply";
@@ -217,11 +220,14 @@ bool pcmk_dbus_type_check(DBusMessage *msg, DBusMessageIter *field, int expected
 
     if(dtype != expected) {
         DBusMessageIter args;
+        char *sig;
 
         dbus_message_iter_init(msg, &args);
+        sig = dbus_message_iter_get_signature(&args);
         do_crm_log_alias(LOG_ERR, __FILE__, function, line,
-                         "Unexepcted DBus type, expected %c in '%s' instead of %c",
-                         expected, dbus_message_iter_get_signature(&args), dtype);
+                         "Unexpected DBus type, expected %c in '%s' instead of %c",
+                         expected, sig, dtype);
+        dbus_free(sig);
         return FALSE;
     }
 
diff --git a/lib/services/services.c b/lib/services/services.c
index 08bff88..7e2b9f7 100644
--- a/lib/services/services.c
+++ b/lib/services/services.c
@@ -348,6 +348,34 @@ services_action_create_generic(const char *exec, const char *args[])
     return op;
 }
 
+#if SUPPORT_DBUS
+/*
+ * \internal
+ * \brief Update operation's pending DBus call, unreferencing old one if needed
+ *
+ * \param[in,out] op       Operation to modify
+ * \param[in]     pending  Pending call to set
+ */
+void
+services_set_op_pending(svc_action_t *op, DBusPendingCall *pending)
+{
+    if (op->opaque->pending && (op->opaque->pending != pending)) {
+        if (pending) {
+            crm_info("Lost pending DBus call (%p)", op->opaque->pending);
+        } else {
+            crm_trace("Done with pending DBus call (%p)", op->opaque->pending);
+        }
+        dbus_pending_call_unref(op->opaque->pending);
+    }
+    op->opaque->pending = pending;
+    if (pending) {
+        crm_trace("Updated pending DBus call (%p)", pending);
+    } else {
+        crm_trace("Cleared pending DBus call");
+    }
+}
+#endif
+
 void
 services_action_cleanup(svc_action_t * op)
 {
diff --git a/lib/services/services_private.h b/lib/services/services_private.h
index 183afb5..a98cd91 100644
--- a/lib/services/services_private.h
+++ b/lib/services/services_private.h
@@ -63,4 +63,8 @@ void handle_blocked_ops(void);
 
 gboolean is_op_blocked(const char *rsc);
 
+#if SUPPORT_DBUS
+void services_set_op_pending(svc_action_t *op, DBusPendingCall *pending);
+#endif
+
 #endif                          /* __MH_SERVICES_PRIVATE_H__ */
diff --git a/lib/services/systemd.c b/lib/services/systemd.c
index 749d61c..e1e1bc9 100644
--- a/lib/services/systemd.c
+++ b/lib/services/systemd.c
@@ -461,7 +461,12 @@ systemd_async_dispatch(DBusPendingCall *pending, void *user_data)
 
     if(op) {
         crm_trace("Got result: %p for %p for %s, %s", reply, pending, op->rsc, op->action);
-        op->opaque->pending = NULL;
+        if (pending == op->opaque->pending) {
+            op->opaque->pending = NULL;
+        } else {
+            crm_info("Received unexpected reply for pending DBus call (%p vs %p)",
+                     op->opaque->pending, pending);
+        }
         systemd_exec_result(reply, op);
 
     } else {
@@ -499,10 +504,7 @@ systemd_unit_check(const char *name, const char *state, void *userdata)
     }
 
     if (op->synchronous == FALSE) {
-        if (op->opaque->pending) {
-            dbus_pending_call_unref(op->opaque->pending);
-        }
-        op->opaque->pending = NULL;
+        services_set_op_pending(op, NULL);
         operation_finalize(op);
     }
 }
@@ -535,7 +537,7 @@ systemd_unit_exec_with_unit(svc_action_t * op, const char *unit)
             return op->rc == PCMK_OCF_OK;
         } else if (pending) {
             dbus_pending_call_ref(pending);
-            op->opaque->pending = pending;
+            services_set_op_pending(op, pending);
             return TRUE;
         }
 
@@ -617,8 +619,7 @@ systemd_unit_exec_with_unit(svc_action_t * op, const char *unit)
 
         dbus_message_unref(msg);
         if(pending) {
-            dbus_pending_call_ref(pending);
-            op->opaque->pending = pending;
+            services_set_op_pending(op, pending);
             return TRUE;
         }
         return FALSE;
diff --git a/lib/transition/Makefile.am b/lib/transition/Makefile.am
index 8ce7775..04d18fe 100644
--- a/lib/transition/Makefile.am
+++ b/lib/transition/Makefile.am
@@ -27,7 +27,7 @@ lib_LTLIBRARIES	= libtransitioner.la
 noinst_HEADERS		= 
 libtransitioner_la_SOURCES	= unpack.c graph.c utils.c
 
-libtransitioner_la_LDFLAGS	= -version-info 2:3:0
+libtransitioner_la_LDFLAGS	= -version-info 2:4:0
 libtransitioner_la_CFLAGS	= -I$(top_builddir)
 libtransitioner_la_LIBADD       = $(top_builddir)/lib/common/libcrmcommon.la
 
diff --git a/pengine/Makefile.am b/pengine/Makefile.am
index 31532cf..0e12a1f 100644
--- a/pengine/Makefile.am
+++ b/pengine/Makefile.am
@@ -61,7 +61,7 @@ endif
 noinst_HEADERS	= allocate.h utils.h pengine.h
 #utils.h pengine.h
 
-libpengine_la_LDFLAGS	= -version-info 8:0:4
+libpengine_la_LDFLAGS	= -version-info 9:0:5
 # -L$(top_builddir)/lib/pils -lpils -export-dynamic -module -avoid-version
 libpengine_la_SOURCES	= pengine.c allocate.c utils.c constraints.c
 libpengine_la_SOURCES  += native.c group.c clone.c master.c graph.c utilization.c
diff --git a/pengine/allocate.c b/pengine/allocate.c
index 68cafd4..ec5a18d 100644
--- a/pengine/allocate.c
+++ b/pengine/allocate.c
@@ -1962,7 +1962,6 @@ expand_node_list(GListPtr list)
             if(node_list) {
                 existing_len = strlen(node_list);
             }
-
             crm_trace("Adding %s (%dc) at offset %d", node->details->uname, len - 2, existing_len);
             node_list = realloc_safe(node_list, len + existing_len);
             sprintf(node_list + existing_len, "%s%s", existing_len == 0 ? "":" ", node->details->uname);
diff --git a/pengine/allocate.h b/pengine/allocate.h
index f6602c6..73f750e 100644
--- a/pengine/allocate.h
+++ b/pengine/allocate.h
@@ -171,5 +171,6 @@ extern enum pe_graph_flags clone_update_actions(action_t * first, action_t * the
                                                 enum pe_action_flags filter, enum pe_ordering type);
 
 gboolean update_action_flags(action_t * action, enum pe_action_flags flags);
+gboolean update_action(action_t * action);
 
 #endif
diff --git a/pengine/clone.c b/pengine/clone.c
index 3840a0a..ebf53ed 100644
--- a/pengine/clone.c
+++ b/pengine/clone.c
@@ -21,6 +21,7 @@
 #include <crm/msg_xml.h>
 #include <allocate.h>
 #include <utils.h>
+#include <allocate.h>
 
 #define VARIANT_CLONE 1
 #include <lib/pengine/variant.h>
@@ -1338,6 +1339,8 @@ clone_update_actions(action_t * first, action_t * then, node_t * node, enum pe_a
         changed |= native_update_actions(first, then, node, flags, filter, type);
 
         for (; gIter != NULL; gIter = gIter->next) {
+            enum pe_graph_flags child_changed = pe_graph_none;
+            GListPtr lpc = NULL;
             resource_t *child = (resource_t *) gIter->data;
             action_t *child_action = find_first_action(child->actions, NULL, then->task, node);
 
@@ -1345,9 +1348,17 @@ clone_update_actions(action_t * first, action_t * then, node_t * node, enum pe_a
                 enum pe_action_flags child_flags = child->cmds->action_flags(child_action, node);
 
                 if (is_set(child_flags, pe_action_runnable)) {
-                    changed |=
+                                     
+                    child_changed |=
                         child->cmds->update_actions(first, child_action, node, flags, filter, type);
                 }
+                changed |= child_changed;
+                if (child_changed & pe_graph_updated_then) {
+                   for (lpc = child_action->actions_after; lpc != NULL; lpc = lpc->next) {
+                        action_wrapper_t *other = (action_wrapper_t *) lpc->data;
+                        update_action(other->action);
+                    }
+                }
             }
         }
     }
diff --git a/pengine/constraints.c b/pengine/constraints.c
index 1f44811..7527aa6 100644
--- a/pengine/constraints.c
+++ b/pengine/constraints.c
@@ -256,7 +256,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;
+    int min_required_before = 0;
     enum pe_order_kind kind = pe_order_kind_mandatory;
     enum pe_ordering cons_weight = pe_order_optional;
 
@@ -351,7 +351,15 @@ unpack_simple_rsc_order(xmlNode * xml_obj, pe_working_set_t * data_set)
         && crm_is_true(require_all_s) == FALSE
         && rsc_first->variant >= pe_clone) {
 
-        require_all = FALSE;
+        /* require-all=false means only one instance of the clone is required */
+        min_required_before = 1;
+    } else if (rsc_first->variant >= pe_clone) {
+        const char *min_clones_s = g_hash_table_lookup(rsc_first->meta, XML_RSC_ATTR_INCARNATION_MIN);
+        if (min_clones_s) {
+            /* if clone min is set, we require at a minimum X number of instances
+             * to be runnable before allowing dependencies to be runnable. */
+            min_required_before = crm_parse_int(min_clones_s, "0");
+        }
     }
 
     cons_weight = pe_order_optional;
@@ -368,22 +376,31 @@ unpack_simple_rsc_order(xmlNode * xml_obj, pe_working_set_t * data_set)
         cons_weight |= get_flags(id, kind, action_first, action_then, FALSE);
     }
 
-    if (require_all == FALSE) {
+    /* If there is a minimum number of instances that must be runnable before
+     * the 'then' action is runnable, we use a pseudo action as an intermediate step
+     * start min number of clones -> pseudo action is runnable -> dependency runnable. */
+    if (min_required_before) {
         GListPtr rIter = NULL;
         char *task = crm_concat(CRM_OP_RELAXED_CLONE, id, ':');
         action_t *unordered_action = get_pseudo_op(task, data_set);
         free(task);
 
+        /* require the pseudo action to have "min_required_before" number of
+         * actions to be considered runnable before allowing the pseudo action
+         * to be runnable. */ 
+        unordered_action->required_runnable_before = min_required_before;
         update_action_flags(unordered_action, pe_action_requires_any);
 
         for (rIter = rsc_first->children; id && rIter; rIter = rIter->next) {
             resource_t *child = rIter->data;
-
+            /* order each clone instance before the pseudo action */
             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 the "then" dependency to occur after the pseudo action only if
+         * the pseudo action is runnable */ 
         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);
diff --git a/pengine/graph.c b/pengine/graph.c
index 9cfede6..3d832f0 100644
--- a/pengine/graph.c
+++ b/pengine/graph.c
@@ -29,7 +29,6 @@
 #include <allocate.h>
 #include <utils.h>
 
-gboolean update_action(action_t * action);
 void update_colo_start_chain(action_t * action);
 gboolean rsc_update_action(action_t * first, action_t * then, enum pe_ordering type);
 
@@ -261,8 +260,16 @@ graph_update_action(action_t * first, action_t * then, node_t * node, enum pe_ac
                                                 pe_action_runnable, pe_order_one_or_more);
 
         } else if (is_set(flags, pe_action_runnable)) {
-            if (update_action_flags(then, pe_action_runnable)) {
-                changed |= pe_graph_updated_then;
+            /* alright. a "first" action is considered runnable, incremente
+             * the 'runnable_before' counter */
+            then->runnable_before++;
+
+            /* if the runnable before count for then exceeds the required number
+             * of "before" runnable actions... mark then as runnable */
+            if (then->runnable_before >= then->required_runnable_before) {
+                if (update_action_flags(then, pe_action_runnable)) {
+                    changed |= pe_graph_updated_then;
+                }
             }
         }
         if (changed) {
@@ -456,6 +463,18 @@ update_action(action_t * then)
                      pe_action_pseudo) ? "pseudo" : then->node ? then->node->details->uname : "");
 
     if (is_set(then->flags, pe_action_requires_any)) {
+        /* initialize current known runnable before actions to 0
+         * from here as graph_update_action is called for each of
+         * then's before actions, this number will increment as
+         * runnable 'first' actions are encountered */
+        then->runnable_before = 0;
+
+        /* for backwards compatibility with previous options that use
+         * the 'requires_any' flag, initalize required to 1 if it is
+         * not set. */ 
+        if (then->required_runnable_before == 0) {
+            then->required_runnable_before = 1;
+        }
         clear_bit(then->flags, pe_action_runnable);
         /* We are relying on the pe_order_one_or_more clause of
          * graph_update_action(), called as part of the:
diff --git a/pengine/native.c b/pengine/native.c
index b93f8da..7d5f602 100644
--- a/pengine/native.c
+++ b/pengine/native.c
@@ -2817,8 +2817,7 @@ native_create_probe(resource_t * rsc, node_t * node, action_t * complete,
 }
 
 static void
-native_start_constraints(resource_t * rsc, action_t * stonith_op, gboolean is_stonith,
-                         pe_working_set_t * data_set)
+native_start_constraints(resource_t * rsc, action_t * stonith_op, pe_working_set_t * data_set)
 {
     node_t *target = stonith_op ? stonith_op->node : NULL;
 
@@ -2893,14 +2892,24 @@ find_fence_target_node_actions(GListPtr search_list, const char *key, node_t *fe
 }
 
 static void
-native_stop_constraints(resource_t * rsc, action_t * stonith_op, gboolean is_stonith,
-                        pe_working_set_t * data_set)
+native_stop_constraints(resource_t * rsc, action_t * stonith_op, pe_working_set_t * data_set)
 {
     char *key = NULL;
     GListPtr gIter = NULL;
     GListPtr action_list = NULL;
+
+    action_t *start = NULL;
     resource_t *top = uber_parent(rsc);
 
+    key = start_key(rsc);
+    action_list = find_actions(rsc->actions, key, NULL);
+    if(action_list) {
+        start = action_list->data;
+    }
+
+    g_list_free(action_list);
+    free(key);
+
     key = stop_key(rsc);
     action_list = find_fence_target_node_actions(rsc->actions, key, stonith_op->node, data_set);
     free(key);
@@ -2932,7 +2941,7 @@ native_stop_constraints(resource_t * rsc, action_t * stonith_op, gboolean is_sto
         update_action_flags(action, pe_action_runnable);
         update_action_flags(action, pe_action_implied_by_stonith);
 
-        {
+        if(start == NULL || start->needs > rsc_req_quorum) {
             enum pe_ordering flags = pe_order_optional;
             action_t *parent_stop = find_first_action(top->actions, NULL, RSC_STOP, NULL);
 
@@ -3032,7 +3041,8 @@ native_stop_constraints(resource_t * rsc, action_t * stonith_op, gboolean is_sto
             crm_trace("here - 1");
             update_action_flags(action, pe_action_pseudo);
             update_action_flags(action, pe_action_runnable);
-            if (is_stonith == FALSE) {
+
+            if (start == NULL || start->needs > rsc_req_quorum) {
                 order_actions(stonith_op, action, pe_order_preserve|pe_order_optional);
             }
         }
@@ -3044,8 +3054,6 @@ native_stop_constraints(resource_t * rsc, action_t * stonith_op, gboolean is_sto
 void
 rsc_stonith_ordering(resource_t * rsc, action_t * stonith_op, pe_working_set_t * data_set)
 {
-    gboolean is_stonith = FALSE;
-
     if (rsc->children) {
         GListPtr gIter = NULL;
 
@@ -3063,11 +3071,11 @@ rsc_stonith_ordering(resource_t * rsc, action_t * stonith_op, pe_working_set_t *
     }
 
     /* Start constraints */
-    native_start_constraints(rsc, stonith_op, is_stonith, data_set);
+    native_start_constraints(rsc, stonith_op, data_set);
 
     /* Stop constraints */
     if (stonith_op) {
-        native_stop_constraints(rsc, stonith_op, is_stonith, data_set);
+        native_stop_constraints(rsc, stonith_op, data_set);
     }
 }
 
diff --git a/pengine/regression.sh b/pengine/regression.sh
index d184798..7f73f92 100755
--- a/pengine/regression.sh
+++ b/pengine/regression.sh
@@ -31,6 +31,20 @@ info Performing the following tests from $io_dir
 create_mode="false"
 
 echo ""
+do_test cloned_start_one  "order first clone then clone... first clone_min=2"
+do_test cloned_start_two  "order first clone then clone... first clone_min=2"
+do_test cloned_stop_one   "order first clone then clone... first clone_min=2"
+do_test cloned_stop_two   "order first clone then clone... first clone_min=2"
+do_test clone_min_interleave_start_one "order first clone then clone... first clone_min=2 and then has interleave=true"
+do_test clone_min_interleave_start_two "order first clone then clone... first clone_min=2 and then has interleave=true"
+do_test clone_min_interleave_stop_one  "order first clone then clone... first clone_min=2 and then has interleave=true"
+do_test clone_min_interleave_stop_two  "order first clone then clone... first clone_min=2 and then has interleave=true"
+do_test clone_min_start_one "order first clone then primitive... first clone_min=2"
+do_test clone_min_start_two "order first clone then primitive... first clone_min=2"
+do_test clone_min_stop_all  "order first clone then primitive... first clone_min=2"
+do_test clone_min_stop_one  "order first clone then primitive... first clone_min=2"
+do_test clone_min_stop_two  "order first clone then primitive... first clone_min=2"
+
 do_test simple1 "Offline     "
 do_test simple2 "Start       "
 do_test simple3 "Start 2     "
diff --git a/pengine/test10/bug-5186-partial-migrate.dot b/pengine/test10/bug-5186-partial-migrate.dot
index 033d41d..65f5616 100644
--- a/pengine/test10/bug-5186-partial-migrate.dot
+++ b/pengine/test10/bug-5186-partial-migrate.dot
@@ -66,13 +66,10 @@
 "stonith 'reboot' bl460g1n7" -> "clnDiskd1_stop_0" [ style = bold]
 "stonith 'reboot' bl460g1n7" -> "clnDiskd2_stop_0" [ style = bold]
 "stonith 'reboot' bl460g1n7" -> "clnPing_stop_0" [ style = bold]
-"stonith 'reboot' bl460g1n7" -> "grpStonith8_stop_0" [ style = bold]
 "stonith 'reboot' bl460g1n7" -> "prmDiskd1_stop_0 bl460g1n7" [ style = bold]
 "stonith 'reboot' bl460g1n7" -> "prmDiskd2_stop_0 bl460g1n7" [ style = bold]
 "stonith 'reboot' bl460g1n7" -> "prmDummy_stop_0 bl460g1n7" [ style = bold]
 "stonith 'reboot' bl460g1n7" -> "prmPing_stop_0 bl460g1n7" [ style = bold]
-"stonith 'reboot' bl460g1n7" -> "prmStonith8-1_stop_0 bl460g1n7" [ style = bold]
-"stonith 'reboot' bl460g1n7" -> "prmStonith8-2_stop_0 bl460g1n7" [ style = bold]
 "stonith 'reboot' bl460g1n7" -> "prmVM2_stop_0 bl460g1n7" [ style = bold]
 "stonith 'reboot' bl460g1n7" -> "stonith_complete" [ style = bold]
 "stonith 'reboot' bl460g1n7" [ style=bold color="green" fontcolor="black"]
diff --git a/pengine/test10/bug-5186-partial-migrate.exp b/pengine/test10/bug-5186-partial-migrate.exp
index 216d962..bc058ea 100644
--- a/pengine/test10/bug-5186-partial-migrate.exp
+++ b/pengine/test10/bug-5186-partial-migrate.exp
@@ -104,11 +104,7 @@
         <attributes CRM_meta_record_pending="true" CRM_meta_timeout="20000" />
       </pseudo_event>
     </action_set>
-    <inputs>
-      <trigger>
-        <crm_event id="75" operation="stonith" operation_key="stonith-bl460g1n7-reboot" on_node="bl460g1n7" on_node_uuid="3232261593"/>
-      </trigger>
-    </inputs>
+    <inputs/>
   </synapse>
   <synapse id="8">
     <action_set>
@@ -182,9 +178,6 @@
       <trigger>
         <pseudo_event id="45" operation="stop" operation_key="grpStonith8_stop_0"/>
       </trigger>
-      <trigger>
-        <crm_event id="75" operation="stonith" operation_key="stonith-bl460g1n7-reboot" on_node="bl460g1n7" on_node_uuid="3232261593"/>
-      </trigger>
     </inputs>
   </synapse>
   <synapse id="13">
@@ -229,9 +222,6 @@
       <trigger>
         <pseudo_event id="45" operation="stop" operation_key="grpStonith8_stop_0"/>
       </trigger>
-      <trigger>
-        <crm_event id="75" operation="stonith" operation_key="stonith-bl460g1n7-reboot" on_node="bl460g1n7" on_node_uuid="3232261593"/>
-      </trigger>
     </inputs>
   </synapse>
   <synapse id="16">
diff --git a/pengine/test10/bug-5186-partial-migrate.summary b/pengine/test10/bug-5186-partial-migrate.summary
index f848c97..5e62a23 100644
--- a/pengine/test10/bug-5186-partial-migrate.summary
+++ b/pengine/test10/bug-5186-partial-migrate.summary
@@ -35,18 +35,22 @@ Transition Summary:
 
 Executing cluster transition:
  * Resource action: prmVM2          stop on bl460g1n6
+ * Pseudo action:   grpStonith8_stop_0
+ * Pseudo action:   prmStonith8-2_stop_0
  * Fencing bl460g1n7 (reboot)
  * Pseudo action:   stonith_complete
  * Pseudo action:   prmDummy_stop_0
  * Pseudo action:   prmVM2_stop_0
- * Pseudo action:   grpStonith8_stop_0
- * Pseudo action:   prmStonith8-2_stop_0
+ * Pseudo action:   prmStonith8-1_stop_0
  * Pseudo action:   clnDiskd1_stop_0
  * Pseudo action:   clnDiskd2_stop_0
  * Pseudo action:   clnPing_stop_0
  * Resource action: prmDummy        start on bl460g1n6
  * Resource action: prmVM2          start on bl460g1n8
- * Pseudo action:   prmStonith8-1_stop_0
+ * Pseudo action:   grpStonith8_stopped_0
+ * Pseudo action:   grpStonith8_start_0
+ * Resource action: prmStonith8-1   start on bl460g1n6
+ * Resource action: prmStonith8-2   start on bl460g1n6
  * Pseudo action:   prmDiskd1_stop_0
  * Pseudo action:   clnDiskd1_stopped_0
  * Pseudo action:   prmDiskd2_stop_0
@@ -55,10 +59,6 @@ Executing cluster transition:
  * Pseudo action:   clnPing_stopped_0
  * Pseudo action:   all_stopped
  * Resource action: prmVM2          monitor=10000 on bl460g1n8
- * Pseudo action:   grpStonith8_stopped_0
- * Pseudo action:   grpStonith8_start_0
- * Resource action: prmStonith8-1   start on bl460g1n6
- * Resource action: prmStonith8-2   start on bl460g1n6
  * Pseudo action:   grpStonith8_running_0
  * Resource action: prmStonith8-1   monitor=10000 on bl460g1n6
  * Resource action: prmStonith8-2   monitor=3600000 on bl460g1n6
diff --git a/pengine/test10/bug-lf-2551.dot b/pengine/test10/bug-lf-2551.dot
index ed80e15..18bca44 100644
--- a/pengine/test10/bug-lf-2551.dot
+++ b/pengine/test10/bug-lf-2551.dot
@@ -56,7 +56,6 @@ digraph "g" {
 "stonith 'reboot' hex-9" -> "cmirrord:3_stop_0 hex-9" [ style = bold]
 "stonith 'reboot' hex-9" -> "dlm:3_stop_0 hex-9" [ style = bold]
 "stonith 'reboot' hex-9" -> "dummy1_stop_0 hex-9" [ style = bold]
-"stonith 'reboot' hex-9" -> "fencing-sbd_stop_0 hex-9" [ style = bold]
 "stonith 'reboot' hex-9" -> "o2cb:3_stop_0 hex-9" [ style = bold]
 "stonith 'reboot' hex-9" -> "ocfs2-1:3_stop_0 hex-9" [ style = bold]
 "stonith 'reboot' hex-9" -> "stonith_complete" [ style = bold]
diff --git a/pengine/test10/bug-lf-2551.exp b/pengine/test10/bug-lf-2551.exp
index 0af9010..d6266e1 100644
--- a/pengine/test10/bug-lf-2551.exp
+++ b/pengine/test10/bug-lf-2551.exp
@@ -18,11 +18,7 @@
         <attributes CRM_meta_record_pending="false" CRM_meta_timeout="240000"  sbd_device="/dev/disk/by-id/dm-uuid-part1-mpath-3600508b400105b5a0001500000250000"/>
       </pseudo_event>
     </action_set>
-    <inputs>
-      <trigger>
-        <crm_event id="249" operation="stonith" operation_key="stonith-hex-9-reboot" on_node="hex-9" on_node_uuid="hex-9"/>
-      </trigger>
-    </inputs>
+    <inputs/>
   </synapse>
   <synapse id="2">
     <action_set>
diff --git a/pengine/test10/bug-lf-2551.summary b/pengine/test10/bug-lf-2551.summary
index f8d861c..158eb73 100644
--- a/pengine/test10/bug-lf-2551.summary
+++ b/pengine/test10/bug-lf-2551.summary
@@ -107,6 +107,7 @@ Transition Summary:
  * Stop    vm-61	(hex-9)
 
 Executing cluster transition:
+ * Pseudo action:   fencing-sbd_stop_0
  * Resource action: dummy1          monitor=300000 on hex-8
  * Resource action: dummy1          monitor=300000 on hex-7
  * Fencing hex-9 (reboot)
@@ -114,7 +115,7 @@ Executing cluster transition:
  * Pseudo action:   load_stopped_hex-8
  * Pseudo action:   load_stopped_hex-7
  * Pseudo action:   load_stopped_hex-0
- * Pseudo action:   fencing-sbd_stop_0
+ * Resource action: fencing-sbd     start on hex-0
  * Pseudo action:   dummy1_stop_0
  * Pseudo action:   vm-03_stop_0
  * Pseudo action:   vm-06_stop_0
@@ -133,7 +134,6 @@ Executing cluster transition:
  * Pseudo action:   vm-57_stop_0
  * Pseudo action:   vm-61_stop_0
  * Pseudo action:   load_stopped_hex-9
- * Resource action: fencing-sbd     start on hex-0
  * Resource action: dummy1          start on hex-0
  * Pseudo action:   base-clone_stop_0
  * Resource action: dummy1          monitor=30000 on hex-0
diff --git a/pengine/test10/clone_min_interleave_start_one.dot b/pengine/test10/clone_min_interleave_start_one.dot
new file mode 100644
index 0000000..15ac9be
--- /dev/null
+++ b/pengine/test10/clone_min_interleave_start_one.dot
@@ -0,0 +1,50 @@
+ digraph "g" {
+"FAKE1-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"FAKE1-clone_start_0" -> "FAKE1-clone_running_0" [ style = bold]
+"FAKE1-clone_start_0" -> "FAKE1_start_0 c7auto1" [ style = bold]
+"FAKE1-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"FAKE1_monitor_10000 c7auto1" [ style=bold color="green" fontcolor="black"]
+"FAKE1_start_0 c7auto1" -> "FAKE1-clone_running_0" [ style = bold]
+"FAKE1_start_0 c7auto1" -> "FAKE1_monitor_10000 c7auto1" [ style = bold]
+"FAKE1_start_0 c7auto1" [ style=bold color="green" fontcolor="black"]
+"FAKE2-clone_running_0" -> "FAKE3-clone_start_0" [ style = dashed]
+"FAKE2-clone_running_0" [ style=dashed color="red" fontcolor="orange"]
+"FAKE2-clone_start_0" -> "FAKE2-clone_running_0" [ style = dashed]
+"FAKE2-clone_start_0" -> "FAKE2:1_start_0 c7auto3" [ style = dashed]
+"FAKE2-clone_start_0" -> "FAKE2:2_start_0 c7auto1" [ style = dashed]
+"FAKE2-clone_start_0" -> "FAKE2_start_0 c7auto2" [ style = dashed]
+"FAKE2-clone_start_0" [ style=dashed color="red" fontcolor="orange"]
+"FAKE2:1_monitor_10000 c7auto3" [ style=dashed color="red" fontcolor="black"]
+"FAKE2:1_start_0 c7auto3" -> "FAKE2-clone_running_0" [ style = dashed]
+"FAKE2:1_start_0 c7auto3" -> "FAKE2:1_monitor_10000 c7auto3" [ style = dashed]
+"FAKE2:1_start_0 c7auto3" -> "FAKE3:1_start_0 c7auto3" [ style = dashed]
+"FAKE2:1_start_0 c7auto3" [ style=dashed color="red" fontcolor="black"]
+"FAKE2:2_monitor_10000 c7auto1" [ style=dashed color="red" fontcolor="black"]
+"FAKE2:2_start_0 c7auto1" -> "FAKE2-clone_running_0" [ style = dashed]
+"FAKE2:2_start_0 c7auto1" -> "FAKE2:2_monitor_10000 c7auto1" [ style = dashed]
+"FAKE2:2_start_0 c7auto1" -> "FAKE3:2_start_0 c7auto1" [ style = dashed]
+"FAKE2:2_start_0 c7auto1" [ style=dashed color="red" fontcolor="black"]
+"FAKE2_monitor_10000 c7auto2" [ style=dashed color="red" fontcolor="black"]
+"FAKE2_start_0 c7auto2" -> "FAKE2-clone_running_0" [ style = dashed]
+"FAKE2_start_0 c7auto2" -> "FAKE2_monitor_10000 c7auto2" [ style = dashed]
+"FAKE2_start_0 c7auto2" -> "FAKE3_start_0 c7auto2" [ style = dashed]
+"FAKE2_start_0 c7auto2" [ style=dashed color="red" fontcolor="black"]
+"FAKE3-clone_running_0" [ style=dashed color="red" fontcolor="orange"]
+"FAKE3-clone_start_0" -> "FAKE3-clone_running_0" [ style = dashed]
+"FAKE3-clone_start_0" -> "FAKE3:1_start_0 c7auto3" [ style = dashed]
+"FAKE3-clone_start_0" -> "FAKE3:2_start_0 c7auto1" [ style = dashed]
+"FAKE3-clone_start_0" -> "FAKE3_start_0 c7auto2" [ style = dashed]
+"FAKE3-clone_start_0" [ style=dashed color="red" fontcolor="orange"]
+"FAKE3:1_monitor_10000 c7auto3" [ style=dashed color="red" fontcolor="black"]
+"FAKE3:1_start_0 c7auto3" -> "FAKE3-clone_running_0" [ style = dashed]
+"FAKE3:1_start_0 c7auto3" -> "FAKE3:1_monitor_10000 c7auto3" [ style = dashed]
+"FAKE3:1_start_0 c7auto3" [ style=dashed color="red" fontcolor="black"]
+"FAKE3:2_monitor_10000 c7auto1" [ style=dashed color="red" fontcolor="black"]
+"FAKE3:2_start_0 c7auto1" -> "FAKE3-clone_running_0" [ style = dashed]
+"FAKE3:2_start_0 c7auto1" -> "FAKE3:2_monitor_10000 c7auto1" [ style = dashed]
+"FAKE3:2_start_0 c7auto1" [ style=dashed color="red" fontcolor="black"]
+"FAKE3_monitor_10000 c7auto2" [ style=dashed color="red" fontcolor="black"]
+"FAKE3_start_0 c7auto2" -> "FAKE3-clone_running_0" [ style = dashed]
+"FAKE3_start_0 c7auto2" -> "FAKE3_monitor_10000 c7auto2" [ style = dashed]
+"FAKE3_start_0 c7auto2" [ style=dashed color="red" fontcolor="black"]
+}
diff --git a/pengine/test10/clone_min_interleave_start_one.exp b/pengine/test10/clone_min_interleave_start_one.exp
new file mode 100644
index 0000000..b6e0c5d
--- /dev/null
+++ b/pengine/test10/clone_min_interleave_start_one.exp
@@ -0,0 +1,51 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0">
+    <action_set>
+      <rsc_op id="11" operation="monitor" operation_key="FAKE1_monitor_10000" internal_operation_key="FAKE1:0_monitor_10000" on_node="c7auto1" on_node_uuid="1">
+        <primitive id="FAKE1" long-id="FAKE1:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="10" operation="start" operation_key="FAKE1_start_0" internal_operation_key="FAKE1:0_start_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="10" operation="start" operation_key="FAKE1_start_0" internal_operation_key="FAKE1:0_start_0" on_node="c7auto1" on_node_uuid="1">
+        <primitive id="FAKE1" long-id="FAKE1:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="12" operation="start" operation_key="FAKE1-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2" priority="1000000">
+    <action_set>
+      <pseudo_event id="13" operation="running" operation_key="FAKE1-clone_running_0">
+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="10" operation="start" operation_key="FAKE1_start_0" internal_operation_key="FAKE1:0_start_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="12" operation="start" operation_key="FAKE1-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <pseudo_event id="12" operation="start" operation_key="FAKE1-clone_start_0">
+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/clone_min_interleave_start_one.scores b/pengine/test10/clone_min_interleave_start_one.scores
new file mode 100644
index 0000000..03de018
--- /dev/null
+++ b/pengine/test10/clone_min_interleave_start_one.scores
@@ -0,0 +1,67 @@
+Allocation scores:
+clone_color: FAKE1-clone allocation score on c7auto1: 0
+clone_color: FAKE1-clone allocation score on c7auto2: -INFINITY
+clone_color: FAKE1-clone allocation score on c7auto3: -INFINITY
+clone_color: FAKE1:0 allocation score on c7auto1: 0
+clone_color: FAKE1:0 allocation score on c7auto2: -INFINITY
+clone_color: FAKE1:0 allocation score on c7auto3: -INFINITY
+clone_color: FAKE1:1 allocation score on c7auto1: 0
+clone_color: FAKE1:1 allocation score on c7auto2: -INFINITY
+clone_color: FAKE1:1 allocation score on c7auto3: -INFINITY
+clone_color: FAKE1:2 allocation score on c7auto1: 0
+clone_color: FAKE1:2 allocation score on c7auto2: -INFINITY
+clone_color: FAKE1:2 allocation score on c7auto3: -INFINITY
+clone_color: FAKE2-clone allocation score on c7auto1: 0
+clone_color: FAKE2-clone allocation score on c7auto2: 0
+clone_color: FAKE2-clone allocation score on c7auto3: 0
+clone_color: FAKE2:0 allocation score on c7auto1: 0
+clone_color: FAKE2:0 allocation score on c7auto2: 0
+clone_color: FAKE2:0 allocation score on c7auto3: 0
+clone_color: FAKE2:1 allocation score on c7auto1: 0
+clone_color: FAKE2:1 allocation score on c7auto2: 0
+clone_color: FAKE2:1 allocation score on c7auto3: 0
+clone_color: FAKE2:2 allocation score on c7auto1: 0
+clone_color: FAKE2:2 allocation score on c7auto2: 0
+clone_color: FAKE2:2 allocation score on c7auto3: 0
+clone_color: FAKE3-clone allocation score on c7auto1: 0
+clone_color: FAKE3-clone allocation score on c7auto2: 0
+clone_color: FAKE3-clone allocation score on c7auto3: 0
+clone_color: FAKE3:0 allocation score on c7auto1: 0
+clone_color: FAKE3:0 allocation score on c7auto2: 0
+clone_color: FAKE3:0 allocation score on c7auto3: 0
+clone_color: FAKE3:1 allocation score on c7auto1: 0
+clone_color: FAKE3:1 allocation score on c7auto2: 0
+clone_color: FAKE3:1 allocation score on c7auto3: 0
+clone_color: FAKE3:2 allocation score on c7auto1: 0
+clone_color: FAKE3:2 allocation score on c7auto2: 0
+clone_color: FAKE3:2 allocation score on c7auto3: 0
+native_color: FAKE1:0 allocation score on c7auto1: 0
+native_color: FAKE1:0 allocation score on c7auto2: -INFINITY
+native_color: FAKE1:0 allocation score on c7auto3: -INFINITY
+native_color: FAKE1:1 allocation score on c7auto1: -INFINITY
+native_color: FAKE1:1 allocation score on c7auto2: -INFINITY
+native_color: FAKE1:1 allocation score on c7auto3: -INFINITY
+native_color: FAKE1:2 allocation score on c7auto1: -INFINITY
+native_color: FAKE1:2 allocation score on c7auto2: -INFINITY
+native_color: FAKE1:2 allocation score on c7auto3: -INFINITY
+native_color: FAKE2:0 allocation score on c7auto1: 0
+native_color: FAKE2:0 allocation score on c7auto2: 0
+native_color: FAKE2:0 allocation score on c7auto3: 0
+native_color: FAKE2:1 allocation score on c7auto1: 0
+native_color: FAKE2:1 allocation score on c7auto2: -INFINITY
+native_color: FAKE2:1 allocation score on c7auto3: 0
+native_color: FAKE2:2 allocation score on c7auto1: 0
+native_color: FAKE2:2 allocation score on c7auto2: -INFINITY
+native_color: FAKE2:2 allocation score on c7auto3: -INFINITY
+native_color: FAKE3:0 allocation score on c7auto1: 0
+native_color: FAKE3:0 allocation score on c7auto2: 0
+native_color: FAKE3:0 allocation score on c7auto3: 0
+native_color: FAKE3:1 allocation score on c7auto1: 0
+native_color: FAKE3:1 allocation score on c7auto2: -INFINITY
+native_color: FAKE3:1 allocation score on c7auto3: 0
+native_color: FAKE3:2 allocation score on c7auto1: 0
+native_color: FAKE3:2 allocation score on c7auto2: -INFINITY
+native_color: FAKE3:2 allocation score on c7auto3: -INFINITY
+native_color: shooter allocation score on c7auto1: 0
+native_color: shooter allocation score on c7auto2: 0
+native_color: shooter allocation score on c7auto3: 0
diff --git a/pengine/test10/clone_min_interleave_start_one.summary b/pengine/test10/clone_min_interleave_start_one.summary
new file mode 100644
index 0000000..b15f68a
--- /dev/null
+++ b/pengine/test10/clone_min_interleave_start_one.summary
@@ -0,0 +1,39 @@
+
+Current cluster status:
+Online: [ c7auto1 c7auto2 c7auto3 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKE1-clone [FAKE1]
+     Stopped: [ c7auto1 c7auto2 c7auto3 ]
+ Clone Set: FAKE2-clone [FAKE2]
+     Stopped: [ c7auto1 c7auto2 c7auto3 ]
+ Clone Set: FAKE3-clone [FAKE3]
+     Stopped: [ c7auto1 c7auto2 c7auto3 ]
+
+Transition Summary:
+ * Start   FAKE1:0	(c7auto1)
+ * Start   FAKE2:0	(c7auto2 - blocked)
+ * Start   FAKE2:1	(c7auto3 - blocked)
+ * Start   FAKE2:2	(c7auto1 - blocked)
+ * Start   FAKE3:0	(c7auto2 - blocked)
+ * Start   FAKE3:1	(c7auto3 - blocked)
+ * Start   FAKE3:2	(c7auto1 - blocked)
+
+Executing cluster transition:
+ * Pseudo action:   FAKE1-clone_start_0
+ * Resource action: FAKE1           start on c7auto1
+ * Pseudo action:   FAKE1-clone_running_0
+ * Resource action: FAKE1           monitor=10000 on c7auto1
+
+Revised cluster status:
+Online: [ c7auto1 c7auto2 c7auto3 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKE1-clone [FAKE1]
+     Started: [ c7auto1 ]
+     Stopped: [ c7auto2 c7auto3 ]
+ Clone Set: FAKE2-clone [FAKE2]
+     Stopped: [ c7auto1 c7auto2 c7auto3 ]
+ Clone Set: FAKE3-clone [FAKE3]
+     Stopped: [ c7auto1 c7auto2 c7auto3 ]
+
diff --git a/pengine/test10/clone_min_interleave_start_one.xml b/pengine/test10/clone_min_interleave_start_one.xml
new file mode 100644
index 0000000..fbe99de
--- /dev/null
+++ b/pengine/test10/clone_min_interleave_start_one.xml
@@ -0,0 +1,155 @@
+<cib crm_feature_set="3.0.10" validate-with="pacemaker-2.3" epoch="15" num_updates="0" admin_epoch="0" cib-last-written="Fri Jul 17 11:44:12 2015" update-origin="c7auto1" update-client="crm_resource" update-user="root" have-quorum="1" dc-uuid="3">
+  <configuration>
+    <crm_config>
+      <cluster_property_set id="cib-bootstrap-options">
+        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-ef86b49"/>
+        <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="c7auto1"/>
+      <node id="2" uname="c7auto2"/>
+      <node id="3" uname="c7auto3"/>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_phd_kvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="FAKE1-clone">
+        <primitive class="ocf" id="FAKE1" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKE1-instance_attributes"/>
+          <operations>
+            <op id="FAKE1-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKE1-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKE1-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKE1-clone-meta">
+          <nvpair id="FAKE1-clone-min" name="clone-min" value="2"/>
+        </meta_attributes>
+        <meta_attributes id="FAKE1-clone-meta_attributes"/>
+      </clone>
+      <clone id="FAKE2-clone">
+        <primitive class="ocf" id="FAKE2" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKE2-instance_attributes"/>
+          <operations>
+            <op id="FAKE2-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKE2-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKE2-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKE2-clone-meta">
+          <nvpair id="FAKE2-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+      <clone id="FAKE3-clone">
+        <primitive class="ocf" id="FAKE3" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKE3-instance_attributes"/>
+          <operations>
+            <op id="FAKE3-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKE3-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKE3-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKE3-clone-meta">
+          <nvpair id="FAKE3-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+    </resources>
+    <constraints>
+      <rsc_order first="FAKE1-clone" first-action="start" id="order-FAKE1-clone-FAKE2-clone-mandatory" then="FAKE2-clone" then-action="start"/>
+      <rsc_order first="FAKE2-clone" first-action="start" id="order-FAKE2-clone-FAKE3-clone-mandatory" then="FAKE3-clone" then-action="start"/>
+      <rsc_location id="cli-ban-FAKE1-clone-on-c7auto3" rsc="FAKE1-clone" role="Started" node="c7auto3" score="-INFINITY"/>
+      <rsc_location id="cli-ban-FAKE1-clone-on-c7auto2" rsc="FAKE1-clone" role="Started" node="c7auto2" score="-INFINITY"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="3" uname="c7auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="3">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="8:4:7:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:7;8:4:7:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437146780" last-rc-change="1437146780" exec-time="998" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="18:10:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;18:10:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="32" rc-code="0" op-status="0" interval="0" last-run="1437147852" last-rc-change="1437147852" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE1_monitor_10000" operation_key="FAKE1_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="15:5:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;15:5:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147006" exec-time="9" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="25:10:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;25:10:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="30" rc-code="0" op-status="0" interval="0" last-run="1437147852" last-rc-change="1437147852" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE2_monitor_10000" operation_key="FAKE2_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="28:6:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;28:6:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="19" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147019" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="35:10:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;35:10:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="28" rc-code="0" op-status="0" interval="0" last-run="1437147852" last-rc-change="1437147852" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE3_monitor_10000" operation_key="FAKE3_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="41:7:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;41:7:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="26" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147024" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="3">
+        <instance_attributes id="status-3">
+          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="1" uname="c7auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="1">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="9:4:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;9:4:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1437146782" last-rc-change="1437146782" exec-time="5" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="10:4:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;10:4:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1437146783" exec-time="5" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="19:10:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;19:10:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="34" rc-code="0" op-status="0" interval="0" last-run="1437147852" last-rc-change="1437147852" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE1_monitor_10000" operation_key="FAKE1_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="17:5:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;17:5:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="14" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147007" exec-time="6" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="27:10:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;27:10:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="32" rc-code="0" op-status="0" interval="0" last-run="1437147852" last-rc-change="1437147852" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE2_monitor_10000" operation_key="FAKE2_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="30:6:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;30:6:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="21" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147019" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="37:10:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;37:10:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="30" rc-code="0" op-status="0" interval="0" last-run="1437147852" last-rc-change="1437147852" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE3_monitor_10000" operation_key="FAKE3_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="43:7:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;43:7:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="28" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147024" exec-time="6" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="1">
+        <instance_attributes id="status-1">
+          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="2" uname="c7auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="2">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="6:4:7:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:7;6:4:7:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437146780" last-rc-change="1437146780" exec-time="994" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="20:10:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;20:10:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="32" rc-code="0" op-status="0" interval="0" last-run="1437147852" last-rc-change="1437147852" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE1_monitor_10000" operation_key="FAKE1_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="13:5:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;13:5:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147007" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="29:10:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;29:10:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="30" rc-code="0" op-status="0" interval="0" last-run="1437147852" last-rc-change="1437147852" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE2_monitor_10000" operation_key="FAKE2_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="26:6:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;26:6:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="19" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147019" exec-time="6" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="39:10:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;39:10:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="28" rc-code="0" op-status="0" interval="0" last-run="1437147852" last-rc-change="1437147852" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE3_monitor_10000" operation_key="FAKE3_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="39:7:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;39:7:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="26" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147024" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="2">
+        <instance_attributes id="status-2">
+          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/clone_min_interleave_start_two.dot b/pengine/test10/clone_min_interleave_start_two.dot
new file mode 100644
index 0000000..f99ce32
--- /dev/null
+++ b/pengine/test10/clone_min_interleave_start_two.dot
@@ -0,0 +1,59 @@
+ digraph "g" {
+"FAKE1-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"FAKE1-clone_start_0" -> "FAKE1-clone_running_0" [ style = bold]
+"FAKE1-clone_start_0" -> "FAKE1:1_start_0 c7auto1" [ style = bold]
+"FAKE1-clone_start_0" -> "FAKE1_start_0 c7auto2" [ style = bold]
+"FAKE1-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"FAKE1:1_monitor_10000 c7auto1" [ style=bold color="green" fontcolor="black"]
+"FAKE1:1_start_0 c7auto1" -> "FAKE1-clone_running_0" [ style = bold]
+"FAKE1:1_start_0 c7auto1" -> "FAKE1:1_monitor_10000 c7auto1" [ style = bold]
+"FAKE1:1_start_0 c7auto1" -> "clone-one-or-more:order-FAKE1-clone-FAKE2-clone-mandatory" [ style = bold]
+"FAKE1:1_start_0 c7auto1" [ style=bold color="green" fontcolor="black"]
+"FAKE1_monitor_10000 c7auto2" [ style=bold color="green" fontcolor="black"]
+"FAKE1_start_0 c7auto2" -> "FAKE1-clone_running_0" [ style = bold]
+"FAKE1_start_0 c7auto2" -> "FAKE1_monitor_10000 c7auto2" [ style = bold]
+"FAKE1_start_0 c7auto2" -> "clone-one-or-more:order-FAKE1-clone-FAKE2-clone-mandatory" [ style = bold]
+"FAKE1_start_0 c7auto2" [ style=bold color="green" fontcolor="black"]
+"FAKE2-clone_running_0" -> "FAKE3-clone_start_0" [ style = bold]
+"FAKE2-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"FAKE2-clone_start_0" -> "FAKE2-clone_running_0" [ style = bold]
+"FAKE2-clone_start_0" -> "FAKE2:1_start_0 c7auto2" [ style = bold]
+"FAKE2-clone_start_0" -> "FAKE2:2_start_0 c7auto1" [ style = bold]
+"FAKE2-clone_start_0" -> "FAKE2_start_0 c7auto3" [ style = bold]
+"FAKE2-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"FAKE2:1_monitor_10000 c7auto2" [ style=bold color="green" fontcolor="black"]
+"FAKE2:1_start_0 c7auto2" -> "FAKE2-clone_running_0" [ style = bold]
+"FAKE2:1_start_0 c7auto2" -> "FAKE2:1_monitor_10000 c7auto2" [ style = bold]
+"FAKE2:1_start_0 c7auto2" -> "FAKE3:1_start_0 c7auto2" [ style = bold]
+"FAKE2:1_start_0 c7auto2" [ style=bold color="green" fontcolor="black"]
+"FAKE2:2_monitor_10000 c7auto1" [ style=bold color="green" fontcolor="black"]
+"FAKE2:2_start_0 c7auto1" -> "FAKE2-clone_running_0" [ style = bold]
+"FAKE2:2_start_0 c7auto1" -> "FAKE2:2_monitor_10000 c7auto1" [ style = bold]
+"FAKE2:2_start_0 c7auto1" -> "FAKE3:2_start_0 c7auto1" [ style = bold]
+"FAKE2:2_start_0 c7auto1" [ style=bold color="green" fontcolor="black"]
+"FAKE2_monitor_10000 c7auto3" [ style=bold color="green" fontcolor="black"]
+"FAKE2_start_0 c7auto3" -> "FAKE2-clone_running_0" [ style = bold]
+"FAKE2_start_0 c7auto3" -> "FAKE2_monitor_10000 c7auto3" [ style = bold]
+"FAKE2_start_0 c7auto3" -> "FAKE3_start_0 c7auto3" [ style = bold]
+"FAKE2_start_0 c7auto3" [ style=bold color="green" fontcolor="black"]
+"FAKE3-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"FAKE3-clone_start_0" -> "FAKE3-clone_running_0" [ style = bold]
+"FAKE3-clone_start_0" -> "FAKE3:1_start_0 c7auto2" [ style = bold]
+"FAKE3-clone_start_0" -> "FAKE3:2_start_0 c7auto1" [ style = bold]
+"FAKE3-clone_start_0" -> "FAKE3_start_0 c7auto3" [ style = bold]
+"FAKE3-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"FAKE3:1_monitor_10000 c7auto2" [ style=bold color="green" fontcolor="black"]
+"FAKE3:1_start_0 c7auto2" -> "FAKE3-clone_running_0" [ style = bold]
+"FAKE3:1_start_0 c7auto2" -> "FAKE3:1_monitor_10000 c7auto2" [ style = bold]
+"FAKE3:1_start_0 c7auto2" [ style=bold color="green" fontcolor="black"]
+"FAKE3:2_monitor_10000 c7auto1" [ style=bold color="green" fontcolor="black"]
+"FAKE3:2_start_0 c7auto1" -> "FAKE3-clone_running_0" [ style = bold]
+"FAKE3:2_start_0 c7auto1" -> "FAKE3:2_monitor_10000 c7auto1" [ style = bold]
+"FAKE3:2_start_0 c7auto1" [ style=bold color="green" fontcolor="black"]
+"FAKE3_monitor_10000 c7auto3" [ style=bold color="green" fontcolor="black"]
+"FAKE3_start_0 c7auto3" -> "FAKE3-clone_running_0" [ style = bold]
+"FAKE3_start_0 c7auto3" -> "FAKE3_monitor_10000 c7auto3" [ style = bold]
+"FAKE3_start_0 c7auto3" [ style=bold color="green" fontcolor="black"]
+"clone-one-or-more:order-FAKE1-clone-FAKE2-clone-mandatory" -> "FAKE2-clone_start_0" [ style = bold]
+"clone-one-or-more:order-FAKE1-clone-FAKE2-clone-mandatory" [ style=bold color="green" fontcolor="orange"]
+}
diff --git a/pengine/test10/clone_min_interleave_start_two.exp b/pengine/test10/clone_min_interleave_start_two.exp
new file mode 100644
index 0000000..9846072
--- /dev/null
+++ b/pengine/test10/clone_min_interleave_start_two.exp
@@ -0,0 +1,326 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0">
+    <action_set>
+      <rsc_op id="11" operation="monitor" operation_key="FAKE1_monitor_10000" internal_operation_key="FAKE1:0_monitor_10000" on_node="c7auto2" on_node_uuid="2">
+        <primitive id="FAKE1" long-id="FAKE1:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="10" operation="start" operation_key="FAKE1_start_0" internal_operation_key="FAKE1:0_start_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="10" operation="start" operation_key="FAKE1_start_0" internal_operation_key="FAKE1:0_start_0" on_node="c7auto2" on_node_uuid="2">
+        <primitive id="FAKE1" long-id="FAKE1:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="14" operation="start" operation_key="FAKE1-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2">
+    <action_set>
+      <rsc_op id="13" operation="monitor" operation_key="FAKE1:1_monitor_10000" on_node="c7auto1" on_node_uuid="1">
+        <primitive id="FAKE1" long-id="FAKE1:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="12" operation="start" operation_key="FAKE1:1_start_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <rsc_op id="12" operation="start" operation_key="FAKE1:1_start_0" on_node="c7auto1" on_node_uuid="1">
+        <primitive id="FAKE1" long-id="FAKE1:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="14" operation="start" operation_key="FAKE1-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4" priority="1000000">
+    <action_set>
+      <pseudo_event id="15" operation="running" operation_key="FAKE1-clone_running_0">
+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="10" operation="start" operation_key="FAKE1_start_0" internal_operation_key="FAKE1:0_start_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="12" operation="start" operation_key="FAKE1:1_start_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="14" operation="start" operation_key="FAKE1-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <pseudo_event id="14" operation="start" operation_key="FAKE1-clone_start_0">
+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="6">
+    <action_set>
+      <rsc_op id="19" operation="monitor" operation_key="FAKE2_monitor_10000" internal_operation_key="FAKE2:0_monitor_10000" on_node="c7auto3" on_node_uuid="3">
+        <primitive id="FAKE2" long-id="FAKE2:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="18" operation="start" operation_key="FAKE2_start_0" internal_operation_key="FAKE2:0_start_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="7">
+    <action_set>
+      <rsc_op id="18" operation="start" operation_key="FAKE2_start_0" internal_operation_key="FAKE2:0_start_0" on_node="c7auto3" on_node_uuid="3">
+        <primitive id="FAKE2" long-id="FAKE2:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="24" operation="start" operation_key="FAKE2-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="8">
+    <action_set>
+      <rsc_op id="21" operation="monitor" operation_key="FAKE2:1_monitor_10000" on_node="c7auto2" on_node_uuid="2">
+        <primitive id="FAKE2" long-id="FAKE2:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="20" operation="start" operation_key="FAKE2:1_start_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="9">
+    <action_set>
+      <rsc_op id="20" operation="start" operation_key="FAKE2:1_start_0" on_node="c7auto2" on_node_uuid="2">
+        <primitive id="FAKE2" long-id="FAKE2:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="24" operation="start" operation_key="FAKE2-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="10">
+    <action_set>
+      <rsc_op id="23" operation="monitor" operation_key="FAKE2:2_monitor_10000" on_node="c7auto1" on_node_uuid="1">
+        <primitive id="FAKE2" long-id="FAKE2:2" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="22" operation="start" operation_key="FAKE2:2_start_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="11">
+    <action_set>
+      <rsc_op id="22" operation="start" operation_key="FAKE2:2_start_0" on_node="c7auto1" on_node_uuid="1">
+        <primitive id="FAKE2" long-id="FAKE2:2" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="24" operation="start" operation_key="FAKE2-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="12" priority="1000000">
+    <action_set>
+      <pseudo_event id="25" operation="running" operation_key="FAKE2-clone_running_0">
+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="18" operation="start" operation_key="FAKE2_start_0" internal_operation_key="FAKE2:0_start_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="20" operation="start" operation_key="FAKE2:1_start_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="22" operation="start" operation_key="FAKE2:2_start_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="24" operation="start" operation_key="FAKE2-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="13">
+    <action_set>
+      <pseudo_event id="24" operation="start" operation_key="FAKE2-clone_start_0">
+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="2" operation="clone-one-or-more:order-FAKE1-clone-FAKE2-clone-mandatory" operation_key="clone-one-or-more:order-FAKE1-clone-FAKE2-clone-mandatory"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="14">
+    <action_set>
+      <rsc_op id="29" operation="monitor" operation_key="FAKE3_monitor_10000" internal_operation_key="FAKE3:0_monitor_10000" on_node="c7auto3" on_node_uuid="3">
+        <primitive id="FAKE3" long-id="FAKE3:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="28" operation="start" operation_key="FAKE3_start_0" internal_operation_key="FAKE3:0_start_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="15">
+    <action_set>
+      <rsc_op id="28" operation="start" operation_key="FAKE3_start_0" internal_operation_key="FAKE3:0_start_0" on_node="c7auto3" on_node_uuid="3">
+        <primitive id="FAKE3" long-id="FAKE3:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="18" operation="start" operation_key="FAKE2_start_0" internal_operation_key="FAKE2:0_start_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="34" operation="start" operation_key="FAKE3-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="16">
+    <action_set>
+      <rsc_op id="31" operation="monitor" operation_key="FAKE3:1_monitor_10000" on_node="c7auto2" on_node_uuid="2">
+        <primitive id="FAKE3" long-id="FAKE3:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="30" operation="start" operation_key="FAKE3:1_start_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="17">
+    <action_set>
+      <rsc_op id="30" operation="start" operation_key="FAKE3:1_start_0" on_node="c7auto2" on_node_uuid="2">
+        <primitive id="FAKE3" long-id="FAKE3:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="20" operation="start" operation_key="FAKE2:1_start_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="34" operation="start" operation_key="FAKE3-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="18">
+    <action_set>
+      <rsc_op id="33" operation="monitor" operation_key="FAKE3:2_monitor_10000" on_node="c7auto1" on_node_uuid="1">
+        <primitive id="FAKE3" long-id="FAKE3:2" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="32" operation="start" operation_key="FAKE3:2_start_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="19">
+    <action_set>
+      <rsc_op id="32" operation="start" operation_key="FAKE3:2_start_0" on_node="c7auto1" on_node_uuid="1">
+        <primitive id="FAKE3" long-id="FAKE3:2" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="start" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="22" operation="start" operation_key="FAKE2:2_start_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="34" operation="start" operation_key="FAKE3-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="20" priority="1000000">
+    <action_set>
+      <pseudo_event id="35" operation="running" operation_key="FAKE3-clone_running_0">
+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="28" operation="start" operation_key="FAKE3_start_0" internal_operation_key="FAKE3:0_start_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="30" operation="start" operation_key="FAKE3:1_start_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="32" operation="start" operation_key="FAKE3:2_start_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="34" operation="start" operation_key="FAKE3-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="21">
+    <action_set>
+      <pseudo_event id="34" operation="start" operation_key="FAKE3-clone_start_0">
+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="25" operation="running" operation_key="FAKE2-clone_running_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="22">
+    <action_set>
+      <pseudo_event id="2" operation="clone-one-or-more:order-FAKE1-clone-FAKE2-clone-mandatory" operation_key="clone-one-or-more:order-FAKE1-clone-FAKE2-clone-mandatory">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="10" operation="start" operation_key="FAKE1_start_0" internal_operation_key="FAKE1:0_start_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="12" operation="start" operation_key="FAKE1:1_start_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/clone_min_interleave_start_two.scores b/pengine/test10/clone_min_interleave_start_two.scores
new file mode 100644
index 0000000..d443c58
--- /dev/null
+++ b/pengine/test10/clone_min_interleave_start_two.scores
@@ -0,0 +1,67 @@
+Allocation scores:
+clone_color: FAKE1-clone allocation score on c7auto1: 0
+clone_color: FAKE1-clone allocation score on c7auto2: 0
+clone_color: FAKE1-clone allocation score on c7auto3: -INFINITY
+clone_color: FAKE1:0 allocation score on c7auto1: 0
+clone_color: FAKE1:0 allocation score on c7auto2: 0
+clone_color: FAKE1:0 allocation score on c7auto3: -INFINITY
+clone_color: FAKE1:1 allocation score on c7auto1: 0
+clone_color: FAKE1:1 allocation score on c7auto2: 0
+clone_color: FAKE1:1 allocation score on c7auto3: -INFINITY
+clone_color: FAKE1:2 allocation score on c7auto1: 0
+clone_color: FAKE1:2 allocation score on c7auto2: 0
+clone_color: FAKE1:2 allocation score on c7auto3: -INFINITY
+clone_color: FAKE2-clone allocation score on c7auto1: 0
+clone_color: FAKE2-clone allocation score on c7auto2: 0
+clone_color: FAKE2-clone allocation score on c7auto3: 0
+clone_color: FAKE2:0 allocation score on c7auto1: 0
+clone_color: FAKE2:0 allocation score on c7auto2: 0
+clone_color: FAKE2:0 allocation score on c7auto3: 0
+clone_color: FAKE2:1 allocation score on c7auto1: 0
+clone_color: FAKE2:1 allocation score on c7auto2: 0
+clone_color: FAKE2:1 allocation score on c7auto3: 0
+clone_color: FAKE2:2 allocation score on c7auto1: 0
+clone_color: FAKE2:2 allocation score on c7auto2: 0
+clone_color: FAKE2:2 allocation score on c7auto3: 0
+clone_color: FAKE3-clone allocation score on c7auto1: 0
+clone_color: FAKE3-clone allocation score on c7auto2: 0
+clone_color: FAKE3-clone allocation score on c7auto3: 0
+clone_color: FAKE3:0 allocation score on c7auto1: 0
+clone_color: FAKE3:0 allocation score on c7auto2: 0
+clone_color: FAKE3:0 allocation score on c7auto3: 0
+clone_color: FAKE3:1 allocation score on c7auto1: 0
+clone_color: FAKE3:1 allocation score on c7auto2: 0
+clone_color: FAKE3:1 allocation score on c7auto3: 0
+clone_color: FAKE3:2 allocation score on c7auto1: 0
+clone_color: FAKE3:2 allocation score on c7auto2: 0
+clone_color: FAKE3:2 allocation score on c7auto3: 0
+native_color: FAKE1:0 allocation score on c7auto1: 0
+native_color: FAKE1:0 allocation score on c7auto2: 0
+native_color: FAKE1:0 allocation score on c7auto3: -INFINITY
+native_color: FAKE1:1 allocation score on c7auto1: 0
+native_color: FAKE1:1 allocation score on c7auto2: -INFINITY
+native_color: FAKE1:1 allocation score on c7auto3: -INFINITY
+native_color: FAKE1:2 allocation score on c7auto1: -INFINITY
+native_color: FAKE1:2 allocation score on c7auto2: -INFINITY
+native_color: FAKE1:2 allocation score on c7auto3: -INFINITY
+native_color: FAKE2:0 allocation score on c7auto1: 0
+native_color: FAKE2:0 allocation score on c7auto2: 0
+native_color: FAKE2:0 allocation score on c7auto3: 0
+native_color: FAKE2:1 allocation score on c7auto1: 0
+native_color: FAKE2:1 allocation score on c7auto2: 0
+native_color: FAKE2:1 allocation score on c7auto3: -INFINITY
+native_color: FAKE2:2 allocation score on c7auto1: 0
+native_color: FAKE2:2 allocation score on c7auto2: -INFINITY
+native_color: FAKE2:2 allocation score on c7auto3: -INFINITY
+native_color: FAKE3:0 allocation score on c7auto1: 0
+native_color: FAKE3:0 allocation score on c7auto2: 0
+native_color: FAKE3:0 allocation score on c7auto3: 0
+native_color: FAKE3:1 allocation score on c7auto1: 0
+native_color: FAKE3:1 allocation score on c7auto2: 0
+native_color: FAKE3:1 allocation score on c7auto3: -INFINITY
+native_color: FAKE3:2 allocation score on c7auto1: 0
+native_color: FAKE3:2 allocation score on c7auto2: -INFINITY
+native_color: FAKE3:2 allocation score on c7auto3: -INFINITY
+native_color: shooter allocation score on c7auto1: 0
+native_color: shooter allocation score on c7auto2: 0
+native_color: shooter allocation score on c7auto3: 0
diff --git a/pengine/test10/clone_min_interleave_start_two.summary b/pengine/test10/clone_min_interleave_start_two.summary
new file mode 100644
index 0000000..9f928f2
--- /dev/null
+++ b/pengine/test10/clone_min_interleave_start_two.summary
@@ -0,0 +1,59 @@
+
+Current cluster status:
+Online: [ c7auto1 c7auto2 c7auto3 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKE1-clone [FAKE1]
+     Stopped: [ c7auto1 c7auto2 c7auto3 ]
+ Clone Set: FAKE2-clone [FAKE2]
+     Stopped: [ c7auto1 c7auto2 c7auto3 ]
+ Clone Set: FAKE3-clone [FAKE3]
+     Stopped: [ c7auto1 c7auto2 c7auto3 ]
+
+Transition Summary:
+ * Start   FAKE1:0	(c7auto2)
+ * Start   FAKE1:1	(c7auto1)
+ * Start   FAKE2:0	(c7auto3)
+ * Start   FAKE2:1	(c7auto2)
+ * Start   FAKE2:2	(c7auto1)
+ * Start   FAKE3:0	(c7auto3)
+ * Start   FAKE3:1	(c7auto2)
+ * Start   FAKE3:2	(c7auto1)
+
+Executing cluster transition:
+ * Pseudo action:   FAKE1-clone_start_0
+ * Resource action: FAKE1           start on c7auto2
+ * Resource action: FAKE1           start on c7auto1
+ * Pseudo action:   FAKE1-clone_running_0
+ * Pseudo action:   clone-one-or-more:order-FAKE1-clone-FAKE2-clone-mandatory
+ * Resource action: FAKE1           monitor=10000 on c7auto2
+ * Resource action: FAKE1           monitor=10000 on c7auto1
+ * Pseudo action:   FAKE2-clone_start_0
+ * Resource action: FAKE2           start on c7auto3
+ * Resource action: FAKE2           start on c7auto2
+ * Resource action: FAKE2           start on c7auto1
+ * Pseudo action:   FAKE2-clone_running_0
+ * Pseudo action:   FAKE3-clone_start_0
+ * Resource action: FAKE2           monitor=10000 on c7auto3
+ * Resource action: FAKE2           monitor=10000 on c7auto2
+ * Resource action: FAKE2           monitor=10000 on c7auto1
+ * Resource action: FAKE3           start on c7auto3
+ * Resource action: FAKE3           start on c7auto2
+ * Resource action: FAKE3           start on c7auto1
+ * Pseudo action:   FAKE3-clone_running_0
+ * Resource action: FAKE3           monitor=10000 on c7auto3
+ * Resource action: FAKE3           monitor=10000 on c7auto2
+ * Resource action: FAKE3           monitor=10000 on c7auto1
+
+Revised cluster status:
+Online: [ c7auto1 c7auto2 c7auto3 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKE1-clone [FAKE1]
+     Started: [ c7auto1 c7auto2 ]
+     Stopped: [ c7auto3 ]
+ Clone Set: FAKE2-clone [FAKE2]
+     Started: [ c7auto1 c7auto2 c7auto3 ]
+ Clone Set: FAKE3-clone [FAKE3]
+     Started: [ c7auto1 c7auto2 c7auto3 ]
+
diff --git a/pengine/test10/clone_min_interleave_start_two.xml b/pengine/test10/clone_min_interleave_start_two.xml
new file mode 100644
index 0000000..2507018
--- /dev/null
+++ b/pengine/test10/clone_min_interleave_start_two.xml
@@ -0,0 +1,154 @@
+<cib crm_feature_set="3.0.10" validate-with="pacemaker-2.3" epoch="15" num_updates="0" admin_epoch="0" cib-last-written="Fri Jul 17 11:44:12 2015" update-origin="c7auto1" update-client="crm_resource" update-user="root" have-quorum="1" dc-uuid="3">
+  <configuration>
+    <crm_config>
+      <cluster_property_set id="cib-bootstrap-options">
+        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-ef86b49"/>
+        <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="c7auto1"/>
+      <node id="2" uname="c7auto2"/>
+      <node id="3" uname="c7auto3"/>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_phd_kvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="FAKE1-clone">
+        <primitive class="ocf" id="FAKE1" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKE1-instance_attributes"/>
+          <operations>
+            <op id="FAKE1-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKE1-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKE1-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKE1-clone-meta">
+          <nvpair id="FAKE1-clone-min" name="clone-min" value="2"/>
+        </meta_attributes>
+        <meta_attributes id="FAKE1-clone-meta_attributes"/>
+      </clone>
+      <clone id="FAKE2-clone">
+        <primitive class="ocf" id="FAKE2" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKE2-instance_attributes"/>
+          <operations>
+            <op id="FAKE2-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKE2-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKE2-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKE2-clone-meta">
+          <nvpair id="FAKE2-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+      <clone id="FAKE3-clone">
+        <primitive class="ocf" id="FAKE3" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKE3-instance_attributes"/>
+          <operations>
+            <op id="FAKE3-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKE3-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKE3-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKE3-clone-meta">
+          <nvpair id="FAKE3-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+    </resources>
+    <constraints>
+      <rsc_order first="FAKE1-clone" first-action="start" id="order-FAKE1-clone-FAKE2-clone-mandatory" then="FAKE2-clone" then-action="start"/>
+      <rsc_order first="FAKE2-clone" first-action="start" id="order-FAKE2-clone-FAKE3-clone-mandatory" then="FAKE3-clone" then-action="start"/>
+      <rsc_location id="cli-ban-FAKE1-clone-on-c7auto3" rsc="FAKE1-clone" role="Started" node="c7auto3" score="-INFINITY"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="3" uname="c7auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="3">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="8:4:7:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:7;8:4:7:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437146780" last-rc-change="1437146780" exec-time="998" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="18:10:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;18:10:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="32" rc-code="0" op-status="0" interval="0" last-run="1437147852" last-rc-change="1437147852" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE1_monitor_10000" operation_key="FAKE1_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="15:5:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;15:5:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147006" exec-time="9" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="25:10:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;25:10:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="30" rc-code="0" op-status="0" interval="0" last-run="1437147852" last-rc-change="1437147852" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE2_monitor_10000" operation_key="FAKE2_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="28:6:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;28:6:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="19" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147019" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="35:10:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;35:10:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="28" rc-code="0" op-status="0" interval="0" last-run="1437147852" last-rc-change="1437147852" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE3_monitor_10000" operation_key="FAKE3_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="41:7:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;41:7:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="26" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147024" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="3">
+        <instance_attributes id="status-3">
+          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="1" uname="c7auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="1">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="9:4:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;9:4:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1437146782" last-rc-change="1437146782" exec-time="5" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="10:4:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;10:4:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1437146783" exec-time="5" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="19:10:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;19:10:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="34" rc-code="0" op-status="0" interval="0" last-run="1437147852" last-rc-change="1437147852" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE1_monitor_10000" operation_key="FAKE1_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="17:5:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;17:5:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="14" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147007" exec-time="6" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="27:10:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;27:10:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="32" rc-code="0" op-status="0" interval="0" last-run="1437147852" last-rc-change="1437147852" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE2_monitor_10000" operation_key="FAKE2_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="30:6:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;30:6:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="21" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147019" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="37:10:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;37:10:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="30" rc-code="0" op-status="0" interval="0" last-run="1437147852" last-rc-change="1437147852" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE3_monitor_10000" operation_key="FAKE3_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="43:7:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;43:7:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="28" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147024" exec-time="6" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="1">
+        <instance_attributes id="status-1">
+          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="2" uname="c7auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="2">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="6:4:7:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:7;6:4:7:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437146780" last-rc-change="1437146780" exec-time="994" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="20:10:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;20:10:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="32" rc-code="0" op-status="0" interval="0" last-run="1437147852" last-rc-change="1437147852" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE1_monitor_10000" operation_key="FAKE1_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="13:5:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;13:5:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147007" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="29:10:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;29:10:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="30" rc-code="0" op-status="0" interval="0" last-run="1437147852" last-rc-change="1437147852" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE2_monitor_10000" operation_key="FAKE2_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="26:6:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;26:6:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="19" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147019" exec-time="6" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="39:10:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;39:10:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="28" rc-code="0" op-status="0" interval="0" last-run="1437147852" last-rc-change="1437147852" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE3_monitor_10000" operation_key="FAKE3_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="39:7:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;39:7:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="26" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147024" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="2">
+        <instance_attributes id="status-2">
+          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/clone_min_interleave_stop_one.dot b/pengine/test10/clone_min_interleave_stop_one.dot
new file mode 100644
index 0000000..a66ceb6
--- /dev/null
+++ b/pengine/test10/clone_min_interleave_stop_one.dot
@@ -0,0 +1,18 @@
+ digraph "g" {
+"FAKE1-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"FAKE1-clone_start_0" -> "FAKE1-clone_running_0" [ style = bold]
+"FAKE1-clone_start_0" -> "FAKE1_start_0 <none>" [ style = dashed]
+"FAKE1-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"FAKE1-clone_stop_0" -> "FAKE1-clone_stopped_0" [ style = bold]
+"FAKE1-clone_stop_0" -> "FAKE1_stop_0 c7auto3" [ style = bold]
+"FAKE1-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"FAKE1-clone_stopped_0" -> "FAKE1-clone_start_0" [ style = bold]
+"FAKE1-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"FAKE1_start_0 <none>" -> "FAKE1-clone_running_0" [ style = dashed]
+"FAKE1_start_0 <none>" [ style=dashed color="red" fontcolor="black"]
+"FAKE1_stop_0 c7auto3" -> "FAKE1-clone_stopped_0" [ style = bold]
+"FAKE1_stop_0 c7auto3" -> "FAKE1_start_0 <none>" [ style = dashed]
+"FAKE1_stop_0 c7auto3" -> "all_stopped" [ style = bold]
+"FAKE1_stop_0 c7auto3" [ style=bold color="green" fontcolor="black"]
+"all_stopped" [ style=bold color="green" fontcolor="orange"]
+}
diff --git a/pengine/test10/clone_min_interleave_stop_one.exp b/pengine/test10/clone_min_interleave_stop_one.exp
new file mode 100644
index 0000000..31a15da
--- /dev/null
+++ b/pengine/test10/clone_min_interleave_stop_one.exp
@@ -0,0 +1,74 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0">
+    <action_set>
+      <rsc_op id="19" operation="stop" operation_key="FAKE1_stop_0" internal_operation_key="FAKE1:0_stop_0" on_node="c7auto3" on_node_uuid="3">
+        <primitive id="FAKE1" long-id="FAKE1:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="26" operation="stop" operation_key="FAKE1-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1" priority="1000000">
+    <action_set>
+      <pseudo_event id="27" operation="stopped" operation_key="FAKE1-clone_stopped_0">
+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="19" operation="stop" operation_key="FAKE1_stop_0" internal_operation_key="FAKE1:0_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="26" operation="stop" operation_key="FAKE1-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2">
+    <action_set>
+      <pseudo_event id="26" operation="stop" operation_key="FAKE1-clone_stop_0">
+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="3" priority="1000000">
+    <action_set>
+      <pseudo_event id="25" operation="running" operation_key="FAKE1-clone_running_0">
+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="24" operation="start" operation_key="FAKE1-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4">
+    <action_set>
+      <pseudo_event id="24" operation="start" operation_key="FAKE1-clone_start_0">
+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="27" operation="stopped" operation_key="FAKE1-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <pseudo_event id="12" operation="all_stopped" operation_key="all_stopped">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="19" operation="stop" operation_key="FAKE1_stop_0" internal_operation_key="FAKE1:0_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/clone_min_interleave_stop_one.scores b/pengine/test10/clone_min_interleave_stop_one.scores
new file mode 100644
index 0000000..1a98230
--- /dev/null
+++ b/pengine/test10/clone_min_interleave_stop_one.scores
@@ -0,0 +1,67 @@
+Allocation scores:
+clone_color: FAKE1-clone allocation score on c7auto1: 0
+clone_color: FAKE1-clone allocation score on c7auto2: 0
+clone_color: FAKE1-clone allocation score on c7auto3: -INFINITY
+clone_color: FAKE1:0 allocation score on c7auto1: 0
+clone_color: FAKE1:0 allocation score on c7auto2: 0
+clone_color: FAKE1:0 allocation score on c7auto3: -INFINITY
+clone_color: FAKE1:1 allocation score on c7auto1: 1
+clone_color: FAKE1:1 allocation score on c7auto2: 0
+clone_color: FAKE1:1 allocation score on c7auto3: -INFINITY
+clone_color: FAKE1:2 allocation score on c7auto1: 0
+clone_color: FAKE1:2 allocation score on c7auto2: 1
+clone_color: FAKE1:2 allocation score on c7auto3: -INFINITY
+clone_color: FAKE2-clone allocation score on c7auto1: 0
+clone_color: FAKE2-clone allocation score on c7auto2: 0
+clone_color: FAKE2-clone allocation score on c7auto3: 0
+clone_color: FAKE2:0 allocation score on c7auto1: 0
+clone_color: FAKE2:0 allocation score on c7auto2: 0
+clone_color: FAKE2:0 allocation score on c7auto3: 1
+clone_color: FAKE2:1 allocation score on c7auto1: 1
+clone_color: FAKE2:1 allocation score on c7auto2: 0
+clone_color: FAKE2:1 allocation score on c7auto3: 0
+clone_color: FAKE2:2 allocation score on c7auto1: 0
+clone_color: FAKE2:2 allocation score on c7auto2: 1
+clone_color: FAKE2:2 allocation score on c7auto3: 0
+clone_color: FAKE3-clone allocation score on c7auto1: 0
+clone_color: FAKE3-clone allocation score on c7auto2: 0
+clone_color: FAKE3-clone allocation score on c7auto3: 0
+clone_color: FAKE3:0 allocation score on c7auto1: 0
+clone_color: FAKE3:0 allocation score on c7auto2: 0
+clone_color: FAKE3:0 allocation score on c7auto3: 1
+clone_color: FAKE3:1 allocation score on c7auto1: 1
+clone_color: FAKE3:1 allocation score on c7auto2: 0
+clone_color: FAKE3:1 allocation score on c7auto3: 0
+clone_color: FAKE3:2 allocation score on c7auto1: 0
+clone_color: FAKE3:2 allocation score on c7auto2: 1
+clone_color: FAKE3:2 allocation score on c7auto3: 0
+native_color: FAKE1:0 allocation score on c7auto1: -INFINITY
+native_color: FAKE1:0 allocation score on c7auto2: -INFINITY
+native_color: FAKE1:0 allocation score on c7auto3: -INFINITY
+native_color: FAKE1:1 allocation score on c7auto1: 1
+native_color: FAKE1:1 allocation score on c7auto2: -INFINITY
+native_color: FAKE1:1 allocation score on c7auto3: -INFINITY
+native_color: FAKE1:2 allocation score on c7auto1: 0
+native_color: FAKE1:2 allocation score on c7auto2: 1
+native_color: FAKE1:2 allocation score on c7auto3: -INFINITY
+native_color: FAKE2:0 allocation score on c7auto1: 0
+native_color: FAKE2:0 allocation score on c7auto2: 0
+native_color: FAKE2:0 allocation score on c7auto3: 1
+native_color: FAKE2:1 allocation score on c7auto1: 1
+native_color: FAKE2:1 allocation score on c7auto2: -INFINITY
+native_color: FAKE2:1 allocation score on c7auto3: -INFINITY
+native_color: FAKE2:2 allocation score on c7auto1: 0
+native_color: FAKE2:2 allocation score on c7auto2: 1
+native_color: FAKE2:2 allocation score on c7auto3: -INFINITY
+native_color: FAKE3:0 allocation score on c7auto1: 0
+native_color: FAKE3:0 allocation score on c7auto2: 0
+native_color: FAKE3:0 allocation score on c7auto3: 1
+native_color: FAKE3:1 allocation score on c7auto1: 1
+native_color: FAKE3:1 allocation score on c7auto2: -INFINITY
+native_color: FAKE3:1 allocation score on c7auto3: -INFINITY
+native_color: FAKE3:2 allocation score on c7auto1: 0
+native_color: FAKE3:2 allocation score on c7auto2: 1
+native_color: FAKE3:2 allocation score on c7auto3: -INFINITY
+native_color: shooter allocation score on c7auto1: 0
+native_color: shooter allocation score on c7auto2: 0
+native_color: shooter allocation score on c7auto3: 0
diff --git a/pengine/test10/clone_min_interleave_stop_one.summary b/pengine/test10/clone_min_interleave_stop_one.summary
new file mode 100644
index 0000000..9280b7e
--- /dev/null
+++ b/pengine/test10/clone_min_interleave_stop_one.summary
@@ -0,0 +1,35 @@
+
+Current cluster status:
+Online: [ c7auto1 c7auto2 c7auto3 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKE1-clone [FAKE1]
+     Started: [ c7auto1 c7auto2 c7auto3 ]
+ Clone Set: FAKE2-clone [FAKE2]
+     Started: [ c7auto1 c7auto2 c7auto3 ]
+ Clone Set: FAKE3-clone [FAKE3]
+     Started: [ c7auto1 c7auto2 c7auto3 ]
+
+Transition Summary:
+ * Stop    FAKE1:0	(c7auto3)
+
+Executing cluster transition:
+ * Pseudo action:   FAKE1-clone_stop_0
+ * Resource action: FAKE1           stop on c7auto3
+ * Pseudo action:   FAKE1-clone_stopped_0
+ * Pseudo action:   FAKE1-clone_start_0
+ * Pseudo action:   all_stopped
+ * Pseudo action:   FAKE1-clone_running_0
+
+Revised cluster status:
+Online: [ c7auto1 c7auto2 c7auto3 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKE1-clone [FAKE1]
+     Started: [ c7auto1 c7auto2 ]
+     Stopped: [ c7auto3 ]
+ Clone Set: FAKE2-clone [FAKE2]
+     Started: [ c7auto1 c7auto2 c7auto3 ]
+ Clone Set: FAKE3-clone [FAKE3]
+     Started: [ c7auto1 c7auto2 c7auto3 ]
+
diff --git a/pengine/test10/clone_min_interleave_stop_one.xml b/pengine/test10/clone_min_interleave_stop_one.xml
new file mode 100644
index 0000000..31db5f3
--- /dev/null
+++ b/pengine/test10/clone_min_interleave_stop_one.xml
@@ -0,0 +1,153 @@
+<cib crm_feature_set="3.0.10" validate-with="pacemaker-2.3" epoch="12" num_updates="0" admin_epoch="0" cib-last-written="Fri Jul 17 11:30:45 2015" update-origin="c7auto1" update-client="cibadmin" update-user="root" have-quorum="1" dc-uuid="3">
+  <configuration>
+    <crm_config>
+      <cluster_property_set id="cib-bootstrap-options">
+        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-ef86b49"/>
+        <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="c7auto1"/>
+      <node id="2" uname="c7auto2"/>
+      <node id="3" uname="c7auto3"/>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_phd_kvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="FAKE1-clone">
+        <primitive class="ocf" id="FAKE1" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKE1-instance_attributes"/>
+          <operations>
+            <op id="FAKE1-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKE1-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKE1-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKE1-clone-meta">
+          <nvpair id="FAKE1-clone-min" name="clone-min" value="2"/>
+        </meta_attributes>
+      </clone>
+      <clone id="FAKE2-clone">
+        <primitive class="ocf" id="FAKE2" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKE2-instance_attributes"/>
+          <operations>
+            <op id="FAKE2-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKE2-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKE2-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKE2-clone-meta">
+          <nvpair id="FAKE2-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+      <clone id="FAKE3-clone">
+        <primitive class="ocf" id="FAKE3" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKE3-instance_attributes"/>
+          <operations>
+            <op id="FAKE3-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKE3-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKE3-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKE3-clone-meta">
+          <nvpair id="FAKE3-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+    </resources>
+    <constraints>
+      <rsc_order first="FAKE1-clone" first-action="start" id="order-FAKE1-clone-FAKE2-clone-mandatory" then="FAKE2-clone" then-action="start"/>
+      <rsc_order first="FAKE2-clone" first-action="start" id="order-FAKE2-clone-FAKE3-clone-mandatory" then="FAKE3-clone" then-action="start"/>
+      <rsc_location id="cli-ban-FAKE1-clone-on-c7auto3" rsc="FAKE1-clone" role="Started" node="c7auto3" score="-INFINITY"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="3" uname="c7auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="3">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="8:4:7:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:7;8:4:7:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437146780" last-rc-change="1437146780" exec-time="998" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="14:5:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;14:5:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="11" rc-code="0" op-status="0" interval="0" last-run="1437147006" last-rc-change="1437147006" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE1_monitor_10000" operation_key="FAKE1_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="15:5:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;15:5:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147006" exec-time="9" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="27:6:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;27:6:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="18" rc-code="0" op-status="0" interval="0" last-run="1437147019" last-rc-change="1437147019" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE2_monitor_10000" operation_key="FAKE2_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="28:6:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;28:6:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="19" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147019" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="40:7:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;40:7:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1437147024" last-rc-change="1437147024" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE3_monitor_10000" operation_key="FAKE3_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="41:7:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;41:7:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="26" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147024" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="3">
+        <instance_attributes id="status-3">
+          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="1" uname="c7auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="1">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="9:4:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;9:4:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1437146782" last-rc-change="1437146782" exec-time="5" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="10:4:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;10:4:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1437146783" exec-time="5" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="16:5:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;16:5:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="13" rc-code="0" op-status="0" interval="0" last-run="1437147007" last-rc-change="1437147007" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE1_monitor_10000" operation_key="FAKE1_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="17:5:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;17:5:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="14" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147007" exec-time="6" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="29:6:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;29:6:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="20" rc-code="0" op-status="0" interval="0" last-run="1437147019" last-rc-change="1437147019" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE2_monitor_10000" operation_key="FAKE2_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="30:6:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;30:6:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="21" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147019" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="42:7:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;42:7:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1437147024" last-rc-change="1437147024" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE3_monitor_10000" operation_key="FAKE3_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="43:7:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;43:7:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="28" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147024" exec-time="6" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="1">
+        <instance_attributes id="status-1">
+          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="2" uname="c7auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="2">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="6:4:7:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:7;6:4:7:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437146780" last-rc-change="1437146780" exec-time="994" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="12:5:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;12:5:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="11" rc-code="0" op-status="0" interval="0" last-run="1437147007" last-rc-change="1437147007" exec-time="6" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE1_monitor_10000" operation_key="FAKE1_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="13:5:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;13:5:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147007" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="25:6:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;25:6:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="18" rc-code="0" op-status="0" interval="0" last-run="1437147019" last-rc-change="1437147019" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE2_monitor_10000" operation_key="FAKE2_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="26:6:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;26:6:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="19" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147019" exec-time="6" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="38:7:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;38:7:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1437147024" last-rc-change="1437147024" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE3_monitor_10000" operation_key="FAKE3_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="39:7:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;39:7:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="26" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147024" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="2">
+        <instance_attributes id="status-2">
+          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/clone_min_interleave_stop_two.dot b/pengine/test10/clone_min_interleave_stop_two.dot
new file mode 100644
index 0000000..73f60dd
--- /dev/null
+++ b/pengine/test10/clone_min_interleave_stop_two.dot
@@ -0,0 +1,108 @@
+ digraph "g" {
+"FAKE1-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"FAKE1-clone_start_0" -> "FAKE1-clone_running_0" [ style = bold]
+"FAKE1-clone_start_0" -> "FAKE1_start_0 <none>" [ style = dashed]
+"FAKE1-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"FAKE1-clone_stop_0" -> "FAKE1-clone_stopped_0" [ style = bold]
+"FAKE1-clone_stop_0" -> "FAKE1_stop_0 c7auto2" [ style = bold]
+"FAKE1-clone_stop_0" -> "FAKE1_stop_0 c7auto3" [ style = bold]
+"FAKE1-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"FAKE1-clone_stopped_0" -> "FAKE1-clone_start_0" [ style = bold]
+"FAKE1-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"FAKE1_start_0 <none>" -> "FAKE1-clone_running_0" [ style = dashed]
+"FAKE1_start_0 <none>" [ style=dashed color="red" fontcolor="black"]
+"FAKE1_stop_0 c7auto2" -> "FAKE1-clone_stopped_0" [ style = bold]
+"FAKE1_stop_0 c7auto2" -> "FAKE1_start_0 <none>" [ style = dashed]
+"FAKE1_stop_0 c7auto2" -> "all_stopped" [ style = bold]
+"FAKE1_stop_0 c7auto2" [ style=bold color="green" fontcolor="black"]
+"FAKE1_stop_0 c7auto3" -> "FAKE1-clone_stopped_0" [ style = bold]
+"FAKE1_stop_0 c7auto3" -> "FAKE1_start_0 <none>" [ style = dashed]
+"FAKE1_stop_0 c7auto3" -> "all_stopped" [ style = bold]
+"FAKE1_stop_0 c7auto3" [ style=bold color="green" fontcolor="black"]
+"FAKE2-clone_running_0" -> "FAKE3-clone_start_0" [ style = dashed]
+"FAKE2-clone_running_0" [ style=dashed color="red" fontcolor="orange"]
+"FAKE2-clone_start_0" -> "FAKE2-clone_running_0" [ style = dashed]
+"FAKE2-clone_start_0" -> "FAKE2_start_0 c7auto1" [ style = dashed]
+"FAKE2-clone_start_0" -> "FAKE2_start_0 c7auto2" [ style = dashed]
+"FAKE2-clone_start_0" -> "FAKE2_start_0 c7auto3" [ style = dashed]
+"FAKE2-clone_start_0" [ style=dashed color="red" fontcolor="orange"]
+"FAKE2-clone_stop_0" -> "FAKE2-clone_stopped_0" [ style = bold]
+"FAKE2-clone_stop_0" -> "FAKE2_stop_0 c7auto1" [ style = bold]
+"FAKE2-clone_stop_0" -> "FAKE2_stop_0 c7auto2" [ style = bold]
+"FAKE2-clone_stop_0" -> "FAKE2_stop_0 c7auto3" [ style = bold]
+"FAKE2-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"FAKE2-clone_stopped_0" -> "FAKE1-clone_stop_0" [ style = bold]
+"FAKE2-clone_stopped_0" -> "FAKE2-clone_start_0" [ style = dashed]
+"FAKE2-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"FAKE2_monitor_10000 c7auto1" [ style=dashed color="red" fontcolor="black"]
+"FAKE2_monitor_10000 c7auto2" [ style=dashed color="red" fontcolor="black"]
+"FAKE2_monitor_10000 c7auto3" [ style=dashed color="red" fontcolor="black"]
+"FAKE2_start_0 c7auto1" -> "FAKE2-clone_running_0" [ style = dashed]
+"FAKE2_start_0 c7auto1" -> "FAKE2_monitor_10000 c7auto1" [ style = dashed]
+"FAKE2_start_0 c7auto1" -> "FAKE3_start_0 c7auto1" [ style = dashed]
+"FAKE2_start_0 c7auto1" [ style=dashed color="red" fontcolor="black"]
+"FAKE2_start_0 c7auto2" -> "FAKE2-clone_running_0" [ style = dashed]
+"FAKE2_start_0 c7auto2" -> "FAKE2_monitor_10000 c7auto2" [ style = dashed]
+"FAKE2_start_0 c7auto2" -> "FAKE3_start_0 c7auto2" [ style = dashed]
+"FAKE2_start_0 c7auto2" [ style=dashed color="red" fontcolor="black"]
+"FAKE2_start_0 c7auto3" -> "FAKE2-clone_running_0" [ style = dashed]
+"FAKE2_start_0 c7auto3" -> "FAKE2_monitor_10000 c7auto3" [ style = dashed]
+"FAKE2_start_0 c7auto3" -> "FAKE3_start_0 c7auto3" [ style = dashed]
+"FAKE2_start_0 c7auto3" [ style=dashed color="red" fontcolor="black"]
+"FAKE2_stop_0 c7auto1" -> "FAKE2-clone_stopped_0" [ style = bold]
+"FAKE2_stop_0 c7auto1" -> "FAKE2_start_0 c7auto1" [ style = dashed]
+"FAKE2_stop_0 c7auto1" -> "all_stopped" [ style = bold]
+"FAKE2_stop_0 c7auto1" [ style=bold color="green" fontcolor="black"]
+"FAKE2_stop_0 c7auto2" -> "FAKE1_stop_0 c7auto2" [ style = bold]
+"FAKE2_stop_0 c7auto2" -> "FAKE2-clone_stopped_0" [ style = bold]
+"FAKE2_stop_0 c7auto2" -> "FAKE2_start_0 c7auto2" [ style = dashed]
+"FAKE2_stop_0 c7auto2" -> "all_stopped" [ style = bold]
+"FAKE2_stop_0 c7auto2" [ style=bold color="green" fontcolor="black"]
+"FAKE2_stop_0 c7auto3" -> "FAKE1_stop_0 c7auto3" [ style = bold]
+"FAKE2_stop_0 c7auto3" -> "FAKE2-clone_stopped_0" [ style = bold]
+"FAKE2_stop_0 c7auto3" -> "FAKE2_start_0 c7auto3" [ style = dashed]
+"FAKE2_stop_0 c7auto3" -> "all_stopped" [ style = bold]
+"FAKE2_stop_0 c7auto3" [ style=bold color="green" fontcolor="black"]
+"FAKE3-clone_running_0" [ style=dashed color="red" fontcolor="orange"]
+"FAKE3-clone_start_0" -> "FAKE3-clone_running_0" [ style = dashed]
+"FAKE3-clone_start_0" -> "FAKE3_start_0 c7auto1" [ style = dashed]
+"FAKE3-clone_start_0" -> "FAKE3_start_0 c7auto2" [ style = dashed]
+"FAKE3-clone_start_0" -> "FAKE3_start_0 c7auto3" [ style = dashed]
+"FAKE3-clone_start_0" [ style=dashed color="red" fontcolor="orange"]
+"FAKE3-clone_stop_0" -> "FAKE3-clone_stopped_0" [ style = bold]
+"FAKE3-clone_stop_0" -> "FAKE3_stop_0 c7auto1" [ style = bold]
+"FAKE3-clone_stop_0" -> "FAKE3_stop_0 c7auto2" [ style = bold]
+"FAKE3-clone_stop_0" -> "FAKE3_stop_0 c7auto3" [ style = bold]
+"FAKE3-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"FAKE3-clone_stopped_0" -> "FAKE2-clone_stop_0" [ style = bold]
+"FAKE3-clone_stopped_0" -> "FAKE3-clone_start_0" [ style = dashed]
+"FAKE3-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"FAKE3_monitor_10000 c7auto1" [ style=dashed color="red" fontcolor="black"]
+"FAKE3_monitor_10000 c7auto2" [ style=dashed color="red" fontcolor="black"]
+"FAKE3_monitor_10000 c7auto3" [ style=dashed color="red" fontcolor="black"]
+"FAKE3_start_0 c7auto1" -> "FAKE3-clone_running_0" [ style = dashed]
+"FAKE3_start_0 c7auto1" -> "FAKE3_monitor_10000 c7auto1" [ style = dashed]
+"FAKE3_start_0 c7auto1" [ style=dashed color="red" fontcolor="black"]
+"FAKE3_start_0 c7auto2" -> "FAKE3-clone_running_0" [ style = dashed]
+"FAKE3_start_0 c7auto2" -> "FAKE3_monitor_10000 c7auto2" [ style = dashed]
+"FAKE3_start_0 c7auto2" [ style=dashed color="red" fontcolor="black"]
+"FAKE3_start_0 c7auto3" -> "FAKE3-clone_running_0" [ style = dashed]
+"FAKE3_start_0 c7auto3" -> "FAKE3_monitor_10000 c7auto3" [ style = dashed]
+"FAKE3_start_0 c7auto3" [ style=dashed color="red" fontcolor="black"]
+"FAKE3_stop_0 c7auto1" -> "FAKE2_stop_0 c7auto1" [ style = bold]
+"FAKE3_stop_0 c7auto1" -> "FAKE3-clone_stopped_0" [ style = bold]
+"FAKE3_stop_0 c7auto1" -> "FAKE3_start_0 c7auto1" [ style = dashed]
+"FAKE3_stop_0 c7auto1" -> "all_stopped" [ style = bold]
+"FAKE3_stop_0 c7auto1" [ style=bold color="green" fontcolor="black"]
+"FAKE3_stop_0 c7auto2" -> "FAKE2_stop_0 c7auto2" [ style = bold]
+"FAKE3_stop_0 c7auto2" -> "FAKE3-clone_stopped_0" [ style = bold]
+"FAKE3_stop_0 c7auto2" -> "FAKE3_start_0 c7auto2" [ style = dashed]
+"FAKE3_stop_0 c7auto2" -> "all_stopped" [ style = bold]
+"FAKE3_stop_0 c7auto2" [ style=bold color="green" fontcolor="black"]
+"FAKE3_stop_0 c7auto3" -> "FAKE2_stop_0 c7auto3" [ style = bold]
+"FAKE3_stop_0 c7auto3" -> "FAKE3-clone_stopped_0" [ style = bold]
+"FAKE3_stop_0 c7auto3" -> "FAKE3_start_0 c7auto3" [ style = dashed]
+"FAKE3_stop_0 c7auto3" -> "all_stopped" [ style = bold]
+"FAKE3_stop_0 c7auto3" [ style=bold color="green" fontcolor="black"]
+"all_stopped" [ style=bold color="green" fontcolor="orange"]
+}
diff --git a/pengine/test10/clone_min_interleave_stop_two.exp b/pengine/test10/clone_min_interleave_stop_two.exp
new file mode 100644
index 0000000..62fe1e6
--- /dev/null
+++ b/pengine/test10/clone_min_interleave_stop_two.exp
@@ -0,0 +1,270 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0">
+    <action_set>
+      <rsc_op id="19" operation="stop" operation_key="FAKE1_stop_0" internal_operation_key="FAKE1:0_stop_0" on_node="c7auto3" on_node_uuid="3">
+        <primitive id="FAKE1" long-id="FAKE1:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="25" operation="stop" operation_key="FAKE1-clone_stop_0"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="27" operation="stop" operation_key="FAKE2_stop_0" internal_operation_key="FAKE2:0_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="22" operation="stop" operation_key="FAKE1_stop_0" internal_operation_key="FAKE1:2_stop_0" on_node="c7auto2" on_node_uuid="2">
+        <primitive id="FAKE1" long-id="FAKE1:2" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="25" operation="stop" operation_key="FAKE1-clone_stop_0"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="31" operation="stop" operation_key="FAKE2_stop_0" internal_operation_key="FAKE2:2_stop_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2" priority="1000000">
+    <action_set>
+      <pseudo_event id="26" operation="stopped" operation_key="FAKE1-clone_stopped_0">
+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="19" operation="stop" operation_key="FAKE1_stop_0" internal_operation_key="FAKE1:0_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="22" operation="stop" operation_key="FAKE1_stop_0" internal_operation_key="FAKE1:2_stop_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="25" operation="stop" operation_key="FAKE1-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <pseudo_event id="25" operation="stop" operation_key="FAKE1-clone_stop_0">
+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="36" operation="stopped" operation_key="FAKE2-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4" priority="1000000">
+    <action_set>
+      <pseudo_event id="24" operation="running" operation_key="FAKE1-clone_running_0">
+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="23" operation="start" operation_key="FAKE1-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <pseudo_event id="23" operation="start" operation_key="FAKE1-clone_start_0">
+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="26" operation="stopped" operation_key="FAKE1-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="6">
+    <action_set>
+      <rsc_op id="27" operation="stop" operation_key="FAKE2_stop_0" internal_operation_key="FAKE2:0_stop_0" on_node="c7auto3" on_node_uuid="3">
+        <primitive id="FAKE2" long-id="FAKE2:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="35" operation="stop" operation_key="FAKE2-clone_stop_0"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="37" operation="stop" operation_key="FAKE3_stop_0" internal_operation_key="FAKE3:0_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="7">
+    <action_set>
+      <rsc_op id="29" operation="stop" operation_key="FAKE2_stop_0" internal_operation_key="FAKE2:1_stop_0" on_node="c7auto1" on_node_uuid="1">
+        <primitive id="FAKE2" long-id="FAKE2:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="35" operation="stop" operation_key="FAKE2-clone_stop_0"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="39" operation="stop" operation_key="FAKE3_stop_0" internal_operation_key="FAKE3:1_stop_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="8">
+    <action_set>
+      <rsc_op id="31" operation="stop" operation_key="FAKE2_stop_0" internal_operation_key="FAKE2:2_stop_0" on_node="c7auto2" on_node_uuid="2">
+        <primitive id="FAKE2" long-id="FAKE2:2" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="35" operation="stop" operation_key="FAKE2-clone_stop_0"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="41" operation="stop" operation_key="FAKE3_stop_0" internal_operation_key="FAKE3:2_stop_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="9" priority="1000000">
+    <action_set>
+      <pseudo_event id="36" operation="stopped" operation_key="FAKE2-clone_stopped_0">
+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="27" operation="stop" operation_key="FAKE2_stop_0" internal_operation_key="FAKE2:0_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="29" operation="stop" operation_key="FAKE2_stop_0" internal_operation_key="FAKE2:1_stop_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="31" operation="stop" operation_key="FAKE2_stop_0" internal_operation_key="FAKE2:2_stop_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="35" operation="stop" operation_key="FAKE2-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="10">
+    <action_set>
+      <pseudo_event id="35" operation="stop" operation_key="FAKE2-clone_stop_0">
+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="46" operation="stopped" operation_key="FAKE3-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="11">
+    <action_set>
+      <rsc_op id="37" operation="stop" operation_key="FAKE3_stop_0" internal_operation_key="FAKE3:0_stop_0" on_node="c7auto3" on_node_uuid="3">
+        <primitive id="FAKE3" long-id="FAKE3:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="45" operation="stop" operation_key="FAKE3-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="12">
+    <action_set>
+      <rsc_op id="39" operation="stop" operation_key="FAKE3_stop_0" internal_operation_key="FAKE3:1_stop_0" on_node="c7auto1" on_node_uuid="1">
+        <primitive id="FAKE3" long-id="FAKE3:1" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="1" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="45" operation="stop" operation_key="FAKE3-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="13">
+    <action_set>
+      <rsc_op id="41" operation="stop" operation_key="FAKE3_stop_0" internal_operation_key="FAKE3:2_stop_0" on_node="c7auto2" on_node_uuid="2">
+        <primitive id="FAKE3" long-id="FAKE3:2" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="2" CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_name="stop" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="45" operation="stop" operation_key="FAKE3-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="14" priority="1000000">
+    <action_set>
+      <pseudo_event id="46" operation="stopped" operation_key="FAKE3-clone_stopped_0">
+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="37" operation="stop" operation_key="FAKE3_stop_0" internal_operation_key="FAKE3:0_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="39" operation="stop" operation_key="FAKE3_stop_0" internal_operation_key="FAKE3:1_stop_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="41" operation="stop" operation_key="FAKE3_stop_0" internal_operation_key="FAKE3:2_stop_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="45" operation="stop" operation_key="FAKE3-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="15">
+    <action_set>
+      <pseudo_event id="45" operation="stop" operation_key="FAKE3-clone_stop_0">
+        <attributes CRM_meta_clone_max="3" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="16">
+    <action_set>
+      <pseudo_event id="12" operation="all_stopped" operation_key="all_stopped">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="19" operation="stop" operation_key="FAKE1_stop_0" internal_operation_key="FAKE1:0_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="22" operation="stop" operation_key="FAKE1_stop_0" internal_operation_key="FAKE1:2_stop_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="27" operation="stop" operation_key="FAKE2_stop_0" internal_operation_key="FAKE2:0_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="29" operation="stop" operation_key="FAKE2_stop_0" internal_operation_key="FAKE2:1_stop_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="31" operation="stop" operation_key="FAKE2_stop_0" internal_operation_key="FAKE2:2_stop_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="37" operation="stop" operation_key="FAKE3_stop_0" internal_operation_key="FAKE3:0_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="39" operation="stop" operation_key="FAKE3_stop_0" internal_operation_key="FAKE3:1_stop_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="41" operation="stop" operation_key="FAKE3_stop_0" internal_operation_key="FAKE3:2_stop_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/clone_min_interleave_stop_two.scores b/pengine/test10/clone_min_interleave_stop_two.scores
new file mode 100644
index 0000000..ee7df92
--- /dev/null
+++ b/pengine/test10/clone_min_interleave_stop_two.scores
@@ -0,0 +1,67 @@
+Allocation scores:
+clone_color: FAKE1-clone allocation score on c7auto1: 0
+clone_color: FAKE1-clone allocation score on c7auto2: -INFINITY
+clone_color: FAKE1-clone allocation score on c7auto3: -INFINITY
+clone_color: FAKE1:0 allocation score on c7auto1: 0
+clone_color: FAKE1:0 allocation score on c7auto2: -INFINITY
+clone_color: FAKE1:0 allocation score on c7auto3: -INFINITY
+clone_color: FAKE1:1 allocation score on c7auto1: 1
+clone_color: FAKE1:1 allocation score on c7auto2: -INFINITY
+clone_color: FAKE1:1 allocation score on c7auto3: -INFINITY
+clone_color: FAKE1:2 allocation score on c7auto1: 0
+clone_color: FAKE1:2 allocation score on c7auto2: -INFINITY
+clone_color: FAKE1:2 allocation score on c7auto3: -INFINITY
+clone_color: FAKE2-clone allocation score on c7auto1: 0
+clone_color: FAKE2-clone allocation score on c7auto2: 0
+clone_color: FAKE2-clone allocation score on c7auto3: 0
+clone_color: FAKE2:0 allocation score on c7auto1: 0
+clone_color: FAKE2:0 allocation score on c7auto2: 0
+clone_color: FAKE2:0 allocation score on c7auto3: 1
+clone_color: FAKE2:1 allocation score on c7auto1: 1
+clone_color: FAKE2:1 allocation score on c7auto2: 0
+clone_color: FAKE2:1 allocation score on c7auto3: 0
+clone_color: FAKE2:2 allocation score on c7auto1: 0
+clone_color: FAKE2:2 allocation score on c7auto2: 1
+clone_color: FAKE2:2 allocation score on c7auto3: 0
+clone_color: FAKE3-clone allocation score on c7auto1: 0
+clone_color: FAKE3-clone allocation score on c7auto2: 0
+clone_color: FAKE3-clone allocation score on c7auto3: 0
+clone_color: FAKE3:0 allocation score on c7auto1: 0
+clone_color: FAKE3:0 allocation score on c7auto2: 0
+clone_color: FAKE3:0 allocation score on c7auto3: 1
+clone_color: FAKE3:1 allocation score on c7auto1: 1
+clone_color: FAKE3:1 allocation score on c7auto2: 0
+clone_color: FAKE3:1 allocation score on c7auto3: 0
+clone_color: FAKE3:2 allocation score on c7auto1: 0
+clone_color: FAKE3:2 allocation score on c7auto2: 1
+clone_color: FAKE3:2 allocation score on c7auto3: 0
+native_color: FAKE1:0 allocation score on c7auto1: -INFINITY
+native_color: FAKE1:0 allocation score on c7auto2: -INFINITY
+native_color: FAKE1:0 allocation score on c7auto3: -INFINITY
+native_color: FAKE1:1 allocation score on c7auto1: 1
+native_color: FAKE1:1 allocation score on c7auto2: -INFINITY
+native_color: FAKE1:1 allocation score on c7auto3: -INFINITY
+native_color: FAKE1:2 allocation score on c7auto1: -INFINITY
+native_color: FAKE1:2 allocation score on c7auto2: -INFINITY
+native_color: FAKE1:2 allocation score on c7auto3: -INFINITY
+native_color: FAKE2:0 allocation score on c7auto1: 0
+native_color: FAKE2:0 allocation score on c7auto2: -INFINITY
+native_color: FAKE2:0 allocation score on c7auto3: 1
+native_color: FAKE2:1 allocation score on c7auto1: 1
+native_color: FAKE2:1 allocation score on c7auto2: -INFINITY
+native_color: FAKE2:1 allocation score on c7auto3: -INFINITY
+native_color: FAKE2:2 allocation score on c7auto1: 0
+native_color: FAKE2:2 allocation score on c7auto2: 1
+native_color: FAKE2:2 allocation score on c7auto3: 0
+native_color: FAKE3:0 allocation score on c7auto1: 0
+native_color: FAKE3:0 allocation score on c7auto2: -INFINITY
+native_color: FAKE3:0 allocation score on c7auto3: 1
+native_color: FAKE3:1 allocation score on c7auto1: 1
+native_color: FAKE3:1 allocation score on c7auto2: -INFINITY
+native_color: FAKE3:1 allocation score on c7auto3: -INFINITY
+native_color: FAKE3:2 allocation score on c7auto1: 0
+native_color: FAKE3:2 allocation score on c7auto2: 1
+native_color: FAKE3:2 allocation score on c7auto3: 0
+native_color: shooter allocation score on c7auto1: 0
+native_color: shooter allocation score on c7auto2: 0
+native_color: shooter allocation score on c7auto3: 0
diff --git a/pengine/test10/clone_min_interleave_stop_two.summary b/pengine/test10/clone_min_interleave_stop_two.summary
new file mode 100644
index 0000000..fb28e0d
--- /dev/null
+++ b/pengine/test10/clone_min_interleave_stop_two.summary
@@ -0,0 +1,53 @@
+
+Current cluster status:
+Online: [ c7auto1 c7auto2 c7auto3 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKE1-clone [FAKE1]
+     Started: [ c7auto1 c7auto2 c7auto3 ]
+ Clone Set: FAKE2-clone [FAKE2]
+     Started: [ c7auto1 c7auto2 c7auto3 ]
+ Clone Set: FAKE3-clone [FAKE3]
+     Started: [ c7auto1 c7auto2 c7auto3 ]
+
+Transition Summary:
+ * Stop    FAKE1:0	(c7auto3)
+ * Stop    FAKE1:2	(c7auto2)
+ * Stop    FAKE2:0	(Started c7auto3)
+ * Stop    FAKE2:1	(Started c7auto1)
+ * Stop    FAKE2:2	(Started c7auto2)
+ * Stop    FAKE3:0	(Started c7auto3)
+ * Stop    FAKE3:1	(Started c7auto1)
+ * Stop    FAKE3:2	(Started c7auto2)
+
+Executing cluster transition:
+ * Pseudo action:   FAKE3-clone_stop_0
+ * Resource action: FAKE3           stop on c7auto3
+ * Resource action: FAKE3           stop on c7auto1
+ * Resource action: FAKE3           stop on c7auto2
+ * Pseudo action:   FAKE3-clone_stopped_0
+ * Pseudo action:   FAKE2-clone_stop_0
+ * Resource action: FAKE2           stop on c7auto3
+ * Resource action: FAKE2           stop on c7auto1
+ * Resource action: FAKE2           stop on c7auto2
+ * Pseudo action:   FAKE2-clone_stopped_0
+ * Pseudo action:   FAKE1-clone_stop_0
+ * Resource action: FAKE1           stop on c7auto3
+ * Resource action: FAKE1           stop on c7auto2
+ * Pseudo action:   FAKE1-clone_stopped_0
+ * Pseudo action:   FAKE1-clone_start_0
+ * Pseudo action:   all_stopped
+ * Pseudo action:   FAKE1-clone_running_0
+
+Revised cluster status:
+Online: [ c7auto1 c7auto2 c7auto3 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKE1-clone [FAKE1]
+     Started: [ c7auto1 ]
+     Stopped: [ c7auto2 c7auto3 ]
+ Clone Set: FAKE2-clone [FAKE2]
+     Stopped: [ c7auto1 c7auto2 c7auto3 ]
+ Clone Set: FAKE3-clone [FAKE3]
+     Stopped: [ c7auto1 c7auto2 c7auto3 ]
+
diff --git a/pengine/test10/clone_min_interleave_stop_two.xml b/pengine/test10/clone_min_interleave_stop_two.xml
new file mode 100644
index 0000000..32c2b3b
--- /dev/null
+++ b/pengine/test10/clone_min_interleave_stop_two.xml
@@ -0,0 +1,154 @@
+<cib crm_feature_set="3.0.10" validate-with="pacemaker-2.3" epoch="13" num_updates="0" admin_epoch="0" cib-last-written="Fri Jul 17 11:30:45 2015" update-origin="c7auto1" update-client="cibadmin" update-user="root" have-quorum="1" dc-uuid="3">
+  <configuration>
+    <crm_config>
+      <cluster_property_set id="cib-bootstrap-options">
+        <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+        <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.12-ef86b49"/>
+        <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="c7auto1"/>
+      <node id="2" uname="c7auto2"/>
+      <node id="3" uname="c7auto3"/>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_phd_kvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="FAKE1-clone">
+        <primitive class="ocf" id="FAKE1" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKE1-instance_attributes"/>
+          <operations>
+            <op id="FAKE1-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKE1-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKE1-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKE1-clone-meta">
+          <nvpair id="FAKE1-clone-min" name="clone-min" value="2"/>
+        </meta_attributes>
+      </clone>
+      <clone id="FAKE2-clone">
+        <primitive class="ocf" id="FAKE2" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKE2-instance_attributes"/>
+          <operations>
+            <op id="FAKE2-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKE2-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKE2-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKE2-clone-meta">
+          <nvpair id="FAKE2-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+      <clone id="FAKE3-clone">
+        <primitive class="ocf" id="FAKE3" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKE3-instance_attributes"/>
+          <operations>
+            <op id="FAKE3-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKE3-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKE3-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKE3-clone-meta">
+          <nvpair id="FAKE3-interleave" name="interleave" value="true"/>
+        </meta_attributes>
+      </clone>
+    </resources>
+    <constraints>
+      <rsc_order first="FAKE1-clone" first-action="start" id="order-FAKE1-clone-FAKE2-clone-mandatory" then="FAKE2-clone" then-action="start"/>
+      <rsc_order first="FAKE2-clone" first-action="start" id="order-FAKE2-clone-FAKE3-clone-mandatory" then="FAKE3-clone" then-action="start"/>
+      <rsc_location id="cli-ban-FAKE1-clone-on-c7auto3" rsc="FAKE1-clone" role="Started" node="c7auto3" score="-INFINITY"/>
+      <rsc_location id="cli-ban-FAKE1-clone-on-c7auto2" rsc="FAKE1-clone" role="Started" node="c7auto2" score="-INFINITY"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="3" uname="c7auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="3">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="8:4:7:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:7;8:4:7:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437146780" last-rc-change="1437146780" exec-time="998" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="14:5:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;14:5:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="11" rc-code="0" op-status="0" interval="0" last-run="1437147006" last-rc-change="1437147006" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE1_monitor_10000" operation_key="FAKE1_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="15:5:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;15:5:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147006" exec-time="9" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="27:6:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;27:6:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="18" rc-code="0" op-status="0" interval="0" last-run="1437147019" last-rc-change="1437147019" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE2_monitor_10000" operation_key="FAKE2_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="28:6:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;28:6:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="19" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147019" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="40:7:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;40:7:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1437147024" last-rc-change="1437147024" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE3_monitor_10000" operation_key="FAKE3_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="41:7:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;41:7:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto3" call-id="26" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147024" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="3">
+        <instance_attributes id="status-3">
+          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="1" uname="c7auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="1">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="9:4:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;9:4:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1437146782" last-rc-change="1437146782" exec-time="5" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="10:4:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;10:4:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1437146783" exec-time="5" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="16:5:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;16:5:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="13" rc-code="0" op-status="0" interval="0" last-run="1437147007" last-rc-change="1437147007" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE1_monitor_10000" operation_key="FAKE1_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="17:5:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;17:5:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="14" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147007" exec-time="6" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="29:6:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;29:6:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="20" rc-code="0" op-status="0" interval="0" last-run="1437147019" last-rc-change="1437147019" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE2_monitor_10000" operation_key="FAKE2_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="30:6:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;30:6:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="21" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147019" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="42:7:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;42:7:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="27" rc-code="0" op-status="0" interval="0" last-run="1437147024" last-rc-change="1437147024" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE3_monitor_10000" operation_key="FAKE3_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="43:7:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;43:7:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto1" call-id="28" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147024" exec-time="6" queue-time="1" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="1">
+        <instance_attributes id="status-1">
+          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="2" uname="c7auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="2">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="6:4:7:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:7;6:4:7:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437146780" last-rc-change="1437146780" exec-time="994" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE1" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE1_last_0" operation_key="FAKE1_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="12:5:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;12:5:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="11" rc-code="0" op-status="0" interval="0" last-run="1437147007" last-rc-change="1437147007" exec-time="6" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE1_monitor_10000" operation_key="FAKE1_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="13:5:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;13:5:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147007" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE2_last_0" operation_key="FAKE2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="25:6:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;25:6:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="18" rc-code="0" op-status="0" interval="0" last-run="1437147019" last-rc-change="1437147019" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE2_monitor_10000" operation_key="FAKE2_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="26:6:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;26:6:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="19" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147019" exec-time="6" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE3" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE3_last_0" operation_key="FAKE3_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="38:7:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;38:7:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="25" rc-code="0" op-status="0" interval="0" last-run="1437147024" last-rc-change="1437147024" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE3_monitor_10000" operation_key="FAKE3_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="39:7:0:9d56c099-7067-4908-9f99-89a103eff57b" transition-magic="0:0;39:7:0:9d56c099-7067-4908-9f99-89a103eff57b" on_node="c7auto2" call-id="26" rc-code="0" op-status="0" interval="10000" last-rc-change="1437147024" exec-time="8" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="2">
+        <instance_attributes id="status-2">
+          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/clone_min_start_one.dot b/pengine/test10/clone_min_start_one.dot
new file mode 100644
index 0000000..3940361
--- /dev/null
+++ b/pengine/test10/clone_min_start_one.dot
@@ -0,0 +1,20 @@
+ digraph "g" {
+"FAKECLONE-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE-clone_start_0" -> "FAKECLONE-clone_running_0" [ style = bold]
+"FAKECLONE-clone_start_0" -> "FAKECLONE_start_0 c7auto3" [ style = bold]
+"FAKECLONE-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE_monitor_10000 c7auto3" [ style=bold color="green" fontcolor="black"]
+"FAKECLONE_start_0 c7auto3" -> "FAKECLONE-clone_running_0" [ style = bold]
+"FAKECLONE_start_0 c7auto3" -> "FAKECLONE_monitor_10000 c7auto3" [ style = bold]
+"FAKECLONE_start_0 c7auto3" [ style=bold color="green" fontcolor="black"]
+"FAKE_monitor_10000 c7auto4" [ style=dashed color="red" fontcolor="black"]
+"FAKE_start_0 c7auto4" -> "FAKE_monitor_10000 c7auto4" [ style = dashed]
+"FAKE_start_0 c7auto4" [ style=dashed color="red" fontcolor="black"]
+"all_stopped" [ style=bold color="green" fontcolor="orange"]
+"shooter_monitor_60000 c7auto3" [ style=bold color="green" fontcolor="black"]
+"shooter_start_0 c7auto3" -> "shooter_monitor_60000 c7auto3" [ style = bold]
+"shooter_start_0 c7auto3" [ style=bold color="green" fontcolor="black"]
+"shooter_stop_0 c7auto1" -> "all_stopped" [ style = bold]
+"shooter_stop_0 c7auto1" -> "shooter_start_0 c7auto3" [ style = bold]
+"shooter_stop_0 c7auto1" [ style=bold color="green" fontcolor="black"]
+}
diff --git a/pengine/test10/clone_min_start_one.exp b/pengine/test10/clone_min_start_one.exp
new file mode 100644
index 0000000..a6868f6
--- /dev/null
+++ b/pengine/test10/clone_min_start_one.exp
@@ -0,0 +1,98 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0">
+    <action_set>
+      <rsc_op id="11" operation="monitor" operation_key="shooter_monitor_60000" on_node="c7auto3" on_node_uuid="3">
+        <primitive id="shooter" class="stonith" type="fence_phd_kvm"/>
+        <attributes CRM_meta_interval="60000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="10" operation="start" operation_key="shooter_start_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="10" operation="start" operation_key="shooter_start_0" on_node="c7auto3" on_node_uuid="3">
+        <primitive id="shooter" class="stonith" type="fence_phd_kvm"/>
+        <attributes CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="9" operation="stop" operation_key="shooter_stop_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2">
+    <action_set>
+      <rsc_op id="9" operation="stop" operation_key="shooter_stop_0" on_node="c7auto1" on_node_uuid="1">
+        <primitive id="shooter" class="stonith" type="fence_phd_kvm"/>
+        <attributes CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <rsc_op id="13" operation="monitor" operation_key="FAKECLONE_monitor_10000" internal_operation_key="FAKECLONE:0_monitor_10000" on_node="c7auto3" on_node_uuid="3">
+        <primitive id="FAKECLONE" long-id="FAKECLONE: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="12" operation="start" operation_key="FAKECLONE_start_0" internal_operation_key="FAKECLONE:0_start_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4">
+    <action_set>
+      <rsc_op id="12" operation="start" operation_key="FAKECLONE_start_0" internal_operation_key="FAKECLONE:0_start_0" on_node="c7auto3" on_node_uuid="3">
+        <primitive id="FAKECLONE" long-id="FAKECLONE: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="14" operation="start" operation_key="FAKECLONE-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5" priority="1000000">
+    <action_set>
+      <pseudo_event id="15" operation="running" operation_key="FAKECLONE-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="12" operation="start" operation_key="FAKECLONE_start_0" internal_operation_key="FAKECLONE:0_start_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="14" operation="start" operation_key="FAKECLONE-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="6">
+    <action_set>
+      <pseudo_event id="14" operation="start" operation_key="FAKECLONE-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="7">
+    <action_set>
+      <pseudo_event id="3" operation="all_stopped" operation_key="all_stopped">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="9" operation="stop" operation_key="shooter_stop_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/clone_min_start_one.scores b/pengine/test10/clone_min_start_one.scores
new file mode 100644
index 0000000..668689e
--- /dev/null
+++ b/pengine/test10/clone_min_start_one.scores
@@ -0,0 +1,45 @@
+Allocation scores:
+clone_color: FAKECLONE-clone allocation score on c7auto1: 0
+clone_color: FAKECLONE-clone allocation score on c7auto2: 0
+clone_color: FAKECLONE-clone allocation score on c7auto3: 0
+clone_color: FAKECLONE-clone allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:0 allocation score on c7auto1: 0
+clone_color: FAKECLONE:0 allocation score on c7auto2: 0
+clone_color: FAKECLONE:0 allocation score on c7auto3: 0
+clone_color: FAKECLONE:0 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:1 allocation score on c7auto1: 0
+clone_color: FAKECLONE:1 allocation score on c7auto2: 0
+clone_color: FAKECLONE:1 allocation score on c7auto3: 0
+clone_color: FAKECLONE:1 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:2 allocation score on c7auto1: 0
+clone_color: FAKECLONE:2 allocation score on c7auto2: 0
+clone_color: FAKECLONE:2 allocation score on c7auto3: 0
+clone_color: FAKECLONE:2 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:3 allocation score on c7auto1: 0
+clone_color: FAKECLONE:3 allocation score on c7auto2: 0
+clone_color: FAKECLONE:3 allocation score on c7auto3: 0
+clone_color: FAKECLONE:3 allocation score on c7auto4: -INFINITY
+native_color: FAKE allocation score on c7auto1: -INFINITY
+native_color: FAKE allocation score on c7auto2: -INFINITY
+native_color: FAKE allocation score on c7auto3: -INFINITY
+native_color: FAKE allocation score on c7auto4: 0
+native_color: FAKECLONE:0 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto3: 0
+native_color: FAKECLONE:0 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto4: -INFINITY
+native_color: shooter allocation score on c7auto1: 0
+native_color: shooter allocation score on c7auto2: 0
+native_color: shooter allocation score on c7auto3: 0
+native_color: shooter allocation score on c7auto4: 0
diff --git a/pengine/test10/clone_min_start_one.summary b/pengine/test10/clone_min_start_one.summary
new file mode 100644
index 0000000..ee33e01
--- /dev/null
+++ b/pengine/test10/clone_min_start_one.summary
@@ -0,0 +1,37 @@
+
+Current cluster status:
+Node c7auto1 (1): standby
+Node c7auto2 (2): standby
+Online: [ c7auto3 c7auto4 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKECLONE-clone [FAKECLONE]
+     Stopped: [ c7auto1 c7auto2 c7auto3 c7auto4 ]
+ FAKE	(ocf::heartbeat:Dummy):	Stopped
+
+Transition Summary:
+ * Move    shooter	(Started c7auto1 -> c7auto3)
+ * Start   FAKECLONE:0	(c7auto3)
+ * Start   FAKE	(c7auto4 - blocked)
+
+Executing cluster transition:
+ * Resource action: shooter         stop on c7auto1
+ * Pseudo action:   FAKECLONE-clone_start_0
+ * Pseudo action:   all_stopped
+ * Resource action: shooter         start on c7auto3
+ * Resource action: FAKECLONE       start on c7auto3
+ * Pseudo action:   FAKECLONE-clone_running_0
+ * Resource action: shooter         monitor=60000 on c7auto3
+ * Resource action: FAKECLONE       monitor=10000 on c7auto3
+
+Revised cluster status:
+Node c7auto1 (1): standby
+Node c7auto2 (2): standby
+Online: [ c7auto3 c7auto4 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto3
+ Clone Set: FAKECLONE-clone [FAKECLONE]
+     Started: [ c7auto3 ]
+     Stopped: [ c7auto1 c7auto2 c7auto4 ]
+ FAKE	(ocf::heartbeat:Dummy):	Stopped
+
diff --git a/pengine/test10/clone_min_start_one.xml b/pengine/test10/clone_min_start_one.xml
new file mode 100644
index 0000000..dfb9379
--- /dev/null
+++ b/pengine/test10/clone_min_start_one.xml
@@ -0,0 +1,155 @@
+<cib crm_feature_set="3.0.10" validate-with="pacemaker-2.3" epoch="17" num_updates="0" admin_epoch="0" cib-last-written="Thu Jul 16 15:37:54 2015" update-origin="c7auto1" update-client="crm_resource" update-user="root" 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-ef86b49"/>
+        <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="c7auto1">
+        <instance_attributes id="nodes-1">
+          <nvpair id="nodes-1-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+      <node id="2" uname="c7auto2">
+        <instance_attributes id="nodes-2">
+          <nvpair id="nodes-2-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+      <node id="3" uname="c7auto3"/>
+      <node id="4" uname="c7auto4"/>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_phd_kvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="FAKECLONE-clone">
+        <primitive class="ocf" id="FAKECLONE" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKECLONE-instance_attributes"/>
+          <operations>
+            <op id="FAKECLONE-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKECLONE-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKECLONE-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKECLONE-clone-meta">
+          <nvpair id="FAKECLONE-clone-min" name="clone-min" value="2"/>
+        </meta_attributes>
+        <meta_attributes id="FAKECLONE-clone-meta_attributes"/>
+      </clone>
+      <primitive class="ocf" id="FAKE" provider="heartbeat" type="Dummy">
+        <instance_attributes id="FAKE-instance_attributes"/>
+        <operations>
+          <op id="FAKE-start-timeout-20" interval="0s" name="start" timeout="20"/>
+          <op id="FAKE-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+          <op id="FAKE-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+        </operations>
+      </primitive>
+    </resources>
+    <constraints>
+      <rsc_location id="location-FAKECLONE-clone-c7auto4--INFINITY" node="c7auto4" rsc="FAKECLONE-clone" score="-INFINITY"/>
+      <rsc_location id="location-FAKE-c7auto1--INFINITY" node="c7auto1" rsc="FAKE" score="-INFINITY"/>
+      <rsc_location id="location-FAKE-c7auto2--INFINITY" node="c7auto2" rsc="FAKE" score="-INFINITY"/>
+      <rsc_location id="location-FAKE-c7auto3--INFINITY" node="c7auto3" rsc="FAKE" score="-INFINITY"/>
+      <rsc_order first="FAKECLONE-clone" first-action="start" id="order-FAKECLONE-clone-FAKE-mandatory" then="FAKE" then-action="start"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="1" uname="c7auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="1">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="11:0:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;11:0:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1437073991" last-rc-change="1437073991" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="9:1:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;9:1:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1437073992" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="14:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;14:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="20" rc-code="0" op-status="0" interval="0" last-run="1437075474" last-rc-change="1437075474" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="21:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;21:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="14" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074829" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE_last_0" operation_key="FAKE_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="8:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;8:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="18" rc-code="7" op-status="0" interval="0" last-run="1437074871" last-rc-change="1437074871" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="1">
+        <instance_attributes id="status-1">
+          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="2" uname="c7auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="2">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="6:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;6:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="964" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="15:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;15:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="18" rc-code="0" op-status="0" interval="0" last-run="1437075473" last-rc-change="1437075473" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="15:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;15:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074829" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE_last_0" operation_key="FAKE_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="10:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;10:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="16" rc-code="7" op-status="0" interval="0" last-run="1437074871" last-rc-change="1437074871" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="2">
+        <instance_attributes id="status-2">
+          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="3" uname="c7auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="3">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="8:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;8:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="963" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="16:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;16:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="18" rc-code="0" op-status="0" interval="0" last-run="1437075473" last-rc-change="1437075473" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="17:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;17:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074828" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE_last_0" operation_key="FAKE_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="12:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;12:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="16" rc-code="7" op-status="0" interval="0" last-run="1437074870" last-rc-change="1437074870" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="3">
+        <instance_attributes id="status-3">
+          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="4" uname="c7auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="4">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="10:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;10:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="963" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="20:3:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;20:3:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="14" rc-code="0" op-status="0" interval="0" last-run="1437074856" last-rc-change="1437074856" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="19:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;19:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074829" exec-time="6" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE_last_0" operation_key="FAKE_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="21:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;21:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="22" rc-code="0" op-status="0" interval="0" last-run="1437075473" last-rc-change="1437075473" exec-time="6" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE_monitor_10000" operation_key="FAKE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="28:4:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;28:4:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="20" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074871" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <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>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/clone_min_start_two.dot b/pengine/test10/clone_min_start_two.dot
new file mode 100644
index 0000000..3fe0062
--- /dev/null
+++ b/pengine/test10/clone_min_start_two.dot
@@ -0,0 +1,22 @@
+ digraph "g" {
+"FAKECLONE-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE-clone_start_0" -> "FAKECLONE-clone_running_0" [ style = bold]
+"FAKECLONE-clone_start_0" -> "FAKECLONE:1_start_0 c7auto1" [ style = bold]
+"FAKECLONE-clone_start_0" -> "FAKECLONE_start_0 c7auto3" [ style = bold]
+"FAKECLONE-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE:1_monitor_10000 c7auto1" [ style=bold color="green" fontcolor="black"]
+"FAKECLONE:1_start_0 c7auto1" -> "FAKECLONE-clone_running_0" [ style = bold]
+"FAKECLONE:1_start_0 c7auto1" -> "FAKECLONE:1_monitor_10000 c7auto1" [ style = bold]
+"FAKECLONE:1_start_0 c7auto1" -> "clone-one-or-more:order-FAKECLONE-clone-FAKE-mandatory" [ style = bold]
+"FAKECLONE:1_start_0 c7auto1" [ style=bold color="green" fontcolor="black"]
+"FAKECLONE_monitor_10000 c7auto3" [ style=bold color="green" fontcolor="black"]
+"FAKECLONE_start_0 c7auto3" -> "FAKECLONE-clone_running_0" [ style = bold]
+"FAKECLONE_start_0 c7auto3" -> "FAKECLONE_monitor_10000 c7auto3" [ style = bold]
+"FAKECLONE_start_0 c7auto3" -> "clone-one-or-more:order-FAKECLONE-clone-FAKE-mandatory" [ style = bold]
+"FAKECLONE_start_0 c7auto3" [ style=bold color="green" fontcolor="black"]
+"FAKE_monitor_10000 c7auto4" [ style=bold color="green" fontcolor="black"]
+"FAKE_start_0 c7auto4" -> "FAKE_monitor_10000 c7auto4" [ style = bold]
+"FAKE_start_0 c7auto4" [ style=bold color="green" fontcolor="black"]
+"clone-one-or-more:order-FAKECLONE-clone-FAKE-mandatory" -> "FAKE_start_0 c7auto4" [ style = bold]
+"clone-one-or-more:order-FAKECLONE-clone-FAKE-mandatory" [ style=bold color="green" fontcolor="orange"]
+}
diff --git a/pengine/test10/clone_min_start_two.exp b/pengine/test10/clone_min_start_two.exp
new file mode 100644
index 0000000..f7a053c
--- /dev/null
+++ b/pengine/test10/clone_min_start_two.exp
@@ -0,0 +1,121 @@
+<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="FAKECLONE_monitor_10000" internal_operation_key="FAKECLONE:0_monitor_10000" on_node="c7auto3" on_node_uuid="3">
+        <primitive id="FAKECLONE" long-id="FAKECLONE: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="FAKECLONE_start_0" internal_operation_key="FAKECLONE:0_start_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="11" operation="start" operation_key="FAKECLONE_start_0" internal_operation_key="FAKECLONE:0_start_0" on_node="c7auto3" on_node_uuid="3">
+        <primitive id="FAKECLONE" long-id="FAKECLONE: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="15" operation="start" operation_key="FAKECLONE-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2">
+    <action_set>
+      <rsc_op id="14" operation="monitor" operation_key="FAKECLONE:1_monitor_10000" on_node="c7auto1" on_node_uuid="1">
+        <primitive id="FAKECLONE" long-id="FAKECLONE: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="13" operation="start" operation_key="FAKECLONE:1_start_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <rsc_op id="13" operation="start" operation_key="FAKECLONE:1_start_0" on_node="c7auto1" on_node_uuid="1">
+        <primitive id="FAKECLONE" long-id="FAKECLONE: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="15" operation="start" operation_key="FAKECLONE-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4" priority="1000000">
+    <action_set>
+      <pseudo_event id="16" operation="running" operation_key="FAKECLONE-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="FAKECLONE_start_0" internal_operation_key="FAKECLONE:0_start_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="13" operation="start" operation_key="FAKECLONE:1_start_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="15" operation="start" operation_key="FAKECLONE-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <pseudo_event id="15" operation="start" operation_key="FAKECLONE-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="6">
+    <action_set>
+      <rsc_op id="20" operation="monitor" operation_key="FAKE_monitor_10000" on_node="c7auto4" on_node_uuid="4">
+        <primitive id="FAKE" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="19" operation="start" operation_key="FAKE_start_0" on_node="c7auto4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="7">
+    <action_set>
+      <rsc_op id="19" operation="start" operation_key="FAKE_start_0" on_node="c7auto4" on_node_uuid="4">
+        <primitive id="FAKE" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_name="start" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <pseudo_event id="2" operation="clone-one-or-more:order-FAKECLONE-clone-FAKE-mandatory" operation_key="clone-one-or-more:order-FAKECLONE-clone-FAKE-mandatory"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="8">
+    <action_set>
+      <pseudo_event id="2" operation="clone-one-or-more:order-FAKECLONE-clone-FAKE-mandatory" operation_key="clone-one-or-more:order-FAKECLONE-clone-FAKE-mandatory">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="11" operation="start" operation_key="FAKECLONE_start_0" internal_operation_key="FAKECLONE:0_start_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="13" operation="start" operation_key="FAKECLONE:1_start_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/clone_min_start_two.scores b/pengine/test10/clone_min_start_two.scores
new file mode 100644
index 0000000..b3bcac0
--- /dev/null
+++ b/pengine/test10/clone_min_start_two.scores
@@ -0,0 +1,45 @@
+Allocation scores:
+clone_color: FAKECLONE-clone allocation score on c7auto1: 0
+clone_color: FAKECLONE-clone allocation score on c7auto2: 0
+clone_color: FAKECLONE-clone allocation score on c7auto3: 0
+clone_color: FAKECLONE-clone allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:0 allocation score on c7auto1: 0
+clone_color: FAKECLONE:0 allocation score on c7auto2: 0
+clone_color: FAKECLONE:0 allocation score on c7auto3: 0
+clone_color: FAKECLONE:0 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:1 allocation score on c7auto1: 0
+clone_color: FAKECLONE:1 allocation score on c7auto2: 0
+clone_color: FAKECLONE:1 allocation score on c7auto3: 0
+clone_color: FAKECLONE:1 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:2 allocation score on c7auto1: 0
+clone_color: FAKECLONE:2 allocation score on c7auto2: 0
+clone_color: FAKECLONE:2 allocation score on c7auto3: 0
+clone_color: FAKECLONE:2 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:3 allocation score on c7auto1: 0
+clone_color: FAKECLONE:3 allocation score on c7auto2: 0
+clone_color: FAKECLONE:3 allocation score on c7auto3: 0
+clone_color: FAKECLONE:3 allocation score on c7auto4: -INFINITY
+native_color: FAKE allocation score on c7auto1: -INFINITY
+native_color: FAKE allocation score on c7auto2: -INFINITY
+native_color: FAKE allocation score on c7auto3: -INFINITY
+native_color: FAKE allocation score on c7auto4: 0
+native_color: FAKECLONE:0 allocation score on c7auto1: 0
+native_color: FAKECLONE:0 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto3: 0
+native_color: FAKECLONE:0 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto1: 0
+native_color: FAKECLONE:1 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto4: -INFINITY
+native_color: shooter allocation score on c7auto1: 0
+native_color: shooter allocation score on c7auto2: 0
+native_color: shooter allocation score on c7auto3: 0
+native_color: shooter allocation score on c7auto4: 0
diff --git a/pengine/test10/clone_min_start_two.summary b/pengine/test10/clone_min_start_two.summary
new file mode 100644
index 0000000..f0c649c
--- /dev/null
+++ b/pengine/test10/clone_min_start_two.summary
@@ -0,0 +1,36 @@
+
+Current cluster status:
+Node c7auto2 (2): standby
+Online: [ c7auto1 c7auto3 c7auto4 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKECLONE-clone [FAKECLONE]
+     Stopped: [ c7auto1 c7auto2 c7auto3 c7auto4 ]
+ FAKE	(ocf::heartbeat:Dummy):	Stopped
+
+Transition Summary:
+ * Start   FAKECLONE:0	(c7auto3)
+ * Start   FAKECLONE:1	(c7auto1)
+ * Start   FAKE	(c7auto4)
+
+Executing cluster transition:
+ * Pseudo action:   FAKECLONE-clone_start_0
+ * Resource action: FAKECLONE       start on c7auto3
+ * Resource action: FAKECLONE       start on c7auto1
+ * Pseudo action:   FAKECLONE-clone_running_0
+ * Pseudo action:   clone-one-or-more:order-FAKECLONE-clone-FAKE-mandatory
+ * Resource action: FAKECLONE       monitor=10000 on c7auto3
+ * Resource action: FAKECLONE       monitor=10000 on c7auto1
+ * Resource action: FAKE            start on c7auto4
+ * Resource action: FAKE            monitor=10000 on c7auto4
+
+Revised cluster status:
+Node c7auto2 (2): standby
+Online: [ c7auto1 c7auto3 c7auto4 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKECLONE-clone [FAKECLONE]
+     Started: [ c7auto1 c7auto3 ]
+     Stopped: [ c7auto2 c7auto4 ]
+ FAKE	(ocf::heartbeat:Dummy):	Started c7auto4
+
diff --git a/pengine/test10/clone_min_start_two.xml b/pengine/test10/clone_min_start_two.xml
new file mode 100644
index 0000000..ae84425
--- /dev/null
+++ b/pengine/test10/clone_min_start_two.xml
@@ -0,0 +1,153 @@
+<cib crm_feature_set="3.0.10" validate-with="pacemaker-2.3" epoch="18" num_updates="0" admin_epoch="0" cib-last-written="Thu Jul 16 15:37:54 2015" update-origin="c7auto1" update-client="crm_resource" update-user="root" 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-ef86b49"/>
+        <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="c7auto1">
+        <instance_attributes id="nodes-1"/>
+      </node>
+      <node id="2" uname="c7auto2">
+        <instance_attributes id="nodes-2">
+          <nvpair id="nodes-2-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+      <node id="3" uname="c7auto3"/>
+      <node id="4" uname="c7auto4"/>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_phd_kvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="FAKECLONE-clone">
+        <primitive class="ocf" id="FAKECLONE" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKECLONE-instance_attributes"/>
+          <operations>
+            <op id="FAKECLONE-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKECLONE-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKECLONE-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKECLONE-clone-meta">
+          <nvpair id="FAKECLONE-clone-min" name="clone-min" value="2"/>
+        </meta_attributes>
+        <meta_attributes id="FAKECLONE-clone-meta_attributes"/>
+      </clone>
+      <primitive class="ocf" id="FAKE" provider="heartbeat" type="Dummy">
+        <instance_attributes id="FAKE-instance_attributes"/>
+        <operations>
+          <op id="FAKE-start-timeout-20" interval="0s" name="start" timeout="20"/>
+          <op id="FAKE-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+          <op id="FAKE-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+        </operations>
+      </primitive>
+    </resources>
+    <constraints>
+      <rsc_location id="location-FAKECLONE-clone-c7auto4--INFINITY" node="c7auto4" rsc="FAKECLONE-clone" score="-INFINITY"/>
+      <rsc_location id="location-FAKE-c7auto1--INFINITY" node="c7auto1" rsc="FAKE" score="-INFINITY"/>
+      <rsc_location id="location-FAKE-c7auto2--INFINITY" node="c7auto2" rsc="FAKE" score="-INFINITY"/>
+      <rsc_location id="location-FAKE-c7auto3--INFINITY" node="c7auto3" rsc="FAKE" score="-INFINITY"/>
+      <rsc_order first="FAKECLONE-clone" first-action="start" id="order-FAKECLONE-clone-FAKE-mandatory" then="FAKE" then-action="start"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="1" uname="c7auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="1">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="11:0:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;11:0:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1437073991" last-rc-change="1437073991" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="9:1:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;9:1:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1437073992" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="14:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;14:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="20" rc-code="0" op-status="0" interval="0" last-run="1437075474" last-rc-change="1437075474" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="21:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;21:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="14" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074829" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE_last_0" operation_key="FAKE_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="8:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;8:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="18" rc-code="7" op-status="0" interval="0" last-run="1437074871" last-rc-change="1437074871" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="1">
+        <instance_attributes id="status-1">
+          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="2" uname="c7auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="2">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="6:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;6:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="964" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="15:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;15:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="18" rc-code="0" op-status="0" interval="0" last-run="1437075473" last-rc-change="1437075473" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="15:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;15:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074829" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE_last_0" operation_key="FAKE_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="10:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;10:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="16" rc-code="7" op-status="0" interval="0" last-run="1437074871" last-rc-change="1437074871" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="2">
+        <instance_attributes id="status-2">
+          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="3" uname="c7auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="3">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="8:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;8:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="963" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="16:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;16:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="18" rc-code="0" op-status="0" interval="0" last-run="1437075473" last-rc-change="1437075473" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="17:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;17:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074828" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE_last_0" operation_key="FAKE_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="12:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;12:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="16" rc-code="7" op-status="0" interval="0" last-run="1437074870" last-rc-change="1437074870" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="3">
+        <instance_attributes id="status-3">
+          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="4" uname="c7auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="4">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="10:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;10:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="963" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="20:3:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;20:3:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="14" rc-code="0" op-status="0" interval="0" last-run="1437074856" last-rc-change="1437074856" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="19:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;19:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074829" exec-time="6" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE_last_0" operation_key="FAKE_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="21:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;21:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="22" rc-code="0" op-status="0" interval="0" last-run="1437075473" last-rc-change="1437075473" exec-time="6" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE_monitor_10000" operation_key="FAKE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="28:4:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;28:4:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="20" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074871" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <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>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/clone_min_stop_all.dot b/pengine/test10/clone_min_stop_all.dot
new file mode 100644
index 0000000..254e889
--- /dev/null
+++ b/pengine/test10/clone_min_stop_all.dot
@@ -0,0 +1,41 @@
+ digraph "g" {
+"FAKECLONE-clone_running_0" [ style=dashed color="red" fontcolor="orange"]
+"FAKECLONE-clone_start_0" -> "FAKECLONE-clone_running_0" [ style = dashed]
+"FAKECLONE-clone_start_0" -> "FAKECLONE_start_0 <none>" [ style = dashed]
+"FAKECLONE-clone_start_0" [ style=dashed color="red" fontcolor="orange"]
+"FAKECLONE-clone_stop_0" -> "FAKECLONE-clone_stopped_0" [ style = bold]
+"FAKECLONE-clone_stop_0" -> "FAKECLONE_stop_0 c7auto1" [ style = bold]
+"FAKECLONE-clone_stop_0" -> "FAKECLONE_stop_0 c7auto2" [ style = bold]
+"FAKECLONE-clone_stop_0" -> "FAKECLONE_stop_0 c7auto3" [ style = bold]
+"FAKECLONE-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE-clone_stopped_0" -> "FAKECLONE-clone_start_0" [ style = dashed]
+"FAKECLONE-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE_start_0 <none>" -> "FAKECLONE-clone_running_0" [ style = dashed]
+"FAKECLONE_start_0 <none>" [ style=dashed color="red" fontcolor="black"]
+"FAKECLONE_stop_0 c7auto1" -> "FAKECLONE-clone_stopped_0" [ style = bold]
+"FAKECLONE_stop_0 c7auto1" -> "FAKECLONE_start_0 <none>" [ style = dashed]
+"FAKECLONE_stop_0 c7auto1" -> "all_stopped" [ style = bold]
+"FAKECLONE_stop_0 c7auto1" [ style=bold color="green" fontcolor="black"]
+"FAKECLONE_stop_0 c7auto2" -> "FAKECLONE-clone_stopped_0" [ style = bold]
+"FAKECLONE_stop_0 c7auto2" -> "FAKECLONE_start_0 <none>" [ style = dashed]
+"FAKECLONE_stop_0 c7auto2" -> "all_stopped" [ style = bold]
+"FAKECLONE_stop_0 c7auto2" [ style=bold color="green" fontcolor="black"]
+"FAKECLONE_stop_0 c7auto3" -> "FAKECLONE-clone_stopped_0" [ style = bold]
+"FAKECLONE_stop_0 c7auto3" -> "FAKECLONE_start_0 <none>" [ style = dashed]
+"FAKECLONE_stop_0 c7auto3" -> "all_stopped" [ style = bold]
+"FAKECLONE_stop_0 c7auto3" [ style=bold color="green" fontcolor="black"]
+"FAKE_monitor_10000 c7auto4" [ style=dashed color="red" fontcolor="black"]
+"FAKE_start_0 c7auto4" -> "FAKE_monitor_10000 c7auto4" [ style = dashed]
+"FAKE_start_0 c7auto4" [ style=dashed color="red" fontcolor="black"]
+"FAKE_stop_0 c7auto4" -> "FAKECLONE-clone_stop_0" [ style = bold]
+"FAKE_stop_0 c7auto4" -> "FAKE_start_0 c7auto4" [ style = dashed]
+"FAKE_stop_0 c7auto4" -> "all_stopped" [ style = bold]
+"FAKE_stop_0 c7auto4" [ style=bold color="green" fontcolor="black"]
+"all_stopped" [ style=bold color="green" fontcolor="orange"]
+"shooter_monitor_60000 c7auto4" [ style=bold color="green" fontcolor="black"]
+"shooter_start_0 c7auto4" -> "shooter_monitor_60000 c7auto4" [ style = bold]
+"shooter_start_0 c7auto4" [ style=bold color="green" fontcolor="black"]
+"shooter_stop_0 c7auto1" -> "all_stopped" [ style = bold]
+"shooter_stop_0 c7auto1" -> "shooter_start_0 c7auto4" [ style = bold]
+"shooter_stop_0 c7auto1" [ style=bold color="green" fontcolor="black"]
+}
diff --git a/pengine/test10/clone_min_stop_all.exp b/pengine/test10/clone_min_stop_all.exp
new file mode 100644
index 0000000..1b8c9ce
--- /dev/null
+++ b/pengine/test10/clone_min_stop_all.exp
@@ -0,0 +1,142 @@
+<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="c7auto4" on_node_uuid="4">
+        <primitive id="shooter" class="stonith" type="fence_phd_kvm"/>
+        <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="c7auto4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="14" operation="start" operation_key="shooter_start_0" on_node="c7auto4" on_node_uuid="4">
+        <primitive id="shooter" class="stonith" type="fence_phd_kvm"/>
+        <attributes CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="13" operation="stop" operation_key="shooter_stop_0" on_node="c7auto1" 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="c7auto1" on_node_uuid="1">
+        <primitive id="shooter" class="stonith" type="fence_phd_kvm"/>
+        <attributes CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <rsc_op id="16" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:0_stop_0" on_node="c7auto1" on_node_uuid="1">
+        <primitive id="FAKECLONE" long-id="FAKECLONE: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="FAKECLONE-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4">
+    <action_set>
+      <rsc_op id="17" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:1_stop_0" on_node="c7auto2" on_node_uuid="2">
+        <primitive id="FAKECLONE" long-id="FAKECLONE: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="21" operation="stop" operation_key="FAKECLONE-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <rsc_op id="18" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:2_stop_0" on_node="c7auto3" on_node_uuid="3">
+        <primitive id="FAKECLONE" long-id="FAKECLONE: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="21" operation="stop" operation_key="FAKECLONE-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="6" priority="1000000">
+    <action_set>
+      <pseudo_event id="22" operation="stopped" operation_key="FAKECLONE-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="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:0_stop_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="17" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:1_stop_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="18" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:2_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="21" operation="stop" operation_key="FAKECLONE-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="7">
+    <action_set>
+      <pseudo_event id="21" operation="stop" operation_key="FAKECLONE-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>
+        <rsc_op id="23" operation="stop" operation_key="FAKE_stop_0" on_node="c7auto4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="8">
+    <action_set>
+      <rsc_op id="23" operation="stop" operation_key="FAKE_stop_0" on_node="c7auto4" on_node_uuid="4">
+        <primitive id="FAKE" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="9">
+    <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="c7auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="16" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:0_stop_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="17" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:1_stop_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="18" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:2_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="23" operation="stop" operation_key="FAKE_stop_0" on_node="c7auto4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/clone_min_stop_all.scores b/pengine/test10/clone_min_stop_all.scores
new file mode 100644
index 0000000..0bcbb1f
--- /dev/null
+++ b/pengine/test10/clone_min_stop_all.scores
@@ -0,0 +1,45 @@
+Allocation scores:
+clone_color: FAKECLONE-clone allocation score on c7auto1: 0
+clone_color: FAKECLONE-clone allocation score on c7auto2: 0
+clone_color: FAKECLONE-clone allocation score on c7auto3: 0
+clone_color: FAKECLONE-clone allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:0 allocation score on c7auto1: 1
+clone_color: FAKECLONE:0 allocation score on c7auto2: 0
+clone_color: FAKECLONE:0 allocation score on c7auto3: 0
+clone_color: FAKECLONE:0 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:1 allocation score on c7auto1: 0
+clone_color: FAKECLONE:1 allocation score on c7auto2: 1
+clone_color: FAKECLONE:1 allocation score on c7auto3: 0
+clone_color: FAKECLONE:1 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:2 allocation score on c7auto1: 0
+clone_color: FAKECLONE:2 allocation score on c7auto2: 0
+clone_color: FAKECLONE:2 allocation score on c7auto3: 1
+clone_color: FAKECLONE:2 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:3 allocation score on c7auto1: 0
+clone_color: FAKECLONE:3 allocation score on c7auto2: 0
+clone_color: FAKECLONE:3 allocation score on c7auto3: 0
+clone_color: FAKECLONE:3 allocation score on c7auto4: -INFINITY
+native_color: FAKE allocation score on c7auto1: -INFINITY
+native_color: FAKE allocation score on c7auto2: -INFINITY
+native_color: FAKE allocation score on c7auto3: -INFINITY
+native_color: FAKE allocation score on c7auto4: 0
+native_color: FAKECLONE:0 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto4: -INFINITY
+native_color: shooter allocation score on c7auto1: 0
+native_color: shooter allocation score on c7auto2: 0
+native_color: shooter allocation score on c7auto3: 0
+native_color: shooter allocation score on c7auto4: 0
diff --git a/pengine/test10/clone_min_stop_all.summary b/pengine/test10/clone_min_stop_all.summary
new file mode 100644
index 0000000..eb2944f
--- /dev/null
+++ b/pengine/test10/clone_min_stop_all.summary
@@ -0,0 +1,43 @@
+
+Current cluster status:
+Node c7auto1 (1): standby
+Node c7auto2 (2): standby
+Node c7auto3 (3): standby
+Online: [ c7auto4 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKECLONE-clone [FAKECLONE]
+     Started: [ c7auto1 c7auto2 c7auto3 ]
+     Stopped: [ c7auto4 ]
+ FAKE	(ocf::heartbeat:Dummy):	Started c7auto4
+
+Transition Summary:
+ * Move    shooter	(Started c7auto1 -> c7auto4)
+ * Stop    FAKECLONE:0	(c7auto1)
+ * Stop    FAKECLONE:1	(c7auto2)
+ * Stop    FAKECLONE:2	(c7auto3)
+ * Stop    FAKE	(Started c7auto4)
+
+Executing cluster transition:
+ * Resource action: shooter         stop on c7auto1
+ * Resource action: FAKE            stop on c7auto4
+ * Resource action: shooter         start on c7auto4
+ * Pseudo action:   FAKECLONE-clone_stop_0
+ * Resource action: shooter         monitor=60000 on c7auto4
+ * Resource action: FAKECLONE       stop on c7auto1
+ * Resource action: FAKECLONE       stop on c7auto2
+ * Resource action: FAKECLONE       stop on c7auto3
+ * Pseudo action:   FAKECLONE-clone_stopped_0
+ * Pseudo action:   all_stopped
+
+Revised cluster status:
+Node c7auto1 (1): standby
+Node c7auto2 (2): standby
+Node c7auto3 (3): standby
+Online: [ c7auto4 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto4
+ Clone Set: FAKECLONE-clone [FAKECLONE]
+     Stopped: [ c7auto1 c7auto2 c7auto3 c7auto4 ]
+ FAKE	(ocf::heartbeat:Dummy):	Stopped
+
diff --git a/pengine/test10/clone_min_stop_all.xml b/pengine/test10/clone_min_stop_all.xml
new file mode 100644
index 0000000..70e8a96
--- /dev/null
+++ b/pengine/test10/clone_min_stop_all.xml
@@ -0,0 +1,158 @@
+<cib crm_feature_set="3.0.10" validate-with="pacemaker-2.3" epoch="18" num_updates="0" admin_epoch="0" cib-last-written="Thu Jul 16 15:28:22 2015" update-origin="c7auto1" update-client="cibadmin" update-user="root" 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-ef86b49"/>
+        <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="c7auto1">
+        <instance_attributes id="nodes-1">
+          <nvpair id="nodes-1-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+      <node id="2" uname="c7auto2">
+        <instance_attributes id="nodes-2">
+          <nvpair id="nodes-2-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+      <node id="3" uname="c7auto3">
+        <instance_attributes id="nodes-3">
+          <nvpair id="nodes-3-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+      <node id="4" uname="c7auto4"/>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_phd_kvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="FAKECLONE-clone">
+        <primitive class="ocf" id="FAKECLONE" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKECLONE-instance_attributes"/>
+          <operations>
+            <op id="FAKECLONE-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKECLONE-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKECLONE-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKECLONE-clone-meta">
+          <nvpair id="FAKECLONE-clone-min" name="clone-min" value="2"/>
+        </meta_attributes>
+      </clone>
+      <primitive class="ocf" id="FAKE" provider="heartbeat" type="Dummy">
+        <instance_attributes id="FAKE-instance_attributes"/>
+        <operations>
+          <op id="FAKE-start-timeout-20" interval="0s" name="start" timeout="20"/>
+          <op id="FAKE-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+          <op id="FAKE-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+        </operations>
+      </primitive>
+    </resources>
+    <constraints>
+      <rsc_location id="location-FAKECLONE-clone-c7auto4--INFINITY" node="c7auto4" rsc="FAKECLONE-clone" score="-INFINITY"/>
+      <rsc_location id="location-FAKE-c7auto1--INFINITY" node="c7auto1" rsc="FAKE" score="-INFINITY"/>
+      <rsc_location id="location-FAKE-c7auto2--INFINITY" node="c7auto2" rsc="FAKE" score="-INFINITY"/>
+      <rsc_location id="location-FAKE-c7auto3--INFINITY" node="c7auto3" rsc="FAKE" score="-INFINITY"/>
+      <rsc_order first="FAKECLONE-clone" first-action="start" id="order-FAKECLONE-clone-FAKE-mandatory" then="FAKE" then-action="start"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="1" uname="c7auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="1">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="11:0:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;11:0:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1437073991" last-rc-change="1437073991" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="9:1:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;9:1:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1437073992" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="20:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;20:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="13" rc-code="0" op-status="0" interval="0" last-run="1437074829" last-rc-change="1437074829" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="21:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;21:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="14" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074829" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE_last_0" operation_key="FAKE_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="8:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;8:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="18" rc-code="7" op-status="0" interval="0" last-run="1437074871" last-rc-change="1437074871" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="1">
+        <instance_attributes id="status-1">
+          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="2" uname="c7auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="2">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="6:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;6:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="964" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="14:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;14:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="11" rc-code="0" op-status="0" interval="0" last-run="1437074829" last-rc-change="1437074829" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="15:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;15:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074829" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE_last_0" operation_key="FAKE_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="10:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;10:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="16" rc-code="7" op-status="0" interval="0" last-run="1437074871" last-rc-change="1437074871" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="2">
+        <instance_attributes id="status-2">
+          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="3" uname="c7auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="3">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="8:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;8:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="963" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="16:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;16:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="11" rc-code="0" op-status="0" interval="0" last-run="1437074828" last-rc-change="1437074828" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="17:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;17:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074828" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE_last_0" operation_key="FAKE_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="12:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;12:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="16" rc-code="7" op-status="0" interval="0" last-run="1437074870" last-rc-change="1437074870" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="3">
+        <instance_attributes id="status-3">
+          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="4" uname="c7auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="4">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="10:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;10:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="963" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="20:3:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;20:3:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="14" rc-code="0" op-status="0" interval="0" last-run="1437074856" last-rc-change="1437074856" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="19:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;19:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074829" exec-time="6" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE_last_0" operation_key="FAKE_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="27:4:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;27:4:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1437074871" last-rc-change="1437074871" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE_monitor_10000" operation_key="FAKE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="28:4:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;28:4:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="20" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074871" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <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>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/clone_min_stop_one.dot b/pengine/test10/clone_min_stop_one.dot
new file mode 100644
index 0000000..19f84cc
--- /dev/null
+++ b/pengine/test10/clone_min_stop_one.dot
@@ -0,0 +1,18 @@
+ digraph "g" {
+"FAKECLONE-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE-clone_start_0" -> "FAKECLONE-clone_running_0" [ style = bold]
+"FAKECLONE-clone_start_0" -> "FAKECLONE_start_0 <none>" [ style = dashed]
+"FAKECLONE-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE-clone_stop_0" -> "FAKECLONE-clone_stopped_0" [ style = bold]
+"FAKECLONE-clone_stop_0" -> "FAKECLONE_stop_0 c7auto2" [ style = bold]
+"FAKECLONE-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE-clone_stopped_0" -> "FAKECLONE-clone_start_0" [ style = bold]
+"FAKECLONE-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE_start_0 <none>" -> "FAKECLONE-clone_running_0" [ style = dashed]
+"FAKECLONE_start_0 <none>" [ style=dashed color="red" fontcolor="black"]
+"FAKECLONE_stop_0 c7auto2" -> "FAKECLONE-clone_stopped_0" [ style = bold]
+"FAKECLONE_stop_0 c7auto2" -> "FAKECLONE_start_0 <none>" [ style = dashed]
+"FAKECLONE_stop_0 c7auto2" -> "all_stopped" [ style = bold]
+"FAKECLONE_stop_0 c7auto2" [ style=bold color="green" fontcolor="black"]
+"all_stopped" [ style=bold color="green" fontcolor="orange"]
+}
diff --git a/pengine/test10/clone_min_stop_one.exp b/pengine/test10/clone_min_stop_one.exp
new file mode 100644
index 0000000..4e6edb8
--- /dev/null
+++ b/pengine/test10/clone_min_stop_one.exp
@@ -0,0 +1,74 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0">
+    <action_set>
+      <rsc_op id="17" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:1_stop_0" on_node="c7auto2" on_node_uuid="2">
+        <primitive id="FAKECLONE" long-id="FAKECLONE: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="22" operation="stop" operation_key="FAKECLONE-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1" priority="1000000">
+    <action_set>
+      <pseudo_event id="23" operation="stopped" operation_key="FAKECLONE-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="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:1_stop_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="22" operation="stop" operation_key="FAKECLONE-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2">
+    <action_set>
+      <pseudo_event id="22" operation="stop" operation_key="FAKECLONE-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="3" priority="1000000">
+    <action_set>
+      <pseudo_event id="21" operation="running" operation_key="FAKECLONE-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="20" operation="start" operation_key="FAKECLONE-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4">
+    <action_set>
+      <pseudo_event id="20" operation="start" operation_key="FAKECLONE-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="23" operation="stopped" operation_key="FAKECLONE-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <pseudo_event id="7" operation="all_stopped" operation_key="all_stopped">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="17" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:1_stop_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/clone_min_stop_one.scores b/pengine/test10/clone_min_stop_one.scores
new file mode 100644
index 0000000..1f28932
--- /dev/null
+++ b/pengine/test10/clone_min_stop_one.scores
@@ -0,0 +1,45 @@
+Allocation scores:
+clone_color: FAKECLONE-clone allocation score on c7auto1: 0
+clone_color: FAKECLONE-clone allocation score on c7auto2: 0
+clone_color: FAKECLONE-clone allocation score on c7auto3: 0
+clone_color: FAKECLONE-clone allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:0 allocation score on c7auto1: 1
+clone_color: FAKECLONE:0 allocation score on c7auto2: 0
+clone_color: FAKECLONE:0 allocation score on c7auto3: 0
+clone_color: FAKECLONE:0 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:1 allocation score on c7auto1: 0
+clone_color: FAKECLONE:1 allocation score on c7auto2: 1
+clone_color: FAKECLONE:1 allocation score on c7auto3: 0
+clone_color: FAKECLONE:1 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:2 allocation score on c7auto1: 0
+clone_color: FAKECLONE:2 allocation score on c7auto2: 0
+clone_color: FAKECLONE:2 allocation score on c7auto3: 1
+clone_color: FAKECLONE:2 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:3 allocation score on c7auto1: 0
+clone_color: FAKECLONE:3 allocation score on c7auto2: 0
+clone_color: FAKECLONE:3 allocation score on c7auto3: 0
+clone_color: FAKECLONE:3 allocation score on c7auto4: -INFINITY
+native_color: FAKE allocation score on c7auto1: -INFINITY
+native_color: FAKE allocation score on c7auto2: -INFINITY
+native_color: FAKE allocation score on c7auto3: -INFINITY
+native_color: FAKE allocation score on c7auto4: 0
+native_color: FAKECLONE:0 allocation score on c7auto1: 1
+native_color: FAKECLONE:0 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto1: 0
+native_color: FAKECLONE:2 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto3: 1
+native_color: FAKECLONE:2 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto4: -INFINITY
+native_color: shooter allocation score on c7auto1: 0
+native_color: shooter allocation score on c7auto2: 0
+native_color: shooter allocation score on c7auto3: 0
+native_color: shooter allocation score on c7auto4: 0
diff --git a/pengine/test10/clone_min_stop_one.summary b/pengine/test10/clone_min_stop_one.summary
new file mode 100644
index 0000000..9206a0d
--- /dev/null
+++ b/pengine/test10/clone_min_stop_one.summary
@@ -0,0 +1,32 @@
+
+Current cluster status:
+Node c7auto2 (2): standby
+Online: [ c7auto1 c7auto3 c7auto4 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKECLONE-clone [FAKECLONE]
+     Started: [ c7auto1 c7auto2 c7auto3 ]
+     Stopped: [ c7auto4 ]
+ FAKE	(ocf::heartbeat:Dummy):	Started c7auto4
+
+Transition Summary:
+ * Stop    FAKECLONE:1	(c7auto2)
+
+Executing cluster transition:
+ * Pseudo action:   FAKECLONE-clone_stop_0
+ * Resource action: FAKECLONE       stop on c7auto2
+ * Pseudo action:   FAKECLONE-clone_stopped_0
+ * Pseudo action:   FAKECLONE-clone_start_0
+ * Pseudo action:   all_stopped
+ * Pseudo action:   FAKECLONE-clone_running_0
+
+Revised cluster status:
+Node c7auto2 (2): standby
+Online: [ c7auto1 c7auto3 c7auto4 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKECLONE-clone [FAKECLONE]
+     Started: [ c7auto1 c7auto3 ]
+     Stopped: [ c7auto2 c7auto4 ]
+ FAKE	(ocf::heartbeat:Dummy):	Started c7auto4
+
diff --git a/pengine/test10/clone_min_stop_one.xml b/pengine/test10/clone_min_stop_one.xml
new file mode 100644
index 0000000..eb05803
--- /dev/null
+++ b/pengine/test10/clone_min_stop_one.xml
@@ -0,0 +1,152 @@
+<cib crm_feature_set="3.0.10" validate-with="pacemaker-2.3" epoch="16" num_updates="0" admin_epoch="0" cib-last-written="Thu Jul 16 15:28:22 2015" update-origin="c7auto1" update-client="cibadmin" update-user="root" 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-ef86b49"/>
+        <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="c7auto1">
+        <instance_attributes id="nodes-1"/>
+      </node>
+      <node id="2" uname="c7auto2">
+        <instance_attributes id="nodes-2">
+          <nvpair id="nodes-2-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+      <node id="3" uname="c7auto3"/>
+      <node id="4" uname="c7auto4"/>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_phd_kvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="FAKECLONE-clone">
+        <primitive class="ocf" id="FAKECLONE" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKECLONE-instance_attributes"/>
+          <operations>
+            <op id="FAKECLONE-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKECLONE-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKECLONE-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKECLONE-clone-meta">
+          <nvpair id="FAKECLONE-clone-min" name="clone-min" value="2"/>
+        </meta_attributes>
+      </clone>
+      <primitive class="ocf" id="FAKE" provider="heartbeat" type="Dummy">
+        <instance_attributes id="FAKE-instance_attributes"/>
+        <operations>
+          <op id="FAKE-start-timeout-20" interval="0s" name="start" timeout="20"/>
+          <op id="FAKE-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+          <op id="FAKE-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+        </operations>
+      </primitive>
+    </resources>
+    <constraints>
+      <rsc_location id="location-FAKECLONE-clone-c7auto4--INFINITY" node="c7auto4" rsc="FAKECLONE-clone" score="-INFINITY"/>
+      <rsc_location id="location-FAKE-c7auto1--INFINITY" node="c7auto1" rsc="FAKE" score="-INFINITY"/>
+      <rsc_location id="location-FAKE-c7auto2--INFINITY" node="c7auto2" rsc="FAKE" score="-INFINITY"/>
+      <rsc_location id="location-FAKE-c7auto3--INFINITY" node="c7auto3" rsc="FAKE" score="-INFINITY"/>
+      <rsc_order first="FAKECLONE-clone" first-action="start" id="order-FAKECLONE-clone-FAKE-mandatory" then="FAKE" then-action="start"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="1" uname="c7auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="1">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="11:0:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;11:0:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1437073991" last-rc-change="1437073991" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="9:1:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;9:1:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1437073992" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="20:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;20:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="13" rc-code="0" op-status="0" interval="0" last-run="1437074829" last-rc-change="1437074829" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="21:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;21:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="14" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074829" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE_last_0" operation_key="FAKE_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="8:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;8:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="18" rc-code="7" op-status="0" interval="0" last-run="1437074871" last-rc-change="1437074871" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="1">
+        <instance_attributes id="status-1">
+          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="2" uname="c7auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="2">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="6:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;6:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="964" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="14:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;14:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="11" rc-code="0" op-status="0" interval="0" last-run="1437074829" last-rc-change="1437074829" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="15:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;15:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074829" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE_last_0" operation_key="FAKE_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="10:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;10:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="16" rc-code="7" op-status="0" interval="0" last-run="1437074871" last-rc-change="1437074871" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="2">
+        <instance_attributes id="status-2">
+          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="3" uname="c7auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="3">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="8:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;8:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="963" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="16:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;16:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="11" rc-code="0" op-status="0" interval="0" last-run="1437074828" last-rc-change="1437074828" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="17:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;17:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074828" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE_last_0" operation_key="FAKE_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="12:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;12:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="16" rc-code="7" op-status="0" interval="0" last-run="1437074870" last-rc-change="1437074870" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="3">
+        <instance_attributes id="status-3">
+          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="4" uname="c7auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="4">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="10:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;10:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="963" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="20:3:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;20:3:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="14" rc-code="0" op-status="0" interval="0" last-run="1437074856" last-rc-change="1437074856" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="19:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;19:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074829" exec-time="6" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE_last_0" operation_key="FAKE_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="27:4:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;27:4:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1437074871" last-rc-change="1437074871" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE_monitor_10000" operation_key="FAKE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="28:4:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;28:4:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="20" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074871" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <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>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/clone_min_stop_two.dot b/pengine/test10/clone_min_stop_two.dot
new file mode 100644
index 0000000..11640f4
--- /dev/null
+++ b/pengine/test10/clone_min_stop_two.dot
@@ -0,0 +1,36 @@
+ digraph "g" {
+"FAKECLONE-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE-clone_start_0" -> "FAKECLONE-clone_running_0" [ style = bold]
+"FAKECLONE-clone_start_0" -> "FAKECLONE_start_0 <none>" [ style = dashed]
+"FAKECLONE-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE-clone_stop_0" -> "FAKECLONE-clone_stopped_0" [ style = bold]
+"FAKECLONE-clone_stop_0" -> "FAKECLONE_stop_0 c7auto1" [ style = bold]
+"FAKECLONE-clone_stop_0" -> "FAKECLONE_stop_0 c7auto2" [ style = bold]
+"FAKECLONE-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE-clone_stopped_0" -> "FAKECLONE-clone_start_0" [ style = bold]
+"FAKECLONE-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE_start_0 <none>" -> "FAKECLONE-clone_running_0" [ style = dashed]
+"FAKECLONE_start_0 <none>" [ style=dashed color="red" fontcolor="black"]
+"FAKECLONE_stop_0 c7auto1" -> "FAKECLONE-clone_stopped_0" [ style = bold]
+"FAKECLONE_stop_0 c7auto1" -> "FAKECLONE_start_0 <none>" [ style = dashed]
+"FAKECLONE_stop_0 c7auto1" -> "all_stopped" [ style = bold]
+"FAKECLONE_stop_0 c7auto1" [ style=bold color="green" fontcolor="black"]
+"FAKECLONE_stop_0 c7auto2" -> "FAKECLONE-clone_stopped_0" [ style = bold]
+"FAKECLONE_stop_0 c7auto2" -> "FAKECLONE_start_0 <none>" [ style = dashed]
+"FAKECLONE_stop_0 c7auto2" -> "all_stopped" [ style = bold]
+"FAKECLONE_stop_0 c7auto2" [ style=bold color="green" fontcolor="black"]
+"FAKE_monitor_10000 c7auto4" [ style=dashed color="red" fontcolor="black"]
+"FAKE_start_0 c7auto4" -> "FAKE_monitor_10000 c7auto4" [ style = dashed]
+"FAKE_start_0 c7auto4" [ style=dashed color="red" fontcolor="black"]
+"FAKE_stop_0 c7auto4" -> "FAKECLONE-clone_stop_0" [ style = bold]
+"FAKE_stop_0 c7auto4" -> "FAKE_start_0 c7auto4" [ style = dashed]
+"FAKE_stop_0 c7auto4" -> "all_stopped" [ style = bold]
+"FAKE_stop_0 c7auto4" [ style=bold color="green" fontcolor="black"]
+"all_stopped" [ style=bold color="green" fontcolor="orange"]
+"shooter_monitor_60000 c7auto3" [ style=bold color="green" fontcolor="black"]
+"shooter_start_0 c7auto3" -> "shooter_monitor_60000 c7auto3" [ style = bold]
+"shooter_start_0 c7auto3" [ style=bold color="green" fontcolor="black"]
+"shooter_stop_0 c7auto1" -> "all_stopped" [ style = bold]
+"shooter_stop_0 c7auto1" -> "shooter_start_0 c7auto3" [ style = bold]
+"shooter_stop_0 c7auto1" [ style=bold color="green" fontcolor="black"]
+}
diff --git a/pengine/test10/clone_min_stop_two.exp b/pengine/test10/clone_min_stop_two.exp
new file mode 100644
index 0000000..5697611
--- /dev/null
+++ b/pengine/test10/clone_min_stop_two.exp
@@ -0,0 +1,147 @@
+<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="c7auto3" on_node_uuid="3">
+        <primitive id="shooter" class="stonith" type="fence_phd_kvm"/>
+        <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="c7auto3" 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="c7auto3" on_node_uuid="3">
+        <primitive id="shooter" class="stonith" type="fence_phd_kvm"/>
+        <attributes CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="13" operation="stop" operation_key="shooter_stop_0" on_node="c7auto1" 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="c7auto1" on_node_uuid="1">
+        <primitive id="shooter" class="stonith" type="fence_phd_kvm"/>
+        <attributes CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <rsc_op id="16" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:0_stop_0" on_node="c7auto1" on_node_uuid="1">
+        <primitive id="FAKECLONE" long-id="FAKECLONE: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="22" operation="stop" operation_key="FAKECLONE-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4">
+    <action_set>
+      <rsc_op id="17" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:1_stop_0" on_node="c7auto2" on_node_uuid="2">
+        <primitive id="FAKECLONE" long-id="FAKECLONE: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="22" operation="stop" operation_key="FAKECLONE-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5" priority="1000000">
+    <action_set>
+      <pseudo_event id="23" operation="stopped" operation_key="FAKECLONE-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="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:0_stop_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="17" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:1_stop_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="22" operation="stop" operation_key="FAKECLONE-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="6">
+    <action_set>
+      <pseudo_event id="22" operation="stop" operation_key="FAKECLONE-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>
+        <rsc_op id="24" operation="stop" operation_key="FAKE_stop_0" on_node="c7auto4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="7" priority="1000000">
+    <action_set>
+      <pseudo_event id="21" operation="running" operation_key="FAKECLONE-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="20" operation="start" operation_key="FAKECLONE-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="8">
+    <action_set>
+      <pseudo_event id="20" operation="start" operation_key="FAKECLONE-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="23" operation="stopped" operation_key="FAKECLONE-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="9">
+    <action_set>
+      <rsc_op id="24" operation="stop" operation_key="FAKE_stop_0" on_node="c7auto4" on_node_uuid="4">
+        <primitive id="FAKE" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_name="stop" CRM_meta_timeout="20000" />
+      </rsc_op>
+    </action_set>
+    <inputs/>
+  </synapse>
+  <synapse id="10">
+    <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="c7auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="16" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:0_stop_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="17" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:1_stop_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="24" operation="stop" operation_key="FAKE_stop_0" on_node="c7auto4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/clone_min_stop_two.scores b/pengine/test10/clone_min_stop_two.scores
new file mode 100644
index 0000000..ce43eb9
--- /dev/null
+++ b/pengine/test10/clone_min_stop_two.scores
@@ -0,0 +1,45 @@
+Allocation scores:
+clone_color: FAKECLONE-clone allocation score on c7auto1: 0
+clone_color: FAKECLONE-clone allocation score on c7auto2: 0
+clone_color: FAKECLONE-clone allocation score on c7auto3: 0
+clone_color: FAKECLONE-clone allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:0 allocation score on c7auto1: 1
+clone_color: FAKECLONE:0 allocation score on c7auto2: 0
+clone_color: FAKECLONE:0 allocation score on c7auto3: 0
+clone_color: FAKECLONE:0 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:1 allocation score on c7auto1: 0
+clone_color: FAKECLONE:1 allocation score on c7auto2: 1
+clone_color: FAKECLONE:1 allocation score on c7auto3: 0
+clone_color: FAKECLONE:1 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:2 allocation score on c7auto1: 0
+clone_color: FAKECLONE:2 allocation score on c7auto2: 0
+clone_color: FAKECLONE:2 allocation score on c7auto3: 1
+clone_color: FAKECLONE:2 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:3 allocation score on c7auto1: 0
+clone_color: FAKECLONE:3 allocation score on c7auto2: 0
+clone_color: FAKECLONE:3 allocation score on c7auto3: 0
+clone_color: FAKECLONE:3 allocation score on c7auto4: -INFINITY
+native_color: FAKE allocation score on c7auto1: -INFINITY
+native_color: FAKE allocation score on c7auto2: -INFINITY
+native_color: FAKE allocation score on c7auto3: -INFINITY
+native_color: FAKE allocation score on c7auto4: 0
+native_color: FAKECLONE:0 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto3: 1
+native_color: FAKECLONE:2 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto4: -INFINITY
+native_color: shooter allocation score on c7auto1: 0
+native_color: shooter allocation score on c7auto2: 0
+native_color: shooter allocation score on c7auto3: 0
+native_color: shooter allocation score on c7auto4: 0
diff --git a/pengine/test10/clone_min_stop_two.summary b/pengine/test10/clone_min_stop_two.summary
new file mode 100644
index 0000000..c009d7d
--- /dev/null
+++ b/pengine/test10/clone_min_stop_two.summary
@@ -0,0 +1,42 @@
+
+Current cluster status:
+Node c7auto1 (1): standby
+Node c7auto2 (2): standby
+Online: [ c7auto3 c7auto4 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKECLONE-clone [FAKECLONE]
+     Started: [ c7auto1 c7auto2 c7auto3 ]
+     Stopped: [ c7auto4 ]
+ FAKE	(ocf::heartbeat:Dummy):	Started c7auto4
+
+Transition Summary:
+ * Move    shooter	(Started c7auto1 -> c7auto3)
+ * Stop    FAKECLONE:0	(c7auto1)
+ * Stop    FAKECLONE:1	(c7auto2)
+ * Stop    FAKE	(Started c7auto4)
+
+Executing cluster transition:
+ * Resource action: shooter         stop on c7auto1
+ * Resource action: FAKE            stop on c7auto4
+ * Resource action: shooter         start on c7auto3
+ * Pseudo action:   FAKECLONE-clone_stop_0
+ * Resource action: shooter         monitor=60000 on c7auto3
+ * Resource action: FAKECLONE       stop on c7auto1
+ * Resource action: FAKECLONE       stop on c7auto2
+ * Pseudo action:   FAKECLONE-clone_stopped_0
+ * Pseudo action:   FAKECLONE-clone_start_0
+ * Pseudo action:   all_stopped
+ * Pseudo action:   FAKECLONE-clone_running_0
+
+Revised cluster status:
+Node c7auto1 (1): standby
+Node c7auto2 (2): standby
+Online: [ c7auto3 c7auto4 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto3
+ Clone Set: FAKECLONE-clone [FAKECLONE]
+     Started: [ c7auto3 ]
+     Stopped: [ c7auto1 c7auto2 c7auto4 ]
+ FAKE	(ocf::heartbeat:Dummy):	Stopped
+
diff --git a/pengine/test10/clone_min_stop_two.xml b/pengine/test10/clone_min_stop_two.xml
new file mode 100644
index 0000000..8d085ad
--- /dev/null
+++ b/pengine/test10/clone_min_stop_two.xml
@@ -0,0 +1,154 @@
+<cib crm_feature_set="3.0.10" validate-with="pacemaker-2.3" epoch="15" num_updates="0" admin_epoch="0" cib-last-written="Thu Jul 16 15:28:22 2015" update-origin="c7auto1" update-client="cibadmin" update-user="root" 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-ef86b49"/>
+        <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="c7auto1">
+        <instance_attributes id="nodes-1">
+          <nvpair id="nodes-1-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+      <node id="2" uname="c7auto2">
+        <instance_attributes id="nodes-2">
+          <nvpair id="nodes-2-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+      <node id="3" uname="c7auto3"/>
+      <node id="4" uname="c7auto4"/>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_phd_kvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="FAKECLONE-clone">
+        <primitive class="ocf" id="FAKECLONE" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKECLONE-instance_attributes"/>
+          <operations>
+            <op id="FAKECLONE-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKECLONE-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKECLONE-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKECLONE-clone-meta">
+          <nvpair id="FAKECLONE-clone-min" name="clone-min" value="2"/>
+        </meta_attributes>
+      </clone>
+      <primitive class="ocf" id="FAKE" provider="heartbeat" type="Dummy">
+        <instance_attributes id="FAKE-instance_attributes"/>
+        <operations>
+          <op id="FAKE-start-timeout-20" interval="0s" name="start" timeout="20"/>
+          <op id="FAKE-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+          <op id="FAKE-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+        </operations>
+      </primitive>
+    </resources>
+    <constraints>
+      <rsc_location id="location-FAKECLONE-clone-c7auto4--INFINITY" node="c7auto4" rsc="FAKECLONE-clone" score="-INFINITY"/>
+      <rsc_location id="location-FAKE-c7auto1--INFINITY" node="c7auto1" rsc="FAKE" score="-INFINITY"/>
+      <rsc_location id="location-FAKE-c7auto2--INFINITY" node="c7auto2" rsc="FAKE" score="-INFINITY"/>
+      <rsc_location id="location-FAKE-c7auto3--INFINITY" node="c7auto3" rsc="FAKE" score="-INFINITY"/>
+      <rsc_order first="FAKECLONE-clone" first-action="start" id="order-FAKECLONE-clone-FAKE-mandatory" then="FAKE" then-action="start"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="1" uname="c7auto1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="1">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="11:0:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;11:0:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1437073991" last-rc-change="1437073991" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="shooter_monitor_60000" operation_key="shooter_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="9:1:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;9:1:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1437073992" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="20:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;20:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="13" rc-code="0" op-status="0" interval="0" last-run="1437074829" last-rc-change="1437074829" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="21:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;21:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="14" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074829" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE_last_0" operation_key="FAKE_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="8:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;8:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="18" rc-code="7" op-status="0" interval="0" last-run="1437074871" last-rc-change="1437074871" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="1">
+        <instance_attributes id="status-1">
+          <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-1-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="2" uname="c7auto2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="2">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="6:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;6:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="964" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="14:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;14:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="11" rc-code="0" op-status="0" interval="0" last-run="1437074829" last-rc-change="1437074829" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="15:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;15:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074829" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE_last_0" operation_key="FAKE_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="10:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;10:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="16" rc-code="7" op-status="0" interval="0" last-run="1437074871" last-rc-change="1437074871" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="2">
+        <instance_attributes id="status-2">
+          <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-2-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="3" uname="c7auto3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="3">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="8:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;8:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="963" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="16:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;16:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="11" rc-code="0" op-status="0" interval="0" last-run="1437074828" last-rc-change="1437074828" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="17:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;17:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074828" exec-time="10" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE_last_0" operation_key="FAKE_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="12:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;12:4:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="16" rc-code="7" op-status="0" interval="0" last-run="1437074870" last-rc-change="1437074870" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <transient_attributes id="3">
+        <instance_attributes id="status-3">
+          <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
+          <nvpair id="status-3-probe_complete" name="probe_complete" value="true"/>
+        </instance_attributes>
+      </transient_attributes>
+    </node_state>
+    <node_state id="4" uname="c7auto4" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+      <lrm id="4">
+        <lrm_resources>
+          <lrm_resource id="shooter" type="fence_phd_kvm" class="stonith">
+            <lrm_rsc_op id="shooter_last_0" operation_key="shooter_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="10:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;10:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="963" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="20:3:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;20:3:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="14" rc-code="0" op-status="0" interval="0" last-run="1437074856" last-rc-change="1437074856" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="19:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;19:2:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074829" exec-time="6" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKE_last_0" operation_key="FAKE_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="27:4:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;27:4:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="19" rc-code="0" op-status="0" interval="0" last-run="1437074871" last-rc-change="1437074871" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKE_monitor_10000" operation_key="FAKE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="28:4:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;28:4:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="20" rc-code="0" op-status="0" interval="10000" last-rc-change="1437074871" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+      <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>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/cloned_start_one.dot b/pengine/test10/cloned_start_one.dot
new file mode 100644
index 0000000..b3c254c
--- /dev/null
+++ b/pengine/test10/cloned_start_one.dot
@@ -0,0 +1,32 @@
+ digraph "g" {
+"FAKECLONE-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE-clone_start_0" -> "FAKECLONE-clone_running_0" [ style = bold]
+"FAKECLONE-clone_start_0" -> "FAKECLONE_start_0 c7auto1" [ style = bold]
+"FAKECLONE-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE2-clone_running_0" [ style=dashed color="red" fontcolor="orange"]
+"FAKECLONE2-clone_start_0" -> "FAKECLONE2-clone_running_0" [ style = dashed]
+"FAKECLONE2-clone_start_0" -> "FAKECLONE2_start_0 c7auto4" [ style = dashed]
+"FAKECLONE2-clone_start_0" [ style=dashed color="red" fontcolor="orange"]
+"FAKECLONE2-clone_stop_0" -> "FAKECLONE2-clone_stopped_0" [ style = bold]
+"FAKECLONE2-clone_stop_0" -> "FAKECLONE2_stop_0 c7auto3" [ style = bold]
+"FAKECLONE2-clone_stop_0" -> "FAKECLONE2_stop_0 c7auto4" [ style = bold]
+"FAKECLONE2-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE2-clone_stopped_0" -> "FAKECLONE2-clone_start_0" [ style = dashed]
+"FAKECLONE2-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE2_monitor_10000 c7auto4" [ style=dashed color="red" fontcolor="black"]
+"FAKECLONE2_start_0 c7auto4" -> "FAKECLONE2-clone_running_0" [ style = dashed]
+"FAKECLONE2_start_0 c7auto4" -> "FAKECLONE2_monitor_10000 c7auto4" [ style = dashed]
+"FAKECLONE2_start_0 c7auto4" [ style=dashed color="red" fontcolor="black"]
+"FAKECLONE2_stop_0 c7auto3" -> "FAKECLONE2-clone_stopped_0" [ style = bold]
+"FAKECLONE2_stop_0 c7auto3" -> "all_stopped" [ style = bold]
+"FAKECLONE2_stop_0 c7auto3" [ style=bold color="green" fontcolor="black"]
+"FAKECLONE2_stop_0 c7auto4" -> "FAKECLONE2-clone_stopped_0" [ style = bold]
+"FAKECLONE2_stop_0 c7auto4" -> "FAKECLONE2_start_0 c7auto4" [ style = dashed]
+"FAKECLONE2_stop_0 c7auto4" -> "all_stopped" [ style = bold]
+"FAKECLONE2_stop_0 c7auto4" [ style=bold color="green" fontcolor="black"]
+"FAKECLONE_monitor_10000 c7auto1" [ style=bold color="green" fontcolor="black"]
+"FAKECLONE_start_0 c7auto1" -> "FAKECLONE-clone_running_0" [ style = bold]
+"FAKECLONE_start_0 c7auto1" -> "FAKECLONE_monitor_10000 c7auto1" [ style = bold]
+"FAKECLONE_start_0 c7auto1" [ style=bold color="green" fontcolor="black"]
+"all_stopped" [ style=bold color="green" fontcolor="orange"]
+}
diff --git a/pengine/test10/cloned_start_one.exp b/pengine/test10/cloned_start_one.exp
new file mode 100644
index 0000000..636ccd8
--- /dev/null
+++ b/pengine/test10/cloned_start_one.exp
@@ -0,0 +1,118 @@
+<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="14" operation="monitor" operation_key="FAKECLONE_monitor_10000" internal_operation_key="FAKECLONE:0_monitor_10000" on_node="c7auto1" on_node_uuid="1">
+        <primitive id="FAKECLONE" long-id="FAKECLONE: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="13" operation="start" operation_key="FAKECLONE_start_0" internal_operation_key="FAKECLONE:0_start_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="13" operation="start" operation_key="FAKECLONE_start_0" internal_operation_key="FAKECLONE:0_start_0" on_node="c7auto1" on_node_uuid="1">
+        <primitive id="FAKECLONE" long-id="FAKECLONE: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="15" operation="start" operation_key="FAKECLONE-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2" priority="1000000">
+    <action_set>
+      <pseudo_event id="16" operation="running" operation_key="FAKECLONE-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="13" operation="start" operation_key="FAKECLONE_start_0" internal_operation_key="FAKECLONE:0_start_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="15" operation="start" operation_key="FAKECLONE-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <pseudo_event id="15" operation="start" operation_key="FAKECLONE-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="19" operation="stop" operation_key="FAKECLONE2_stop_0" internal_operation_key="FAKECLONE2:0_stop_0" on_node="c7auto3" on_node_uuid="3">
+        <primitive id="FAKECLONE2" long-id="FAKECLONE2:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="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="24" operation="stop" operation_key="FAKECLONE2-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <rsc_op id="20" operation="stop" operation_key="FAKECLONE2_stop_0" internal_operation_key="FAKECLONE2:1_stop_0" on_node="c7auto4" on_node_uuid="4">
+        <primitive id="FAKECLONE2" long-id="FAKECLONE2: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="24" operation="stop" operation_key="FAKECLONE2-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="6" priority="1000000">
+    <action_set>
+      <pseudo_event id="25" operation="stopped" operation_key="FAKECLONE2-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="19" operation="stop" operation_key="FAKECLONE2_stop_0" internal_operation_key="FAKECLONE2:0_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="20" operation="stop" operation_key="FAKECLONE2_stop_0" internal_operation_key="FAKECLONE2:1_stop_0" on_node="c7auto4" on_node_uuid="4"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="24" operation="stop" operation_key="FAKECLONE2-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="7">
+    <action_set>
+      <pseudo_event id="24" operation="stop" operation_key="FAKECLONE2-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="8">
+    <action_set>
+      <pseudo_event id="5" operation="all_stopped" operation_key="all_stopped">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="19" operation="stop" operation_key="FAKECLONE2_stop_0" internal_operation_key="FAKECLONE2:0_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="20" operation="stop" operation_key="FAKECLONE2_stop_0" internal_operation_key="FAKECLONE2:1_stop_0" on_node="c7auto4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/cloned_start_one.scores b/pengine/test10/cloned_start_one.scores
new file mode 100644
index 0000000..3dc6ab8
--- /dev/null
+++ b/pengine/test10/cloned_start_one.scores
@@ -0,0 +1,77 @@
+Allocation scores:
+clone_color: FAKECLONE-clone allocation score on c7auto1: 0
+clone_color: FAKECLONE-clone allocation score on c7auto2: 0
+clone_color: FAKECLONE-clone allocation score on c7auto3: 0
+clone_color: FAKECLONE-clone allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE2-clone allocation score on c7auto1: -INFINITY
+clone_color: FAKECLONE2-clone allocation score on c7auto2: -INFINITY
+clone_color: FAKECLONE2-clone allocation score on c7auto3: 0
+clone_color: FAKECLONE2-clone allocation score on c7auto4: 0
+clone_color: FAKECLONE2:0 allocation score on c7auto1: -INFINITY
+clone_color: FAKECLONE2:0 allocation score on c7auto2: -INFINITY
+clone_color: FAKECLONE2:0 allocation score on c7auto3: 1
+clone_color: FAKECLONE2:0 allocation score on c7auto4: 0
+clone_color: FAKECLONE2:1 allocation score on c7auto1: -INFINITY
+clone_color: FAKECLONE2:1 allocation score on c7auto2: -INFINITY
+clone_color: FAKECLONE2:1 allocation score on c7auto3: 0
+clone_color: FAKECLONE2:1 allocation score on c7auto4: 1
+clone_color: FAKECLONE2:2 allocation score on c7auto1: -INFINITY
+clone_color: FAKECLONE2:2 allocation score on c7auto2: -INFINITY
+clone_color: FAKECLONE2:2 allocation score on c7auto3: 0
+clone_color: FAKECLONE2:2 allocation score on c7auto4: 0
+clone_color: FAKECLONE2:3 allocation score on c7auto1: -INFINITY
+clone_color: FAKECLONE2:3 allocation score on c7auto2: -INFINITY
+clone_color: FAKECLONE2:3 allocation score on c7auto3: 0
+clone_color: FAKECLONE2:3 allocation score on c7auto4: 0
+clone_color: FAKECLONE:0 allocation score on c7auto1: 0
+clone_color: FAKECLONE:0 allocation score on c7auto2: 0
+clone_color: FAKECLONE:0 allocation score on c7auto3: 0
+clone_color: FAKECLONE:0 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:1 allocation score on c7auto1: 0
+clone_color: FAKECLONE:1 allocation score on c7auto2: 0
+clone_color: FAKECLONE:1 allocation score on c7auto3: 0
+clone_color: FAKECLONE:1 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:2 allocation score on c7auto1: 0
+clone_color: FAKECLONE:2 allocation score on c7auto2: 0
+clone_color: FAKECLONE:2 allocation score on c7auto3: 0
+clone_color: FAKECLONE:2 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:3 allocation score on c7auto1: 0
+clone_color: FAKECLONE:3 allocation score on c7auto2: 0
+clone_color: FAKECLONE:3 allocation score on c7auto3: 0
+clone_color: FAKECLONE:3 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE2:0 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE2:0 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE2:0 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE2:0 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE2:1 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE2:1 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE2:1 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE2:1 allocation score on c7auto4: 1
+native_color: FAKECLONE2:2 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE2:2 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE2:2 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE2:2 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE2:3 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE2:3 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE2:3 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE2:3 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto1: 0
+native_color: FAKECLONE:0 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto4: -INFINITY
+native_color: shooter allocation score on c7auto1: 0
+native_color: shooter allocation score on c7auto2: 0
+native_color: shooter allocation score on c7auto3: 0
+native_color: shooter allocation score on c7auto4: 0
diff --git a/pengine/test10/cloned_start_one.summary b/pengine/test10/cloned_start_one.summary
new file mode 100644
index 0000000..20ac58f
--- /dev/null
+++ b/pengine/test10/cloned_start_one.summary
@@ -0,0 +1,41 @@
+
+Current cluster status:
+Node c7auto2 (2): standby
+Node c7auto3 (3): standby
+Online: [ c7auto1 c7auto4 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKECLONE-clone [FAKECLONE]
+     Stopped: [ c7auto1 c7auto2 c7auto3 c7auto4 ]
+ Clone Set: FAKECLONE2-clone [FAKECLONE2]
+     Started: [ c7auto3 c7auto4 ]
+     Stopped: [ c7auto1 c7auto2 ]
+
+Transition Summary:
+ * Start   FAKECLONE:0	(c7auto1)
+ * Stop    FAKECLONE2:0	(c7auto3)
+ * Stop    FAKECLONE2:1	(Started c7auto4)
+
+Executing cluster transition:
+ * Pseudo action:   FAKECLONE-clone_start_0
+ * Pseudo action:   FAKECLONE2-clone_stop_0
+ * Resource action: FAKECLONE       start on c7auto1
+ * Pseudo action:   FAKECLONE-clone_running_0
+ * Resource action: FAKECLONE2      stop on c7auto3
+ * Resource action: FAKECLONE2      stop on c7auto4
+ * Pseudo action:   FAKECLONE2-clone_stopped_0
+ * Pseudo action:   all_stopped
+ * Resource action: FAKECLONE       monitor=10000 on c7auto1
+
+Revised cluster status:
+Node c7auto2 (2): standby
+Node c7auto3 (3): standby
+Online: [ c7auto1 c7auto4 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKECLONE-clone [FAKECLONE]
+     Started: [ c7auto1 ]
+     Stopped: [ c7auto2 c7auto3 c7auto4 ]
+ Clone Set: FAKECLONE2-clone [FAKECLONE2]
+     Stopped: [ c7auto1 c7auto2 c7auto3 c7auto4 ]
+
diff --git a/pengine/test10/cloned_start_one.xml b/pengine/test10/cloned_start_one.xml
new file mode 100644
index 0000000..6c2bfe1
--- /dev/null
+++ b/pengine/test10/cloned_start_one.xml
@@ -0,0 +1,154 @@
+<cib crm_feature_set="3.0.10" validate-with="pacemaker-2.3" epoch="30" num_updates="0" admin_epoch="0" cib-last-written="Thu Jul 16 17:55:58 2015" update-origin="c7auto1" update-client="cibadmin" update-user="root" 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-ef86b49"/>
+        <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="c7auto1"/>
+      <node id="2" uname="c7auto2">
+        <instance_attributes id="nodes-2">
+          <nvpair id="nodes-2-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+      <node id="3" uname="c7auto3">
+        <instance_attributes id="nodes-3">
+          <nvpair id="nodes-3-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+      <node id="4" uname="c7auto4"/>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_phd_kvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="FAKECLONE-clone">
+        <primitive class="ocf" id="FAKECLONE" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKECLONE-instance_attributes"/>
+          <operations>
+            <op id="FAKECLONE-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKECLONE-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKECLONE-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKECLONE-clone-meta">
+          <nvpair id="FAKECLONE-clone-min" name="clone-min" value="2"/>
+        </meta_attributes>
+        <meta_attributes id="FAKECLONE-clone-meta_attributes"/>
+      </clone>
+      <clone id="FAKECLONE2-clone">
+        <primitive class="ocf" id="FAKECLONE2" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKECLONE2-instance_attributes"/>
+          <operations>
+            <op id="FAKECLONE2-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKECLONE2-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKECLONE2-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKECLONE2-clone-meta"/>
+      </clone>
+    </resources>
+    <constraints>
+      <rsc_location id="location-FAKECLONE-clone-c7auto4--INFINITY" node="c7auto4" rsc="FAKECLONE-clone" score="-INFINITY"/>
+      <rsc_location id="location-FAKECLONE2-clone-c7auto1--INFINITY" node="c7auto1" rsc="FAKECLONE2-clone" score="-INFINITY"/>
+      <rsc_location id="location-FAKECLONE2-clone-c7auto2--INFINITY" node="c7auto2" rsc="FAKECLONE2-clone" score="-INFINITY"/>
+      <rsc_order first="FAKECLONE-clone" first-action="start" id="order-FAKECLONE-clone-FAKECLONE2-clone-mandatory" then="FAKECLONE2-clone" then-action="start"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="1" uname="c7auto1" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member">
+      <transient_attributes id="1">
+        <instance_attributes id="status-1">
+          <nvpair id="status-1-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="FAKECLONE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE2_last_0" operation_key="FAKECLONE2_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="17:28:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;17:28:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="30" rc-code="0" op-status="0" interval="0" last-run="1437083676" last-rc-change="1437083676" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="shooter" type="fence_phd_kvm" 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.10" transition-key="11:0:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;11:0:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1437073991" last-rc-change="1437073991" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <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.10" transition-key="9:1:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;9:1:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1437073992" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="14:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;14:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="20" rc-code="0" op-status="0" interval="0" last-run="1437075474" last-rc-change="1437075474" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="2" uname="c7auto2" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" 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="FAKECLONE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE2_last_0" operation_key="FAKECLONE2_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="16:29:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;16:29:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="32" rc-code="0" op-status="0" interval="0" last-run="1437083678" last-rc-change="1437083678" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="shooter" type="fence_phd_kvm" 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.10" transition-key="6:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;6:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="964" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="15:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;15:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="18" rc-code="0" op-status="0" interval="0" last-run="1437075473" last-rc-change="1437075473" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="3" uname="c7auto3" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member">
+      <transient_attributes id="3">
+        <instance_attributes id="status-3">
+          <nvpair id="status-3-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="FAKECLONE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE2_last_0" operation_key="FAKECLONE2_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="17:30:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;17:30:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1437083710" last-rc-change="1437083710" exec-time="6" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE2_monitor_10000" operation_key="FAKECLONE2_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="18:30:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;18:30:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="30" rc-code="0" op-status="0" interval="10000" last-rc-change="1437083710" exec-time="6" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="shooter" type="fence_phd_kvm" 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.10" transition-key="8:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;8:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="963" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="16:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;16:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="18" rc-code="0" op-status="0" interval="0" last-run="1437075473" last-rc-change="1437075473" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="4" uname="c7auto4" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" 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="FAKECLONE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE2_last_0" operation_key="FAKECLONE2_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="22:26:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;22:26:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1437083649" last-rc-change="1437083649" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE2_monitor_10000" operation_key="FAKECLONE2_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="23:26:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;23:26:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="30" rc-code="0" op-status="0" interval="10000" last-rc-change="1437083649" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="shooter" type="fence_phd_kvm" 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.10" transition-key="10:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;10:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="963" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="20:3:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;20:3:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="14" rc-code="0" op-status="0" interval="0" last-run="1437074856" last-rc-change="1437074856" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/cloned_start_two.dot b/pengine/test10/cloned_start_two.dot
new file mode 100644
index 0000000..348d435
--- /dev/null
+++ b/pengine/test10/cloned_start_two.dot
@@ -0,0 +1,26 @@
+ digraph "g" {
+"FAKECLONE-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE-clone_start_0" -> "FAKECLONE-clone_running_0" [ style = bold]
+"FAKECLONE-clone_start_0" -> "FAKECLONE:1_start_0 c7auto1" [ style = bold]
+"FAKECLONE-clone_start_0" -> "FAKECLONE_start_0 c7auto2" [ style = bold]
+"FAKECLONE-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE2-clone_stop_0" -> "FAKECLONE2-clone_stopped_0" [ style = bold]
+"FAKECLONE2-clone_stop_0" -> "FAKECLONE2_stop_0 c7auto3" [ style = bold]
+"FAKECLONE2-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE2-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE2_stop_0 c7auto3" -> "FAKECLONE2-clone_stopped_0" [ style = bold]
+"FAKECLONE2_stop_0 c7auto3" -> "all_stopped" [ style = bold]
+"FAKECLONE2_stop_0 c7auto3" [ style=bold color="green" fontcolor="black"]
+"FAKECLONE:1_monitor_10000 c7auto1" [ style=bold color="green" fontcolor="black"]
+"FAKECLONE:1_start_0 c7auto1" -> "FAKECLONE-clone_running_0" [ style = bold]
+"FAKECLONE:1_start_0 c7auto1" -> "FAKECLONE:1_monitor_10000 c7auto1" [ style = bold]
+"FAKECLONE:1_start_0 c7auto1" -> "clone-one-or-more:order-FAKECLONE-clone-FAKECLONE2-clone-mandatory" [ style = bold]
+"FAKECLONE:1_start_0 c7auto1" [ style=bold color="green" fontcolor="black"]
+"FAKECLONE_monitor_10000 c7auto2" [ style=bold color="green" fontcolor="black"]
+"FAKECLONE_start_0 c7auto2" -> "FAKECLONE-clone_running_0" [ style = bold]
+"FAKECLONE_start_0 c7auto2" -> "FAKECLONE_monitor_10000 c7auto2" [ style = bold]
+"FAKECLONE_start_0 c7auto2" -> "clone-one-or-more:order-FAKECLONE-clone-FAKECLONE2-clone-mandatory" [ style = bold]
+"FAKECLONE_start_0 c7auto2" [ style=bold color="green" fontcolor="black"]
+"all_stopped" [ style=bold color="green" fontcolor="orange"]
+"clone-one-or-more:order-FAKECLONE-clone-FAKECLONE2-clone-mandatory" [ style=bold color="green" fontcolor="orange"]
+}
diff --git a/pengine/test10/cloned_start_two.exp b/pengine/test10/cloned_start_two.exp
new file mode 100644
index 0000000..ee82324
--- /dev/null
+++ b/pengine/test10/cloned_start_two.exp
@@ -0,0 +1,143 @@
+<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="14" operation="monitor" operation_key="FAKECLONE_monitor_10000" internal_operation_key="FAKECLONE:0_monitor_10000" on_node="c7auto2" on_node_uuid="2">
+        <primitive id="FAKECLONE" long-id="FAKECLONE: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="13" operation="start" operation_key="FAKECLONE_start_0" internal_operation_key="FAKECLONE:0_start_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="13" operation="start" operation_key="FAKECLONE_start_0" internal_operation_key="FAKECLONE:0_start_0" on_node="c7auto2" on_node_uuid="2">
+        <primitive id="FAKECLONE" long-id="FAKECLONE: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="17" operation="start" operation_key="FAKECLONE-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2">
+    <action_set>
+      <rsc_op id="16" operation="monitor" operation_key="FAKECLONE:1_monitor_10000" on_node="c7auto1" on_node_uuid="1">
+        <primitive id="FAKECLONE" long-id="FAKECLONE: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="15" operation="start" operation_key="FAKECLONE:1_start_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <rsc_op id="15" operation="start" operation_key="FAKECLONE:1_start_0" on_node="c7auto1" on_node_uuid="1">
+        <primitive id="FAKECLONE" long-id="FAKECLONE: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="17" operation="start" operation_key="FAKECLONE-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4" priority="1000000">
+    <action_set>
+      <pseudo_event id="18" operation="running" operation_key="FAKECLONE-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="13" operation="start" operation_key="FAKECLONE_start_0" internal_operation_key="FAKECLONE:0_start_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="15" operation="start" operation_key="FAKECLONE:1_start_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="17" operation="start" operation_key="FAKECLONE-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <pseudo_event id="17" operation="start" operation_key="FAKECLONE-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="6">
+    <action_set>
+      <rsc_op id="21" operation="stop" operation_key="FAKECLONE2_stop_0" internal_operation_key="FAKECLONE2:0_stop_0" on_node="c7auto3" on_node_uuid="3">
+        <primitive id="FAKECLONE2" long-id="FAKECLONE2:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="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="26" operation="stop" operation_key="FAKECLONE2-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="7" priority="1000000">
+    <action_set>
+      <pseudo_event id="27" operation="stopped" operation_key="FAKECLONE2-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="21" operation="stop" operation_key="FAKECLONE2_stop_0" internal_operation_key="FAKECLONE2:0_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="26" operation="stop" operation_key="FAKECLONE2-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="8">
+    <action_set>
+      <pseudo_event id="26" operation="stop" operation_key="FAKECLONE2-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="9">
+    <action_set>
+      <pseudo_event id="5" operation="all_stopped" operation_key="all_stopped">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="21" operation="stop" operation_key="FAKECLONE2_stop_0" internal_operation_key="FAKECLONE2:0_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="10">
+    <action_set>
+      <pseudo_event id="4" operation="clone-one-or-more:order-FAKECLONE-clone-FAKECLONE2-clone-mandatory" operation_key="clone-one-or-more:order-FAKECLONE-clone-FAKECLONE2-clone-mandatory">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="13" operation="start" operation_key="FAKECLONE_start_0" internal_operation_key="FAKECLONE:0_start_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="15" operation="start" operation_key="FAKECLONE:1_start_0" on_node="c7auto1" on_node_uuid="1"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/cloned_start_two.scores b/pengine/test10/cloned_start_two.scores
new file mode 100644
index 0000000..dae3b5d
--- /dev/null
+++ b/pengine/test10/cloned_start_two.scores
@@ -0,0 +1,77 @@
+Allocation scores:
+clone_color: FAKECLONE-clone allocation score on c7auto1: 0
+clone_color: FAKECLONE-clone allocation score on c7auto2: 0
+clone_color: FAKECLONE-clone allocation score on c7auto3: 0
+clone_color: FAKECLONE-clone allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE2-clone allocation score on c7auto1: -INFINITY
+clone_color: FAKECLONE2-clone allocation score on c7auto2: -INFINITY
+clone_color: FAKECLONE2-clone allocation score on c7auto3: 0
+clone_color: FAKECLONE2-clone allocation score on c7auto4: 0
+clone_color: FAKECLONE2:0 allocation score on c7auto1: -INFINITY
+clone_color: FAKECLONE2:0 allocation score on c7auto2: -INFINITY
+clone_color: FAKECLONE2:0 allocation score on c7auto3: 1
+clone_color: FAKECLONE2:0 allocation score on c7auto4: 0
+clone_color: FAKECLONE2:1 allocation score on c7auto1: -INFINITY
+clone_color: FAKECLONE2:1 allocation score on c7auto2: -INFINITY
+clone_color: FAKECLONE2:1 allocation score on c7auto3: 0
+clone_color: FAKECLONE2:1 allocation score on c7auto4: 1
+clone_color: FAKECLONE2:2 allocation score on c7auto1: -INFINITY
+clone_color: FAKECLONE2:2 allocation score on c7auto2: -INFINITY
+clone_color: FAKECLONE2:2 allocation score on c7auto3: 0
+clone_color: FAKECLONE2:2 allocation score on c7auto4: 0
+clone_color: FAKECLONE2:3 allocation score on c7auto1: -INFINITY
+clone_color: FAKECLONE2:3 allocation score on c7auto2: -INFINITY
+clone_color: FAKECLONE2:3 allocation score on c7auto3: 0
+clone_color: FAKECLONE2:3 allocation score on c7auto4: 0
+clone_color: FAKECLONE:0 allocation score on c7auto1: 0
+clone_color: FAKECLONE:0 allocation score on c7auto2: 0
+clone_color: FAKECLONE:0 allocation score on c7auto3: 0
+clone_color: FAKECLONE:0 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:1 allocation score on c7auto1: 0
+clone_color: FAKECLONE:1 allocation score on c7auto2: 0
+clone_color: FAKECLONE:1 allocation score on c7auto3: 0
+clone_color: FAKECLONE:1 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:2 allocation score on c7auto1: 0
+clone_color: FAKECLONE:2 allocation score on c7auto2: 0
+clone_color: FAKECLONE:2 allocation score on c7auto3: 0
+clone_color: FAKECLONE:2 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:3 allocation score on c7auto1: 0
+clone_color: FAKECLONE:3 allocation score on c7auto2: 0
+clone_color: FAKECLONE:3 allocation score on c7auto3: 0
+clone_color: FAKECLONE:3 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE2:0 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE2:0 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE2:0 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE2:0 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE2:1 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE2:1 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE2:1 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE2:1 allocation score on c7auto4: 1
+native_color: FAKECLONE2:2 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE2:2 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE2:2 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE2:2 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE2:3 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE2:3 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE2:3 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE2:3 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto1: 0
+native_color: FAKECLONE:0 allocation score on c7auto2: 0
+native_color: FAKECLONE:0 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto1: 0
+native_color: FAKECLONE:1 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto4: -INFINITY
+native_color: shooter allocation score on c7auto1: 0
+native_color: shooter allocation score on c7auto2: 0
+native_color: shooter allocation score on c7auto3: 0
+native_color: shooter allocation score on c7auto4: 0
diff --git a/pengine/test10/cloned_start_two.summary b/pengine/test10/cloned_start_two.summary
new file mode 100644
index 0000000..bea4609
--- /dev/null
+++ b/pengine/test10/cloned_start_two.summary
@@ -0,0 +1,42 @@
+
+Current cluster status:
+Node c7auto3 (3): standby
+Online: [ c7auto1 c7auto2 c7auto4 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKECLONE-clone [FAKECLONE]
+     Stopped: [ c7auto1 c7auto2 c7auto3 c7auto4 ]
+ Clone Set: FAKECLONE2-clone [FAKECLONE2]
+     Started: [ c7auto3 c7auto4 ]
+     Stopped: [ c7auto1 c7auto2 ]
+
+Transition Summary:
+ * Start   FAKECLONE:0	(c7auto2)
+ * Start   FAKECLONE:1	(c7auto1)
+ * Stop    FAKECLONE2:0	(c7auto3)
+
+Executing cluster transition:
+ * Pseudo action:   FAKECLONE-clone_start_0
+ * Pseudo action:   FAKECLONE2-clone_stop_0
+ * Resource action: FAKECLONE       start on c7auto2
+ * Resource action: FAKECLONE       start on c7auto1
+ * Pseudo action:   FAKECLONE-clone_running_0
+ * Resource action: FAKECLONE2      stop on c7auto3
+ * Pseudo action:   FAKECLONE2-clone_stopped_0
+ * Pseudo action:   all_stopped
+ * Pseudo action:   clone-one-or-more:order-FAKECLONE-clone-FAKECLONE2-clone-mandatory
+ * Resource action: FAKECLONE       monitor=10000 on c7auto2
+ * Resource action: FAKECLONE       monitor=10000 on c7auto1
+
+Revised cluster status:
+Node c7auto3 (3): standby
+Online: [ c7auto1 c7auto2 c7auto4 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKECLONE-clone [FAKECLONE]
+     Started: [ c7auto1 c7auto2 ]
+     Stopped: [ c7auto3 c7auto4 ]
+ Clone Set: FAKECLONE2-clone [FAKECLONE2]
+     Started: [ c7auto4 ]
+     Stopped: [ c7auto1 c7auto2 c7auto3 ]
+
diff --git a/pengine/test10/cloned_start_two.xml b/pengine/test10/cloned_start_two.xml
new file mode 100644
index 0000000..be78317
--- /dev/null
+++ b/pengine/test10/cloned_start_two.xml
@@ -0,0 +1,152 @@
+<cib crm_feature_set="3.0.10" validate-with="pacemaker-2.3" epoch="31" num_updates="0" admin_epoch="0" cib-last-written="Thu Jul 16 17:55:58 2015" update-origin="c7auto1" update-client="cibadmin" update-user="root" 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-ef86b49"/>
+        <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="c7auto1"/>
+      <node id="2" uname="c7auto2">
+        <instance_attributes id="nodes-2"/>
+      </node>
+      <node id="3" uname="c7auto3">
+        <instance_attributes id="nodes-3">
+          <nvpair id="nodes-3-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+      <node id="4" uname="c7auto4"/>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_phd_kvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="FAKECLONE-clone">
+        <primitive class="ocf" id="FAKECLONE" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKECLONE-instance_attributes"/>
+          <operations>
+            <op id="FAKECLONE-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKECLONE-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKECLONE-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKECLONE-clone-meta">
+          <nvpair id="FAKECLONE-clone-min" name="clone-min" value="2"/>
+        </meta_attributes>
+        <meta_attributes id="FAKECLONE-clone-meta_attributes"/>
+      </clone>
+      <clone id="FAKECLONE2-clone">
+        <primitive class="ocf" id="FAKECLONE2" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKECLONE2-instance_attributes"/>
+          <operations>
+            <op id="FAKECLONE2-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKECLONE2-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKECLONE2-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKECLONE2-clone-meta"/>
+      </clone>
+    </resources>
+    <constraints>
+      <rsc_location id="location-FAKECLONE-clone-c7auto4--INFINITY" node="c7auto4" rsc="FAKECLONE-clone" score="-INFINITY"/>
+      <rsc_location id="location-FAKECLONE2-clone-c7auto1--INFINITY" node="c7auto1" rsc="FAKECLONE2-clone" score="-INFINITY"/>
+      <rsc_location id="location-FAKECLONE2-clone-c7auto2--INFINITY" node="c7auto2" rsc="FAKECLONE2-clone" score="-INFINITY"/>
+      <rsc_order first="FAKECLONE-clone" first-action="start" id="order-FAKECLONE-clone-FAKECLONE2-clone-mandatory" then="FAKECLONE2-clone" then-action="start"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="1" uname="c7auto1" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member">
+      <transient_attributes id="1">
+        <instance_attributes id="status-1">
+          <nvpair id="status-1-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="FAKECLONE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE2_last_0" operation_key="FAKECLONE2_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="17:28:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;17:28:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="30" rc-code="0" op-status="0" interval="0" last-run="1437083676" last-rc-change="1437083676" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="shooter" type="fence_phd_kvm" 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.10" transition-key="11:0:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;11:0:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1437073991" last-rc-change="1437073991" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <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.10" transition-key="9:1:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;9:1:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1437073992" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="14:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;14:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="20" rc-code="0" op-status="0" interval="0" last-run="1437075474" last-rc-change="1437075474" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="2" uname="c7auto2" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" 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="FAKECLONE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE2_last_0" operation_key="FAKECLONE2_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="16:29:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;16:29:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="32" rc-code="0" op-status="0" interval="0" last-run="1437083678" last-rc-change="1437083678" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="shooter" type="fence_phd_kvm" 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.10" transition-key="6:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;6:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="964" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="15:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;15:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="18" rc-code="0" op-status="0" interval="0" last-run="1437075473" last-rc-change="1437075473" exec-time="13" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="3" uname="c7auto3" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member">
+      <transient_attributes id="3">
+        <instance_attributes id="status-3">
+          <nvpair id="status-3-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="FAKECLONE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE2_last_0" operation_key="FAKECLONE2_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="17:30:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;17:30:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1437083710" last-rc-change="1437083710" exec-time="6" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE2_monitor_10000" operation_key="FAKECLONE2_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="18:30:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;18:30:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="30" rc-code="0" op-status="0" interval="10000" last-rc-change="1437083710" exec-time="6" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="shooter" type="fence_phd_kvm" 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.10" transition-key="8:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;8:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="963" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="16:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;16:9:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="18" rc-code="0" op-status="0" interval="0" last-run="1437075473" last-rc-change="1437075473" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="4" uname="c7auto4" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" 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="FAKECLONE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE2_last_0" operation_key="FAKECLONE2_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="22:26:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;22:26:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1437083649" last-rc-change="1437083649" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE2_monitor_10000" operation_key="FAKECLONE2_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="23:26:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;23:26:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="30" rc-code="0" op-status="0" interval="10000" last-rc-change="1437083649" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="shooter" type="fence_phd_kvm" 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.10" transition-key="10:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;10:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="963" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="20:3:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;20:3:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="14" rc-code="0" op-status="0" interval="0" last-run="1437074856" last-rc-change="1437074856" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/cloned_stop_one.dot b/pengine/test10/cloned_stop_one.dot
new file mode 100644
index 0000000..d181135
--- /dev/null
+++ b/pengine/test10/cloned_stop_one.dot
@@ -0,0 +1,26 @@
+ digraph "g" {
+"FAKECLONE-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE-clone_start_0" -> "FAKECLONE-clone_running_0" [ style = bold]
+"FAKECLONE-clone_start_0" -> "FAKECLONE_start_0 <none>" [ style = dashed]
+"FAKECLONE-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE-clone_stop_0" -> "FAKECLONE-clone_stopped_0" [ style = bold]
+"FAKECLONE-clone_stop_0" -> "FAKECLONE_stop_0 c7auto3" [ style = bold]
+"FAKECLONE-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE-clone_stopped_0" -> "FAKECLONE-clone_start_0" [ style = bold]
+"FAKECLONE-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE2-clone_stop_0" -> "FAKECLONE2-clone_stopped_0" [ style = bold]
+"FAKECLONE2-clone_stop_0" -> "FAKECLONE2_stop_0 c7auto3" [ style = bold]
+"FAKECLONE2-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE2-clone_stopped_0" -> "FAKECLONE-clone_stop_0" [ style = bold]
+"FAKECLONE2-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE2_stop_0 c7auto3" -> "FAKECLONE2-clone_stopped_0" [ style = bold]
+"FAKECLONE2_stop_0 c7auto3" -> "all_stopped" [ style = bold]
+"FAKECLONE2_stop_0 c7auto3" [ style=bold color="green" fontcolor="black"]
+"FAKECLONE_start_0 <none>" -> "FAKECLONE-clone_running_0" [ style = dashed]
+"FAKECLONE_start_0 <none>" [ style=dashed color="red" fontcolor="black"]
+"FAKECLONE_stop_0 c7auto3" -> "FAKECLONE-clone_stopped_0" [ style = bold]
+"FAKECLONE_stop_0 c7auto3" -> "FAKECLONE_start_0 <none>" [ style = dashed]
+"FAKECLONE_stop_0 c7auto3" -> "all_stopped" [ style = bold]
+"FAKECLONE_stop_0 c7auto3" [ style=bold color="green" fontcolor="black"]
+"all_stopped" [ style=bold color="green" fontcolor="orange"]
+}
diff --git a/pengine/test10/cloned_stop_one.exp b/pengine/test10/cloned_stop_one.exp
new file mode 100644
index 0000000..9613d6f
--- /dev/null
+++ b/pengine/test10/cloned_stop_one.exp
@@ -0,0 +1,117 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY"  transition_id="0">
+  <synapse id="0">
+    <action_set>
+      <rsc_op id="20" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:2_stop_0" on_node="c7auto3" on_node_uuid="3">
+        <primitive id="FAKECLONE" long-id="FAKECLONE: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="FAKECLONE-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1" priority="1000000">
+    <action_set>
+      <pseudo_event id="24" operation="stopped" operation_key="FAKECLONE-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="20" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:2_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="23" operation="stop" operation_key="FAKECLONE-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2">
+    <action_set>
+      <pseudo_event id="23" operation="stop" operation_key="FAKECLONE-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="31" operation="stopped" operation_key="FAKECLONE2-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="3" priority="1000000">
+    <action_set>
+      <pseudo_event id="22" operation="running" operation_key="FAKECLONE-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="FAKECLONE-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4">
+    <action_set>
+      <pseudo_event id="21" operation="start" operation_key="FAKECLONE-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="FAKECLONE-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <rsc_op id="25" operation="stop" operation_key="FAKECLONE2_stop_0" internal_operation_key="FAKECLONE2:0_stop_0" on_node="c7auto3" on_node_uuid="3">
+        <primitive id="FAKECLONE2" long-id="FAKECLONE2:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="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="30" operation="stop" operation_key="FAKECLONE2-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="6" priority="1000000">
+    <action_set>
+      <pseudo_event id="31" operation="stopped" operation_key="FAKECLONE2-clone_stopped_0">
+        <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="25" operation="stop" operation_key="FAKECLONE2_stop_0" internal_operation_key="FAKECLONE2:0_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="30" operation="stop" operation_key="FAKECLONE2-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="7">
+    <action_set>
+      <pseudo_event id="30" operation="stop" operation_key="FAKECLONE2-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="8">
+    <action_set>
+      <pseudo_event id="8" operation="all_stopped" operation_key="all_stopped">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="20" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:2_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="25" operation="stop" operation_key="FAKECLONE2_stop_0" internal_operation_key="FAKECLONE2:0_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/cloned_stop_one.scores b/pengine/test10/cloned_stop_one.scores
new file mode 100644
index 0000000..6d66638
--- /dev/null
+++ b/pengine/test10/cloned_stop_one.scores
@@ -0,0 +1,77 @@
+Allocation scores:
+clone_color: FAKECLONE-clone allocation score on c7auto1: 0
+clone_color: FAKECLONE-clone allocation score on c7auto2: 0
+clone_color: FAKECLONE-clone allocation score on c7auto3: 0
+clone_color: FAKECLONE-clone allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE2-clone allocation score on c7auto1: -INFINITY
+clone_color: FAKECLONE2-clone allocation score on c7auto2: -INFINITY
+clone_color: FAKECLONE2-clone allocation score on c7auto3: 0
+clone_color: FAKECLONE2-clone allocation score on c7auto4: 0
+clone_color: FAKECLONE2:0 allocation score on c7auto1: -INFINITY
+clone_color: FAKECLONE2:0 allocation score on c7auto2: -INFINITY
+clone_color: FAKECLONE2:0 allocation score on c7auto3: 1
+clone_color: FAKECLONE2:0 allocation score on c7auto4: 0
+clone_color: FAKECLONE2:1 allocation score on c7auto1: -INFINITY
+clone_color: FAKECLONE2:1 allocation score on c7auto2: -INFINITY
+clone_color: FAKECLONE2:1 allocation score on c7auto3: 0
+clone_color: FAKECLONE2:1 allocation score on c7auto4: 1
+clone_color: FAKECLONE2:2 allocation score on c7auto1: -INFINITY
+clone_color: FAKECLONE2:2 allocation score on c7auto2: -INFINITY
+clone_color: FAKECLONE2:2 allocation score on c7auto3: 0
+clone_color: FAKECLONE2:2 allocation score on c7auto4: 0
+clone_color: FAKECLONE2:3 allocation score on c7auto1: -INFINITY
+clone_color: FAKECLONE2:3 allocation score on c7auto2: -INFINITY
+clone_color: FAKECLONE2:3 allocation score on c7auto3: 0
+clone_color: FAKECLONE2:3 allocation score on c7auto4: 0
+clone_color: FAKECLONE:0 allocation score on c7auto1: 1
+clone_color: FAKECLONE:0 allocation score on c7auto2: 0
+clone_color: FAKECLONE:0 allocation score on c7auto3: 0
+clone_color: FAKECLONE:0 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:1 allocation score on c7auto1: 0
+clone_color: FAKECLONE:1 allocation score on c7auto2: 1
+clone_color: FAKECLONE:1 allocation score on c7auto3: 0
+clone_color: FAKECLONE:1 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:2 allocation score on c7auto1: 0
+clone_color: FAKECLONE:2 allocation score on c7auto2: 0
+clone_color: FAKECLONE:2 allocation score on c7auto3: 1
+clone_color: FAKECLONE:2 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:3 allocation score on c7auto1: 0
+clone_color: FAKECLONE:3 allocation score on c7auto2: 0
+clone_color: FAKECLONE:3 allocation score on c7auto3: 0
+clone_color: FAKECLONE:3 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE2:0 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE2:0 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE2:0 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE2:0 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE2:1 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE2:1 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE2:1 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE2:1 allocation score on c7auto4: 1
+native_color: FAKECLONE2:2 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE2:2 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE2:2 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE2:2 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE2:3 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE2:3 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE2:3 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE2:3 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto1: 1
+native_color: FAKECLONE:0 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto1: 0
+native_color: FAKECLONE:1 allocation score on c7auto2: 1
+native_color: FAKECLONE:1 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto4: -INFINITY
+native_color: shooter allocation score on c7auto1: 0
+native_color: shooter allocation score on c7auto2: 0
+native_color: shooter allocation score on c7auto3: 0
+native_color: shooter allocation score on c7auto4: 0
diff --git a/pengine/test10/cloned_stop_one.summary b/pengine/test10/cloned_stop_one.summary
new file mode 100644
index 0000000..1a952a2
--- /dev/null
+++ b/pengine/test10/cloned_stop_one.summary
@@ -0,0 +1,40 @@
+
+Current cluster status:
+Node c7auto3 (3): standby
+Online: [ c7auto1 c7auto2 c7auto4 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKECLONE-clone [FAKECLONE]
+     Started: [ c7auto1 c7auto2 c7auto3 ]
+     Stopped: [ c7auto4 ]
+ Clone Set: FAKECLONE2-clone [FAKECLONE2]
+     Started: [ c7auto3 c7auto4 ]
+     Stopped: [ c7auto1 c7auto2 ]
+
+Transition Summary:
+ * Stop    FAKECLONE:2	(c7auto3)
+ * Stop    FAKECLONE2:0	(c7auto3)
+
+Executing cluster transition:
+ * Pseudo action:   FAKECLONE2-clone_stop_0
+ * Resource action: FAKECLONE2      stop on c7auto3
+ * Pseudo action:   FAKECLONE2-clone_stopped_0
+ * Pseudo action:   FAKECLONE-clone_stop_0
+ * Resource action: FAKECLONE       stop on c7auto3
+ * Pseudo action:   FAKECLONE-clone_stopped_0
+ * Pseudo action:   FAKECLONE-clone_start_0
+ * Pseudo action:   all_stopped
+ * Pseudo action:   FAKECLONE-clone_running_0
+
+Revised cluster status:
+Node c7auto3 (3): standby
+Online: [ c7auto1 c7auto2 c7auto4 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKECLONE-clone [FAKECLONE]
+     Started: [ c7auto1 c7auto2 ]
+     Stopped: [ c7auto3 c7auto4 ]
+ Clone Set: FAKECLONE2-clone [FAKECLONE2]
+     Started: [ c7auto4 ]
+     Stopped: [ c7auto1 c7auto2 c7auto3 ]
+
diff --git a/pengine/test10/cloned_stop_one.xml b/pengine/test10/cloned_stop_one.xml
new file mode 100644
index 0000000..2e2fdfd
--- /dev/null
+++ b/pengine/test10/cloned_stop_one.xml
@@ -0,0 +1,153 @@
+<cib crm_feature_set="3.0.10" validate-with="pacemaker-2.3" epoch="29" num_updates="0" admin_epoch="0" cib-last-written="Thu Jul 16 18:03:09 2015" update-origin="c7auto1" update-client="cibadmin" update-user="root" 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-ef86b49"/>
+        <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="c7auto1"/>
+      <node id="2" uname="c7auto2"/>
+      <node id="3" uname="c7auto3">
+        <instance_attributes id="nodes-3">
+          <nvpair id="nodes-3-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+      <node id="4" uname="c7auto4"/>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_phd_kvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="FAKECLONE-clone">
+        <primitive class="ocf" id="FAKECLONE" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKECLONE-instance_attributes"/>
+          <operations>
+            <op id="FAKECLONE-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKECLONE-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKECLONE-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKECLONE-clone-meta">
+          <nvpair id="FAKECLONE-clone-min" name="clone-min" value="2"/>
+        </meta_attributes>
+        <meta_attributes id="FAKECLONE-clone-meta_attributes"/>
+      </clone>
+      <clone id="FAKECLONE2-clone">
+        <primitive class="ocf" id="FAKECLONE2" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKECLONE2-instance_attributes"/>
+          <operations>
+            <op id="FAKECLONE2-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKECLONE2-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKECLONE2-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKECLONE2-clone-meta"/>
+      </clone>
+    </resources>
+    <constraints>
+      <rsc_location id="location-FAKECLONE-clone-c7auto4--INFINITY" node="c7auto4" rsc="FAKECLONE-clone" score="-INFINITY"/>
+      <rsc_location id="location-FAKECLONE2-clone-c7auto1--INFINITY" node="c7auto1" rsc="FAKECLONE2-clone" score="-INFINITY"/>
+      <rsc_location id="location-FAKECLONE2-clone-c7auto2--INFINITY" node="c7auto2" rsc="FAKECLONE2-clone" score="-INFINITY"/>
+      <rsc_order first="FAKECLONE-clone" first-action="start" id="order-FAKECLONE-clone-FAKECLONE2-clone-mandatory" then="FAKECLONE2-clone" then-action="start"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="1" uname="c7auto1" 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="FAKECLONE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE2_last_0" operation_key="FAKECLONE2_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="17:28:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;17:28:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="30" rc-code="0" op-status="0" interval="0" last-run="1437083676" last-rc-change="1437083676" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="shooter" type="fence_phd_kvm" 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.10" transition-key="11:0:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;11:0:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1437073991" last-rc-change="1437073991" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <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.10" transition-key="9:1:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;9:1:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1437073992" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="16:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;16:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="31" rc-code="0" op-status="0" interval="0" last-run="1437084158" last-rc-change="1437084158" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="17:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;17:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="32" rc-code="0" op-status="0" interval="10000" last-rc-change="1437084158" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="2" uname="c7auto2" 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="FAKECLONE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE2_last_0" operation_key="FAKECLONE2_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="16:29:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;16:29:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="32" rc-code="0" op-status="0" interval="0" last-run="1437083678" last-rc-change="1437083678" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="shooter" type="fence_phd_kvm" 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.10" transition-key="6:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;6:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="964" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="12:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;12:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="33" rc-code="0" op-status="0" interval="0" last-run="1437084158" last-rc-change="1437084158" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="13:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;13:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="34" rc-code="0" op-status="0" interval="10000" last-rc-change="1437084158" exec-time="12" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="3" uname="c7auto3" 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="FAKECLONE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE2_last_0" operation_key="FAKECLONE2_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="17:30:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;17:30:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1437083710" last-rc-change="1437083710" exec-time="6" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE2_monitor_10000" operation_key="FAKECLONE2_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="18:30:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;18:30:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="30" rc-code="0" op-status="0" interval="10000" last-rc-change="1437083710" exec-time="6" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="shooter" type="fence_phd_kvm" 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.10" transition-key="8:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;8:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="963" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="14:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;14:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="31" rc-code="0" op-status="0" interval="0" last-run="1437084157" last-rc-change="1437084157" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="15:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;15:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="32" rc-code="0" op-status="0" interval="10000" last-rc-change="1437084157" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="4" uname="c7auto4" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" 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="FAKECLONE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE2_last_0" operation_key="FAKECLONE2_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="22:26:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;22:26:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1437083649" last-rc-change="1437083649" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE2_monitor_10000" operation_key="FAKECLONE2_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="23:26:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;23:26:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="30" rc-code="0" op-status="0" interval="10000" last-rc-change="1437083649" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="shooter" type="fence_phd_kvm" 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.10" transition-key="10:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;10:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="963" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="20:3:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;20:3:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="14" rc-code="0" op-status="0" interval="0" last-run="1437074856" last-rc-change="1437074856" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/cloned_stop_two.dot b/pengine/test10/cloned_stop_two.dot
new file mode 100644
index 0000000..2c7fd3d
--- /dev/null
+++ b/pengine/test10/cloned_stop_two.dot
@@ -0,0 +1,45 @@
+ digraph "g" {
+"FAKECLONE-clone_running_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE-clone_start_0" -> "FAKECLONE-clone_running_0" [ style = bold]
+"FAKECLONE-clone_start_0" -> "FAKECLONE_start_0 <none>" [ style = dashed]
+"FAKECLONE-clone_start_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE-clone_stop_0" -> "FAKECLONE-clone_stopped_0" [ style = bold]
+"FAKECLONE-clone_stop_0" -> "FAKECLONE_stop_0 c7auto2" [ style = bold]
+"FAKECLONE-clone_stop_0" -> "FAKECLONE_stop_0 c7auto3" [ style = bold]
+"FAKECLONE-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE-clone_stopped_0" -> "FAKECLONE-clone_start_0" [ style = bold]
+"FAKECLONE-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE2-clone_running_0" [ style=dashed color="red" fontcolor="orange"]
+"FAKECLONE2-clone_start_0" -> "FAKECLONE2-clone_running_0" [ style = dashed]
+"FAKECLONE2-clone_start_0" -> "FAKECLONE2_start_0 c7auto4" [ style = dashed]
+"FAKECLONE2-clone_start_0" [ style=dashed color="red" fontcolor="orange"]
+"FAKECLONE2-clone_stop_0" -> "FAKECLONE2-clone_stopped_0" [ style = bold]
+"FAKECLONE2-clone_stop_0" -> "FAKECLONE2_stop_0 c7auto3" [ style = bold]
+"FAKECLONE2-clone_stop_0" -> "FAKECLONE2_stop_0 c7auto4" [ style = bold]
+"FAKECLONE2-clone_stop_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE2-clone_stopped_0" -> "FAKECLONE-clone_stop_0" [ style = bold]
+"FAKECLONE2-clone_stopped_0" -> "FAKECLONE2-clone_start_0" [ style = dashed]
+"FAKECLONE2-clone_stopped_0" [ style=bold color="green" fontcolor="orange"]
+"FAKECLONE2_monitor_10000 c7auto4" [ style=dashed color="red" fontcolor="black"]
+"FAKECLONE2_start_0 c7auto4" -> "FAKECLONE2-clone_running_0" [ style = dashed]
+"FAKECLONE2_start_0 c7auto4" -> "FAKECLONE2_monitor_10000 c7auto4" [ style = dashed]
+"FAKECLONE2_start_0 c7auto4" [ style=dashed color="red" fontcolor="black"]
+"FAKECLONE2_stop_0 c7auto3" -> "FAKECLONE2-clone_stopped_0" [ style = bold]
+"FAKECLONE2_stop_0 c7auto3" -> "all_stopped" [ style = bold]
+"FAKECLONE2_stop_0 c7auto3" [ style=bold color="green" fontcolor="black"]
+"FAKECLONE2_stop_0 c7auto4" -> "FAKECLONE2-clone_stopped_0" [ style = bold]
+"FAKECLONE2_stop_0 c7auto4" -> "FAKECLONE2_start_0 c7auto4" [ style = dashed]
+"FAKECLONE2_stop_0 c7auto4" -> "all_stopped" [ style = bold]
+"FAKECLONE2_stop_0 c7auto4" [ style=bold color="green" fontcolor="black"]
+"FAKECLONE_start_0 <none>" -> "FAKECLONE-clone_running_0" [ style = dashed]
+"FAKECLONE_start_0 <none>" [ style=dashed color="red" fontcolor="black"]
+"FAKECLONE_stop_0 c7auto2" -> "FAKECLONE-clone_stopped_0" [ style = bold]
+"FAKECLONE_stop_0 c7auto2" -> "FAKECLONE_start_0 <none>" [ style = dashed]
+"FAKECLONE_stop_0 c7auto2" -> "all_stopped" [ style = bold]
+"FAKECLONE_stop_0 c7auto2" [ style=bold color="green" fontcolor="black"]
+"FAKECLONE_stop_0 c7auto3" -> "FAKECLONE-clone_stopped_0" [ style = bold]
+"FAKECLONE_stop_0 c7auto3" -> "FAKECLONE_start_0 <none>" [ style = dashed]
+"FAKECLONE_stop_0 c7auto3" -> "all_stopped" [ style = bold]
+"FAKECLONE_stop_0 c7auto3" [ style=bold color="green" fontcolor="black"]
+"all_stopped" [ style=bold color="green" fontcolor="orange"]
+}
diff --git a/pengine/test10/cloned_stop_two.exp b/pengine/test10/cloned_stop_two.exp
new file mode 100644
index 0000000..4aa0e58
--- /dev/null
+++ b/pengine/test10/cloned_stop_two.exp
@@ -0,0 +1,155 @@
+<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="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:1_stop_0" on_node="c7auto2" on_node_uuid="2">
+        <primitive id="FAKECLONE" long-id="FAKECLONE: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="22" operation="stop" operation_key="FAKECLONE-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="1">
+    <action_set>
+      <rsc_op id="19" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:2_stop_0" on_node="c7auto3" on_node_uuid="3">
+        <primitive id="FAKECLONE" long-id="FAKECLONE: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="22" operation="stop" operation_key="FAKECLONE-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="2" priority="1000000">
+    <action_set>
+      <pseudo_event id="23" operation="stopped" operation_key="FAKECLONE-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="18" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:1_stop_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="19" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:2_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="22" operation="stop" operation_key="FAKECLONE-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="3">
+    <action_set>
+      <pseudo_event id="22" operation="stop" operation_key="FAKECLONE-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="30" operation="stopped" operation_key="FAKECLONE2-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="4" priority="1000000">
+    <action_set>
+      <pseudo_event id="21" operation="running" operation_key="FAKECLONE-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="20" operation="start" operation_key="FAKECLONE-clone_start_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="5">
+    <action_set>
+      <pseudo_event id="20" operation="start" operation_key="FAKECLONE-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="23" operation="stopped" operation_key="FAKECLONE-clone_stopped_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="6">
+    <action_set>
+      <rsc_op id="24" operation="stop" operation_key="FAKECLONE2_stop_0" internal_operation_key="FAKECLONE2:0_stop_0" on_node="c7auto3" on_node_uuid="3">
+        <primitive id="FAKECLONE2" long-id="FAKECLONE2:0" class="ocf" provider="heartbeat" type="Dummy"/>
+        <attributes CRM_meta_clone="0" CRM_meta_clone_max="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="29" operation="stop" operation_key="FAKECLONE2-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="7">
+    <action_set>
+      <rsc_op id="25" operation="stop" operation_key="FAKECLONE2_stop_0" internal_operation_key="FAKECLONE2:1_stop_0" on_node="c7auto4" on_node_uuid="4">
+        <primitive id="FAKECLONE2" long-id="FAKECLONE2: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="29" operation="stop" operation_key="FAKECLONE2-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="8" priority="1000000">
+    <action_set>
+      <pseudo_event id="30" operation="stopped" operation_key="FAKECLONE2-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="24" operation="stop" operation_key="FAKECLONE2_stop_0" internal_operation_key="FAKECLONE2:0_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="25" operation="stop" operation_key="FAKECLONE2_stop_0" internal_operation_key="FAKECLONE2:1_stop_0" on_node="c7auto4" on_node_uuid="4"/>
+      </trigger>
+      <trigger>
+        <pseudo_event id="29" operation="stop" operation_key="FAKECLONE2-clone_stop_0"/>
+      </trigger>
+    </inputs>
+  </synapse>
+  <synapse id="9">
+    <action_set>
+      <pseudo_event id="29" operation="stop" operation_key="FAKECLONE2-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="10">
+    <action_set>
+      <pseudo_event id="8" operation="all_stopped" operation_key="all_stopped">
+        <attributes />
+      </pseudo_event>
+    </action_set>
+    <inputs>
+      <trigger>
+        <rsc_op id="18" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:1_stop_0" on_node="c7auto2" on_node_uuid="2"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="19" operation="stop" operation_key="FAKECLONE_stop_0" internal_operation_key="FAKECLONE:2_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="24" operation="stop" operation_key="FAKECLONE2_stop_0" internal_operation_key="FAKECLONE2:0_stop_0" on_node="c7auto3" on_node_uuid="3"/>
+      </trigger>
+      <trigger>
+        <rsc_op id="25" operation="stop" operation_key="FAKECLONE2_stop_0" internal_operation_key="FAKECLONE2:1_stop_0" on_node="c7auto4" on_node_uuid="4"/>
+      </trigger>
+    </inputs>
+  </synapse>
+</transition_graph>
diff --git a/pengine/test10/cloned_stop_two.scores b/pengine/test10/cloned_stop_two.scores
new file mode 100644
index 0000000..f6e9779
--- /dev/null
+++ b/pengine/test10/cloned_stop_two.scores
@@ -0,0 +1,77 @@
+Allocation scores:
+clone_color: FAKECLONE-clone allocation score on c7auto1: 0
+clone_color: FAKECLONE-clone allocation score on c7auto2: 0
+clone_color: FAKECLONE-clone allocation score on c7auto3: 0
+clone_color: FAKECLONE-clone allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE2-clone allocation score on c7auto1: -INFINITY
+clone_color: FAKECLONE2-clone allocation score on c7auto2: -INFINITY
+clone_color: FAKECLONE2-clone allocation score on c7auto3: 0
+clone_color: FAKECLONE2-clone allocation score on c7auto4: 0
+clone_color: FAKECLONE2:0 allocation score on c7auto1: -INFINITY
+clone_color: FAKECLONE2:0 allocation score on c7auto2: -INFINITY
+clone_color: FAKECLONE2:0 allocation score on c7auto3: 1
+clone_color: FAKECLONE2:0 allocation score on c7auto4: 0
+clone_color: FAKECLONE2:1 allocation score on c7auto1: -INFINITY
+clone_color: FAKECLONE2:1 allocation score on c7auto2: -INFINITY
+clone_color: FAKECLONE2:1 allocation score on c7auto3: 0
+clone_color: FAKECLONE2:1 allocation score on c7auto4: 1
+clone_color: FAKECLONE2:2 allocation score on c7auto1: -INFINITY
+clone_color: FAKECLONE2:2 allocation score on c7auto2: -INFINITY
+clone_color: FAKECLONE2:2 allocation score on c7auto3: 0
+clone_color: FAKECLONE2:2 allocation score on c7auto4: 0
+clone_color: FAKECLONE2:3 allocation score on c7auto1: -INFINITY
+clone_color: FAKECLONE2:3 allocation score on c7auto2: -INFINITY
+clone_color: FAKECLONE2:3 allocation score on c7auto3: 0
+clone_color: FAKECLONE2:3 allocation score on c7auto4: 0
+clone_color: FAKECLONE:0 allocation score on c7auto1: 1
+clone_color: FAKECLONE:0 allocation score on c7auto2: 0
+clone_color: FAKECLONE:0 allocation score on c7auto3: 0
+clone_color: FAKECLONE:0 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:1 allocation score on c7auto1: 0
+clone_color: FAKECLONE:1 allocation score on c7auto2: 1
+clone_color: FAKECLONE:1 allocation score on c7auto3: 0
+clone_color: FAKECLONE:1 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:2 allocation score on c7auto1: 0
+clone_color: FAKECLONE:2 allocation score on c7auto2: 0
+clone_color: FAKECLONE:2 allocation score on c7auto3: 1
+clone_color: FAKECLONE:2 allocation score on c7auto4: -INFINITY
+clone_color: FAKECLONE:3 allocation score on c7auto1: 0
+clone_color: FAKECLONE:3 allocation score on c7auto2: 0
+clone_color: FAKECLONE:3 allocation score on c7auto3: 0
+clone_color: FAKECLONE:3 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE2:0 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE2:0 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE2:0 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE2:0 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE2:1 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE2:1 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE2:1 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE2:1 allocation score on c7auto4: 1
+native_color: FAKECLONE2:2 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE2:2 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE2:2 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE2:2 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE2:3 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE2:3 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE2:3 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE2:3 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto1: 1
+native_color: FAKECLONE:0 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:0 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:1 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:2 allocation score on c7auto4: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto1: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto2: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto3: -INFINITY
+native_color: FAKECLONE:3 allocation score on c7auto4: -INFINITY
+native_color: shooter allocation score on c7auto1: 0
+native_color: shooter allocation score on c7auto2: 0
+native_color: shooter allocation score on c7auto3: 0
+native_color: shooter allocation score on c7auto4: 0
diff --git a/pengine/test10/cloned_stop_two.summary b/pengine/test10/cloned_stop_two.summary
new file mode 100644
index 0000000..531295f
--- /dev/null
+++ b/pengine/test10/cloned_stop_two.summary
@@ -0,0 +1,45 @@
+
+Current cluster status:
+Node c7auto2 (2): standby
+Node c7auto3 (3): standby
+Online: [ c7auto1 c7auto4 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKECLONE-clone [FAKECLONE]
+     Started: [ c7auto1 c7auto2 c7auto3 ]
+     Stopped: [ c7auto4 ]
+ Clone Set: FAKECLONE2-clone [FAKECLONE2]
+     Started: [ c7auto3 c7auto4 ]
+     Stopped: [ c7auto1 c7auto2 ]
+
+Transition Summary:
+ * Stop    FAKECLONE:1	(c7auto2)
+ * Stop    FAKECLONE:2	(c7auto3)
+ * Stop    FAKECLONE2:0	(c7auto3)
+ * Stop    FAKECLONE2:1	(Started c7auto4)
+
+Executing cluster transition:
+ * Pseudo action:   FAKECLONE2-clone_stop_0
+ * Resource action: FAKECLONE2      stop on c7auto3
+ * Resource action: FAKECLONE2      stop on c7auto4
+ * Pseudo action:   FAKECLONE2-clone_stopped_0
+ * Pseudo action:   FAKECLONE-clone_stop_0
+ * Resource action: FAKECLONE       stop on c7auto2
+ * Resource action: FAKECLONE       stop on c7auto3
+ * Pseudo action:   FAKECLONE-clone_stopped_0
+ * Pseudo action:   FAKECLONE-clone_start_0
+ * Pseudo action:   all_stopped
+ * Pseudo action:   FAKECLONE-clone_running_0
+
+Revised cluster status:
+Node c7auto2 (2): standby
+Node c7auto3 (3): standby
+Online: [ c7auto1 c7auto4 ]
+
+ shooter	(stonith:fence_phd_kvm):	Started c7auto1
+ Clone Set: FAKECLONE-clone [FAKECLONE]
+     Started: [ c7auto1 ]
+     Stopped: [ c7auto2 c7auto3 c7auto4 ]
+ Clone Set: FAKECLONE2-clone [FAKECLONE2]
+     Stopped: [ c7auto1 c7auto2 c7auto3 c7auto4 ]
+
diff --git a/pengine/test10/cloned_stop_two.xml b/pengine/test10/cloned_stop_two.xml
new file mode 100644
index 0000000..220dfc2
--- /dev/null
+++ b/pengine/test10/cloned_stop_two.xml
@@ -0,0 +1,157 @@
+<cib crm_feature_set="3.0.10" validate-with="pacemaker-2.3" epoch="30" num_updates="0" admin_epoch="0" cib-last-written="Thu Jul 16 18:03:09 2015" update-origin="c7auto1" update-client="cibadmin" update-user="root" 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-ef86b49"/>
+        <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="c7auto1"/>
+      <node id="2" uname="c7auto2">
+        <instance_attributes id="nodes-2">
+          <nvpair id="nodes-2-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+      <node id="3" uname="c7auto3">
+        <instance_attributes id="nodes-3">
+          <nvpair id="nodes-3-standby" name="standby" value="on"/>
+        </instance_attributes>
+      </node>
+      <node id="4" uname="c7auto4"/>
+    </nodes>
+    <resources>
+      <primitive class="stonith" id="shooter" type="fence_phd_kvm">
+        <instance_attributes id="shooter-instance_attributes"/>
+        <operations>
+          <op id="shooter-monitor-interval-60s" interval="60s" name="monitor"/>
+        </operations>
+      </primitive>
+      <clone id="FAKECLONE-clone">
+        <primitive class="ocf" id="FAKECLONE" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKECLONE-instance_attributes"/>
+          <operations>
+            <op id="FAKECLONE-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKECLONE-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKECLONE-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKECLONE-clone-meta">
+          <nvpair id="FAKECLONE-clone-min" name="clone-min" value="2"/>
+        </meta_attributes>
+        <meta_attributes id="FAKECLONE-clone-meta_attributes"/>
+      </clone>
+      <clone id="FAKECLONE2-clone">
+        <primitive class="ocf" id="FAKECLONE2" provider="heartbeat" type="Dummy">
+          <instance_attributes id="FAKECLONE2-instance_attributes"/>
+          <operations>
+            <op id="FAKECLONE2-start-timeout-20" interval="0s" name="start" timeout="20"/>
+            <op id="FAKECLONE2-stop-timeout-20" interval="0s" name="stop" timeout="20"/>
+            <op id="FAKECLONE2-monitor-interval-10" interval="10" name="monitor" timeout="20"/>
+          </operations>
+        </primitive>
+        <meta_attributes id="FAKECLONE2-clone-meta"/>
+      </clone>
+    </resources>
+    <constraints>
+      <rsc_location id="location-FAKECLONE-clone-c7auto4--INFINITY" node="c7auto4" rsc="FAKECLONE-clone" score="-INFINITY"/>
+      <rsc_location id="location-FAKECLONE2-clone-c7auto1--INFINITY" node="c7auto1" rsc="FAKECLONE2-clone" score="-INFINITY"/>
+      <rsc_location id="location-FAKECLONE2-clone-c7auto2--INFINITY" node="c7auto2" rsc="FAKECLONE2-clone" score="-INFINITY"/>
+      <rsc_order first="FAKECLONE-clone" first-action="start" id="order-FAKECLONE-clone-FAKECLONE2-clone-mandatory" then="FAKECLONE2-clone" then-action="start"/>
+    </constraints>
+  </configuration>
+  <status>
+    <node_state id="1" uname="c7auto1" 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="FAKECLONE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE2_last_0" operation_key="FAKECLONE2_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="17:28:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;17:28:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="30" rc-code="0" op-status="0" interval="0" last-run="1437083676" last-rc-change="1437083676" exec-time="12" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="shooter" type="fence_phd_kvm" 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.10" transition-key="11:0:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;11:0:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1437073991" last-rc-change="1437073991" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <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.10" transition-key="9:1:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;9:1:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1437073992" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="16:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;16:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="31" rc-code="0" op-status="0" interval="0" last-run="1437084158" last-rc-change="1437084158" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="17:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;17:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto1" call-id="32" rc-code="0" op-status="0" interval="10000" last-rc-change="1437084158" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="2" uname="c7auto2" 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="FAKECLONE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE2_last_0" operation_key="FAKECLONE2_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="16:29:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;16:29:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="32" rc-code="0" op-status="0" interval="0" last-run="1437083678" last-rc-change="1437083678" exec-time="10" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="shooter" type="fence_phd_kvm" 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.10" transition-key="6:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;6:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="964" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="12:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;12:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="33" rc-code="0" op-status="0" interval="0" last-run="1437084158" last-rc-change="1437084158" exec-time="11" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="13:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;13:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto2" call-id="34" rc-code="0" op-status="0" interval="10000" last-rc-change="1437084158" exec-time="12" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="3" uname="c7auto3" 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="FAKECLONE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE2_last_0" operation_key="FAKECLONE2_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="17:30:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;17:30:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1437083710" last-rc-change="1437083710" exec-time="6" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE2_monitor_10000" operation_key="FAKECLONE2_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="18:30:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;18:30:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="30" rc-code="0" op-status="0" interval="10000" last-rc-change="1437083710" exec-time="6" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="shooter" type="fence_phd_kvm" 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.10" transition-key="8:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;8:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="963" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="14:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;14:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="31" rc-code="0" op-status="0" interval="0" last-run="1437084157" last-rc-change="1437084157" exec-time="9" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE_monitor_10000" operation_key="FAKECLONE_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.10" transition-key="15:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;15:33:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto3" call-id="32" rc-code="0" op-status="0" interval="10000" last-rc-change="1437084157" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+    <node_state id="4" uname="c7auto4" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" 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="FAKECLONE2" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE2_last_0" operation_key="FAKECLONE2_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="22:26:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;22:26:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="29" rc-code="0" op-status="0" interval="0" last-run="1437083649" last-rc-change="1437083649" exec-time="7" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" fake " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+            <lrm_rsc_op id="FAKECLONE2_monitor_10000" operation_key="FAKECLONE2_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="23:26:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;23:26:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="30" rc-code="0" op-status="0" interval="10000" last-rc-change="1437083649" exec-time="7" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+          </lrm_resource>
+          <lrm_resource id="shooter" type="fence_phd_kvm" 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.10" transition-key="10:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:7;10:0:7:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="5" rc-code="7" op-status="0" interval="0" last-run="1437073988" last-rc-change="1437073988" exec-time="963" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+          <lrm_resource id="FAKECLONE" type="Dummy" class="ocf" provider="heartbeat">
+            <lrm_rsc_op id="FAKECLONE_last_0" operation_key="FAKECLONE_stop_0" operation="stop" crm-debug-origin="build_active_RAs" crm_feature_set="3.0.10" transition-key="20:3:0:b489d50c-a7db-4605-8519-a2d5e1452e29" transition-magic="0:0;20:3:0:b489d50c-a7db-4605-8519-a2d5e1452e29" on_node="c7auto4" call-id="14" rc-code="0" op-status="0" interval="0" last-run="1437074856" last-rc-change="1437074856" exec-time="8" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+          </lrm_resource>
+        </lrm_resources>
+      </lrm>
+    </node_state>
+  </status>
+</cib>
diff --git a/pengine/test10/stonith-1.dot b/pengine/test10/stonith-1.dot
index d64edcf..3814ac9 100644
--- a/pengine/test10/stonith-1.dot
+++ b/pengine/test10/stonith-1.dot
@@ -88,8 +88,6 @@ digraph "g" {
 "rsc_sles-3_stop_0 sles-3" -> "rsc_sles-3_start_0 sles-4" [ style = bold]
 "rsc_sles-3_stop_0 sles-3" [ style=bold color="green" fontcolor="orange" ]
 "rsc_sles-4_monitor_5000 sles-4" [ style=bold color="green" fontcolor="black" ]
-"stonith 'reboot' sles-3" -> "DoFencing_stop_0" [ style = bold]
-"stonith 'reboot' sles-3" -> "child_DoFencing:2_stop_0 sles-3" [ style = bold]
 "stonith 'reboot' sles-3" -> "master_rsc_1_stop_0" [ style = bold]
 "stonith 'reboot' sles-3" -> "migrator_stop_0 sles-3" [ style = bold]
 "stonith 'reboot' sles-3" -> "ocf_msdummy:2_stop_0 sles-3" [ style = bold]
diff --git a/pengine/test10/stonith-1.exp b/pengine/test10/stonith-1.exp
index 4d58afa..40b22cb 100644
--- a/pengine/test10/stonith-1.exp
+++ b/pengine/test10/stonith-1.exp
@@ -210,9 +210,6 @@
       <trigger>
         <pseudo_event id="47" operation="stop" operation_key="DoFencing_stop_0"/>
       </trigger>
-      <trigger>
-        <crm_event id="72" operation="stonith" operation_key="stonith-sles-3-reboot" on_node="sles-3" on_node_uuid="2298606a-6a8c-499a-9d25-76242f7006ec"/>
-      </trigger>
     </inputs>
   </synapse>
   <synapse id="17" priority="1000000">
@@ -236,11 +233,7 @@
         <attributes CRM_meta_clone_max="4" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="10000" />
       </pseudo_event>
     </action_set>
-    <inputs>
-      <trigger>
-        <crm_event id="72" operation="stonith" operation_key="stonith-sles-3-reboot" on_node="sles-3" on_node_uuid="2298606a-6a8c-499a-9d25-76242f7006ec"/>
-      </trigger>
-    </inputs>
+    <inputs/>
   </synapse>
   <synapse id="19" priority="1000000">
     <action_set>
diff --git a/pengine/test10/stonith-1.summary b/pengine/test10/stonith-1.summary
index ef904fe..e99bb5e 100644
--- a/pengine/test10/stonith-1.summary
+++ b/pengine/test10/stonith-1.summary
@@ -45,20 +45,22 @@ Executing cluster transition:
  * Resource action: lsb_dummy       monitor=5000 on sles-2
  * Resource action: rsc_sles-2      monitor=5000 on sles-2
  * Resource action: rsc_sles-4      monitor=5000 on sles-4
+ * Pseudo action:   DoFencing_stop_0
  * Fencing sles-3 (reboot)
  * Pseudo action:   stonith_complete
  * Resource action: r192.168.100.183 start on sles-1
  * Pseudo action:   migrator_stop_0
  * Pseudo action:   rsc_sles-3_stop_0
- * Pseudo action:   DoFencing_stop_0
+ * Pseudo action:   child_DoFencing:2_stop_0
+ * Pseudo action:   DoFencing_stopped_0
+ * Pseudo action:   DoFencing_start_0
  * Pseudo action:   master_rsc_1_stop_0
  * Pseudo action:   group-1_running_0
  * Resource action: r192.168.100.183 monitor=5000 on sles-1
  * Resource action: migrator        start on sles-4
  * Resource action: rsc_sles-3      start on sles-4
- * Pseudo action:   child_DoFencing:2_stop_0
- * Pseudo action:   DoFencing_stopped_0
- * Pseudo action:   DoFencing_start_0
+ * Resource action: child_DoFencing:2 start on sles-4
+ * Pseudo action:   DoFencing_running_0
  * Pseudo action:   ocf_msdummy:2_stop_0
  * Pseudo action:   ocf_msdummy:5_stop_0
  * Pseudo action:   master_rsc_1_stopped_0
@@ -66,8 +68,7 @@ Executing cluster transition:
  * Pseudo action:   all_stopped
  * Resource action: migrator        monitor=10000 on sles-4
  * Resource action: rsc_sles-3      monitor=5000 on sles-4
- * Resource action: child_DoFencing:2 start on sles-4
- * Pseudo action:   DoFencing_running_0
+ * Resource action: child_DoFencing:2 monitor=60000 on sles-4
  * Resource action: ocf_msdummy:0   start on sles-4
  * Resource action: ocf_msdummy:1   start on sles-1
  * Resource action: ocf_msdummy:2   start on sles-2
@@ -75,7 +76,6 @@ Executing cluster transition:
  * Resource action: ocf_msdummy:4   start on sles-1
  * Resource action: ocf_msdummy:5   start on sles-2
  * Pseudo action:   master_rsc_1_running_0
- * Resource action: child_DoFencing:2 monitor=60000 on sles-4
  * Resource action: ocf_msdummy:0   monitor=5000 on sles-4
  * Resource action: ocf_msdummy:1   monitor=5000 on sles-1
  * Resource action: ocf_msdummy:2   monitor=5000 on sles-2
diff --git a/pengine/test10/ticket-master-21.dot b/pengine/test10/ticket-master-21.dot
index 60386a8..3f94948 100644
--- a/pengine/test10/ticket-master-21.dot
+++ b/pengine/test10/ticket-master-21.dot
@@ -23,7 +23,6 @@ digraph "g" {
 "stonith 'reboot' node1" -> "ms1_stop_0" [ style = bold]
 "stonith 'reboot' node1" -> "rsc1:1_demote_0 node1" [ style = bold]
 "stonith 'reboot' node1" -> "rsc1:1_stop_0 node1" [ style = bold]
-"stonith 'reboot' node1" -> "rsc_stonith_stop_0 node1" [ style = bold]
 "stonith 'reboot' node1" -> "stonith_complete" [ style = bold]
 "stonith 'reboot' node1" [ style=bold color="green" fontcolor="black"]
 "stonith_complete" -> "all_stopped" [ style = bold]
diff --git a/pengine/test10/ticket-master-21.exp b/pengine/test10/ticket-master-21.exp
index cc8df2f..c32bac5 100644
--- a/pengine/test10/ticket-master-21.exp
+++ b/pengine/test10/ticket-master-21.exp
@@ -18,11 +18,7 @@
         <attributes CRM_meta_timeout="20000" />
       </pseudo_event>
     </action_set>
-    <inputs>
-      <trigger>
-        <crm_event id="21" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1"/>
-      </trigger>
-    </inputs>
+    <inputs/>
   </synapse>
   <synapse id="2">
     <action_set>
diff --git a/pengine/test10/ticket-master-21.summary b/pengine/test10/ticket-master-21.summary
index 64a9cbe..b228696 100644
--- a/pengine/test10/ticket-master-21.summary
+++ b/pengine/test10/ticket-master-21.summary
@@ -12,14 +12,14 @@ Transition Summary:
  * Demote  rsc1:0	(Master -> Stopped node1)
 
 Executing cluster transition:
+ * Pseudo action:   rsc_stonith_stop_0
  * Pseudo action:   ms1_demote_0
  * Fencing node1 (reboot)
  * Pseudo action:   stonith_complete
- * Pseudo action:   rsc_stonith_stop_0
+ * Resource action: rsc_stonith     start on node2
  * Pseudo action:   rsc1:1_demote_0
  * Pseudo action:   ms1_demoted_0
  * Pseudo action:   ms1_stop_0
- * Resource action: rsc_stonith     start on node2
  * Pseudo action:   rsc1:1_stop_0
  * Pseudo action:   ms1_stopped_0
  * Pseudo action:   all_stopped
diff --git a/pengine/test10/ticket-master-9.dot b/pengine/test10/ticket-master-9.dot
index 3a29836..c648feb 100644
--- a/pengine/test10/ticket-master-9.dot
+++ b/pengine/test10/ticket-master-9.dot
@@ -23,7 +23,6 @@ digraph "g" {
 "stonith 'reboot' node1" -> "ms1_stop_0" [ style = bold]
 "stonith 'reboot' node1" -> "rsc1:1_demote_0 node1" [ style = bold]
 "stonith 'reboot' node1" -> "rsc1:1_stop_0 node1" [ style = bold]
-"stonith 'reboot' node1" -> "rsc_stonith_stop_0 node1" [ style = bold]
 "stonith 'reboot' node1" -> "stonith_complete" [ style = bold]
 "stonith 'reboot' node1" [ style=bold color="green" fontcolor="black"]
 "stonith_complete" -> "all_stopped" [ style = bold]
diff --git a/pengine/test10/ticket-master-9.exp b/pengine/test10/ticket-master-9.exp
index cc8df2f..c32bac5 100644
--- a/pengine/test10/ticket-master-9.exp
+++ b/pengine/test10/ticket-master-9.exp
@@ -18,11 +18,7 @@
         <attributes CRM_meta_timeout="20000" />
       </pseudo_event>
     </action_set>
-    <inputs>
-      <trigger>
-        <crm_event id="21" operation="stonith" operation_key="stonith-node1-reboot" on_node="node1" on_node_uuid="node1"/>
-      </trigger>
-    </inputs>
+    <inputs/>
   </synapse>
   <synapse id="2">
     <action_set>
diff --git a/pengine/test10/ticket-master-9.summary b/pengine/test10/ticket-master-9.summary
index 64a9cbe..b228696 100644
--- a/pengine/test10/ticket-master-9.summary
+++ b/pengine/test10/ticket-master-9.summary
@@ -12,14 +12,14 @@ Transition Summary:
  * Demote  rsc1:0	(Master -> Stopped node1)
 
 Executing cluster transition:
+ * Pseudo action:   rsc_stonith_stop_0
  * Pseudo action:   ms1_demote_0
  * Fencing node1 (reboot)
  * Pseudo action:   stonith_complete
- * Pseudo action:   rsc_stonith_stop_0
+ * Resource action: rsc_stonith     start on node2
  * Pseudo action:   rsc1:1_demote_0
  * Pseudo action:   ms1_demoted_0
  * Pseudo action:   ms1_stop_0
- * Resource action: rsc_stonith     start on node2
  * Pseudo action:   rsc1:1_stop_0
  * Pseudo action:   ms1_stopped_0
  * Pseudo action:   all_stopped
diff --git a/pengine/test10/whitebox-imply-stop-on-fence.dot b/pengine/test10/whitebox-imply-stop-on-fence.dot
index 66700b8..b3fd40b 100644
--- a/pengine/test10/whitebox-imply-stop-on-fence.dot
+++ b/pengine/test10/whitebox-imply-stop-on-fence.dot
@@ -69,7 +69,6 @@
 "stonith 'reboot' kiff-01" -> "clvmd_stop_0 kiff-01" [ style = bold]
 "stonith 'reboot' kiff-01" -> "dlm-clone_stop_0" [ style = bold]
 "stonith 'reboot' kiff-01" -> "dlm_stop_0 kiff-01" [ style = bold]
-"stonith 'reboot' kiff-01" -> "fence-kiff-02_stop_0 kiff-01" [ style = bold]
 "stonith 'reboot' kiff-01" -> "lxc-01_kiff-01_stop_0 kiff-01" [ style = bold]
 "stonith 'reboot' kiff-01" -> "lxc-02_kiff-01_stop_0 kiff-01" [ style = bold]
 "stonith 'reboot' kiff-01" -> "shared0-clone_stop_0" [ style = bold]
diff --git a/pengine/test10/whitebox-imply-stop-on-fence.exp b/pengine/test10/whitebox-imply-stop-on-fence.exp
index d13c25f..4a3e757 100644
--- a/pengine/test10/whitebox-imply-stop-on-fence.exp
+++ b/pengine/test10/whitebox-imply-stop-on-fence.exp
@@ -31,11 +31,7 @@
         <attributes CRM_meta_timeout="20000" action="reboot"  ipaddr="kiff-02-ilo" login="admin" passwd="admin" pcmk_host_check="static-list" pcmk_host_list="kiff-02"/>
       </pseudo_event>
     </action_set>
-    <inputs>
-      <trigger>
-        <crm_event id="63" operation="stonith" operation_key="stonith-kiff-01-reboot" on_node="kiff-01" on_node_uuid="1"/>
-      </trigger>
-    </inputs>
+    <inputs/>
   </synapse>
   <synapse id="3">
     <action_set>
diff --git a/pengine/test10/whitebox-imply-stop-on-fence.summary b/pengine/test10/whitebox-imply-stop-on-fence.summary
index 3bb1572..3ee9570 100644
--- a/pengine/test10/whitebox-imply-stop-on-fence.summary
+++ b/pengine/test10/whitebox-imply-stop-on-fence.summary
@@ -36,16 +36,16 @@ Transition Summary:
  * Move    lxc-02_kiff-01	(Started kiff-01 -> kiff-02)
 
 Executing cluster transition:
+ * Pseudo action:   fence-kiff-02_stop_0
  * Fencing kiff-01 (reboot)
  * Pseudo action:   stonith_complete
- * Pseudo action:   fence-kiff-02_stop_0
+ * Resource action: fence-kiff-02   start on kiff-02
  * Pseudo action:   vm-fs_stop_0
  * Pseudo action:   lxc-01_kiff-01_stop_0
  * Pseudo action:   lxc-02_kiff-01_stop_0
- * Resource action: fence-kiff-02   start on kiff-02
+ * Resource action: fence-kiff-02   monitor=60000 on kiff-02
  * Pseudo action:   R-lxc-01_kiff-01_stop_0
  * Pseudo action:   R-lxc-02_kiff-01_stop_0
- * Resource action: fence-kiff-02   monitor=60000 on kiff-02
  * Pseudo action:   shared0-clone_stop_0
  * Resource action: R-lxc-01_kiff-01 start on kiff-02
  * Resource action: R-lxc-02_kiff-01 start on kiff-02