※ リポジトリは、pm-diskd ブランチが https://github.com/linux-ha-japan/pm_diskd-1.0 へ、pm-diskd-2.0ブランチが https://github.com/linux-ha-japan/pm_diskd へ移行しました。
Pacemaker 対応ディスク故障監視機能。
Pacemaker-1.0公式リポジトリのクローンに対し、パッチ作成用のブランチを作成して管理する。
ブランチ名: pm-diskd
初回 hg clone 実行後は、hg update -r pm-diskd を実行すること。
Heartbeat-2.1.4 用 hb-diskd(*) のPacemaker対応版
(*) http://sourceforge.jp/projects/linux-ha/releases/?package_id=10555
修訂 | 06d0165545556fb1bf2ab616e7d516de475643e5 (tree) |
---|---|
時間 | 2008-07-08 20:44:13 |
作者 | Andrew Beekhof <abeekhof@suse...> |
Commiter | Andrew Beekhof |
Hg: Merge in stable-0.6 changes
@@ -655,7 +655,6 @@ | ||
655 | 655 | xmlNode *expr = NULL; |
656 | 656 | xmlNode *constraints = NULL; |
657 | 657 | xmlNode *fragment = NULL; |
658 | - xmlNode *lifetime = NULL; | |
659 | 658 | |
660 | 659 | xmlNode *can_run = NULL; |
661 | 660 | xmlNode *dont_run = NULL; |
@@ -735,23 +734,6 @@ | ||
735 | 734 | } |
736 | 735 | |
737 | 736 | crm_xml_add(dont_run, "rsc", rsc_id); |
738 | - | |
739 | - if(later_s) { | |
740 | - lifetime = create_xml_node(dont_run, "lifetime"); | |
741 | - | |
742 | - rule = create_xml_node(lifetime, XML_TAG_RULE); | |
743 | - id = crm_concat("cli-standby-lifetime", rsc_id, '-'); | |
744 | - crm_xml_add(rule, XML_ATTR_ID, id); | |
745 | - crm_free(id); | |
746 | - | |
747 | - expr = create_xml_node(rule, "date_expression"); | |
748 | - id = crm_concat("cli-standby-lifetime-end",rsc_id,'-'); | |
749 | - crm_xml_add(expr, XML_ATTR_ID, id); | |
750 | - crm_free(id); | |
751 | - | |
752 | - crm_xml_add(expr, "operation", "lt"); | |
753 | - crm_xml_add(expr, "end", later_s); | |
754 | - } | |
755 | 737 | |
756 | 738 | rule = create_xml_node(dont_run, XML_TAG_RULE); |
757 | 739 | expr = create_xml_node(rule, XML_TAG_EXPRESSION); |
@@ -760,6 +742,7 @@ | ||
760 | 742 | crm_free(id); |
761 | 743 | |
762 | 744 | crm_xml_add(rule, XML_RULE_ATTR_SCORE, MINUS_INFINITY_S); |
745 | + crm_xml_add(rule, XML_RULE_ATTR_BOOLEAN_OP, "and"); | |
763 | 746 | |
764 | 747 | id = crm_concat("cli-standby-expr", rsc_id, '-'); |
765 | 748 | crm_xml_add(expr, XML_ATTR_ID, id); |
@@ -769,6 +752,16 @@ | ||
769 | 752 | crm_xml_add(expr, XML_EXPR_ATTR_OPERATION, "eq"); |
770 | 753 | crm_xml_add(expr, XML_EXPR_ATTR_VALUE, existing_node); |
771 | 754 | crm_xml_add(expr, XML_EXPR_ATTR_TYPE, "string"); |
755 | + | |
756 | + if(later_s) { | |
757 | + expr = create_xml_node(rule, "date_expression"); | |
758 | + id = crm_concat("cli-standby-lifetime-end",rsc_id,'-'); | |
759 | + crm_xml_add(expr, XML_ATTR_ID, id); | |
760 | + crm_free(id); | |
761 | + | |
762 | + crm_xml_add(expr, "operation", "lt"); | |
763 | + crm_xml_add(expr, "end", later_s); | |
764 | + } | |
772 | 765 | |
773 | 766 | add_node_copy(constraints, dont_run); |
774 | 767 | } |
@@ -787,23 +780,6 @@ | ||
787 | 780 | } else { |
788 | 781 | crm_xml_add(can_run, "rsc", rsc_id); |
789 | 782 | |
790 | - if(later_s) { | |
791 | - lifetime = create_xml_node(can_run, "lifetime"); | |
792 | - | |
793 | - rule = create_xml_node(lifetime, XML_TAG_RULE); | |
794 | - id = crm_concat("cli-prefer-lifetime", rsc_id, '-'); | |
795 | - crm_xml_add(rule, XML_ATTR_ID, id); | |
796 | - crm_free(id); | |
797 | - | |
798 | - expr = create_xml_node(rule, "date_expression"); | |
799 | - id = crm_concat("cli-prefer-lifetime-end", rsc_id, '-'); | |
800 | - crm_xml_add(expr, XML_ATTR_ID, id); | |
801 | - crm_free(id); | |
802 | - | |
803 | - crm_xml_add(expr, "operation", "lt"); | |
804 | - crm_xml_add(expr, "end", later_s); | |
805 | - } | |
806 | - | |
807 | 783 | rule = create_xml_node(can_run, XML_TAG_RULE); |
808 | 784 | expr = create_xml_node(rule, XML_TAG_EXPRESSION); |
809 | 785 | id = crm_concat("cli-prefer-rule", rsc_id, '-'); |
@@ -811,6 +787,7 @@ | ||
811 | 787 | crm_free(id); |
812 | 788 | |
813 | 789 | crm_xml_add(rule, XML_RULE_ATTR_SCORE, INFINITY_S); |
790 | + crm_xml_add(rule, XML_RULE_ATTR_BOOLEAN_OP, "and"); | |
814 | 791 | |
815 | 792 | id = crm_concat("cli-prefer-expr", rsc_id, '-'); |
816 | 793 | crm_xml_add(expr, XML_ATTR_ID, id); |
@@ -820,6 +797,16 @@ | ||
820 | 797 | crm_xml_add(expr, XML_EXPR_ATTR_OPERATION, "eq"); |
821 | 798 | crm_xml_add(expr, XML_EXPR_ATTR_VALUE, preferred_node); |
822 | 799 | crm_xml_add(expr, XML_EXPR_ATTR_TYPE, "string"); |
800 | + | |
801 | + if(later_s) { | |
802 | + expr = create_xml_node(rule, "date_expression"); | |
803 | + id = crm_concat("cli-prefer-lifetime-end", rsc_id, '-'); | |
804 | + crm_xml_add(expr, XML_ATTR_ID, id); | |
805 | + crm_free(id); | |
806 | + | |
807 | + crm_xml_add(expr, "operation", "lt"); | |
808 | + crm_xml_add(expr, "end", later_s); | |
809 | + } | |
823 | 810 | |
824 | 811 | add_node_copy(constraints, can_run); |
825 | 812 | } |
@@ -839,7 +826,8 @@ | ||
839 | 826 | } |
840 | 827 | |
841 | 828 | static int |
842 | -list_resource_operations(const char *rsc_id, const char *host_uname, gboolean active, pe_working_set_t *data_set) | |
829 | +list_resource_operations( | |
830 | + const char *rsc_id, const char *host_uname, gboolean active, pe_working_set_t *data_set) | |
843 | 831 | { |
844 | 832 | resource_t *rsc = NULL; |
845 | 833 | int opts = pe_print_printf|pe_print_rsconly|pe_print_suppres_nl; |
@@ -851,9 +839,7 @@ | ||
851 | 839 | int status = crm_parse_int(status_s, "0"); |
852 | 840 | |
853 | 841 | rsc = pe_find_resource(data_set->resources, op_rsc); |
854 | - | |
855 | 842 | rsc->fns->print(rsc, "", opts, stdout); |
856 | - | |
857 | 843 | |
858 | 844 | fprintf(stdout, ": %s (node=%s, call=%s, rc=%s", |
859 | 845 | ID(xml_op), |
@@ -20,7 +20,7 @@ | ||
20 | 20 | <nvpair id="cib-bootstrap-2" name="stonith-enabled" value="%d"/> |
21 | 21 | <nvpair id="cib-bootstrap-3" name="pe-input-series-max" value="30000"/> |
22 | 22 | <nvpair id="cib-bootstrap-4" name="shutdown-escalation" value="5min"/> |
23 | - <nvpair id="cib-bootstrap-6" name="batch-limit" value="1"/> | |
23 | + <nvpair id="cib-bootstrap-6" name="batch-limit" value="10"/> | |
24 | 24 | <!-- *** For CTS testing only *** _NEVER_ make this the default --> |
25 | 25 | <nvpair id="cib-bootstrap-5" name="startup-fencing" value="false"/> |
26 | 26 | </attributes> |
@@ -639,14 +639,12 @@ | ||
639 | 639 | tag = "diff-removed"; |
640 | 640 | tmp = find_xml_node(*diff, tag, FALSE); |
641 | 641 | if(tmp == NULL) { |
642 | - crm_info("create %s", tag); | |
643 | 642 | tmp = create_xml_node(*diff, tag); |
644 | 643 | } |
645 | 644 | |
646 | 645 | tag = XML_TAG_CIB; |
647 | 646 | top = find_xml_node(tmp, tag, FALSE); |
648 | 647 | if(top == NULL) { |
649 | - crm_info("create %s", tag); | |
650 | 648 | top = create_xml_node(tmp, tag); |
651 | 649 | } |
652 | 650 |
@@ -661,14 +659,12 @@ | ||
661 | 659 | tag = "diff-added"; |
662 | 660 | tmp = find_xml_node(*diff, tag, FALSE); |
663 | 661 | if(tmp == NULL) { |
664 | - crm_info("create %s", tag); | |
665 | 662 | tmp = create_xml_node(*diff, tag); |
666 | 663 | } |
667 | 664 | |
668 | 665 | tag = XML_TAG_CIB; |
669 | 666 | top = find_xml_node(tmp, tag, FALSE); |
670 | 667 | if(top == NULL) { |
671 | - crm_info("create %s", tag); | |
672 | 668 | top = create_xml_node(tmp, tag); |
673 | 669 | } |
674 | 670 |
@@ -94,19 +94,56 @@ | ||
94 | 94 | GListPtr nodes = NULL; |
95 | 95 | node_t *chosen = NULL; |
96 | 96 | |
97 | + int lpc = 0; | |
98 | + int multiple = 0; | |
99 | + int length = g_list_length(rsc->allowed_nodes); | |
100 | + | |
97 | 101 | if(is_not_set(rsc->flags, pe_rsc_provisional)) { |
98 | 102 | return rsc->allocated_to?TRUE:FALSE; |
99 | 103 | } |
100 | 104 | |
101 | 105 | crm_debug_3("Choosing node for %s from %d candidates", |
102 | - rsc->id, g_list_length(rsc->allowed_nodes)); | |
106 | + rsc->id, length); | |
103 | 107 | |
104 | 108 | if(rsc->allowed_nodes) { |
105 | - rsc->allowed_nodes = g_list_sort( | |
106 | - rsc->allowed_nodes, sort_node_weight); | |
107 | - nodes = rsc->allowed_nodes; | |
108 | - chosen = g_list_nth_data(nodes, 0); | |
109 | + rsc->allowed_nodes = g_list_sort(rsc->allowed_nodes, sort_node_weight); | |
110 | + nodes = rsc->allowed_nodes; | |
111 | + chosen = g_list_nth_data(nodes, 0); | |
112 | + | |
113 | + if(chosen | |
114 | + && chosen->weight > 0 | |
115 | + && can_run_resources(chosen)) { | |
116 | + node_t *running = g_list_nth_data(rsc->running_on, 0); | |
117 | + if(can_run_resources(running) == FALSE) { | |
118 | + running = NULL; | |
119 | + } | |
120 | + | |
121 | + for(lpc = 1; lpc < length; lpc++) { | |
122 | + node_t *tmp = g_list_nth_data(nodes, lpc); | |
123 | + if(tmp->weight == chosen->weight) { | |
124 | + multiple++; | |
125 | + if(running && tmp->details == running->details) { | |
126 | + /* prefer the existing node if scores are equal */ | |
127 | + chosen = tmp; | |
128 | + } | |
129 | + } | |
130 | + } | |
131 | + } | |
109 | 132 | } |
133 | + | |
134 | + if(multiple > 1) { | |
135 | + int log_level = LOG_INFO; | |
136 | + char *score = score2char(chosen->weight); | |
137 | + if(chosen->weight >= INFINITY) { | |
138 | + log_level = LOG_WARNING; | |
139 | + } | |
140 | + | |
141 | + do_crm_log(log_level, "%d nodes with equal score (%s) for" | |
142 | + " running %s resources. Chose %s.", | |
143 | + multiple, score, rsc->id, chosen->details->uname); | |
144 | + crm_free(score); | |
145 | + } | |
146 | + | |
110 | 147 | |
111 | 148 | return native_assign_node(rsc, nodes, chosen); |
112 | 149 | } |
@@ -25,6 +25,7 @@ | ||
25 | 25 | create_mode="true" |
26 | 26 | echo Generating test outputs for these tests... |
27 | 27 | # do_test |
28 | +do_test master-depend "Ensure resources that depend on the master don't get allocated until the master does" | |
28 | 29 | echo Done. |
29 | 30 | echo "" |
30 | 31 |
@@ -0,0 +1,49 @@ | ||
1 | +digraph "g" { | |
2 | +"clvmd:0_monitor_0 vbox4" -> "probe_complete vbox4" [ style = bold] | |
3 | +"clvmd:0_monitor_0 vbox4" [ style=bold color="green" fontcolor="black" ] | |
4 | +"cman:0_monitor_0 vbox4" -> "probe_complete vbox4" [ style = bold] | |
5 | +"cman:0_monitor_0 vbox4" [ style=bold color="green" fontcolor="black" ] | |
6 | +"cman:0_start_0 vbox4" -> "cman_clone_running_0" [ style = bold] | |
7 | +"cman:0_start_0 vbox4" [ style=bold color="green" fontcolor="black" ] | |
8 | +"cman_clone_running_0" [ style=bold color="green" fontcolor="orange" ] | |
9 | +"cman_clone_start_0" -> "cman:0_start_0 vbox4" [ style = bold] | |
10 | +"cman_clone_start_0" -> "cman_clone_running_0" [ style = bold] | |
11 | +"cman_clone_start_0" [ style=bold color="green" fontcolor="orange" ] | |
12 | +"drbd0:0_monitor_0 vbox4" -> "probe_complete vbox4" [ style = bold] | |
13 | +"drbd0:0_monitor_0 vbox4" [ style=bold color="green" fontcolor="black" ] | |
14 | +"drbd0:0_monitor_60000 vbox4" [ style=bold color="green" fontcolor="black" ] | |
15 | +"drbd0:0_post_notify_start_0 vbox4" -> "drbd0_confirmed-post_notify_start_0" [ style = bold] | |
16 | +"drbd0:0_post_notify_start_0 vbox4" [ style=bold color="green" fontcolor="black" ] | |
17 | +"drbd0:0_start_0 vbox4" -> "drbd0:0_monitor_60000 vbox4" [ style = bold] | |
18 | +"drbd0:0_start_0 vbox4" -> "drbd0_running_0" [ style = bold] | |
19 | +"drbd0:0_start_0 vbox4" [ style=bold color="green" fontcolor="black" ] | |
20 | +"drbd0_confirmed-post_notify_start_0" -> "drbd0:0_monitor_60000 vbox4" [ style = bold] | |
21 | +"drbd0_confirmed-post_notify_start_0" [ style=bold color="green" fontcolor="orange" ] | |
22 | +"drbd0_confirmed-pre_notify_start_0" -> "drbd0_start_0" [ style = bold] | |
23 | +"drbd0_confirmed-pre_notify_start_0" [ style=bold color="green" fontcolor="orange" ] | |
24 | +"drbd0_post_notify_start_0" -> "drbd0:0_post_notify_start_0 vbox4" [ style = bold] | |
25 | +"drbd0_post_notify_start_0" -> "drbd0_confirmed-post_notify_start_0" [ style = bold] | |
26 | +"drbd0_post_notify_start_0" [ style=bold color="green" fontcolor="orange" ] | |
27 | +"drbd0_pre_notify_start_0" -> "drbd0_confirmed-pre_notify_start_0" [ style = bold] | |
28 | +"drbd0_pre_notify_start_0" [ style=bold color="green" fontcolor="orange" ] | |
29 | +"drbd0_running_0" -> "drbd0_post_notify_start_0" [ style = bold] | |
30 | +"drbd0_running_0" [ style=bold color="green" fontcolor="orange" ] | |
31 | +"drbd0_start_0" -> "drbd0:0_start_0 vbox4" [ style = bold] | |
32 | +"drbd0_start_0" -> "drbd0_running_0" [ style = bold] | |
33 | +"drbd0_start_0" [ style=bold color="green" fontcolor="orange" ] | |
34 | +"probe_complete vbox4" -> "probe_complete" [ style = bold] | |
35 | +"probe_complete vbox4" [ style=bold color="green" fontcolor="black" ] | |
36 | +"probe_complete" -> "cman:0_start_0 vbox4" [ style = bold] | |
37 | +"probe_complete" -> "cman_clone_start_0" [ style = bold] | |
38 | +"probe_complete" -> "drbd0:0_start_0 vbox4" [ style = bold] | |
39 | +"probe_complete" -> "drbd0_start_0" [ style = bold] | |
40 | +"probe_complete" [ style=bold color="green" fontcolor="orange" ] | |
41 | +"vmnci36_monitor_0 vbox4" -> "probe_complete vbox4" [ style = bold] | |
42 | +"vmnci36_monitor_0 vbox4" [ style=bold color="green" fontcolor="black" ] | |
43 | +"vmnci37_monitor_0 vbox4" -> "probe_complete vbox4" [ style = bold] | |
44 | +"vmnci37_monitor_0 vbox4" [ style=bold color="green" fontcolor="black" ] | |
45 | +"vmnci38_monitor_0 vbox4" -> "probe_complete vbox4" [ style = bold] | |
46 | +"vmnci38_monitor_0 vbox4" [ style=bold color="green" fontcolor="black" ] | |
47 | +"vmnci55_monitor_0 vbox4" -> "probe_complete vbox4" [ style = bold] | |
48 | +"vmnci55_monitor_0 vbox4" [ style=bold color="green" fontcolor="black" ] | |
49 | +} |
@@ -0,0 +1,273 @@ | ||
1 | + <transition_graph cluster-delay="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" batch-limit="30" transition_id="0"> | |
2 | + <synapse id="0"> | |
3 | + <action_set> | |
4 | + <rsc_op id="4" operation="monitor" operation_key="drbd0:0_monitor_0" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"> | |
5 | + <primitive id="drbd0:0" long-id="drbd0:drbd0:0" class="ocf" provider="heartbeat" type="drbd"/> | |
6 | + <attributes crm_feature_set="2.1" drbd_resource="drbd0" CRM_meta_stateful="true" CRM_meta_timeout="20000" CRM_meta_op_target_rc="7" CRM_meta_globally_unique="false" CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_master_max="2" CRM_meta_master_node_max="2"/> | |
7 | + </rsc_op> | |
8 | + </action_set> | |
9 | + <inputs/> | |
10 | + </synapse> | |
11 | + <synapse id="1"> | |
12 | + <action_set> | |
13 | + <rsc_op id="11" operation="start" operation_key="drbd0:0_start_0" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"> | |
14 | + <primitive id="drbd0:0" long-id="drbd0:drbd0:0" class="ocf" provider="heartbeat" type="drbd"/> | |
15 | + <attributes crm_feature_set="2.1" drbd_resource="drbd0" CRM_meta_stateful="true" CRM_meta_timeout="20000" CRM_meta_notify_start_uname="vbox4 " CRM_meta_notify_start_resource="drbd0:0 " CRM_meta_globally_unique="false" CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_master_max="2" CRM_meta_master_node_max="2"/> | |
16 | + </rsc_op> | |
17 | + </action_set> | |
18 | + <inputs> | |
19 | + <trigger> | |
20 | + <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/> | |
21 | + </trigger> | |
22 | + <trigger> | |
23 | + <pseudo_event id="13" operation="start" operation_key="drbd0_start_0"/> | |
24 | + </trigger> | |
25 | + </inputs> | |
26 | + </synapse> | |
27 | + <synapse id="2"> | |
28 | + <action_set> | |
29 | + <rsc_op id="12" operation="monitor" operation_key="drbd0:0_monitor_60000" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"> | |
30 | + <primitive id="drbd0:0" long-id="drbd0:drbd0:0" class="ocf" provider="heartbeat" type="drbd"/> | |
31 | + <attributes crm_feature_set="2.1" drbd_resource="drbd0" CRM_meta_stateful="true" CRM_meta_id="drbd0-op2" CRM_meta_role="Slave" CRM_meta_timeout="10000" CRM_meta_name="monitor" CRM_meta_interval="60000" CRM_meta_globally_unique="false" CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_master_max="2" CRM_meta_master_node_max="2"/> | |
32 | + </rsc_op> | |
33 | + </action_set> | |
34 | + <inputs> | |
35 | + <trigger> | |
36 | + <rsc_op id="11" operation="start" operation_key="drbd0:0_start_0" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"/> | |
37 | + </trigger> | |
38 | + <trigger> | |
39 | + <pseudo_event id="18" operation="notified" operation_key="drbd0_confirmed-post_notify_start_0"/> | |
40 | + </trigger> | |
41 | + </inputs> | |
42 | + </synapse> | |
43 | + <synapse id="3" priority="1000000"> | |
44 | + <action_set> | |
45 | + <rsc_op id="65" operation="notify" operation_key="drbd0:0_post_notify_start_0" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"> | |
46 | + <primitive id="drbd0:0" long-id="drbd0:drbd0:0" class="ocf" provider="heartbeat" type="drbd"/> | |
47 | + <attributes crm_feature_set="2.1" CRM_meta_notify_operation="start" CRM_meta_timeout="20000" CRM_meta_notify_confirm="yes" CRM_meta_notify_type="post" drbd_resource="drbd0" CRM_meta_stateful="true" CRM_meta_notify_start_uname="vbox4 " CRM_meta_notify_start_resource="drbd0:0 " CRM_meta_globally_unique="false" CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_master_max="2" CRM_meta_master_node_max="2"/> | |
48 | + </rsc_op> | |
49 | + </action_set> | |
50 | + <inputs> | |
51 | + <trigger> | |
52 | + <pseudo_event id="17" operation="notify" operation_key="drbd0_post_notify_start_0"/> | |
53 | + </trigger> | |
54 | + </inputs> | |
55 | + </synapse> | |
56 | + <synapse id="4"> | |
57 | + <action_set> | |
58 | + <pseudo_event id="13" operation="start" operation_key="drbd0_start_0"> | |
59 | + <attributes crm_feature_set="2.1" CRM_meta_stateful="true" CRM_meta_timeout="20000" CRM_meta_globally_unique="false" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_master_max="2" CRM_meta_master_node_max="2"/> | |
60 | + </pseudo_event> | |
61 | + </action_set> | |
62 | + <inputs> | |
63 | + <trigger> | |
64 | + <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/> | |
65 | + </trigger> | |
66 | + <trigger> | |
67 | + <pseudo_event id="16" operation="notified" operation_key="drbd0_confirmed-pre_notify_start_0"/> | |
68 | + </trigger> | |
69 | + </inputs> | |
70 | + </synapse> | |
71 | + <synapse id="5" priority="1000000"> | |
72 | + <action_set> | |
73 | + <pseudo_event id="14" operation="running" operation_key="drbd0_running_0"> | |
74 | + <attributes crm_feature_set="2.1" CRM_meta_stateful="true" CRM_meta_timeout="20000" CRM_meta_globally_unique="false" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_master_max="2" CRM_meta_master_node_max="2"/> | |
75 | + </pseudo_event> | |
76 | + </action_set> | |
77 | + <inputs> | |
78 | + <trigger> | |
79 | + <rsc_op id="11" operation="start" operation_key="drbd0:0_start_0" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"/> | |
80 | + </trigger> | |
81 | + <trigger> | |
82 | + <pseudo_event id="13" operation="start" operation_key="drbd0_start_0"/> | |
83 | + </trigger> | |
84 | + </inputs> | |
85 | + </synapse> | |
86 | + <synapse id="6"> | |
87 | + <action_set> | |
88 | + <pseudo_event id="15" operation="notify" operation_key="drbd0_pre_notify_start_0"> | |
89 | + <attributes crm_feature_set="2.1" CRM_meta_stateful="true" CRM_meta_timeout="20000" CRM_meta_notify_confirm="yes" CRM_meta_notify_type="pre" CRM_meta_notify_operation="start" CRM_meta_globally_unique="false" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_master_max="2" CRM_meta_master_node_max="2"/> | |
90 | + </pseudo_event> | |
91 | + </action_set> | |
92 | + <inputs/> | |
93 | + </synapse> | |
94 | + <synapse id="7"> | |
95 | + <action_set> | |
96 | + <pseudo_event id="16" operation="notified" operation_key="drbd0_confirmed-pre_notify_start_0"> | |
97 | + <attributes crm_feature_set="2.1" CRM_meta_stateful="true" CRM_meta_timeout="20000" CRM_meta_notify_type="pre" CRM_meta_notify_operation="start" CRM_meta_globally_unique="false" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_master_max="2" CRM_meta_master_node_max="2"/> | |
98 | + </pseudo_event> | |
99 | + </action_set> | |
100 | + <inputs> | |
101 | + <trigger> | |
102 | + <pseudo_event id="15" operation="notify" operation_key="drbd0_pre_notify_start_0"/> | |
103 | + </trigger> | |
104 | + </inputs> | |
105 | + </synapse> | |
106 | + <synapse id="8" priority="1000000"> | |
107 | + <action_set> | |
108 | + <pseudo_event id="17" operation="notify" operation_key="drbd0_post_notify_start_0"> | |
109 | + <attributes crm_feature_set="2.1" CRM_meta_stateful="true" CRM_meta_timeout="20000" CRM_meta_notify_confirm="yes" CRM_meta_notify_type="post" CRM_meta_notify_operation="start" CRM_meta_globally_unique="false" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_master_max="2" CRM_meta_master_node_max="2"/> | |
110 | + </pseudo_event> | |
111 | + </action_set> | |
112 | + <inputs> | |
113 | + <trigger> | |
114 | + <pseudo_event id="14" operation="running" operation_key="drbd0_running_0"/> | |
115 | + </trigger> | |
116 | + </inputs> | |
117 | + </synapse> | |
118 | + <synapse id="9" priority="1000000"> | |
119 | + <action_set> | |
120 | + <pseudo_event id="18" operation="notified" operation_key="drbd0_confirmed-post_notify_start_0"> | |
121 | + <attributes crm_feature_set="2.1" CRM_meta_stateful="true" CRM_meta_timeout="20000" CRM_meta_notify_type="pre" CRM_meta_notify_operation="start" CRM_meta_globally_unique="false" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1" CRM_meta_master_max="2" CRM_meta_master_node_max="2"/> | |
122 | + </pseudo_event> | |
123 | + </action_set> | |
124 | + <inputs> | |
125 | + <trigger> | |
126 | + <pseudo_event id="17" operation="notify" operation_key="drbd0_post_notify_start_0"/> | |
127 | + </trigger> | |
128 | + <trigger> | |
129 | + <rsc_op id="65" operation="notify" operation_key="drbd0:0_post_notify_start_0" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"/> | |
130 | + </trigger> | |
131 | + </inputs> | |
132 | + </synapse> | |
133 | + <synapse id="10"> | |
134 | + <action_set> | |
135 | + <rsc_op id="5" operation="monitor" operation_key="cman:0_monitor_0" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"> | |
136 | + <primitive id="cman:0" long-id="cman_clone:cman:0" class="lsb" type="cman"/> | |
137 | + <attributes crm_feature_set="2.1" CRM_meta_timeout="20000" CRM_meta_op_target_rc="7" CRM_meta_globally_unique="false" CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1"/> | |
138 | + </rsc_op> | |
139 | + </action_set> | |
140 | + <inputs/> | |
141 | + </synapse> | |
142 | + <synapse id="11"> | |
143 | + <action_set> | |
144 | + <rsc_op id="37" operation="start" operation_key="cman:0_start_0" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"> | |
145 | + <primitive id="cman:0" long-id="cman_clone:cman:0" class="lsb" type="cman"/> | |
146 | + <attributes crm_feature_set="2.1" CRM_meta_timeout="20000" CRM_meta_globally_unique="false" CRM_meta_clone="0" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1"/> | |
147 | + </rsc_op> | |
148 | + </action_set> | |
149 | + <inputs> | |
150 | + <trigger> | |
151 | + <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/> | |
152 | + </trigger> | |
153 | + <trigger> | |
154 | + <pseudo_event id="38" operation="start" operation_key="cman_clone_start_0"/> | |
155 | + </trigger> | |
156 | + </inputs> | |
157 | + </synapse> | |
158 | + <synapse id="12"> | |
159 | + <action_set> | |
160 | + <pseudo_event id="38" operation="start" operation_key="cman_clone_start_0"> | |
161 | + <attributes crm_feature_set="2.1" CRM_meta_timeout="20000" CRM_meta_globally_unique="false" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1"/> | |
162 | + </pseudo_event> | |
163 | + </action_set> | |
164 | + <inputs> | |
165 | + <trigger> | |
166 | + <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/> | |
167 | + </trigger> | |
168 | + </inputs> | |
169 | + </synapse> | |
170 | + <synapse id="13" priority="1000000"> | |
171 | + <action_set> | |
172 | + <pseudo_event id="39" operation="running" operation_key="cman_clone_running_0"> | |
173 | + <attributes crm_feature_set="2.1" CRM_meta_timeout="20000" CRM_meta_globally_unique="false" CRM_meta_clone_max="2" CRM_meta_clone_node_max="1"/> | |
174 | + </pseudo_event> | |
175 | + </action_set> | |
176 | + <inputs> | |
177 | + <trigger> | |
178 | + <rsc_op id="37" operation="start" operation_key="cman:0_start_0" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"/> | |
179 | + </trigger> | |
180 | + <trigger> | |
181 | + <pseudo_event id="38" operation="start" operation_key="cman_clone_start_0"/> | |
182 | + </trigger> | |
183 | + </inputs> | |
184 | + </synapse> | |
185 | + <synapse id="14"> | |
186 | + <action_set> | |
187 | + <rsc_op id="6" operation="monitor" operation_key="clvmd:0_monitor_0" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"> | |
188 | + <primitive id="clvmd:0" long-id="clvmd_clone:clvmd:0" class="lsb" type="lxclvmd"/> | |
189 | + <attributes crm_feature_set="2.1" CRM_meta_timeout="20000" CRM_meta_op_target_rc="7" CRM_meta_globally_unique="false" CRM_meta_clone="0" CRM_meta_clone_max="2"/> | |
190 | + </rsc_op> | |
191 | + </action_set> | |
192 | + <inputs/> | |
193 | + </synapse> | |
194 | + <synapse id="15"> | |
195 | + <action_set> | |
196 | + <rsc_op id="7" operation="monitor" operation_key="vmnci36_monitor_0" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"> | |
197 | + <primitive id="vmnci36" long-id="vmnci36" class="ocf" provider="heartbeat" type="vm"/> | |
198 | + <attributes crm_feature_set="2.1" target_role="started" vmid="vmnci36" CRM_meta_timeout="20000" CRM_meta_op_target_rc="7"/> | |
199 | + </rsc_op> | |
200 | + </action_set> | |
201 | + <inputs/> | |
202 | + </synapse> | |
203 | + <synapse id="16"> | |
204 | + <action_set> | |
205 | + <rsc_op id="8" operation="monitor" operation_key="vmnci37_monitor_0" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"> | |
206 | + <primitive id="vmnci37" long-id="vmnci37" class="ocf" provider="heartbeat" type="vm"/> | |
207 | + <attributes crm_feature_set="2.1" target_role="stopped" vmid="vmnci37" CRM_meta_timeout="20000" CRM_meta_op_target_rc="7"/> | |
208 | + </rsc_op> | |
209 | + </action_set> | |
210 | + <inputs/> | |
211 | + </synapse> | |
212 | + <synapse id="17"> | |
213 | + <action_set> | |
214 | + <rsc_op id="9" operation="monitor" operation_key="vmnci38_monitor_0" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"> | |
215 | + <primitive id="vmnci38" long-id="vmnci38" class="ocf" provider="heartbeat" type="vm"/> | |
216 | + <attributes crm_feature_set="2.1" target_role="stopped" vmid="vmnci38" CRM_meta_timeout="20000" CRM_meta_op_target_rc="7"/> | |
217 | + </rsc_op> | |
218 | + </action_set> | |
219 | + <inputs/> | |
220 | + </synapse> | |
221 | + <synapse id="18"> | |
222 | + <action_set> | |
223 | + <rsc_op id="10" operation="monitor" operation_key="vmnci55_monitor_0" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"> | |
224 | + <primitive id="vmnci55" long-id="vmnci55" class="ocf" provider="heartbeat" type="vm"/> | |
225 | + <attributes crm_feature_set="2.1" target_role="stopped" vmid="vmnci55" CRM_meta_timeout="20000" CRM_meta_op_target_rc="7"/> | |
226 | + </rsc_op> | |
227 | + </action_set> | |
228 | + <inputs/> | |
229 | + </synapse> | |
230 | + <synapse id="19"> | |
231 | + <action_set> | |
232 | + <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"> | |
233 | + <attributes crm_feature_set="2.1"/> | |
234 | + </pseudo_event> | |
235 | + </action_set> | |
236 | + <inputs> | |
237 | + <trigger> | |
238 | + <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"/> | |
239 | + </trigger> | |
240 | + </inputs> | |
241 | + </synapse> | |
242 | + <synapse id="20" priority="1000000"> | |
243 | + <action_set> | |
244 | + <rsc_op id="3" operation="probe_complete" operation_key="probe_complete" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"> | |
245 | + <attributes crm_feature_set="2.1" CRM_meta_op_no_wait="true"/> | |
246 | + </rsc_op> | |
247 | + </action_set> | |
248 | + <inputs> | |
249 | + <trigger> | |
250 | + <rsc_op id="4" operation="monitor" operation_key="drbd0:0_monitor_0" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"/> | |
251 | + </trigger> | |
252 | + <trigger> | |
253 | + <rsc_op id="5" operation="monitor" operation_key="cman:0_monitor_0" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"/> | |
254 | + </trigger> | |
255 | + <trigger> | |
256 | + <rsc_op id="6" operation="monitor" operation_key="clvmd:0_monitor_0" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"/> | |
257 | + </trigger> | |
258 | + <trigger> | |
259 | + <rsc_op id="7" operation="monitor" operation_key="vmnci36_monitor_0" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"/> | |
260 | + </trigger> | |
261 | + <trigger> | |
262 | + <rsc_op id="8" operation="monitor" operation_key="vmnci37_monitor_0" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"/> | |
263 | + </trigger> | |
264 | + <trigger> | |
265 | + <rsc_op id="9" operation="monitor" operation_key="vmnci38_monitor_0" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"/> | |
266 | + </trigger> | |
267 | + <trigger> | |
268 | + <rsc_op id="10" operation="monitor" operation_key="vmnci55_monitor_0" on_node="vbox4" on_node_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"/> | |
269 | + </trigger> | |
270 | + </inputs> | |
271 | + </synapse> | |
272 | + </transition_graph> | |
273 | + |
@@ -0,0 +1,185 @@ | ||
1 | + <cib generated="true" admin_epoch="0" ignore_dtd="false" num_peers="1" have_quorum="1" cib_feature_revision="2.0" crm_feature_set="2.1" epoch="165" num_updates="3" cib-last-written="Tue Jun 24 10:33:56 2008" dc_uuid="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6" ccm_transition="1"> | |
2 | + <configuration> | |
3 | + <crm_config> | |
4 | + <cluster_property_set id="cib-bootstrap-options"> | |
5 | + <attributes> | |
6 | + <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="0.6.4-node: 226d8e35692415c56dbd05258a85905414938ce9"/> | |
7 | + <nvpair name="last-lrm-refresh" id="cib-bootstrap-options-last-lrm-refresh" value="1214292810"/> | |
8 | + </attributes> | |
9 | + </cluster_property_set> | |
10 | + </crm_config> | |
11 | + <nodes> | |
12 | + <node id="fdacfc41-e43c-464b-a80e-b3fd1b22ca00" uname="vbox3" type="normal"> | |
13 | + <instance_attributes id="nodes-fdacfc41-e43c-464b-a80e-b3fd1b22ca00"> | |
14 | + <attributes> | |
15 | + <nvpair id="standby-fdacfc41-e43c-464b-a80e-b3fd1b22ca00" name="standby" value="off"/> | |
16 | + </attributes> | |
17 | + </instance_attributes> | |
18 | + </node> | |
19 | + <node uname="vbox4" type="normal" id="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"> | |
20 | + <instance_attributes id="nodes-a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"> | |
21 | + <attributes> | |
22 | + <nvpair name="standby" id="standby-a9a4b0ab-fc17-48ab-9d91-29e398e15cb6" value="off"/> | |
23 | + </attributes> | |
24 | + </instance_attributes> | |
25 | + </node> | |
26 | + </nodes> | |
27 | + <resources> | |
28 | + <master_slave id="drbd0"> | |
29 | + <meta_attributes id="ma-drbd0"> | |
30 | + <attributes> | |
31 | + <nvpair id="drbd0-clone-max" name="clone_max" value="2"/> | |
32 | + <nvpair id="drbd0-clone-node_max" name="clone_node_max" value="1"/> | |
33 | + <nvpair id="drbd0-master-max" name="master_max" value="2"/> | |
34 | + <nvpair id="drbd0-master-node-max" name="master_node_max" value="2"/> | |
35 | + <nvpair id="drbd0-notify" name="notify" value="yes"/> | |
36 | + <nvpair id="drbd0-globally-unique" name="globally_unique" value="false"/> | |
37 | + <nvpair id="drbd0-target-role" name="target_role" value="started"/> | |
38 | + <nvpair id="drbd0-interleave" name="interleave" value="true"/> | |
39 | + </attributes> | |
40 | + </meta_attributes> | |
41 | + <primitive id="drbd0" class="ocf" provider="heartbeat" type="drbd"> | |
42 | + <instance_attributes id="ia-drbd0"> | |
43 | + <attributes> | |
44 | + <nvpair id="drbd0-drbd-resource" name="drbd_resource" value="drbd0"/> | |
45 | + </attributes> | |
46 | + </instance_attributes> | |
47 | + <operations> | |
48 | + <op id="drbd0-op1" name="monitor" interval="59s" timeout="10s" role="Master"/> | |
49 | + <op id="drbd0-op2" name="monitor" interval="60s" timeout="10s" role="Slave"/> | |
50 | + </operations> | |
51 | + </primitive> | |
52 | + </master_slave> | |
53 | + <clone id="cman_clone" ordered="false" interleave="true" notify="false"> | |
54 | + <meta_attributes id="cman_clone_meta_attr"> | |
55 | + <attributes> | |
56 | + <nvpair id="cman_globally_unique" name="globally_unique" value="false"/> | |
57 | + </attributes> | |
58 | + </meta_attributes> | |
59 | + <instance_attributes id="7c15d37b-309e-4462-b9be-c385b3aaf5ae"> | |
60 | + <attributes> | |
61 | + <nvpair id="cman_clone_max" name="clone_max" value="2"/> | |
62 | + <nvpair id="cman_clone_node_max" name="clone_node_max" value="1"/> | |
63 | + </attributes> | |
64 | + </instance_attributes> | |
65 | + <primitive id="cman" class="lsb" type="cman"/> | |
66 | + <meta_attributes id="cman_clone-meta-options"> | |
67 | + <attributes> | |
68 | + <nvpair id="cman_clone-meta-options-target_role" name="target_role" value="started"/> | |
69 | + </attributes> | |
70 | + </meta_attributes> | |
71 | + </clone> | |
72 | + <clone id="clvmd_clone" ordered="false" interleave="true" notify="false"> | |
73 | + <meta_attributes id="clvmd_meta_attr"> | |
74 | + <attributes> | |
75 | + <nvpair name="target_role" id="clvmd_target_role" value="started"/> | |
76 | + <nvpair id="clvmd_globally_unique" name="globally_unique" value="false"/> | |
77 | + </attributes> | |
78 | + </meta_attributes> | |
79 | + <instance_attributes id="clvmd_inst_attr"> | |
80 | + <attributes> | |
81 | + <nvpair id="clvmd_clone_max" name="clvmd_clone_max" value="2"/> | |
82 | + <nvpair id="clvmd_clone_node_max" name="clvmd_clone_node_max" value="1"/> | |
83 | + </attributes> | |
84 | + </instance_attributes> | |
85 | + <primitive id="clvmd" class="lsb" type="lxclvmd"/> | |
86 | + </clone> | |
87 | + <primitive class="ocf" provider="heartbeat" type="vm" id="vmnci36"> | |
88 | + <operations> | |
89 | + <op id="vmnci36_op_1" interval="10s" name="monitor" timeout="60s" prereq="nothing"/> | |
90 | + <op id="vmnci36_op_2" name="start" timeout="60s" start_delay="0"/> | |
91 | + <op id="vmnci36_op_3" name="stop" timeout="300s"/> | |
92 | + </operations> | |
93 | + <instance_attributes id="vmnci36_inst_attr"> | |
94 | + <attributes> | |
95 | + <nvpair id="vmnci36_vmid" name="vmid" value="vmnci36"/> | |
96 | + <nvpair name="target_role" id="vmnci36_target_role" value="started"/> | |
97 | + </attributes> | |
98 | + </instance_attributes> | |
99 | + </primitive> | |
100 | + <primitive class="ocf" provider="heartbeat" type="vm" id="vmnci37"> | |
101 | + <operations> | |
102 | + <op id="vmnci37_op_1" interval="10s" name="monitor" timeout="60s" prereq="nothing"/> | |
103 | + <op id="vmnci37_op_2" name="start" timeout="60s" start_delay="0"/> | |
104 | + <op id="vmnci37_op_3" name="stop" timeout="300s"/> | |
105 | + </operations> | |
106 | + <instance_attributes id="vmnci37_inst_attr"> | |
107 | + <attributes> | |
108 | + <nvpair id="vmnci37_vmid" name="vmid" value="vmnci37"/> | |
109 | + <nvpair name="target_role" id="vmnci37_target_role" value="stopped"/> | |
110 | + </attributes> | |
111 | + </instance_attributes> | |
112 | + </primitive> | |
113 | + <primitive class="ocf" id="vmnci38" provider="heartbeat" type="vm"> | |
114 | + <operations> | |
115 | + <op id="vmnci38_op_1" interval="10s" name="monitor" timeout="60s" prereq="nothing"/> | |
116 | + <op id="vmnci38_op_2" name="start" timeout="60s" start_delay="0"/> | |
117 | + <op id="vmnci38_op_3" name="stop" timeout="300s"/> | |
118 | + </operations> | |
119 | + <instance_attributes id="vmnci38_inst_attr"> | |
120 | + <attributes> | |
121 | + <nvpair id="vmnci38_vmid" name="vmid" value="vmnci38"/> | |
122 | + <nvpair id="vmnci38_target_role" name="target_role" value="stopped"/> | |
123 | + </attributes> | |
124 | + </instance_attributes> | |
125 | + </primitive> | |
126 | + <primitive class="ocf" provider="heartbeat" type="vm" id="vmnci55"> | |
127 | + <operations> | |
128 | + <op id="vmnci55_op_1" interval="10s" name="monitor" timeout="60s" prereq="nothing"/> | |
129 | + <op id="vmnci55_op_2" name="start" timeout="60s" start_delay="0"/> | |
130 | + <op id="vmnci55_op_3" name="stop" timeout="300s"/> | |
131 | + </operations> | |
132 | + <instance_attributes id="vmnci55_inst_attr"> | |
133 | + <attributes> | |
134 | + <nvpair id="vmnci55_vmid" name="vmid" value="vmnci55"/> | |
135 | + <nvpair name="target_role" id="vmnci55_target_role" value="stopped"/> | |
136 | + </attributes> | |
137 | + </instance_attributes> | |
138 | + </primitive> | |
139 | + </resources> | |
140 | + <constraints> | |
141 | + <rsc_location id="drbd0_location" rsc="drbd0"> | |
142 | + <rule id="drbd0_prefered_location" score="1"> | |
143 | + <expression id="drbd0_prefered_location_expr" attribute="#uname" operation="eq" value="vbox3"/> | |
144 | + </rule> | |
145 | + </rsc_location> | |
146 | + <rsc_order id="drbd_before_clvmd" from="clvmd_clone" action="start" to="drbd0" to_action="promote"/> | |
147 | + <!--rsc_order id="drbd_before_vmnci36" from="vmnci36" action="start" to="drbd0" to_action="promote"/--> | |
148 | + <rsc_colocation id="clvmd_on_drbd0" to="drbd0" to_role="Master" from="clvmd_clone" score="INFINITY"/> | |
149 | + <rsc_order id="cman_before_clvmd" from="clvmd_clone" action="start" to="cman_clone" to_action="start"/> | |
150 | + <rsc_colocation id="clvmd_on_cman" to="cman_clone" to_role="Started" from="clvmd_clone" score="INFINITY"/> | |
151 | + <rsc_location id="vmnci36_location" rsc="vmnci36"> | |
152 | + <rule id="vmnci36_prefered_location" score="10"> | |
153 | + <expression id="vmnci36_prefered_location_expr" attribute="#uname" operation="eq" value="vbox3"/> | |
154 | + </rule> | |
155 | + </rsc_location> | |
156 | + <rsc_order id="clvmd_before_vmnci36" from="vmnci36" action="start" to="clvmd_clone" to_action="start"/> | |
157 | + <rsc_colocation id="vmnci36_on_clvmd" to="clvmd_clone" to_role="Started" from="vmnci36" score="INFINITY"/> | |
158 | + <rsc_location id="vmnci37_location" rsc="vmnci37"> | |
159 | + <rule id="vmnci37_prefered_location" score="10"> | |
160 | + <expression id="vmnci37_prefered_location_expr" attribute="#uname" operation="eq" value="vbox3"/> | |
161 | + </rule> | |
162 | + </rsc_location> | |
163 | + <rsc_location id="vmnci38_location" rsc="vmnci38"> | |
164 | + <rule id="vmnci38_prefered_location" score="10"> | |
165 | + <expression id="vmnci38_prefered_location_expr" attribute="#uname" operation="eq" value="vbox3"/> | |
166 | + </rule> | |
167 | + </rsc_location> | |
168 | + <rsc_order id="clvmd_before_vmnci38" from="vmnci38" action="start" to="clvmd_clone" to_action="start"/> | |
169 | + <rsc_location id="vmnci55_location" rsc="vmnci55"> | |
170 | + <rule id="vmnci55_prefered_location" score="10"> | |
171 | + <expression id="vmnci55_prefered_location_expr" attribute="#uname" operation="eq" value="vbox3"/> | |
172 | + </rule> | |
173 | + </rsc_location> | |
174 | + <rsc_order id="clvmd_before_vmnci55" from="vmnci55" action="start" to="clvmd_clone" to_action="start"/> | |
175 | + <rsc_colocation id="vmnci55_on_clvmd" to="clvmd_clone" to_role="Started" from="vmnci55" score="INFINITY"/> | |
176 | + </constraints> | |
177 | + </configuration> | |
178 | + <status> | |
179 | + <node_state id="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6" uname="vbox4" crmd="online" crm-debug-origin="do_lrm_query" shutdown="0" ha="active" in_ccm="true" join="member" expected="member"> | |
180 | + <lrm id="a9a4b0ab-fc17-48ab-9d91-29e398e15cb6"> | |
181 | + <lrm_resources/> | |
182 | + </lrm> | |
183 | + </node_state> | |
184 | + </status> | |
185 | + </cib> |
@@ -256,20 +256,10 @@ | ||
256 | 256 | gboolean |
257 | 257 | native_assign_node(resource_t *rsc, GListPtr nodes, node_t *chosen) |
258 | 258 | { |
259 | - int multiple = 0; | |
260 | 259 | CRM_ASSERT(rsc->variant == pe_native); |
261 | 260 | |
262 | 261 | clear_bit(rsc->flags, pe_rsc_provisional); |
263 | 262 | |
264 | - slist_iter(candidate, node_t, nodes, lpc, | |
265 | - if(chosen | |
266 | - && chosen->weight > 0 | |
267 | - && candidate->details->unclean == FALSE | |
268 | - && candidate->weight == chosen->weight) { | |
269 | - multiple++; | |
270 | - } | |
271 | - ); | |
272 | - | |
273 | 263 | if(chosen == NULL) { |
274 | 264 | crm_debug("Could not allocate a node for %s", rsc->id); |
275 | 265 | rsc->next_role = RSC_ROLE_STOPPED; |
@@ -287,19 +277,6 @@ | ||
287 | 277 | rsc->next_role = RSC_ROLE_STARTED; |
288 | 278 | } |
289 | 279 | |
290 | - if(multiple > 1) { | |
291 | - int log_level = LOG_INFO; | |
292 | - char *score = score2char(chosen->weight); | |
293 | - if(chosen->weight >= INFINITY) { | |
294 | - log_level = LOG_WARNING; | |
295 | - } | |
296 | - | |
297 | - do_crm_log(log_level, "%d nodes with equal score (%s) for" | |
298 | - " running %s resources (chose %s):", | |
299 | - multiple, score, rsc->id, chosen->details->uname); | |
300 | - crm_free(score); | |
301 | - } | |
302 | - | |
303 | 280 | /* todo: update the old node for each resource to reflect its |
304 | 281 | * new resource count |
305 | 282 | */ |