Page Menu
Home
ClusterLabs Projects
Search
Configure Global Search
Log In
Files
F2822933
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
52 KB
Referenced Files
None
Subscribers
None
View Options
diff --git a/pengine/regression.sh b/pengine/regression.sh
index 78b8865d76..81320aa9aa 100755
--- a/pengine/regression.sh
+++ b/pengine/regression.sh
@@ -1,352 +1,354 @@
#!/bin/bash
# Copyright (C) 2004 Andrew Beekhof <andrew@beekhof.net>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This software is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
core=`dirname $0`
. $core/regression.core.sh
io_dir=$test_home/test10
create_mode="true"
info Generating test outputs for these tests...
# do_test file description
info Done.
echo ""
info Performing the following tests from $io_dir
create_mode="false"
echo ""
do_test simple1 "Offline "
do_test simple2 "Start "
do_test simple3 "Start 2 "
do_test simple4 "Start Failed"
do_test simple6 "Stop Start "
do_test simple7 "Shutdown "
#do_test simple8 "Stonith "
#do_test simple9 "Lower version"
#do_test simple10 "Higher version"
do_test simple11 "Priority (ne)"
do_test simple12 "Priority (eq)"
do_test simple8 "Stickiness"
echo ""
do_test params-0 "Params: No change"
do_test params-1 "Params: Changed"
do_test params-2 "Params: Resource definition"
do_test params-4 "Params: Reload"
do_test novell-251689 "Resource definition change + target_role=stopped"
do_test bug-lf-2106 "Restart all anonymous clone instances after config change"
echo ""
do_test orphan-0 "Orphan ignore"
do_test orphan-1 "Orphan stop"
echo ""
do_test target-0 "Target Role : baseline"
do_test target-1 "Target Role : master"
do_test target-2 "Target Role : invalid"
echo ""
do_test date-1 "Dates" -t "2005-020"
do_test date-2 "Date Spec - Pass" -t "2005-020T12:30"
do_test date-3 "Date Spec - Fail" -t "2005-020T11:30"
do_test probe-0 "Probe (anon clone)"
do_test probe-1 "Pending Probe"
do_test probe-2 "Correctly re-probe cloned groups"
do_test probe-3 "Probe (pending node)"
do_test probe-4 "Probe (pending node + stopped resource)" --rc 4
do_test standby "Standby"
do_test comments "Comments"
echo ""
do_test rsc_dep1 "Must not "
do_test rsc_dep3 "Must "
do_test rsc_dep5 "Must not 3 "
do_test rsc_dep7 "Must 3 "
do_test rsc_dep10 "Must (but cant)"
do_test rsc_dep2 "Must (running) "
do_test rsc_dep8 "Must (running : alt) "
do_test rsc_dep4 "Must (running + move)"
do_test asymmetric "Asymmetric - require explicit location constraints"
echo ""
do_test order1 "Order start 1 "
do_test order2 "Order start 2 "
do_test order3 "Order stop "
do_test order4 "Order (multiple) "
do_test order5 "Order (move) "
do_test order6 "Order (move w/ restart) "
do_test order7 "Order (manditory) "
do_test order-optional "Order (score=0) "
do_test order-required "Order (score=INFINITY) "
do_test bug-lf-2171 "Prevent group start when clone is stopped"
do_test order-clone "Clone ordering should be able to prevent startup of dependant clones"
do_test order-sets "Ordering for resource sets"
do_test order-serialize "Serialize resources without inhibiting migration"
do_test order-serialize-set "Serialize a set of resources without inhibiting migration"
echo ""
do_test coloc-loop "Colocation - loop"
do_test coloc-many-one "Colocation - many-to-one"
do_test coloc-list "Colocation - many-to-one with list"
do_test coloc-group "Colocation - groups"
do_test coloc-slave-anti "Anti-colocation with slave shouldn't prevent master colocation"
do_test coloc-attr "Colocation based on node attributes"
do_test coloc-negative-group "Negative colocation with a group"
do_test coloc-intra-set "Intra-set colocation"
#echo ""
#do_test agent1 "version: lt (empty)"
#do_test agent2 "version: eq "
#do_test agent3 "version: gt "
echo ""
do_test attrs1 "string: eq (and) "
do_test attrs2 "string: lt / gt (and)"
do_test attrs3 "string: ne (or) "
do_test attrs4 "string: exists "
do_test attrs5 "string: not_exists "
do_test attrs6 "is_dc: true "
do_test attrs7 "is_dc: false "
do_test attrs8 "score_attribute "
echo ""
do_test mon-rsc-1 "Schedule Monitor - start"
do_test mon-rsc-2 "Schedule Monitor - move "
do_test mon-rsc-3 "Schedule Monitor - pending start "
do_test mon-rsc-4 "Schedule Monitor - move/pending start"
echo ""
do_test rec-rsc-0 "Resource Recover - no start "
do_test rec-rsc-1 "Resource Recover - start "
do_test rec-rsc-2 "Resource Recover - monitor "
do_test rec-rsc-3 "Resource Recover - stop - ignore"
do_test rec-rsc-4 "Resource Recover - stop - block "
do_test rec-rsc-5 "Resource Recover - stop - fence "
do_test rec-rsc-6 "Resource Recover - multiple - restart"
do_test rec-rsc-7 "Resource Recover - multiple - stop "
do_test rec-rsc-8 "Resource Recover - multiple - block "
do_test rec-rsc-9 "Resource Recover - group/group"
echo ""
do_test quorum-1 "No quorum - ignore"
do_test quorum-2 "No quorum - freeze"
do_test quorum-3 "No quorum - stop "
do_test quorum-4 "No quorum - start anyway"
do_test quorum-5 "No quorum - start anyway (group)"
do_test quorum-6 "No quorum - start anyway (clone)"
echo ""
do_test rec-node-1 "Node Recover - Startup - no fence"
do_test rec-node-2 "Node Recover - Startup - fence "
do_test rec-node-3 "Node Recover - HA down - no fence"
do_test rec-node-4 "Node Recover - HA down - fence "
do_test rec-node-5 "Node Recover - CRM down - no fence"
do_test rec-node-6 "Node Recover - CRM down - fence "
do_test rec-node-7 "Node Recover - no quorum - ignore "
do_test rec-node-8 "Node Recover - no quorum - freeze "
do_test rec-node-9 "Node Recover - no quorum - stop "
do_test rec-node-10 "Node Recover - no quorum - stop w/fence"
do_test rec-node-11 "Node Recover - CRM down w/ group - fence "
do_test rec-node-12 "Node Recover - nothing active - fence "
do_test rec-node-13 "Node Recover - failed resource + shutdown - fence "
do_test rec-node-15 "Node Recover - unknown lrm section"
do_test rec-node-14 "Serialize all stonith's"
echo ""
do_test multi1 "Multiple Active (stop/start)"
echo ""
do_test migrate-stop "Migration in a stopping stack"
do_test migrate-start "Migration in a starting stack"
do_test migrate-stop_start "Migration in a restarting stack"
do_test migrate-stop-complex "Migration in a complex stopping stack"
do_test migrate-start-complex "Migration in a complex starting stack"
do_test migrate-stop-start-complex "Migration in a complex moving stack"
do_test migrate-1 "Migrate (migrate)"
do_test migrate-2 "Migrate (stable)"
do_test migrate-3 "Migrate (failed migrate_to)"
do_test migrate-4 "Migrate (failed migrate_from)"
do_test novell-252693 "Migration in a stopping stack"
do_test novell-252693-2 "Migration in a starting stack"
do_test novell-252693-3 "Non-Migration in a starting and stopping stack"
do_test bug-1820 "Migration in a group"
do_test bug-1820-1 "Non-migration in a group"
do_test migrate-5 "Primitive migration with a clone"
#echo ""
#do_test complex1 "Complex "
echo ""
do_test group1 "Group "
do_test group2 "Group + Native "
do_test group3 "Group + Group "
do_test group4 "Group + Native (nothing)"
do_test group5 "Group + Native (move) "
do_test group6 "Group + Group (move) "
do_test group7 "Group colocation"
do_test group13 "Group colocation (cant run)"
do_test group8 "Group anti-colocation"
do_test group9 "Group recovery"
do_test group10 "Group partial recovery"
do_test group11 "Group target_role"
do_test group14 "Group stop (graph terminated)"
do_test group15 "-ve group colocation"
do_test bug-1573 "Partial stop of a group with two children"
do_test bug-1718 "Mandatory group ordering - Stop group_FUN"
echo ""
do_test clone-anon-probe-1 "Probe the correct (anonymous) clone instance for each node"
do_test clone-anon-probe-2 "Avoid needless re-probing of anonymous clones"
do_test clone-anon-failcount "Merge failcounts for anonymous clones"
do_test inc0 "Incarnation start"
do_test inc1 "Incarnation start order"
do_test inc2 "Incarnation silent restart, stop, move"
do_test inc3 "Inter-incarnation ordering, silent restart, stop, move"
do_test inc4 "Inter-incarnation ordering, silent restart, stop, move (ordered)"
do_test inc5 "Inter-incarnation ordering, silent restart, stop, move (restart 1)"
do_test inc6 "Inter-incarnation ordering, silent restart, stop, move (restart 2)"
do_test inc7 "Clone colocation"
do_test inc8 "Clone anti-colocation"
do_test inc9 "Non-unique clone"
do_test inc10 "Non-unique clone (stop)"
do_test inc11 "Primitive colocation with clones"
do_test inc12 "Clone shutdown"
do_test cloned-group "Make sure only the correct number of cloned groups are started"
do_test clone-no-shuffle "Dont prioritize allocation of instances that must be moved"
do_test clone-max-zero "Orphan processing with clone-max=0"
do_test clone-anon-dup "Bug LF#2087 - Correctly parse the state of anonymous clones that are active more than once per node"
do_test bug-lf-2160 "Dont shuffle clones due to colocation"
do_test bug-lf-2213 "clone-node-max enforcement for cloned groups"
do_test bug-lf-2153 "Clone ordering constraints"
do_test bug-lf-2361 "Ensure clones observe mandatory ordering constraints if the LHS is unrunnable"
do_test bug-lf-2317 "Avoid needless restart of primitive depending on a clone"
+do_test clone-colocate-instance-1 "Colocation with a specific clone instance (negative example)"
+do_test clone-colocate-instance-2 "Colocation with a specific clone instance"
echo ""
do_test master-0 "Stopped -> Slave"
do_test master-1 "Stopped -> Promote"
do_test master-2 "Stopped -> Promote : notify"
do_test master-3 "Stopped -> Promote : master location"
do_test master-4 "Started -> Promote : master location"
do_test master-5 "Promoted -> Promoted"
do_test master-6 "Promoted -> Promoted (2)"
do_test master-7 "Promoted -> Fenced"
do_test master-8 "Promoted -> Fenced -> Moved"
do_test master-9 "Stopped + Promotable + No quorum"
do_test master-10 "Stopped -> Promotable : notify with monitor"
do_test master-11 "Stopped -> Promote : colocation"
do_test novell-239082 "Demote/Promote ordering"
do_test novell-239087 "Stable master placement"
do_test master-12 "Promotion based solely on rsc_location constraints"
do_test master-13 "Include preferences of colocated resources when placing master"
do_test master-demote "Ordering when actions depends on demoting a slave resource"
do_test master-ordering "Prevent resources from starting that need a master"
do_test bug-1765 "Master-Master Colocation (dont stop the slaves)"
do_test master-group "Promotion of cloned groups"
do_test bug-lf-1852 "Don't shuffle master/slave instances unnecessarily"
do_test master-failed-demote "Dont retry failed demote actions"
do_test master-failed-demote-2 "Dont retry failed demote actions (notify=false)"
do_test master-depend "Ensure resources that depend on the master don't get allocated until the master does"
do_test master-reattach "Re-attach to a running master"
do_test master-allow-start "Don't include master score if it would prevent allocation"
do_test master-colocation "Allow master instances placemaker to be influenced by colocation constraints"
do_test master-pseudo "Make sure promote/demote pseudo actions are created correctly"
do_test master-role "Prevent target-role from promoting more than master-max instances"
do_test bug-lf-2358 "Master-Master anti-colocation"
echo ""
do_test managed-0 "Managed (reference)"
do_test managed-1 "Not managed - down "
do_test managed-2 "Not managed - up "
echo ""
do_test interleave-0 "Interleave (reference)"
do_test interleave-1 "coloc - not interleaved"
do_test interleave-2 "coloc - interleaved "
do_test interleave-3 "coloc - interleaved (2)"
do_test interleave-pseudo-stop "Interleaved clone during stonith"
do_test interleave-stop "Interleaved clone during stop"
do_test interleave-restart "Interleaved clone during dependancy restart"
echo ""
do_test notify-0 "Notify reference"
do_test notify-1 "Notify simple"
do_test notify-2 "Notify simple, confirm"
do_test notify-3 "Notify move, confirm"
do_test novell-239079 "Notification priority"
#do_test notify-2 "Notify - 764"
echo ""
do_test 594 "OSDL #594"
do_test 662 "OSDL #662"
do_test 696 "OSDL #696"
do_test 726 "OSDL #726"
do_test 735 "OSDL #735"
do_test 764 "OSDL #764"
do_test 797 "OSDL #797"
do_test 829 "OSDL #829"
do_test 994 "OSDL #994"
do_test 994-2 "OSDL #994 - with a dependant resource"
do_test 1360 "OSDL #1360 - Clone stickiness"
do_test 1484 "OSDL #1484 - on_fail=stop"
do_test 1494 "OSDL #1494 - Clone stability"
do_test unrunnable-1 "Unrunnable"
do_test stonith-0 "Stonith loop - 1"
do_test stonith-1 "Stonith loop - 2"
do_test stonith-2 "Stonith loop - 3"
do_test stonith-3 "Stonith startup"
do_test bug-1572-1 "Recovery of groups depending on master/slave"
do_test bug-1572-2 "Recovery of groups depending on master/slave when the master is never re-promoted"
do_test bug-1685 "Depends-on-master ordering"
do_test bug-1822 "Dont promote partially active groups"
do_test bug-pm-11 "New resource added to a m/s group"
do_test bug-pm-12 "Recover only the failed portion of a cloned group"
do_test bug-n-387749 "Don't shuffle clone instances"
do_test bug-n-385265 "Don't ignore the failure stickiness of group children - resource_idvscommon should stay stopped"
do_test bug-n-385265-2 "Ensure groups are migrated instead of remaining partially active on the current node"
do_test bug-lf-1920 "Correctly handle probes that find active resources"
do_test bnc-515172 "Location constraint with multiple expressions"
do_test colocate-primitive-with-clone "Optional colocation with a clone"
do_test use-after-free-merge "Use-after-free in native_merge_weights"
echo ""
do_test systemhealth1 "System Health () #1"
do_test systemhealth2 "System Health () #2"
do_test systemhealth3 "System Health () #3"
do_test systemhealthn1 "System Health (None) #1"
do_test systemhealthn2 "System Health (None) #2"
do_test systemhealthn3 "System Health (None) #3"
do_test systemhealthm1 "System Health (Migrate On Red) #1"
do_test systemhealthm2 "System Health (Migrate On Red) #2"
do_test systemhealthm3 "System Health (Migrate On Red) #3"
do_test systemhealtho1 "System Health (Only Green) #1"
do_test systemhealtho2 "System Health (Only Green) #2"
do_test systemhealtho3 "System Health (Only Green) #3"
do_test systemhealthp1 "System Health (Progessive) #1"
do_test systemhealthp2 "System Health (Progessive) #2"
do_test systemhealthp3 "System Health (Progessive) #3"
echo ""
do_test utilization "Placement Strategy - utilization"
do_test minimal "Placement Strategy - minimal"
do_test balanced "Placement Strategy - balanced"
echo ""
test_results
diff --git a/pengine/test10/clone-colocate-instance-1.dot b/pengine/test10/clone-colocate-instance-1.dot
new file mode 100644
index 0000000000..0398725907
--- /dev/null
+++ b/pengine/test10/clone-colocate-instance-1.dot
@@ -0,0 +1,38 @@
+digraph "g" {
+"cl_dummy_running_0" [ style=bold color="green" fontcolor="orange" ]
+"cl_dummy_start_0" -> "cl_dummy_running_0" [ style = bold]
+"cl_dummy_start_0" -> "dummy:0_start_0 alice.demo" [ style = bold]
+"cl_dummy_start_0" -> "dummy:1_start_0 bob.demo" [ style = bold]
+"cl_dummy_start_0" [ style=bold color="green" fontcolor="orange" ]
+"cl_dummy_stop_0" -> "cl_dummy_start_0" [ style = bold]
+"cl_dummy_stop_0" [ style=bold color="green" fontcolor="orange" ]
+"dummy1_monitor_0 alice.demo" -> "probe_complete alice.demo" [ style = bold]
+"dummy1_monitor_0 alice.demo" [ style=bold color="green" fontcolor="black" ]
+"dummy1_monitor_0 bob.demo" -> "probe_complete bob.demo" [ style = bold]
+"dummy1_monitor_0 bob.demo" [ style=bold color="green" fontcolor="black" ]
+"dummy1_start_0 alice.demo" [ style=bold color="green" fontcolor="black" ]
+"dummy2_monitor_0 alice.demo" -> "probe_complete alice.demo" [ style = bold]
+"dummy2_monitor_0 alice.demo" [ style=bold color="green" fontcolor="black" ]
+"dummy2_monitor_0 bob.demo" -> "probe_complete bob.demo" [ style = bold]
+"dummy2_monitor_0 bob.demo" [ style=bold color="green" fontcolor="black" ]
+"dummy2_start_0 bob.demo" [ style=bold color="green" fontcolor="black" ]
+"dummy:0_monitor_0 alice.demo" -> "probe_complete alice.demo" [ style = bold]
+"dummy:0_monitor_0 alice.demo" [ style=bold color="green" fontcolor="black" ]
+"dummy:0_start_0 alice.demo" -> "cl_dummy_running_0" [ style = bold]
+"dummy:0_start_0 alice.demo" [ style=bold color="green" fontcolor="black" ]
+"dummy:1_monitor_0 bob.demo" -> "probe_complete bob.demo" [ style = bold]
+"dummy:1_monitor_0 bob.demo" [ style=bold color="green" fontcolor="black" ]
+"dummy:1_start_0 bob.demo" -> "cl_dummy_running_0" [ style = bold]
+"dummy:1_start_0 bob.demo" [ style=bold color="green" fontcolor="black" ]
+"probe_complete alice.demo" -> "probe_complete" [ style = bold]
+"probe_complete alice.demo" [ style=bold color="green" fontcolor="black" ]
+"probe_complete bob.demo" -> "probe_complete" [ style = bold]
+"probe_complete bob.demo" [ style=bold color="green" fontcolor="black" ]
+"probe_complete" -> "cl_dummy_start_0" [ style = bold]
+"probe_complete" -> "cl_dummy_stop_0" [ style = bold]
+"probe_complete" -> "dummy1_start_0 alice.demo" [ style = bold]
+"probe_complete" -> "dummy2_start_0 bob.demo" [ style = bold]
+"probe_complete" -> "dummy:0_start_0 alice.demo" [ style = bold]
+"probe_complete" -> "dummy:1_start_0 bob.demo" [ style = bold]
+"probe_complete" [ style=bold color="green" fontcolor="orange" ]
+}
diff --git a/pengine/test10/clone-colocate-instance-1.exp b/pengine/test10/clone-colocate-instance-1.exp
new file mode 100644
index 0000000000..3a7639df1e
--- /dev/null
+++ b/pengine/test10/clone-colocate-instance-1.exp
@@ -0,0 +1,211 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
+ <synapse id="0">
+ <action_set>
+ <rsc_op id="4" operation="monitor" operation_key="dummy1_monitor_0" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131">
+ <primitive id="dummy1" long-id="dummy1" class="ocf" provider="heartbeat" type="Dummy"/>
+ <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs/>
+ </synapse>
+ <synapse id="1">
+ <action_set>
+ <rsc_op id="8" operation="monitor" operation_key="dummy1_monitor_0" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de">
+ <primitive id="dummy1" long-id="dummy1" class="ocf" provider="heartbeat" type="Dummy"/>
+ <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs/>
+ </synapse>
+ <synapse id="2">
+ <action_set>
+ <rsc_op id="11" operation="start" operation_key="dummy1_start_0" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131">
+ <primitive id="dummy1" long-id="dummy1" class="ocf" provider="heartbeat" type="Dummy"/>
+ <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs>
+ <trigger>
+ <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="3">
+ <action_set>
+ <rsc_op id="5" operation="monitor" operation_key="dummy2_monitor_0" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131">
+ <primitive id="dummy2" long-id="dummy2" class="ocf" provider="heartbeat" type="Dummy"/>
+ <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs/>
+ </synapse>
+ <synapse id="4">
+ <action_set>
+ <rsc_op id="9" operation="monitor" operation_key="dummy2_monitor_0" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de">
+ <primitive id="dummy2" long-id="dummy2" class="ocf" provider="heartbeat" type="Dummy"/>
+ <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs/>
+ </synapse>
+ <synapse id="5">
+ <action_set>
+ <rsc_op id="12" operation="start" operation_key="dummy2_start_0" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de">
+ <primitive id="dummy2" long-id="dummy2" class="ocf" provider="heartbeat" type="Dummy"/>
+ <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs>
+ <trigger>
+ <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="6">
+ <action_set>
+ <rsc_op id="6" operation="monitor" operation_key="dummy:0_monitor_0" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131">
+ <primitive id="dummy:0" long-id="cl_dummy:dummy:0" class="ocf" provider="heartbeat" type="Dummy"/>
+ <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs/>
+ </synapse>
+ <synapse id="7">
+ <action_set>
+ <rsc_op id="13" operation="start" operation_key="dummy:0_start_0" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131">
+ <primitive id="dummy:0" long-id="cl_dummy:dummy:0" class="ocf" provider="heartbeat" type="Dummy"/>
+ <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs>
+ <trigger>
+ <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+ </trigger>
+ <trigger>
+ <pseudo_event id="15" operation="start" operation_key="cl_dummy_start_0"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="8">
+ <action_set>
+ <rsc_op id="10" operation="monitor" operation_key="dummy:1_monitor_0" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de">
+ <primitive id="dummy:1" long-id="cl_dummy:dummy:1" class="ocf" provider="heartbeat" type="Dummy"/>
+ <attributes CRM_meta_clone="1" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs/>
+ </synapse>
+ <synapse id="9">
+ <action_set>
+ <rsc_op id="14" operation="start" operation_key="dummy:1_start_0" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de">
+ <primitive id="dummy:1" long-id="cl_dummy:dummy:1" class="ocf" provider="heartbeat" type="Dummy"/>
+ <attributes CRM_meta_clone="1" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs>
+ <trigger>
+ <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+ </trigger>
+ <trigger>
+ <pseudo_event id="15" operation="start" operation_key="cl_dummy_start_0"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="10">
+ <action_set>
+ <pseudo_event id="15" operation="start" operation_key="cl_dummy_start_0">
+ <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </pseudo_event>
+ </action_set>
+ <inputs>
+ <trigger>
+ <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+ </trigger>
+ <trigger>
+ <pseudo_event id="17" operation="stop" operation_key="cl_dummy_stop_0"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="11" priority="1000000">
+ <action_set>
+ <pseudo_event id="16" operation="running" operation_key="cl_dummy_running_0">
+ <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </pseudo_event>
+ </action_set>
+ <inputs>
+ <trigger>
+ <rsc_op id="13" operation="start" operation_key="dummy:0_start_0" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131"/>
+ </trigger>
+ <trigger>
+ <rsc_op id="14" operation="start" operation_key="dummy:1_start_0" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de"/>
+ </trigger>
+ <trigger>
+ <pseudo_event id="15" operation="start" operation_key="cl_dummy_start_0"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="12">
+ <action_set>
+ <pseudo_event id="17" operation="stop" operation_key="cl_dummy_stop_0">
+ <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </pseudo_event>
+ </action_set>
+ <inputs>
+ <trigger>
+ <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="13">
+ <action_set>
+ <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete">
+ <attributes crm_feature_set="3.0.1"/>
+ </pseudo_event>
+ </action_set>
+ <inputs>
+ <trigger>
+ <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131"/>
+ </trigger>
+ <trigger>
+ <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="14" priority="1000000">
+ <action_set>
+ <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131">
+ <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs>
+ <trigger>
+ <rsc_op id="4" operation="monitor" operation_key="dummy1_monitor_0" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131"/>
+ </trigger>
+ <trigger>
+ <rsc_op id="5" operation="monitor" operation_key="dummy2_monitor_0" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131"/>
+ </trigger>
+ <trigger>
+ <rsc_op id="6" operation="monitor" operation_key="dummy:0_monitor_0" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="15" priority="1000000">
+ <action_set>
+ <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de">
+ <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs>
+ <trigger>
+ <rsc_op id="8" operation="monitor" operation_key="dummy1_monitor_0" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de"/>
+ </trigger>
+ <trigger>
+ <rsc_op id="9" operation="monitor" operation_key="dummy2_monitor_0" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de"/>
+ </trigger>
+ <trigger>
+ <rsc_op id="10" operation="monitor" operation_key="dummy:1_monitor_0" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de"/>
+ </trigger>
+ </inputs>
+ </synapse>
+</transition_graph>
+
diff --git a/pengine/test10/clone-colocate-instance-1.scores b/pengine/test10/clone-colocate-instance-1.scores
new file mode 100644
index 0000000000..54d2208e2c
--- /dev/null
+++ b/pengine/test10/clone-colocate-instance-1.scores
@@ -0,0 +1,15 @@
+Allocation scores:
+native_color: dummy1 allocation score on alice.demo: 0
+native_color: dummy1 allocation score on bob.demo: 0
+native_color: dummy2 allocation score on alice.demo: 0
+native_color: dummy2 allocation score on bob.demo: 0
+clone_color: cl_dummy allocation score on alice.demo: 0
+clone_color: cl_dummy allocation score on bob.demo: 0
+clone_color: dummy:0 allocation score on alice.demo: 0
+clone_color: dummy:0 allocation score on bob.demo: 0
+clone_color: dummy:1 allocation score on alice.demo: 0
+clone_color: dummy:1 allocation score on bob.demo: 0
+native_color: dummy:0 allocation score on alice.demo: 0
+native_color: dummy:0 allocation score on bob.demo: 0
+native_color: dummy:1 allocation score on alice.demo: -INFINITY
+native_color: dummy:1 allocation score on bob.demo: 0
diff --git a/pengine/test10/clone-colocate-instance-1.xml b/pengine/test10/clone-colocate-instance-1.xml
new file mode 100644
index 0000000000..36a8077b4f
--- /dev/null
+++ b/pengine/test10/clone-colocate-instance-1.xml
@@ -0,0 +1,45 @@
+<cib validate-with="pacemaker-1.1" crm_feature_set="3.0.1" have-quorum="1" admin_epoch="0" epoch="167" num_updates="5" cib-last-written="Fri Feb 26 11:15:53 2010" dc-uuid="0af1add7-22b5-4342-9816-67e6351605de">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
+ <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.0.7-54d7869bfe3691eb723b1d47810e5585d8246b58"/>
+ <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="Heartbeat"/>
+ <nvpair id="cib-bootstrap-options-last-lrm-refresh" name="last-lrm-refresh" value="1267177413"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="df0d4306-9cf3-4c5c-a23a-027ac36da131" type="normal" uname="alice.demo"/>
+ <node id="0af1add7-22b5-4342-9816-67e6351605de" type="normal" uname="bob.demo"/>
+ </nodes>
+ <resources>
+ <primitive class="ocf" id="dummy1" provider="heartbeat" type="Dummy"/>
+ <primitive class="ocf" id="dummy2" provider="heartbeat" type="Dummy"/>
+ <clone id="cl_dummy">
+ <primitive class="ocf" id="dummy" provider="heartbeat" type="Dummy"/>
+ </clone>
+ </resources>
+ <constraints>
+ <!--rsc_colocation id="c-0" rsc="dummy1" with-rsc="cl_dummy" with-rsc-instance="1" score="INFINITY" />
+ <rsc_colocation id="c-1" rsc="dummy2" with-rsc="cl_dummy" with-rsc-instance="0" score="INFINITY" /-->
+ </constraints>
+ <rsc_defaults/>
+ <op_defaults/>
+ </configuration>
+ <status>
+ <node_state id="0af1add7-22b5-4342-9816-67e6351605de" uname="bob.demo" ha="active" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="do_state_transition" shutdown="0">
+ <transient_attributes id="0af1add7-22b5-4342-9816-67e6351605de">
+ <instance_attributes id="status-0af1add7-22b5-4342-9816-67e6351605de">
+ <nvpair id="status-0af1add7-22b5-4342-9816-67e6351605de-probe_complete" name="probe_complete" value="true"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="df0d4306-9cf3-4c5c-a23a-027ac36da131" uname="alice.demo" ha="active" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="do_state_transition" shutdown="0">
+ <transient_attributes id="df0d4306-9cf3-4c5c-a23a-027ac36da131">
+ <instance_attributes id="status-df0d4306-9cf3-4c5c-a23a-027ac36da131">
+ <nvpair id="status-df0d4306-9cf3-4c5c-a23a-027ac36da131-probe_complete" name="probe_complete" value="true"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
diff --git a/pengine/test10/clone-colocate-instance-2.dot b/pengine/test10/clone-colocate-instance-2.dot
new file mode 100644
index 0000000000..a540330854
--- /dev/null
+++ b/pengine/test10/clone-colocate-instance-2.dot
@@ -0,0 +1,38 @@
+digraph "g" {
+"cl_dummy_running_0" [ style=bold color="green" fontcolor="orange" ]
+"cl_dummy_start_0" -> "cl_dummy_running_0" [ style = bold]
+"cl_dummy_start_0" -> "dummy:0_start_0 alice.demo" [ style = bold]
+"cl_dummy_start_0" -> "dummy:1_start_0 bob.demo" [ style = bold]
+"cl_dummy_start_0" [ style=bold color="green" fontcolor="orange" ]
+"cl_dummy_stop_0" -> "cl_dummy_start_0" [ style = bold]
+"cl_dummy_stop_0" [ style=bold color="green" fontcolor="orange" ]
+"dummy1_monitor_0 alice.demo" -> "probe_complete alice.demo" [ style = bold]
+"dummy1_monitor_0 alice.demo" [ style=bold color="green" fontcolor="black" ]
+"dummy1_monitor_0 bob.demo" -> "probe_complete bob.demo" [ style = bold]
+"dummy1_monitor_0 bob.demo" [ style=bold color="green" fontcolor="black" ]
+"dummy1_start_0 bob.demo" [ style=bold color="green" fontcolor="black" ]
+"dummy2_monitor_0 alice.demo" -> "probe_complete alice.demo" [ style = bold]
+"dummy2_monitor_0 alice.demo" [ style=bold color="green" fontcolor="black" ]
+"dummy2_monitor_0 bob.demo" -> "probe_complete bob.demo" [ style = bold]
+"dummy2_monitor_0 bob.demo" [ style=bold color="green" fontcolor="black" ]
+"dummy2_start_0 alice.demo" [ style=bold color="green" fontcolor="black" ]
+"dummy:0_monitor_0 alice.demo" -> "probe_complete alice.demo" [ style = bold]
+"dummy:0_monitor_0 alice.demo" [ style=bold color="green" fontcolor="black" ]
+"dummy:0_start_0 alice.demo" -> "cl_dummy_running_0" [ style = bold]
+"dummy:0_start_0 alice.demo" [ style=bold color="green" fontcolor="black" ]
+"dummy:1_monitor_0 bob.demo" -> "probe_complete bob.demo" [ style = bold]
+"dummy:1_monitor_0 bob.demo" [ style=bold color="green" fontcolor="black" ]
+"dummy:1_start_0 bob.demo" -> "cl_dummy_running_0" [ style = bold]
+"dummy:1_start_0 bob.demo" [ style=bold color="green" fontcolor="black" ]
+"probe_complete alice.demo" -> "probe_complete" [ style = bold]
+"probe_complete alice.demo" [ style=bold color="green" fontcolor="black" ]
+"probe_complete bob.demo" -> "probe_complete" [ style = bold]
+"probe_complete bob.demo" [ style=bold color="green" fontcolor="black" ]
+"probe_complete" -> "cl_dummy_start_0" [ style = bold]
+"probe_complete" -> "cl_dummy_stop_0" [ style = bold]
+"probe_complete" -> "dummy1_start_0 bob.demo" [ style = bold]
+"probe_complete" -> "dummy2_start_0 alice.demo" [ style = bold]
+"probe_complete" -> "dummy:0_start_0 alice.demo" [ style = bold]
+"probe_complete" -> "dummy:1_start_0 bob.demo" [ style = bold]
+"probe_complete" [ style=bold color="green" fontcolor="orange" ]
+}
diff --git a/pengine/test10/clone-colocate-instance-2.exp b/pengine/test10/clone-colocate-instance-2.exp
new file mode 100644
index 0000000000..d4896eab32
--- /dev/null
+++ b/pengine/test10/clone-colocate-instance-2.exp
@@ -0,0 +1,211 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0">
+ <synapse id="0">
+ <action_set>
+ <rsc_op id="4" operation="monitor" operation_key="dummy1_monitor_0" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131">
+ <primitive id="dummy1" long-id="dummy1" class="ocf" provider="heartbeat" type="Dummy"/>
+ <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs/>
+ </synapse>
+ <synapse id="1">
+ <action_set>
+ <rsc_op id="8" operation="monitor" operation_key="dummy1_monitor_0" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de">
+ <primitive id="dummy1" long-id="dummy1" class="ocf" provider="heartbeat" type="Dummy"/>
+ <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs/>
+ </synapse>
+ <synapse id="2">
+ <action_set>
+ <rsc_op id="11" operation="start" operation_key="dummy1_start_0" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de">
+ <primitive id="dummy1" long-id="dummy1" class="ocf" provider="heartbeat" type="Dummy"/>
+ <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs>
+ <trigger>
+ <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="3">
+ <action_set>
+ <rsc_op id="5" operation="monitor" operation_key="dummy2_monitor_0" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131">
+ <primitive id="dummy2" long-id="dummy2" class="ocf" provider="heartbeat" type="Dummy"/>
+ <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs/>
+ </synapse>
+ <synapse id="4">
+ <action_set>
+ <rsc_op id="9" operation="monitor" operation_key="dummy2_monitor_0" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de">
+ <primitive id="dummy2" long-id="dummy2" class="ocf" provider="heartbeat" type="Dummy"/>
+ <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs/>
+ </synapse>
+ <synapse id="5">
+ <action_set>
+ <rsc_op id="12" operation="start" operation_key="dummy2_start_0" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131">
+ <primitive id="dummy2" long-id="dummy2" class="ocf" provider="heartbeat" type="Dummy"/>
+ <attributes CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs>
+ <trigger>
+ <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="6">
+ <action_set>
+ <rsc_op id="6" operation="monitor" operation_key="dummy:0_monitor_0" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131">
+ <primitive id="dummy:0" long-id="cl_dummy:dummy:0" class="ocf" provider="heartbeat" type="Dummy"/>
+ <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs/>
+ </synapse>
+ <synapse id="7">
+ <action_set>
+ <rsc_op id="13" operation="start" operation_key="dummy:0_start_0" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131">
+ <primitive id="dummy:0" long-id="cl_dummy:dummy:0" class="ocf" provider="heartbeat" type="Dummy"/>
+ <attributes CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs>
+ <trigger>
+ <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+ </trigger>
+ <trigger>
+ <pseudo_event id="15" operation="start" operation_key="cl_dummy_start_0"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="8">
+ <action_set>
+ <rsc_op id="10" operation="monitor" operation_key="dummy:1_monitor_0" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de">
+ <primitive id="dummy:1" long-id="cl_dummy:dummy:1" class="ocf" provider="heartbeat" type="Dummy"/>
+ <attributes CRM_meta_clone="1" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs/>
+ </synapse>
+ <synapse id="9">
+ <action_set>
+ <rsc_op id="14" operation="start" operation_key="dummy:1_start_0" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de">
+ <primitive id="dummy:1" long-id="cl_dummy:dummy:1" class="ocf" provider="heartbeat" type="Dummy"/>
+ <attributes CRM_meta_clone="1" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs>
+ <trigger>
+ <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+ </trigger>
+ <trigger>
+ <pseudo_event id="15" operation="start" operation_key="cl_dummy_start_0"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="10">
+ <action_set>
+ <pseudo_event id="15" operation="start" operation_key="cl_dummy_start_0">
+ <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </pseudo_event>
+ </action_set>
+ <inputs>
+ <trigger>
+ <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+ </trigger>
+ <trigger>
+ <pseudo_event id="17" operation="stop" operation_key="cl_dummy_stop_0"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="11" priority="1000000">
+ <action_set>
+ <pseudo_event id="16" operation="running" operation_key="cl_dummy_running_0">
+ <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </pseudo_event>
+ </action_set>
+ <inputs>
+ <trigger>
+ <rsc_op id="13" operation="start" operation_key="dummy:0_start_0" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131"/>
+ </trigger>
+ <trigger>
+ <rsc_op id="14" operation="start" operation_key="dummy:1_start_0" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de"/>
+ </trigger>
+ <trigger>
+ <pseudo_event id="15" operation="start" operation_key="cl_dummy_start_0"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="12">
+ <action_set>
+ <pseudo_event id="17" operation="stop" operation_key="cl_dummy_stop_0">
+ <attributes CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_globally_unique="false" CRM_meta_notify="false" CRM_meta_timeout="20000" crm_feature_set="3.0.1"/>
+ </pseudo_event>
+ </action_set>
+ <inputs>
+ <trigger>
+ <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="13">
+ <action_set>
+ <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete">
+ <attributes crm_feature_set="3.0.1"/>
+ </pseudo_event>
+ </action_set>
+ <inputs>
+ <trigger>
+ <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131"/>
+ </trigger>
+ <trigger>
+ <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="14" priority="1000000">
+ <action_set>
+ <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131">
+ <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs>
+ <trigger>
+ <rsc_op id="4" operation="monitor" operation_key="dummy1_monitor_0" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131"/>
+ </trigger>
+ <trigger>
+ <rsc_op id="5" operation="monitor" operation_key="dummy2_monitor_0" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131"/>
+ </trigger>
+ <trigger>
+ <rsc_op id="6" operation="monitor" operation_key="dummy:0_monitor_0" on_node="alice.demo" on_node_uuid="df0d4306-9cf3-4c5c-a23a-027ac36da131"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="15" priority="1000000">
+ <action_set>
+ <rsc_op id="7" operation="probe_complete" operation_key="probe_complete" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de">
+ <attributes CRM_meta_op_no_wait="true" crm_feature_set="3.0.1"/>
+ </rsc_op>
+ </action_set>
+ <inputs>
+ <trigger>
+ <rsc_op id="8" operation="monitor" operation_key="dummy1_monitor_0" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de"/>
+ </trigger>
+ <trigger>
+ <rsc_op id="9" operation="monitor" operation_key="dummy2_monitor_0" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de"/>
+ </trigger>
+ <trigger>
+ <rsc_op id="10" operation="monitor" operation_key="dummy:1_monitor_0" on_node="bob.demo" on_node_uuid="0af1add7-22b5-4342-9816-67e6351605de"/>
+ </trigger>
+ </inputs>
+ </synapse>
+</transition_graph>
+
diff --git a/pengine/test10/clone-colocate-instance-2.scores b/pengine/test10/clone-colocate-instance-2.scores
new file mode 100644
index 0000000000..028bab0839
--- /dev/null
+++ b/pengine/test10/clone-colocate-instance-2.scores
@@ -0,0 +1,15 @@
+Allocation scores:
+clone_color: cl_dummy allocation score on alice.demo: 0
+clone_color: cl_dummy allocation score on bob.demo: 0
+clone_color: dummy:0 allocation score on alice.demo: 0
+clone_color: dummy:0 allocation score on bob.demo: 0
+clone_color: dummy:1 allocation score on alice.demo: 0
+clone_color: dummy:1 allocation score on bob.demo: 0
+native_color: dummy:0 allocation score on alice.demo: 0
+native_color: dummy:0 allocation score on bob.demo: 0
+native_color: dummy:1 allocation score on alice.demo: -INFINITY
+native_color: dummy:1 allocation score on bob.demo: 0
+native_color: dummy1 allocation score on alice.demo: -INFINITY
+native_color: dummy1 allocation score on bob.demo: 0
+native_color: dummy2 allocation score on alice.demo: 0
+native_color: dummy2 allocation score on bob.demo: -INFINITY
diff --git a/pengine/test10/clone-colocate-instance-2.xml b/pengine/test10/clone-colocate-instance-2.xml
new file mode 100644
index 0000000000..b09c6c1104
--- /dev/null
+++ b/pengine/test10/clone-colocate-instance-2.xml
@@ -0,0 +1,45 @@
+<cib validate-with="pacemaker-1.1" crm_feature_set="3.0.1" have-quorum="1" admin_epoch="0" epoch="167" num_updates="5" cib-last-written="Fri Feb 26 11:15:53 2010" dc-uuid="0af1add7-22b5-4342-9816-67e6351605de">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
+ <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.0.7-54d7869bfe3691eb723b1d47810e5585d8246b58"/>
+ <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="Heartbeat"/>
+ <nvpair id="cib-bootstrap-options-last-lrm-refresh" name="last-lrm-refresh" value="1267177413"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="df0d4306-9cf3-4c5c-a23a-027ac36da131" type="normal" uname="alice.demo"/>
+ <node id="0af1add7-22b5-4342-9816-67e6351605de" type="normal" uname="bob.demo"/>
+ </nodes>
+ <resources>
+ <primitive class="ocf" id="dummy1" provider="heartbeat" type="Dummy"/>
+ <primitive class="ocf" id="dummy2" provider="heartbeat" type="Dummy"/>
+ <clone id="cl_dummy">
+ <primitive class="ocf" id="dummy" provider="heartbeat" type="Dummy"/>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_colocation id="c-0" rsc="dummy1" with-rsc="cl_dummy" with-rsc-instance="1" score="INFINITY" />
+ <rsc_colocation id="c-1" rsc="dummy2" with-rsc="cl_dummy" with-rsc-instance="0" score="INFINITY" />
+ </constraints>
+ <rsc_defaults/>
+ <op_defaults/>
+ </configuration>
+ <status>
+ <node_state id="0af1add7-22b5-4342-9816-67e6351605de" uname="bob.demo" ha="active" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="do_state_transition" shutdown="0">
+ <transient_attributes id="0af1add7-22b5-4342-9816-67e6351605de">
+ <instance_attributes id="status-0af1add7-22b5-4342-9816-67e6351605de">
+ <nvpair id="status-0af1add7-22b5-4342-9816-67e6351605de-probe_complete" name="probe_complete" value="true"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="df0d4306-9cf3-4c5c-a23a-027ac36da131" uname="alice.demo" ha="active" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="do_state_transition" shutdown="0">
+ <transient_attributes id="df0d4306-9cf3-4c5c-a23a-027ac36da131">
+ <instance_attributes id="status-df0d4306-9cf3-4c5c-a23a-027ac36da131">
+ <nvpair id="status-df0d4306-9cf3-4c5c-a23a-027ac36da131-probe_complete" name="probe_complete" value="true"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
diff --git a/pengine/test10/clone-colocate-instance-2.xml~ b/pengine/test10/clone-colocate-instance-2.xml~
new file mode 100644
index 0000000000..36a8077b4f
--- /dev/null
+++ b/pengine/test10/clone-colocate-instance-2.xml~
@@ -0,0 +1,45 @@
+<cib validate-with="pacemaker-1.1" crm_feature_set="3.0.1" have-quorum="1" admin_epoch="0" epoch="167" num_updates="5" cib-last-written="Fri Feb 26 11:15:53 2010" dc-uuid="0af1add7-22b5-4342-9816-67e6351605de">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
+ <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.0.7-54d7869bfe3691eb723b1d47810e5585d8246b58"/>
+ <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="Heartbeat"/>
+ <nvpair id="cib-bootstrap-options-last-lrm-refresh" name="last-lrm-refresh" value="1267177413"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="df0d4306-9cf3-4c5c-a23a-027ac36da131" type="normal" uname="alice.demo"/>
+ <node id="0af1add7-22b5-4342-9816-67e6351605de" type="normal" uname="bob.demo"/>
+ </nodes>
+ <resources>
+ <primitive class="ocf" id="dummy1" provider="heartbeat" type="Dummy"/>
+ <primitive class="ocf" id="dummy2" provider="heartbeat" type="Dummy"/>
+ <clone id="cl_dummy">
+ <primitive class="ocf" id="dummy" provider="heartbeat" type="Dummy"/>
+ </clone>
+ </resources>
+ <constraints>
+ <!--rsc_colocation id="c-0" rsc="dummy1" with-rsc="cl_dummy" with-rsc-instance="1" score="INFINITY" />
+ <rsc_colocation id="c-1" rsc="dummy2" with-rsc="cl_dummy" with-rsc-instance="0" score="INFINITY" /-->
+ </constraints>
+ <rsc_defaults/>
+ <op_defaults/>
+ </configuration>
+ <status>
+ <node_state id="0af1add7-22b5-4342-9816-67e6351605de" uname="bob.demo" ha="active" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="do_state_transition" shutdown="0">
+ <transient_attributes id="0af1add7-22b5-4342-9816-67e6351605de">
+ <instance_attributes id="status-0af1add7-22b5-4342-9816-67e6351605de">
+ <nvpair id="status-0af1add7-22b5-4342-9816-67e6351605de-probe_complete" name="probe_complete" value="true"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="df0d4306-9cf3-4c5c-a23a-027ac36da131" uname="alice.demo" ha="active" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="do_state_transition" shutdown="0">
+ <transient_attributes id="df0d4306-9cf3-4c5c-a23a-027ac36da131">
+ <instance_attributes id="status-df0d4306-9cf3-4c5c-a23a-027ac36da131">
+ <nvpair id="status-df0d4306-9cf3-4c5c-a23a-027ac36da131-probe_complete" name="probe_complete" value="true"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
File Metadata
Details
Attached
Mime Type
text/x-diff
Expires
Sat, Jan 25, 6:54 AM (1 d, 14 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1315734
Default Alt Text
(52 KB)
Attached To
Mode
rP Pacemaker
Attached
Detach File
Event Timeline
Log In to Comment