pacemaker/pacemaker-pengine-nvpair-id-ref-test.patch
Yan Gao 5b918bf0b1 - crmd: Correctly react to successful unfencing operations
- PE: Delay unfencing until after we know the state of all resources that require unfencing
- PE: Fencing devices default to only requiring quorum in order to start
- PE: Automatically re-unfence a node if the fencing device definition changes
- pengine: Only report 'migrate' in transition summary if migration is actually taking place
- crm_node: Set correct subsystem in node rm cache msg
- crm_node: Prevent use-after-free in tools_remove_node_cache()
- crmd: make resource ID case sensitive
- fencing: Correction of the registration from a difference.
- crm_report: Add support for ISO8601 time format in logs (bnc#870886)
- PE: Potential memory leak
- xml: Support resources that require unfencing
- crmd: make node_state erase correctly
- xml: Add the ability to have lightweight schema revisions
- xml: Split up the RelaxNG schema files so they're easier to version individually
- crm_get_msec: prevent integer overflow
- corosync: Reduce log severity for a redundant message (bnc#870624)
- attrd: Reduce log severity for normal messages (bnc#870624)
- cib: When data was old, it fixed so that the newest cib might not be acquired.
- crm_attribute: Default --lifetime to forever when using --node (bnc#870696)
- Upstream version cs: 76579e813b5aaa1972d400055233519f58bbc0c6

OBS-URL: https://build.opensuse.org/package/show/network:ha-clustering:Factory/pacemaker?expand=0&rev=123
2014-04-08 12:17:12 +00:00

300 lines
13 KiB
Diff

commit 9077dde4ae249fee4cb6e8d3a1d09f45607b1250
Author: Gao,Yan <ygao@suse.com>
Date: Tue Apr 8 19:41:49 2014 +0800
Test: pengine: Support id-ref in nvpair with optional "name"
diff --git a/pengine/regression.sh b/pengine/regression.sh
index e436d93..43a9895 100755
--- a/pengine/regression.sh
+++ b/pengine/regression.sh
@@ -93,6 +93,7 @@ do_test params-5 "Params: Restart based on probe digest"
do_test novell-251689 "Resource definition change + target_role=stopped"
do_test bug-lf-2106 "Restart all anonymous clone instances after config change"
do_test params-6 "Params: Detect reload in previously migrated resource"
+do_test nvpair-id-ref "Support id-ref in nvpair with optional name"
echo ""
do_test target-0 "Target Role : baseline"
diff --git a/pengine/test10/nvpair-id-ref.dot b/pengine/test10/nvpair-id-ref.dot
new file mode 100644
index 0000000..f3aaaa5
--- /dev/null
+++ b/pengine/test10/nvpair-id-ref.dot
@@ -0,0 +1,23 @@
+digraph "g" {
+"probe_complete node1" -> "probe_complete" [ style = bold]
+"probe_complete node1" [ style=bold color="green" fontcolor="black"]
+"probe_complete node2" -> "probe_complete" [ style = bold]
+"probe_complete node2" [ style=bold color="green" fontcolor="black"]
+"probe_complete" -> "rsc1_start_0 node2" [ style = bold]
+"probe_complete" -> "rsc2_start_0 node1" [ style = bold]
+"probe_complete" [ style=bold color="green" fontcolor="orange"]
+"rsc1_monitor_0 node1" -> "probe_complete node1" [ style = bold]
+"rsc1_monitor_0 node1" [ style=bold color="green" fontcolor="black"]
+"rsc1_monitor_0 node2" -> "probe_complete node2" [ style = bold]
+"rsc1_monitor_0 node2" [ style=bold color="green" fontcolor="black"]
+"rsc1_monitor_10000 node2" [ style=bold color="green" fontcolor="black"]
+"rsc1_start_0 node2" -> "rsc1_monitor_10000 node2" [ style = bold]
+"rsc1_start_0 node2" [ style=bold color="green" fontcolor="black"]
+"rsc2_monitor_0 node1" -> "probe_complete node1" [ style = bold]
+"rsc2_monitor_0 node1" [ style=bold color="green" fontcolor="black"]
+"rsc2_monitor_0 node2" -> "probe_complete node2" [ style = bold]
+"rsc2_monitor_0 node2" [ style=bold color="green" fontcolor="black"]
+"rsc2_monitor_10000 node1" [ style=bold color="green" fontcolor="black"]
+"rsc2_start_0 node1" -> "rsc2_monitor_10000 node1" [ style = bold]
+"rsc2_start_0 node1" [ style=bold color="green" fontcolor="black"]
+}
diff --git a/pengine/test10/nvpair-id-ref.exp b/pengine/test10/nvpair-id-ref.exp
new file mode 100644
index 0000000..0ad069d
--- /dev/null
+++ b/pengine/test10/nvpair-id-ref.exp
@@ -0,0 +1,135 @@
+<transition_graph cluster-delay="60s" stonith-timeout="60s" failed-stop-offset="INFINITY" failed-start-offset="INFINITY" transition_id="0">
+ <synapse id="0">
+ <action_set>
+ <rsc_op id="12" operation="monitor" operation_key="rsc1_monitor_10000" on_node="node2" on_node_uuid="node2">
+ <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
+ <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" fake="common-value"/>
+ </rsc_op>
+ </action_set>
+ <inputs>
+ <trigger>
+ <rsc_op id="11" operation="start" operation_key="rsc1_start_0" on_node="node2" on_node_uuid="node2"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="1">
+ <action_set>
+ <rsc_op id="11" operation="start" operation_key="rsc1_start_0" on_node="node2" on_node_uuid="node2">
+ <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
+ <attributes CRM_meta_timeout="20000" fake="common-value"/>
+ </rsc_op>
+ </action_set>
+ <inputs>
+ <trigger>
+ <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="2">
+ <action_set>
+ <rsc_op id="7" operation="monitor" operation_key="rsc1_monitor_0" on_node="node2" on_node_uuid="node2">
+ <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
+ <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" fake="common-value"/>
+ </rsc_op>
+ </action_set>
+ <inputs/>
+ </synapse>
+ <synapse id="3">
+ <action_set>
+ <rsc_op id="4" operation="monitor" operation_key="rsc1_monitor_0" on_node="node1" on_node_uuid="node1">
+ <primitive id="rsc1" class="ocf" provider="pacemaker" type="Dummy"/>
+ <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" fake="common-value"/>
+ </rsc_op>
+ </action_set>
+ <inputs/>
+ </synapse>
+ <synapse id="4">
+ <action_set>
+ <rsc_op id="14" operation="monitor" operation_key="rsc2_monitor_10000" on_node="node1" on_node_uuid="node1">
+ <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
+ <attributes CRM_meta_interval="10000" CRM_meta_name="monitor" CRM_meta_timeout="20000" fake="common-value" fake_fake="common-value"/>
+ </rsc_op>
+ </action_set>
+ <inputs>
+ <trigger>
+ <rsc_op id="13" operation="start" operation_key="rsc2_start_0" on_node="node1" on_node_uuid="node1"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="5">
+ <action_set>
+ <rsc_op id="13" operation="start" operation_key="rsc2_start_0" on_node="node1" on_node_uuid="node1">
+ <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
+ <attributes CRM_meta_timeout="20000" fake="common-value" fake_fake="common-value"/>
+ </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="8" operation="monitor" operation_key="rsc2_monitor_0" on_node="node2" on_node_uuid="node2">
+ <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
+ <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" fake="common-value" fake_fake="common-value"/>
+ </rsc_op>
+ </action_set>
+ <inputs/>
+ </synapse>
+ <synapse id="7">
+ <action_set>
+ <rsc_op id="5" operation="monitor" operation_key="rsc2_monitor_0" on_node="node1" on_node_uuid="node1">
+ <primitive id="rsc2" class="ocf" provider="pacemaker" type="Dummy"/>
+ <attributes CRM_meta_op_target_rc="7" CRM_meta_timeout="20000" fake="common-value" fake_fake="common-value"/>
+ </rsc_op>
+ </action_set>
+ <inputs/>
+ </synapse>
+ <synapse id="8" priority="1000000">
+ <action_set>
+ <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2">
+ <attributes CRM_meta_op_no_wait="true" />
+ </rsc_op>
+ </action_set>
+ <inputs>
+ <trigger>
+ <rsc_op id="7" operation="monitor" operation_key="rsc1_monitor_0" on_node="node2" on_node_uuid="node2"/>
+ </trigger>
+ <trigger>
+ <rsc_op id="8" operation="monitor" operation_key="rsc2_monitor_0" on_node="node2" on_node_uuid="node2"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="9" priority="1000000">
+ <action_set>
+ <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1">
+ <attributes CRM_meta_op_no_wait="true" />
+ </rsc_op>
+ </action_set>
+ <inputs>
+ <trigger>
+ <rsc_op id="4" operation="monitor" operation_key="rsc1_monitor_0" on_node="node1" on_node_uuid="node1"/>
+ </trigger>
+ <trigger>
+ <rsc_op id="5" operation="monitor" operation_key="rsc2_monitor_0" on_node="node1" on_node_uuid="node1"/>
+ </trigger>
+ </inputs>
+ </synapse>
+ <synapse id="10">
+ <action_set>
+ <pseudo_event id="2" operation="probe_complete" operation_key="probe_complete">
+ <attributes />
+ </pseudo_event>
+ </action_set>
+ <inputs>
+ <trigger>
+ <rsc_op id="3" operation="probe_complete" operation_key="probe_complete-node1" on_node="node1" on_node_uuid="node1"/>
+ </trigger>
+ <trigger>
+ <rsc_op id="6" operation="probe_complete" operation_key="probe_complete-node2" on_node="node2" on_node_uuid="node2"/>
+ </trigger>
+ </inputs>
+ </synapse>
+</transition_graph>
diff --git a/pengine/test10/nvpair-id-ref.scores b/pengine/test10/nvpair-id-ref.scores
new file mode 100644
index 0000000..fb86bf6
--- /dev/null
+++ b/pengine/test10/nvpair-id-ref.scores
@@ -0,0 +1,7 @@
+Allocation scores:
+native_color: rsc1 allocation score on node1: 0
+native_color: rsc1 allocation score on node2: 0
+native_color: rsc2 allocation score on node1: 0
+native_color: rsc2 allocation score on node2: 0
+native_color: rsc_stonith allocation score on node1: 0
+native_color: rsc_stonith allocation score on node2: 0
diff --git a/pengine/test10/nvpair-id-ref.summary b/pengine/test10/nvpair-id-ref.summary
new file mode 100644
index 0000000..dbe685f
--- /dev/null
+++ b/pengine/test10/nvpair-id-ref.summary
@@ -0,0 +1,30 @@
+
+Current cluster status:
+Online: [ node1 node2 ]
+
+ rsc_stonith (stonith:null): Started node1
+ rsc1 (ocf::pacemaker:Dummy): Stopped
+ rsc2 (ocf::pacemaker:Dummy): Stopped
+
+Transition Summary:
+ * Start rsc1 (node2)
+ * Start rsc2 (node1)
+
+Executing cluster transition:
+ * Resource action: rsc1 monitor on node2
+ * Resource action: rsc1 monitor on node1
+ * Resource action: rsc2 monitor on node2
+ * Resource action: rsc2 monitor on node1
+ * Pseudo action: probe_complete
+ * Resource action: rsc1 start on node2
+ * Resource action: rsc2 start on node1
+ * Resource action: rsc1 monitor=10000 on node2
+ * Resource action: rsc2 monitor=10000 on node1
+
+Revised cluster status:
+Online: [ node1 node2 ]
+
+ rsc_stonith (stonith:null): Started node1
+ rsc1 (ocf::pacemaker:Dummy): Started node2
+ rsc2 (ocf::pacemaker:Dummy): Started node1
+
diff --git a/pengine/test10/nvpair-id-ref.xml b/pengine/test10/nvpair-id-ref.xml
new file mode 100644
index 0000000..5580e96
--- /dev/null
+++ b/pengine/test10/nvpair-id-ref.xml
@@ -0,0 +1,56 @@
+<cib epoch="1" num_updates="22" admin_epoch="0" validate-with="pacemaker-1.3" cib-last-written="Fri Jul 13 13:51:21 2012" have-quorum="1">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" type="normal" uname="node1"/>
+ <node id="node2" type="normal" uname="node2"/>
+ </nodes>
+ <resources>
+ <primitive class="stonith" id="rsc_stonith" type="null"/>
+ <primitive class="ocf" id="rsc1" provider="pacemaker" type="Dummy">
+ <instance_attributes id="rsc1-instance_attributes">
+ <nvpair id="rsc1-instance_attributes-fake" name="fake" value="common-value"/>
+ </instance_attributes>
+ <operations>
+ <op id="rsc1-monitor-10" interval="10" name="monitor"/>
+ </operations>
+ </primitive>
+ <primitive class="ocf" id="rsc2" provider="pacemaker" type="Dummy">
+ <instance_attributes id="rsc2-instance_attributes">
+ <nvpair id-ref="rsc1-instance_attributes-fake"/>
+ <nvpair id-ref="rsc1-instance_attributes-fake" name="fake_fake"/>
+ </instance_attributes>
+ <operations>
+ <op id="rsc2-monitor-10" interval="10" name="monitor"/>
+ </operations>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" ha="active" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <lrm id="node1">
+ <lrm_resources>
+ <lrm_resource id="rsc_stonith" class="stonith" type="null">
+ <lrm_rsc_op id="rsc_stonith_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.7" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="1" rc-code="7" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="rsc_stonith_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.0.7" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="2" rc-code="0" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <node_state id="node2" uname="node2" ha="active" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <lrm id="node2">
+ <lrm_resources>
+ <lrm_resource id="rsc_stonith" class="stonith" type="null">
+ <lrm_rsc_op id="rsc_stonith_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.0.7" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" call-id="1" rc-code="7" op-status="0" interval="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ </status>
+</cib>