summaryrefslogtreecommitdiffstats
path: root/cts/cli
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--cts/cli/constraints.xml59
-rw-r--r--cts/cli/crm_diff_new.xml54
-rw-r--r--cts/cli/crm_diff_old.xml54
-rw-r--r--cts/cli/crm_mon-T180.xml160
-rw-r--r--cts/cli/crm_mon-feature_set.xml42
-rw-r--r--cts/cli/crm_mon-partial.xml191
-rw-r--r--cts/cli/crm_mon-rsc-maint.xml331
-rw-r--r--cts/cli/crm_mon-unmanaged.xml69
-rw-r--r--cts/cli/crm_mon.xml315
-rw-r--r--cts/cli/crm_resource_digests.xml143
-rw-r--r--cts/cli/crmadmin-cluster-remote-guest-nodes.xml483
-rw-r--r--cts/cli/regression.access_render.exp133
-rw-r--r--cts/cli/regression.acls.exp4408
-rw-r--r--cts/cli/regression.agents.exp33
-rw-r--r--cts/cli/regression.crm_mon.exp5039
-rw-r--r--cts/cli/regression.daemons.exp446
-rw-r--r--cts/cli/regression.dates.exp362
-rw-r--r--cts/cli/regression.error_codes.exp544
-rw-r--r--cts/cli/regression.feature_set.exp201
-rw-r--r--cts/cli/regression.rules.exp277
-rw-r--r--cts/cli/regression.tools.exp7900
-rw-r--r--cts/cli/regression.upgrade.exp164
-rw-r--r--cts/cli/regression.validity.exp552
23 files changed, 21960 insertions, 0 deletions
diff --git a/cts/cli/constraints.xml b/cts/cli/constraints.xml
new file mode 100644
index 0000000..856c820
--- /dev/null
+++ b/cts/cli/constraints.xml
@@ -0,0 +1,59 @@
+<cib crm_feature_set="3.3.0" validate-with="pacemaker-3.3" epoch="1" num_updates="1" admin_epoch="1" cib-last-written="Tue May 5 12:04:36 2020" update-origin="cluster01" update-client="crmd" update-user="hacluster" have-quorum="1" dc-uuid="2">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+ <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="2.0.4-1.e97f9675f.git.el7-e97f9675f"/>
+ <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
+ <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="test-cluster"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ <nvpair id="cib-bootstrap-options-maintenance-mode" name="maintenance-mode" value="false"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="1" uname="cluster01"/>
+ <node id="2" uname="cluster02"/>
+ </nodes>
+ <resources>
+ <primitive class="stonith" id="fencing" type="fence_xvm"/>
+ <primitive class="ocf" id="prim1" provider="pacemaker" type="Dummy"/>
+ <primitive class="ocf" id="prim2" provider="pacemaker" type="Dummy"/>
+ <primitive class="ocf" id="prim3" provider="pacemaker" type="Dummy"/>
+ <primitive class="ocf" id="prim4" provider="pacemaker" type="Dummy"/>
+ <primitive class="ocf" id="prim5" provider="pacemaker" type="Dummy"/>
+ <primitive class="ocf" id="prim6" provider="pacemaker" type="Dummy"/>
+ <primitive class="ocf" id="prim7" provider="pacemaker" type="Dummy"/>
+ <primitive class="ocf" id="prim8" provider="pacemaker" type="Dummy"/>
+ <primitive class="ocf" id="prim9" provider="pacemaker" type="Dummy"/>
+ <primitive class="ocf" id="prim10" provider="pacemaker" type="Dummy"/>
+ <primitive class="ocf" id="prim11" provider="pacemaker" type="Dummy"/>
+ <primitive class="ocf" id="prim12" provider="pacemaker" type="Dummy"/>
+ <primitive class="ocf" id="prim13" provider="pacemaker" type="Dummy"/>
+ <group id="group">
+ <primitive class="ocf" id="gr1" provider="pacemaker" type="Dummy"/>
+ <primitive class="ocf" id="gr2" provider="pacemaker" type="Dummy"/>
+ <primitive class="ocf" id="gr3" provider="pacemaker" type="Dummy"/>
+ </group>
+ <clone id="clone">
+ <primitive class="ocf" id="cl1" provider="pacemaker" type="Dummy"/>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_colocation id="colocation-prim2-prim3-INFINITY" rsc="prim2" score="INFINITY" with-rsc="prim3"/>
+ <rsc_colocation id="colocation-prim3-prim4-INFINITY" rsc="prim3" score="INFINITY" with-rsc="prim4"/>
+ <rsc_colocation id="colocation-prim4-prim5-INFINITY" rsc="prim4" score="INFINITY" with-rsc="prim5"/>
+ <rsc_colocation id="colocation-prim10-prim4-INFINITY" rsc="prim10" score="INFINITY" with-rsc="prim4"/>
+ <rsc_location id="prim2-on-cluster1" rsc="prim2" node="cluster01" score="INFINITY"/>
+ <rsc_location id="prim4-on-cluster2" rsc="prim4" node="cluster02" score="INFINITY"/>
+ <rsc_location id="prim6-not-on-cluster2" rsc="prim6" node="cluster02" score="-INFINITY"/>
+ <rsc_colocation id="colocation-prim7-group-INFINITY" rsc="prim7" score="INFINITY" with-rsc="group"/>
+ <rsc_colocation id="colocation-prim8-gr2-INFINITY" rsc="prim8" score="INFINITY" with-rsc="gr2"/>
+ <rsc_colocation id="colocation-prim9-clone-INFINITY" rsc="prim9" score="INFINITY" with-rsc="clone"/>
+ <rsc_colocation id="colocation-prim11-prim12-INFINITY" rsc="prim11" score="INFINITY" with-rsc="prim12"/>
+ <rsc_colocation id="colocation-prim12-prim13-INFINITY" rsc="prim12" score="INFINITY" with-rsc="prim13"/>
+ <rsc_colocation id="colocation-prim13-prim11-INFINITY" rsc="prim13" score="INFINITY" with-rsc="prim11"/>
+ </constraints>
+ <op_defaults/>
+ </configuration>
+ <status/>
+</cib>
diff --git a/cts/cli/crm_diff_new.xml b/cts/cli/crm_diff_new.xml
new file mode 100644
index 0000000..0467618
--- /dev/null
+++ b/cts/cli/crm_diff_new.xml
@@ -0,0 +1,54 @@
+<cib crm_feature_set="3.2.0" validate-with="pacemaker-3.2" epoch="1" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <!-- test: move attribute "value" before "name" -->
+ <nvpair id="cib-bootstrap-options-cluster-name" value="mycluster" name="cluster-name" />
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="1" />
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="1" uname="node1"/>
+ <node id="2" uname="node2"/>
+ <node id="3" uname="node3"/>
+ <!-- test: add element for node4 -->
+ <node id="4" uname="node4"/>
+ </nodes>
+ <!-- test: add a new comment below this one -->
+ <!-- hello world -->
+ <resources>
+ <!-- test: modify this comment to say something different -->
+ <primitive id="Fencing" class="stonith" type="fence_xvm">
+ <meta_attributes id="Fencing-meta">
+ <nvpair id="Fencing-migration-threshold" name="migration-threshold" value="5"/>
+ </meta_attributes>
+ <instance_attributes id="Fencing-params">
+ <nvpair id="Fencing-key_file" name="key_file" value="/etc/pacemaker/fence_xvm.key"/>
+ <nvpair id="Fencing-multicast_address" name="multicast_address" value="239.255.100.100"/>
+ <!-- test: modify attribute value to add node4 -->
+ <nvpair id="Fencing-pcmk_host_list" name="pcmk_host_list" value="node1 node2 node3 node4"/>
+ </instance_attributes>
+ <operations>
+ <!-- test: add attribute timeout="120s" -->
+ <op id="Fencing-monitor-120s" interval="120s" timeout="120s" name="monitor" />
+ <op id="Fencing-stop-0" interval="0" name="stop" timeout="60s"/>
+ <!-- test: delete element Fencing-start-0 -->
+ </operations>
+ </primitive>
+ <primitive id="dummy" class="ocf" type="pacemaker" provider="Dummy">
+ <instance_attributes id="dummy-params">
+ <!-- test: move element dummy-fake below dummy-op_sleep -->
+ <nvpair id="dummy-op_sleep" name="op_sleep" value="3"/>
+ <nvpair id="dummy-fake" name="fake" value="0"/>
+ </instance_attributes>
+ <operations>
+ <!-- test: delete attribute timeout -->
+ <op id="dummy-monitor-5s" interval="5s" name="monitor"/>
+ </operations>
+ </primitive>
+ </resources>
+ <constraints/>
+ <!-- test: move this comment to end of configuration -->
+ </configuration>
+ <status/>
+</cib>
diff --git a/cts/cli/crm_diff_old.xml b/cts/cli/crm_diff_old.xml
new file mode 100644
index 0000000..bdca737
--- /dev/null
+++ b/cts/cli/crm_diff_old.xml
@@ -0,0 +1,54 @@
+<cib crm_feature_set="3.2.0" validate-with="pacemaker-3.2" epoch="1" num_updates="0" admin_epoch="0">
+ <configuration>
+ <!-- test: move this comment to end of configuration -->
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <!-- test: move attribute "value" before "name" -->
+ <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="mycluster" />
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="1" />
+ </cluster_property_set>
+ </crm_config>
+ <!-- test: delete this comment -->
+ <nodes>
+ <node id="1" uname="node1"/>
+ <node id="2" uname="node2"/>
+ <node id="3" uname="node3"/>
+ <!-- test: add element for node4 -->
+ </nodes>
+ <!-- test: add a new comment below this one -->
+ <resources>
+ <!-- test: modify this comment -->
+ <primitive id="Fencing" class="stonith" type="fence_xvm">
+ <meta_attributes id="Fencing-meta">
+ <nvpair id="Fencing-migration-threshold" name="migration-threshold" value="5"/>
+ </meta_attributes>
+ <instance_attributes id="Fencing-params">
+ <nvpair id="Fencing-key_file" name="key_file" value="/etc/pacemaker/fence_xvm.key"/>
+ <nvpair id="Fencing-multicast_address" name="multicast_address" value="239.255.100.100"/>
+ <!-- test: modify attribute value to add node4 -->
+ <nvpair id="Fencing-pcmk_host_list" name="pcmk_host_list" value="node1 node2 node3"/>
+ </instance_attributes>
+ <operations>
+ <!-- test: add attribute timeout="120s" -->
+ <op id="Fencing-monitor-120s" interval="120s" name="monitor" />
+ <op id="Fencing-stop-0" interval="0" name="stop" timeout="60s"/>
+ <!-- test: delete element Fencing-start-0 -->
+ <op id="Fencing-start-0" interval="0" name="start" timeout="60s"/>
+ </operations>
+ </primitive>
+ <primitive id="dummy" class="ocf" type="pacemaker" provider="Dummy">
+ <instance_attributes id="dummy-params">
+ <!-- test: move element dummy-fake below dummy-op_sleep -->
+ <nvpair id="dummy-fake" name="fake" value="0"/>
+ <nvpair id="dummy-op_sleep" name="op_sleep" value="3"/>
+ </instance_attributes>
+ <operations>
+ <!-- test: delete attribute timeout -->
+ <op id="dummy-monitor-5s" interval="5s" timeout="10s" name="monitor"/>
+ </operations>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
diff --git a/cts/cli/crm_mon-T180.xml b/cts/cli/crm_mon-T180.xml
new file mode 100644
index 0000000..ab4f24d
--- /dev/null
+++ b/cts/cli/crm_mon-T180.xml
@@ -0,0 +1,160 @@
+<cib crm_feature_set="3.0.14" validate-with="pacemaker-2.10" epoch="9" num_updates="17" admin_epoch="0" cib-last-written="Thu Dec 6 13:23:17 2018" update-origin="cent7-host1" update-client="crm_resource" update-user="root" have-quorum="1" dc-uuid="3232262829">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+ <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.19-c3c624ea3d"/>
+ <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
+ <nvpair name="no-quorum-policy" value="ignore" id="cib-bootstrap-options-no-quorum-policy"/>
+ <nvpair name="stonith-enabled" value="false" id="cib-bootstrap-options-stonith-enabled"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="3232262828" uname="cent7-host1">
+ <instance_attributes id="nodes-3232262828">
+ <nvpair id="nodes-3232262828-standby" name="standby" value="off"/>
+ </instance_attributes>
+ </node>
+ <node id="3232262829" uname="cent7-host2"/>
+ </nodes>
+ <resources>
+ <group id="group1">
+ <primitive id="dummy1" class="ocf" provider="pacemaker" type="Dummy">
+ <operations>
+ <op name="start" interval="0s" timeout="60s" on-fail="restart" id="dummy-start-0s"/>
+ <op name="monitor" interval="10s" timeout="60s" on-fail="restart" id="dummy-monitor-10s"/>
+ <op name="stop" interval="0s" timeout="60s" on-fail="block" id="dummy-stop-0s"/>
+ </operations>
+ </primitive>
+ </group>
+ <group id="group2">
+ <primitive id="dummy2" class="ocf" provider="pacemaker" type="Dummy">
+ <operations>
+ <op name="start" interval="0s" timeout="60s" on-fail="restart" id="dummy2-start-0s"/>
+ <op name="monitor" interval="10s" timeout="60s" on-fail="restart" id="dummy2-monitor-10s"/>
+ <op name="stop" interval="0s" timeout="60s" on-fail="block" id="dummy2-stop-0s"/>
+ </operations>
+ </primitive>
+ </group>
+ <bundle id="httpd-bundle1">
+ <docker image="pcmktest:http" replicas="1" replicas-per-host="1" options="--log-driver=journald"/>
+ <network ip-range-start="192.168.20.188" host-interface="ens192" host-netmask="24">
+ <port-mapping id="httpd-port" port="80"/>
+ </network>
+ <storage>
+ <storage-mapping id="httpd-root1" source-dir-root="/var/local/containers" target-dir="/var/www/html" options="rw"/>
+ <storage-mapping id="httpd-logs1" source-dir-root="/var/log/pacemaker/bundles" target-dir="/etc/httpd/logs" options="rw"/>
+ </storage>
+ <primitive class="ocf" id="httpd1" provider="heartbeat" type="apache"/>
+ </bundle>
+ <bundle id="httpd-bundle2">
+ <docker image="pcmktest:http" replicas="1" replicas-per-host="1" options="--log-driver=journald"/>
+ <network ip-range-start="192.168.20.190" host-interface="ens192" host-netmask="24">
+ <port-mapping id="httpd-port2" port="80"/>
+ </network>
+ <storage>
+ <storage-mapping id="httpd-root2" source-dir-root="/var/local/containers" target-dir="/var/www/html" options="rw"/>
+ <storage-mapping id="httpd-logs2" source-dir-root="/var/log/pacemaker/bundles" target-dir="/etc/httpd/logs" options="rw"/>
+ </storage>
+ <primitive class="ocf" id="httpd2" provider="heartbeat" type="apache"/>
+ </bundle>
+ </resources>
+ <constraints/>
+ <rsc_defaults/>
+ </configuration>
+ <status>
+ <node_state id="3232262828" uname="cent7-host1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+ <lrm id="3232262828">
+ <lrm_resources>
+ <lrm_resource id="dummy1" type="Dummy" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="dummy1_last_0" operation_key="dummy1_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="11:7:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;11:7:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host1" call-id="40" rc-code="0" op-status="0" interval="0" last-run="1544070156" last-rc-change="1544070156" exec-time="24" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" envfile op_sleep passwd state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-secure-params=" passwd " op-secure-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="dummy1_monitor_10000" operation_key="dummy1_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="12:7:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;12:7:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host1" call-id="41" rc-code="0" op-status="0" interval="10000" last-rc-change="1544070156" exec-time="20" queue-time="0" op-digest="873ed4f07792aa8ff18f3254244675ea" op-secure-params=" passwd " op-secure-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="dummy2" type="Dummy" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="dummy2_last_0" operation_key="dummy2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="3:1:7:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:7;3:1:7:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host1" call-id="9" rc-code="7" op-status="0" interval="0" last-run="1544070006" last-rc-change="1544070006" exec-time="107" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" envfile op_sleep passwd state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-secure-params=" passwd " op-secure-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle1-ip-192.168.20.188" type="IPaddr2" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="httpd-bundle1-ip-192.168.20.188_last_0" operation_key="httpd-bundle1-ip-192.168.20.188_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="24:7:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;24:7:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host1" call-id="42" rc-code="0" op-status="0" interval="0" last-run="1544070170" last-rc-change="1544070170" exec-time="148" queue-time="1" op-digest="bed932c9e12e6a9f54826c22f0c0c741"/>
+ <lrm_rsc_op id="httpd-bundle1-ip-192.168.20.188_monitor_60000" operation_key="httpd-bundle1-ip-192.168.20.188_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="25:7:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;25:7:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host1" call-id="43" rc-code="0" op-status="0" interval="60000" last-rc-change="1544070170" exec-time="144" queue-time="0" op-digest="bfe7247114ffd09887005fb41035f1c7"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle1-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="httpd-bundle1-docker-0_last_0" operation_key="httpd-bundle1-docker-0_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="26:11:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;26:11:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host1" call-id="48" rc-code="0" op-status="0" interval="0" last-run="1544070230" last-rc-change="1544070230" exec-time="983" queue-time="0" op-digest="c78f50451e7c5c013663cbf35f043d7b"/>
+ <lrm_rsc_op id="httpd-bundle1-docker-0_monitor_60000" operation_key="httpd-bundle1-docker-0_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="3:11:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;3:11:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host1" call-id="49" rc-code="0" op-status="0" interval="60000" last-rc-change="1544070231" exec-time="322" queue-time="0" op-digest="9f30b5a64540743a9e5bcd85abdc7c24"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle2-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="httpd-bundle2-docker-0_last_0" operation_key="httpd-bundle2-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="8:1:7:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:7;8:1:7:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host1" call-id="25" rc-code="7" op-status="0" interval="0" last-run="1544070006" last-rc-change="1544070006" exec-time="88" queue-time="0" op-digest="18027dfd1c76ba580428a1095647d39d"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle2-ip-192.168.20.190" type="IPaddr2" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="httpd-bundle2-ip-192.168.20.190_last_0" operation_key="httpd-bundle2-ip-192.168.20.190_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="7:1:7:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:7;7:1:7:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host1" call-id="21" rc-code="7" op-status="0" interval="0" last-run="1544070006" last-rc-change="1544070006" exec-time="156" queue-time="0" op-digest="b15750595f38793008d791dfb905caf4"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle1-0" type="remote" class="ocf" provider="pacemaker" container="httpd-bundle1-docker-0">
+ <lrm_rsc_op id="httpd-bundle1-0_last_0" operation_key="httpd-bundle1-0_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="27:11:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;27:11:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host1" call-id="10" rc-code="0" op-status="0" interval="0" last-run="1544070229" last-rc-change="1544070229" exec-time="0" queue-time="0" op-digest="a307ec40ef4478a192b587881f6932c1" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="httpd-bundle1-0_monitor_60000" operation_key="httpd-bundle1-0_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="28:8:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;28:8:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host1" call-id="9" rc-code="0" op-status="0" interval="60000" last-rc-change="1544070171" exec-time="0" queue-time="0" op-digest="b826e10b6e1fbc3900415f9940a1d315"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle2-0" type="remote" class="ocf" provider="pacemaker" container="httpd-bundle2-docker-0">
+ <lrm_rsc_op id="httpd-bundle2-0_last_0" operation_key="httpd-bundle2-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="9:1:7:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:7;9:1:7:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host1" call-id="2" rc-code="7" op-status="0" interval="0" last-run="1544070007" last-rc-change="1544070007" exec-time="0" queue-time="0" op-digest="e238d81edc240b99ad2c3a41afb4a69a" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <node_state id="3232262829" uname="cent7-host2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+ <lrm id="3232262829">
+ <lrm_resources>
+ <lrm_resource id="dummy2" type="Dummy" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="dummy2_last_0" operation_key="dummy2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="24:1:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;24:1:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host2" call-id="18" rc-code="0" op-status="0" interval="0" last-run="1544070005" last-rc-change="1544070005" exec-time="92" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" envfile op_sleep passwd state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-secure-params=" passwd " op-secure-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="dummy2_monitor_10000" operation_key="dummy2_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="25:1:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;25:1:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host2" call-id="27" rc-code="0" op-status="0" interval="10000" last-rc-change="1544070005" exec-time="51" queue-time="0" op-digest="873ed4f07792aa8ff18f3254244675ea" op-secure-params=" passwd " op-secure-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="dummy1" type="Dummy" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="dummy1_last_0" operation_key="dummy1_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="10:7:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;10:7:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host2" call-id="41" rc-code="0" op-status="0" interval="0" last-run="1544070155" last-rc-change="1544070155" exec-time="58" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-force-restart=" envfile op_sleep passwd state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-secure-params=" passwd " op-secure-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="dummy1_monitor_10000" operation_key="dummy1_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="12:3:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;12:3:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host2" call-id="35" rc-code="0" op-status="0" interval="10000" last-rc-change="1544070076" exec-time="41" queue-time="0" op-digest="873ed4f07792aa8ff18f3254244675ea" op-secure-params=" passwd " op-secure-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle1-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="httpd-bundle1-docker-0_last_0" operation_key="httpd-bundle1-docker-0_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="8:11:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;8:11:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host2" call-id="46" rc-code="0" op-status="0" interval="0" last-run="1544070229" last-rc-change="1544070229" exec-time="195" queue-time="1" op-digest="c78f50451e7c5c013663cbf35f043d7b"/>
+ <lrm_rsc_op id="httpd-bundle1-docker-0_monitor_60000" operation_key="httpd-bundle1-docker-0_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="28:3:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;28:3:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host2" call-id="39" rc-code="0" op-status="0" interval="60000" last-rc-change="1544070091" exec-time="237" queue-time="0" op-digest="9f30b5a64540743a9e5bcd85abdc7c24"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle1-ip-192.168.20.188" type="IPaddr2" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="httpd-bundle1-ip-192.168.20.188_last_0" operation_key="httpd-bundle1-ip-192.168.20.188_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="23:7:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;23:7:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host2" call-id="45" rc-code="0" op-status="0" interval="0" last-run="1544070169" last-rc-change="1544070169" exec-time="115" queue-time="1" op-digest="bed932c9e12e6a9f54826c22f0c0c741"/>
+ <lrm_rsc_op id="httpd-bundle1-ip-192.168.20.188_monitor_60000" operation_key="httpd-bundle1-ip-192.168.20.188_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="25:3:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;25:3:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host2" call-id="37" rc-code="0" op-status="0" interval="60000" last-rc-change="1544070090" exec-time="136" queue-time="0" op-digest="bfe7247114ffd09887005fb41035f1c7"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle2-ip-192.168.20.190" type="IPaddr2" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="httpd-bundle2-ip-192.168.20.190_last_0" operation_key="httpd-bundle2-ip-192.168.20.190_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="45:1:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;45:1:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host2" call-id="28" rc-code="0" op-status="0" interval="0" last-run="1544070005" last-rc-change="1544070005" exec-time="83" queue-time="0" op-digest="b15750595f38793008d791dfb905caf4"/>
+ <lrm_rsc_op id="httpd-bundle2-ip-192.168.20.190_monitor_60000" operation_key="httpd-bundle2-ip-192.168.20.190_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="46:1:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;46:1:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host2" call-id="29" rc-code="0" op-status="0" interval="60000" last-rc-change="1544070005" exec-time="66" queue-time="0" op-digest="d66b395d765aa54ef26f683efa1d0e11"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle2-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="httpd-bundle2-docker-0_last_0" operation_key="httpd-bundle2-docker-0_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="47:1:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;47:1:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host2" call-id="30" rc-code="0" op-status="0" interval="0" last-run="1544070005" last-rc-change="1544070005" exec-time="916" queue-time="0" op-digest="18027dfd1c76ba580428a1095647d39d"/>
+ <lrm_rsc_op id="httpd-bundle2-docker-0_monitor_60000" operation_key="httpd-bundle2-docker-0_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="48:1:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;48:1:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host2" call-id="32" rc-code="0" op-status="0" interval="60000" last-rc-change="1544070006" exec-time="285" queue-time="0" op-digest="1fe1e584f801bf9c9b66ca380a2dad83"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle1-0" type="remote" class="ocf" provider="pacemaker" container="httpd-bundle1-docker-0">
+ <lrm_rsc_op id="httpd-bundle1-0_last_0" operation_key="httpd-bundle1-0_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="28:11:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;28:11:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host2" call-id="6" rc-code="0" op-status="0" interval="0" last-run="1544070231" last-rc-change="1544070231" exec-time="0" queue-time="0" op-digest="a307ec40ef4478a192b587881f6932c1" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="httpd-bundle1-0_monitor_60000" operation_key="httpd-bundle1-0_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="28:12:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;28:12:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host2" call-id="7" rc-code="0" op-status="0" interval="60000" last-rc-change="1544070232" exec-time="0" queue-time="0" op-digest="b826e10b6e1fbc3900415f9940a1d315"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle2-0" type="remote" class="ocf" provider="pacemaker" container="httpd-bundle2-docker-0">
+ <lrm_rsc_op id="httpd-bundle2-0_last_0" operation_key="httpd-bundle2-0_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="49:1:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;49:1:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host2" call-id="3" rc-code="0" op-status="0" interval="0" last-run="1544070006" last-rc-change="1544070006" exec-time="0" queue-time="0" op-digest="e238d81edc240b99ad2c3a41afb4a69a" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="httpd-bundle2-0_monitor_60000" operation_key="httpd-bundle2-0_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="44:2:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;44:2:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host2" call-id="4" rc-code="0" op-status="0" interval="60000" last-rc-change="1544070007" exec-time="0" queue-time="0" op-digest="3043b179543a9a9b16c91fae06f3922d"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ <transient_attributes id="3232262829">
+ <instance_attributes id="status-3232262829"/>
+ </transient_attributes>
+ </node_state>
+ <node_state remote_node="true" id="httpd-bundle1-0" uname="httpd-bundle1-0" in_ccm="true" crm-debug-origin="do_update_resource" node_fenced="0">
+ <lrm id="httpd-bundle1-0">
+ <lrm_resources>
+ <lrm_resource id="httpd1" type="apache" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="httpd1_last_0" operation_key="httpd1_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="33:12:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;33:12:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host1" call-id="8" rc-code="0" op-status="0" interval="0" last-run="1544070233" last-rc-change="1544070233" exec-time="1116" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <node_state remote_node="true" id="httpd-bundle2-0" uname="httpd-bundle2-0" in_ccm="true" crm-debug-origin="do_update_resource" node_fenced="0">
+ <lrm id="httpd-bundle2-0">
+ <lrm_resources>
+ <lrm_resource id="httpd2" type="apache" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="httpd2_last_0" operation_key="httpd2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.14" transition-key="49:2:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" transition-magic="0:0;49:2:0:173a0661-aaa2-4c3d-a9a3-2e9342720d2d" exit-reason="" on_node="cent7-host2" call-id="8" rc-code="0" op-status="0" interval="0" last-run="1544070008" last-rc-change="1544070008" exec-time="1022" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ </status>
+</cib>
diff --git a/cts/cli/crm_mon-feature_set.xml b/cts/cli/crm_mon-feature_set.xml
new file mode 100644
index 0000000..8075644
--- /dev/null
+++ b/cts/cli/crm_mon-feature_set.xml
@@ -0,0 +1,42 @@
+<cib crm_feature_set="3.15.1" validate-with="pacemaker-3.5" epoch="1" num_updates="0" admin_epoch="0" have-quorum="1" dc-uuid="1">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair name="cluster-infrastructure" value="corosync" id="cib-bootstrap-options-cluster-infrastructure"/>
+ <nvpair name="stonith-enabled" value="false" id="cib-bootstrap-options-stonith-enabled"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="1" uname="cluster01"/>
+ <node id="2" uname="cluster02"/>
+ <node id="3" uname="cluster03"/>
+ <node id="4" type="remote" uname="remote01"/>
+ </nodes>
+ <resources>
+ <bundle id="guest01">
+ <docker image="pcmk:http"/>
+ <network ip-range-start="192.168.122.131" host-netmask="24" host-interface="eth0"/>
+ <primitive class="ocf" id="httpd" provider="heartbeat" type="apache"/>
+ </bundle>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="1" uname="cluster01" in_ccm="true" crmd="online" join="member" expected="member">
+ <transient_attributes id="1">
+ <instance_attributes id="status-1">
+ <nvpair id="status-1-.feature-set" name="#feature-set" value="3.15.1"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="2" uname="cluster02" in_ccm="true" crmd="online" join="member" expected="member">
+ <transient_attributes id="2">
+ <instance_attributes id="status-2">
+ <nvpair id="status-2-.feature-set" name="#feature-set" value="3.15.1"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="3" uname="cluster03" in_ccm="true" crmd="offline" join="down" expected="down"/>
+ <node_state id="4" uname="remote01" in_ccm="true" remote_node="true">
+ </status>
+</cib>
diff --git a/cts/cli/crm_mon-partial.xml b/cts/cli/crm_mon-partial.xml
new file mode 100644
index 0000000..5981fc6
--- /dev/null
+++ b/cts/cli/crm_mon-partial.xml
@@ -0,0 +1,191 @@
+<cib crm_feature_set="3.3.0" validate-with="pacemaker-3.3" epoch="1" num_updates="37" admin_epoch="1" cib-last-written="Tue May 5 12:04:36 2020" update-origin="cluster01" update-client="crmd" update-user="hacluster" have-quorum="1" dc-uuid="2">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+ <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="2.0.4-1.e97f9675f.git.el7-e97f9675f"/>
+ <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
+ <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="test-cluster"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ <nvpair id="cib-bootstrap-options-maintenance-mode" name="maintenance-mode" value="false"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="1" uname="cluster01"/>
+ <node id="2" uname="cluster02"/>
+ </nodes>
+ <resources>
+ <clone id="ping-clone">
+ <primitive class="ocf" id="ping" provider="pacemaker" type="ping">
+ <instance_attributes id="ping-instance_attributes">
+ <nvpair id="ping-instance_attributes-dampen" name="dampen" value="5s"/>
+ <nvpair id="ping-instance_attributes-host_list" name="host_list" value="192.168.122.1"/>
+ <nvpair id="ping-instance_attributes-multiplier" name="multiplier" value="1000"/>
+ </instance_attributes>
+ <operations>
+ <op id="ping-monitor-interval-10s" interval="10s" name="monitor" timeout="60s"/>
+ <op id="ping-start-interval-0s" interval="0s" name="start" timeout="60s"/>
+ <op id="ping-stop-interval-0s" interval="0s" name="stop" timeout="20s"/>
+ </operations>
+ </primitive>
+ </clone>
+ <primitive class="stonith" id="Fencing" type="fence_xvm">
+ <instance_attributes id="Fencing-instance_attributes">
+ <nvpair id="Fencing-instance_attributes-ip_family" name="ip_family" value="ipv4"/>
+ </instance_attributes>
+ <operations>
+ <op id="Fencing-monitor-interval-60s" interval="60s" name="monitor"/>
+ </operations>
+ </primitive>
+ <bundle id="httpd-bundle">
+ <docker image="pcmk:http" replicas="2"/>
+ <network ip-range-start="192.168.122.131" host-netmask="24" host-interface="eth0">
+ <port-mapping id="httpd-port" port="80"/>
+ </network>
+ <storage>
+ <storage-mapping id="httpd-syslog" source-dir="/dev/log" target-dir="/dev/log" options="rw"/>
+ <storage-mapping id="httpd-root" source-dir="/srv/html" target-dir="/var/www/html" options="rw"/>
+ <storage-mapping id="httpd-logs" source-dir-root="/var/log/pacemaker/bundles" target-dir="/etc/httpd/logs" options="rw"/>
+ </storage>
+ <primitive class="ocf" id="httpd" provider="heartbeat" type="apache"/>
+ <meta_attributes id="bundle-meta_attributes">
+ <nvpair id="bundle-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </bundle>
+ <group id="partially-active-group">
+ <primitive class="ocf" id="dummy-1" provider="pacemaker" type="Dummy"/>
+ <primitive class="ocf" id="dummy-2" provider="pacemaker" type="Dummy"/>
+ <primitive class="ocf" id="dummy-3" provider="pacemaker" type="Dummy">
+ <meta_attributes id="inactive-dummy-meta_attributes">
+ <nvpair id="inactive-dummy-meta_attributes-target-role" name="target-role" value="Stopped"/>
+ </meta_attributes>
+ </primitive>
+ <primitive class="ocf" id="dummy-4" provider="pacemaker" type="Dummy"/>
+ </group>
+ <primitive class="ocf" id="smart-mon" provider="pacemaker" type="HealthSMART">
+ <operations>
+ <op id="smart-mon-monitor-interval-10s" interval="10s" name="monitor" start-delay="0s" timeout="10s"/>
+ <op id="smart-mon-start-interval-0s" interval="0s" name="start" timeout="10s"/>
+ <op id="smart-mon-stop-interval-0s" interval="0s" name="stop" timeout="10s"/>
+ </operations>
+ <instance_attributes id="smart-mon-instance_attributes">
+ <nvpair id="smart-mon-instance_attributes-drives" name="drives" value="/dev/nonexistent"/>
+ </instance_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="2" uname="cluster02" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+ <lrm id="2">
+ <lrm_resources>
+ <lrm_resource id="Fencing" type="fence_xvm" class="stonith">
+ <lrm_rsc_op id="Fencing_last_0" operation_key="Fencing_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" transition-key="5:0:7:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:7;5:0:7:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster02" call-id="10" rc-code="7" op-status="0" interval="0" last-rc-change="1588951263" exec-time="3" queue-time="0" op-digest="7da16842ab2328e41f737cab5e5fc89c"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.131" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.131_last_0" operation_key="httpd-bundle-ip-192.168.122.131_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="8656419d4ed26465c724189832393477"/>
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.131_monitor_60000" operation_key="httpd-bundle-ip-192.168.122.131_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="60000" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="617f27ac5fff521f401e6707063e2b5e"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-0" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-0_last_0" operation_key="httpd-bundle-docker-0_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="02a1a0b2dfa1cade1893713b56939c55"/>
+ <lrm_rsc_op id="httpd-bundle-docker-0_monitor_60000" operation_key="httpd-bundle-docker-0_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="60000" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="775c93499f09f739ccbabe79d043f5ef"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.132" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.132_last_0" operation_key="httpd-bundle-ip-192.168.122.132_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="c3d96a2922c2946905f760df9a177cd1"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-1" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-1_last_0" operation_key="httpd-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="2edb33b196e2261c6b3e30ce579e0590"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-0" class="ocf" provider="pacemaker" type="remote">
+ <lrm_rsc_op id="httpd-bundle-0_last_0" operation_key="httpd-bundle-0_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="c535429017a9ee0785106fbef2858a41"/>
+ <lrm_rsc_op id="httpd-bundle-0_monitor_30000" operation_key="httpd-bundle-0_monitor_30000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="30000" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="6d63e20548871f169e287d33f3711637"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-1" class="ocf" provider="pacemaker" type="remote">
+ <lrm_rsc_op id="httpd-bundle-1_last_0" operation_key="httpd-bundle-1_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="791bcda8f6693465cc318cba5302a8df"/>
+ </lrm_resource>
+ <lrm_resource id="dummy-1" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy-1_last_0" operation_key="dummy-1_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.6.0" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1599063458" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="dummy-2" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy-2_last_failure_0" operation_key="dummy-2_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.11.0" transition-key="2:1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:3;2:1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" on_node="cluster02" call-id="2" rc-code="3" op-status="0" interval="0" last-rc-change="1599063458" exec-time="33" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="dummy-4" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy-4_last_failure_0" operation_key="dummy-4_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.11.0" transition-key="21:1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:5;21:1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" on_node="cluster02" call-id="2" rc-code="5" op-status="0" interval="0" last-rc-change="1599063458" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="smart-mon" type="HealthSMART" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="smart-mon_last_failure_0" operation_key="smart-mon_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.11.0" transition-key="3:1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:5;3:1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" on_node="cluster02" call-id="9" rc-code="5" op-status="0" interval="0" last-rc-change="1636490335" exec-time="33" queue-time="0" op-digest="b368e619fcd06788c996f6a2ef2efb6a"/>
+ </lrm_resource>
+ <lrm_resource id="ping" class="ocf" provider="pacemaker" type="ping">
+ <lrm_rsc_op id="ping_last_failure_0" operation_key="ping_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.11.0" transition-key="6:1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:5;6:1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" on_node="cluster02" call-id="6" rc-code="5" op-status="0" interval="0" last-rc-change="1637259102" exec-time="0" queue-time="0"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ <transient_attributes id="2">
+ <instance_attributes id="status-2">
+ <nvpair id="status-2-pingd" name="pingd" value="1000"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="1" uname="cluster01" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+ <lrm id="1">
+ <lrm_resources>
+ <lrm_resource id="Fencing" type="fence_xvm" class="stonith">
+ <lrm_rsc_op id="Fencing_last_0" operation_key="Fencing_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" transition-key="12:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;12:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster01" call-id="15" rc-code="0" op-status="0" interval="0" last-rc-change="1588951272" exec-time="36" queue-time="0" op-digest="7da16842ab2328e41f737cab5e5fc89c"/>
+ <lrm_rsc_op id="Fencing_monitor_60000" operation_key="Fencing_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="20:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;20:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" on_node="cluster01" call-id="20" rc-code="0" op-status="0" interval="60000" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="a88218bb6c7dc47e6586fc75fc2a8d69"/>
+ </lrm_resource>
+ <lrm_resource id="ping" class="ocf" provider="pacemaker" type="ping">
+ <lrm_rsc_op id="ping_last_0" operation_key="ping_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="769dd6f95f1494d416ae9dc690960e17"/>
+ <lrm_rsc_op id="ping_monitor_10000" operation_key="ping_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="10000" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="7beffd8be749b787fabea4aef5df21c9"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.131" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.131_last_0" operation_key="httpd-bundle-ip-192.168.122.131_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="8656419d4ed26465c724189832393477"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-0" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-0_last_0" operation_key="httpd-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="02a1a0b2dfa1cade1893713b56939c55"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.132" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.132_last_0" operation_key="httpd-bundle-ip-192.168.122.132_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="c3d96a2922c2946905f760df9a177cd1"/>
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.132_monitor_60000" operation_key="httpd-bundle-ip-192.168.122.132_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="60000" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="33ef2404fd1954b12433f676cffd08ec"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-1" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-1_last_0" operation_key="httpd-bundle-docker-1_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="2edb33b196e2261c6b3e30ce579e0590"/>
+ <lrm_rsc_op id="httpd-bundle-docker-1_monitor_60000" operation_key="httpd-bundle-docker-1_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="60000" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="a2605826ef42e23316e4d27d9cb28f8e"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-0" class="ocf" provider="pacemaker" type="remote">
+ <lrm_rsc_op id="httpd-bundle-0_last_0" operation_key="httpd-bundle-0_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="c535429017a9ee0785106fbef2858a41"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-1" class="ocf" provider="pacemaker" type="remote">
+ <lrm_rsc_op id="httpd-bundle-1_last_0" operation_key="httpd-bundle-1_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="791bcda8f6693465cc318cba5302a8df"/>
+ <lrm_rsc_op id="httpd-bundle-1_monitor_30000" operation_key="httpd-bundle-1_monitor_30000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="30000" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="7592cb10fa1499772a031adfd385f558"/>
+ </lrm_resource>
+ </lrm_resources>
+ <lrm_resource id="smart-mon" type="HealthSMART" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="smart-mon_last_failure_0" operation_key="smart-mon_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.11.0" transition-key="3:1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:5;3:1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" on_node="cluster01" call-id="9" rc-code="5" op-status="0" interval="0" last-rc-change="1636490335" exec-time="33" queue-time="0" op-digest="b368e619fcd06788c996f6a2ef2efb6a"/>
+ </lrm_resource>
+ </lrm>
+ <transient_attributes id="1">
+ <instance_attributes id="status-1">
+ <nvpair id="status-1-pingd" name="pingd" value="1000"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="httpd-bundle-0" uname="httpd-bundle-0">
+ <lrm id="httpd-bundle-0">
+ <lrm_resources>
+ <lrm_resource id="httpd" class="ocf" provider="heartbeat" type="apache">
+ <lrm_rsc_op id="httpd_last_0" operation_key="httpd_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="1:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;1:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="0" op-status="0" interval="0" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <node_state id="httpd-bundle-1" uname="httpd-bundle-1">
+ <lrm id="httpd-bundle-1">
+ <lrm_resources>
+ <lrm_resource id="httpd" class="ocf" provider="heartbeat" type="apache">
+ <lrm_rsc_op id="httpd_last_failure_0" operation_key="httpd_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="1:1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:2;1:1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="2" op-status="0" interval="0" last-rc-change="1590608589" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ </status>
+</cib>
diff --git a/cts/cli/crm_mon-rsc-maint.xml b/cts/cli/crm_mon-rsc-maint.xml
new file mode 100644
index 0000000..f0d0da9
--- /dev/null
+++ b/cts/cli/crm_mon-rsc-maint.xml
@@ -0,0 +1,331 @@
+<cib crm_feature_set="3.3.0" validate-with="pacemaker-3.7" epoch="1" num_updates="173" admin_epoch="1" cib-last-written="Tue May 5 12:04:36 2020" update-origin="cluster01" update-client="crmd" update-user="hacluster" have-quorum="1" dc-uuid="2">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+ <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="2.0.4-1.e97f9675f.git.el7-e97f9675f"/>
+ <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
+ <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="test-cluster"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ <nvpair id="cib-bootstrap-options-maintenance-mode" name="maintenance-mode" value="false"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="1" uname="cluster01">
+ <instance_attributes id="nodes-1">
+ <nvpair id="nodes-1-location" name="location" value="office"/>
+ </instance_attributes>
+ </node>
+ <node id="2" uname="cluster02"/>
+ </nodes>
+ <resources>
+ <clone id="ping-clone">
+ <meta_attributes id="ping-clone-meta_attributes">
+ <nvpair id="ping-clone-meta_attributes-maintenance" name="maintenance" value="true"/>
+ </meta_attributes>
+ <primitive class="ocf" id="ping" provider="pacemaker" type="ping">
+ <instance_attributes id="ping-instance_attributes">
+ <nvpair id="ping-instance_attributes-dampen" name="dampen" value="5s"/>
+ <nvpair id="ping-instance_attributes-host_list" name="host_list" value="192.168.122.1"/>
+ <nvpair id="ping-instance_attributes-multiplier" name="multiplier" value="1000"/>
+ </instance_attributes>
+ <operations>
+ <op id="ping-monitor-interval-10s" interval="10s" name="monitor" timeout="60s"/>
+ <op id="ping-start-interval-0s" interval="0s" name="start" timeout="60s"/>
+ <op id="ping-stop-interval-0s" interval="0s" name="stop" timeout="20s"/>
+ </operations>
+ </primitive>
+ </clone>
+ <primitive class="stonith" id="Fencing" type="fence_xvm">
+ <instance_attributes id="Fencing-instance_attributes">
+ <nvpair id="Fencing-instance_attributes-ip_family" name="ip_family" value="ipv4"/>
+ </instance_attributes>
+ <operations>
+ <op id="Fencing-monitor-interval-60s" interval="60s" name="monitor"/>
+ </operations>
+ </primitive>
+ <primitive class="ocf" id="dummy" provider="pacemaker" type="Dummy">
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-op_sleep" name="op_sleep" value="6"/>
+ </instance_attributes>
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-maintenance" name="maintenance" value="true"/>
+ </meta_attributes>
+ <operations>
+ <op id="dummy-migrate_from-interval-0s" interval="0s" name="migrate_from" timeout="20s"/>
+ <op id="dummy-migrate_to-interval-0s" interval="0s" name="migrate_to" timeout="20s"/>
+ <op id="dummy-monitor-interval-60s" interval="60s" name="monitor" on-fail="stop"/>
+ <op id="dummy-reload-interval-0s" interval="0s" name="reload" timeout="20s"/>
+ <op id="dummy-start-interval-0s" interval="0s" name="start" timeout="20s"/>
+ <op id="dummy-stop-interval-0s" interval="0s" name="stop" timeout="20s"/>
+ </operations>
+ </primitive>
+ <clone id="inactive-clone">
+ <meta_attributes id="inactive-clone-meta_attributes">
+ <nvpair id="inactive-clone-meta_attributes-target-role" name="target-role" value="stopped"/>
+ <nvpair id="inactive-clone-meta_attributes-maintenance" name="maintenance" value="true"/>
+ </meta_attributes>
+ <primitive id="inactive-dhcpd" class="lsb" type="dhcpd"/>
+ </clone>
+ <group id="inactive-group">
+ <meta_attributes id="inactive-group-meta_attributes">
+ <nvpair id="inactive-group-meta_attributes-target-role" name="target-role" value="stopped"/>
+ <nvpair id="inactive-group-meta_attributes-maintenance" name="maintenance" value="true"/>
+ </meta_attributes>
+ <primitive class="ocf" id="inactive-dummy-1" provider="pacemaker" type="Dummy"/>
+ <primitive class="ocf" id="inactive-dummy-2" provider="pacemaker" type="Dummy"/>
+ </group>
+ <bundle id="httpd-bundle">
+ <docker image="pcmk:http" replicas="3"/>
+ <network ip-range-start="192.168.122.131" host-netmask="24" host-interface="eth0">
+ <port-mapping id="httpd-port" port="80"/>
+ </network>
+ <storage>
+ <storage-mapping id="httpd-syslog" source-dir="/dev/log" target-dir="/dev/log" options="rw"/>
+ <storage-mapping id="httpd-root" source-dir="/srv/html" target-dir="/var/www/html" options="rw"/>
+ <storage-mapping id="httpd-logs" source-dir-root="/var/log/pacemaker/bundles" target-dir="/etc/httpd/logs" options="rw"/>
+ </storage>
+ <primitive class="ocf" id="httpd" provider="heartbeat" type="apache"/>
+ <meta_attributes id="bundle-meta_attributes">
+ <nvpair id="bundle-meta_attributes-target-role" name="target-role" value="Started"/>
+ <nvpair id="bundle-meta_attributes-maintenance" name="maintenance" value="true"/>
+ </meta_attributes>
+ </bundle>
+ <group id="exim-group">
+ <meta_attributes id="exim-group-meta-attributes">
+ <nvpair id="exim-group-meta-attributes-maintenance" name="maintenance" value="true"/>
+ </meta_attributes>
+ <primitive id="Public-IP" class="ocf" type="IPaddr" provider="heartbeat">
+ <instance_attributes id="params-public-ip">
+ <nvpair id="public-ip-addr" name="ip" value="192.168.1.1"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Email" class="lsb" type="exim"/>
+ </group>
+ <clone id="mysql-clone-group">
+ <group id="mysql-group">
+ <primitive id="mysql-proxy" class="lsb" type="mysql-proxy">
+ <operations>
+ <op name="monitor" interval="10s" id="mysql-proxy_mon" timeout="20s"/>
+ </operations>
+ </primitive>
+ </group>
+ <meta_attributes id="mysql-clone-group-meta-attributes">
+ <nvpair id="mysql-clone-group-meta-attributes-maintenance" name="maintenance" value="true"/>
+ </meta_attributes>
+ </clone>
+ <clone id="promotable-clone">
+ <meta_attributes id="promotable-clone-meta_attributes">
+ <nvpair id="promotable-clone-meta_attributes-promotable" name="promotable" value="true"/>
+ <nvpair id="promotable-clone-meta_attributes-maintenance" name="maintenance" value="true"/>
+ </meta_attributes>
+ <primitive id="promotable-rsc" class="ocf" provider="pacemaker" type="Stateful">
+ <operations id="promotable-rsc-operations">
+ <op id="promotable-rsc-monitor-promoted-5" name="monitor" interval="5" role="Promoted"/>
+ <op id="promotable-rsc-monitor-unpromoted-10" name="monitor" interval="10" role="Unpromoted"/>
+ </operations>
+ </primitive>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="not-on-cluster1" rsc="dummy" node="cluster01" score="-INFINITY"/>
+ <rsc_location id="loc-promotable-clone" rsc="promotable-clone">
+ <rule id="loc-promotable-clone-rule" role="Promoted" score="10">
+ <expression attribute="#uname" id="loc-promotable-clone-expression" operation="eq" value="cluster02"/>
+ </rule>
+ </rsc_location>
+ </constraints>
+ <tags>
+ <tag id="all-nodes">
+ <obj_ref id="1"/>
+ <obj_ref id="2"/>
+ </tag>
+ <tag id="even-nodes">
+ <obj_ref id="2"/>
+ </tag>
+ <tag id="odd-nodes">
+ <obj_ref id="1"/>
+ </tag>
+ <tag id="inactive-rscs">
+ <obj_ref id="inactive-group"/>
+ <obj_ref id="inactive-clone"/>
+ </tag>
+ <tag id="fencing-rscs">
+ <obj_ref id="Fencing"/>
+ </tag>
+ </tags>
+ <op_defaults>
+ <meta_attributes id="op_defaults-options">
+ <nvpair id="op_defaults-options-timeout" name="timeout" value="5s"/>
+ </meta_attributes>
+ </op_defaults>
+ </configuration>
+ <status>
+ <node_state id="2" uname="cluster02" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+ <lrm id="2">
+ <lrm_resources>
+ <lrm_resource id="ping" type="ping" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="ping_last_0" operation_key="ping_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" transition-key="9:0:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;9:0:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster02" call-id="11" rc-code="0" op-status="0" interval="0" last-rc-change="1588951263" exec-time="2044" queue-time="0" op-digest="769dd6f95f1494d416ae9dc690960e17"/>
+ <lrm_rsc_op id="ping_monitor_10000" operation_key="ping_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" transition-key="10:0:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;10:0:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster02" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1588951265" exec-time="2031" queue-time="0" op-digest="7beffd8be749b787fabea4aef5df21c9"/>
+ </lrm_resource>
+ <lrm_resource id="Fencing" type="fence_xvm" class="stonith">
+ <lrm_rsc_op id="Fencing_last_0" operation_key="Fencing_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" transition-key="5:0:7:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:7;5:0:7:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster02" call-id="10" rc-code="7" op-status="0" interval="0" last-rc-change="1588951263" exec-time="3" queue-time="0" op-digest="7da16842ab2328e41f737cab5e5fc89c"/>
+ </lrm_resource>
+ <lrm_resource id="dummy" type="Dummy" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" transition-key="14:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;14:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster02" call-id="18" rc-code="0" op-status="0" interval="0" last-rc-change="1588951278" exec-time="6020" queue-time="0" op-digest="aa0f9b7caf28600646551adb55bd9b95" op-force-restart=" envfile op_sleep passwd state " op-restart-digest="aa0f9b7caf28600646551adb55bd9b95" op-secure-params=" passwd " op-secure-digest="aa0f9b7caf28600646551adb55bd9b95"/>
+ <lrm_rsc_op id="dummy_monitor_60000" operation_key="dummy_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" transition-key="16:2:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;16:2:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster02" call-id="19" rc-code="0" op-status="0" interval="60000" last-rc-change="1588951284" exec-time="6015" queue-time="0" op-digest="ccfee4afbb0618907016c9bef210b8b6" op-secure-params=" passwd " op-secure-digest="aa0f9b7caf28600646551adb55bd9b95"/>
+ </lrm_resource>
+ <lrm_resource id="Public-IP" class="ocf" provider="heartbeat" type="IPaddr">
+ <lrm_rsc_op id="Public-IP_last_0" operation_key="Public-IP_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1591717057" exec-time="0" queue-time="0" op-digest="3bb21cd55b79809a3ae69333a8981fd4"/>
+ </lrm_resource>
+ <lrm_resource id="Email" class="lsb" type="exim">
+ <lrm_rsc_op id="Email_last_0" operation_key="Email_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1591717057" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="mysql-proxy" class="lsb" type="mysql-proxy">
+ <lrm_rsc_op id="mysql-proxy_last_0" operation_key="mysql-proxy_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.4.1" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1596126852" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="mysql-proxy_monitor_10000" operation_key="mysql-proxy_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.4.1" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="10000" last-rc-change="1596126852" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+ </lrm_resource>
+ <lrm_resource id="promotable-rsc" class="ocf" provider="pacemaker" type="Stateful">
+ <lrm_rsc_op id="promotable-rsc_last_0" operation_key="promotable-rsc_promote_0" operation="promote" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="6:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;6:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="6" rc-code="0" op-status="0" interval="0" last-rc-change="1613059546" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="promotable-rsc_post_notify_start_0" operation_key="promotable-rsc_notify_0" operation="notify" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="0" last-rc-change="1613058809" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="promotable-rsc_monitor_10000" operation_key="promotable-rsc_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="4" rc-code="0" op-status="0" interval="10000" last-rc-change="1613058809" exec-time="0" queue-time="0" op-digest="79643b49fcd2a15282788271c56eddb4"/>
+ <lrm_rsc_op id="promotable-rsc_cancel_10000" operation_key="promotable-rsc_cancel_10000" operation="cancel" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="5:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;5:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="5" rc-code="0" op-status="0" interval="10000" last-rc-change="1613059546" exec-time="0" queue-time="0" op-digest="79643b49fcd2a15282788271c56eddb4"/>
+ <lrm_rsc_op id="promotable-rsc_monitor_5000" operation_key="promotable-rsc_monitor_5000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="7:-1:8:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:8;7:-1:8:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="7" rc-code="8" op-status="0" interval="5000" last-rc-change="1613059546" exec-time="0" queue-time="0" op-digest="79643b49fcd2a15282788271c56eddb4"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dhcpd" class="lsb" type="dhcpd">
+ <lrm_rsc_op id="inactive-dhcpd_last_0" operation_key="inactive-dhcpd_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dummy-1" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="inactive-dummy-1_last_0" operation_key="inactive-dummy-1_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dummy-2" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="inactive-dummy-2_last_0" operation_key="inactive-dummy-2_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.131" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.131_last_0" operation_key="httpd-bundle-ip-192.168.122.131_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="8656419d4ed26465c724189832393477"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-0" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-0_last_0" operation_key="httpd-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="02a1a0b2dfa1cade1893713b56939c55"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.132" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.132_last_0" operation_key="httpd-bundle-ip-192.168.122.132_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="c3d96a2922c2946905f760df9a177cd1"/>
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.132_monitor_60000" operation_key="httpd-bundle-ip-192.168.122.132_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="60000" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="547dff7d7a9d7448dd07cde35966f08a"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-1" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-1_last_0" operation_key="httpd-bundle-docker-1_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="2edb33b196e2261c6b3e30ce579e0590"/>
+ <lrm_rsc_op id="httpd-bundle-docker-1_monitor_60000" operation_key="httpd-bundle-docker-1_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="60000" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="1ed1cced876b80101858caac9836e113"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.133" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.133_last_0" operation_key="httpd-bundle-ip-192.168.122.133_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="f318115a675fd430c293a0dc2705f398"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-2" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-2_last_0" operation_key="httpd-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="6680384ac1363763d9d5cca296be0b2d"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-0" class="ocf" provider="pacemaker" type="remote">
+ <lrm_rsc_op id="httpd-bundle-0_last_0" operation_key="httpd-bundle-0_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="c535429017a9ee0785106fbef2858a41"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-1" class="ocf" provider="pacemaker" type="remote">
+ <lrm_rsc_op id="httpd-bundle-1_last_0" operation_key="httpd-bundle-1_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="791bcda8f6693465cc318cba5302a8df"/>
+ <lrm_rsc_op id="httpd-bundle-1_monitor_30000" operation_key="httpd-bundle-1_monitor_30000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="30000" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="7592cb10fa1499772a031adfd385f558"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ <transient_attributes id="2">
+ <instance_attributes id="status-2">
+ <nvpair id="status-2-pingd" name="pingd" value="1000"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="1" uname="cluster01" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+ <lrm id="1">
+ <lrm_resources>
+ <lrm_resource id="ping" type="ping" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="ping_last_0" operation_key="ping_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" transition-key="6:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;6:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster01" call-id="17" rc-code="0" op-status="0" interval="0" last-rc-change="1588951272" exec-time="2038" queue-time="0" op-digest="769dd6f95f1494d416ae9dc690960e17"/>
+ <lrm_rsc_op id="ping_monitor_10000" operation_key="ping_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" transition-key="7:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;7:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster01" call-id="18" rc-code="0" op-status="0" interval="10000" last-rc-change="1588951274" exec-time="2034" queue-time="0" op-digest="7beffd8be749b787fabea4aef5df21c9"/>
+ </lrm_resource>
+ <lrm_resource id="Fencing" type="fence_xvm" class="stonith">
+ <lrm_rsc_op id="Fencing_last_0" operation_key="Fencing_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" transition-key="12:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;12:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster01" call-id="15" rc-code="0" op-status="0" interval="0" last-rc-change="1588951272" exec-time="36" queue-time="0" op-digest="7da16842ab2328e41f737cab5e5fc89c"/>
+ <lrm_rsc_op id="Fencing_monitor_60000" operation_key="Fencing_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="20:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;20:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" on_node="cluster01" call-id="20" rc-code="0" op-status="0" interval="60000" last-rc-change="1613056690" exec-time="0" queue-time="0" op-digest="d4ee02dc1c7ce16eb0f72e06c2cc9193"/>
+ </lrm_resource>
+ <lrm_resource id="dummy" type="Dummy" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" transition-key="3:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;3:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster01" call-id="16" rc-code="0" op-status="0" interval="0" last-rc-change="1588951272" exec-time="6048" queue-time="0" op-digest="aa0f9b7caf28600646551adb55bd9b95" op-force-restart=" envfile op_sleep passwd state " op-restart-digest="aa0f9b7caf28600646551adb55bd9b95" op-secure-params=" passwd " op-secure-digest="aa0f9b7caf28600646551adb55bd9b95"/>
+ </lrm_resource>
+ <lrm_resource id="Public-IP" class="ocf" provider="heartbeat" type="IPaddr">
+ <lrm_rsc_op id="Public-IP_last_0" operation_key="Public-IP_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1591717057" exec-time="0" queue-time="0" op-digest="3bb21cd55b79809a3ae69333a8981fd4"/>
+ </lrm_resource>
+ <lrm_resource id="Email" class="lsb" type="exim">
+ <lrm_rsc_op id="Email_last_0" operation_key="Email_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1591717057" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="mysql-proxy" class="lsb" type="mysql-proxy">
+ <lrm_rsc_op id="mysql-proxy_last_0" operation_key="mysql-proxy_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.4.1" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1596126852" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="mysql-proxy_monitor_10000" operation_key="mysql-proxy_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.4.1" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="10000" last-rc-change="1596126852" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+ </lrm_resource>
+ <lrm_resource id="promotable-rsc" class="ocf" provider="pacemaker" type="Stateful">
+ <lrm_rsc_op id="promotable-rsc_last_0" operation_key="promotable-rsc_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1613058809" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="promotable-rsc_post_notify_start_0" operation_key="promotable-rsc_notify_0" operation="notify" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="0" last-rc-change="1613058809" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="promotable-rsc_monitor_10000" operation_key="promotable-rsc_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="4" rc-code="0" op-status="0" interval="10000" last-rc-change="1613058809" exec-time="0" queue-time="0" op-digest="79643b49fcd2a15282788271c56eddb4"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dhcpd" class="lsb" type="dhcpd">
+ <lrm_rsc_op id="inactive-dhcpd_last_0" operation_key="inactive-dhcpd_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dummy-1" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="inactive-dummy-1_last_0" operation_key="inactive-dummy-1_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dummy-2" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="inactive-dummy-2_last_0" operation_key="inactive-dummy-2_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.131" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.131_last_0" operation_key="httpd-bundle-ip-192.168.122.131_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="8656419d4ed26465c724189832393477"/>
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.131_monitor_60000" operation_key="httpd-bundle-ip-192.168.122.131_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="60000" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="dfb531456299aa7b527d4e57805703da"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-0" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-0_last_0" operation_key="httpd-bundle-docker-0_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="02a1a0b2dfa1cade1893713b56939c55"/>
+ <lrm_rsc_op id="httpd-bundle-docker-0_monitor_60000" operation_key="httpd-bundle-docker-0_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="60000" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="377a66c466df6e6edf98a6e83cff9c22"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.132" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.132_last_0" operation_key="httpd-bundle-ip-192.168.122.132_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="c3d96a2922c2946905f760df9a177cd1"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-1" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-1_last_0" operation_key="httpd-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="2edb33b196e2261c6b3e30ce579e0590"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.133" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.133_last_0" operation_key="httpd-bundle-ip-192.168.122.133_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="f318115a675fd430c293a0dc2705f398"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-2" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-2_last_0" operation_key="httpd-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="6680384ac1363763d9d5cca296be0b2d"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-0" class="ocf" provider="pacemaker" type="remote">
+ <lrm_rsc_op id="httpd-bundle-0_last_0" operation_key="httpd-bundle-0_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="c535429017a9ee0785106fbef2858a41"/>
+ <lrm_rsc_op id="httpd-bundle-0_monitor_30000" operation_key="httpd-bundle-0_monitor_30000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="30000" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="6d63e20548871f169e287d33f3711637"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-1" class="ocf" provider="pacemaker" type="remote">
+ <lrm_rsc_op id="httpd-bundle-1_last_0" operation_key="httpd-bundle-1_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="791bcda8f6693465cc318cba5302a8df"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ <transient_attributes id="1">
+ <instance_attributes id="status-1">
+ <nvpair id="status-1-pingd" name="pingd" value="1000"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="httpd-bundle-0" uname="httpd-bundle-0">
+ <lrm id="httpd-bundle-0">
+ <lrm_resources>
+ <lrm_resource id="httpd" class="ocf" provider="heartbeat" type="apache">
+ <lrm_rsc_op id="httpd_last_0" operation_key="httpd_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;1:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="0" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <node_state id="httpd-bundle-1" uname="httpd-bundle-1">
+ <lrm id="httpd-bundle-1">
+ <lrm_resources>
+ <lrm_resource id="httpd" class="ocf" provider="heartbeat" type="apache">
+ <lrm_rsc_op id="httpd_last_0" operation_key="httpd_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;1:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="0" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ </status>
+</cib>
diff --git a/cts/cli/crm_mon-unmanaged.xml b/cts/cli/crm_mon-unmanaged.xml
new file mode 100644
index 0000000..45d4ec1
--- /dev/null
+++ b/cts/cli/crm_mon-unmanaged.xml
@@ -0,0 +1,69 @@
+<cib crm_feature_set="3.3.0" validate-with="pacemaker-3.3" epoch="1" num_updates="49" admin_epoch="1" cib-last-written="Tue May 5 12:04:36 2020" update-origin="cluster01"
+update-client="crmd" update-user="hacluster" have-quorum="1" dc-uuid="2">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+ <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="2.0.4-1.e97f9675f.git.el7-e97f9675f"/>
+ <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
+ <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="test-cluster"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ <nvpair id="cib-bootstrap-options-maintenance-mode" name="maintenance-mode" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="1" uname="cluster01"/>
+ <node id="2" uname="cluster02"/>
+ </nodes>
+ <resources>
+ <primitive class="stonith" id="Fencing" type="fence_xvm">
+ <operations>
+ <op id="Fencing-monitor-interval-60s" interval="60s" name="monitor"/>
+ </operations>
+ </primitive>
+ <primitive class="ocf" id="rsc1" provider="pacemaker" type="Dummy"/>
+ <primitive class="ocf" id="rsc2" provider="pacemaker" type="Dummy"/>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="1" uname="cluster01" in_ccm="true" crmd="online" crm-debug-origin="post_cache_update" join="member" expected="member">
+ <lrm id="1">
+ <lrm_resources>
+ <lrm_resource id="Fencing" class="stonith" type="fence_xvm">
+ <lrm_rsc_op id="Fencing_last_0" operation_key="Fencing_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.10.2"
+transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0"
+interval="0" last-rc-change="1623265189" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="Fencing_monitor_60000" operation_key="Fencing_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.10.2"
+transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0"
+interval="60000" last-rc-change="1623265189" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+ <lrm_rsc_op id="Fencing_cancel_60000" operation_key="Fencing_cancel_60000" operation="cancel" crm-debug-origin="crm_simulate" crm_feature_set="3.10.2"
+transition-key="6:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;6:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="6" rc-code="0" op-status="0"
+interval="60000" last-rc-change="1623267736" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+ </lrm_resource>
+ <lrm_resource id="rsc1" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="rsc1_last_0" operation_key="rsc1_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.10.2"
+transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0"
+interval="0" last-rc-change="1623265189" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="rsc2" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="rsc2_last_0" operation_key="rsc2_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.10.2"
+transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0"
+interval="0" last-rc-change="1623265464" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <node_state id="2" uname="cluster02" in_ccm="false" crmd="offline" crm-debug-origin="post_cache_update" join="down" expected="down">
+ <lrm id="2">
+ <lrm_resources>
+ <lrm_resource id="rsc2" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="rsc2_last_0" operation_key="rsc2_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.10.2"
+transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0"
+interval="0" last-rc-change="1623265189" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ </status>
+</cib>
diff --git a/cts/cli/crm_mon.xml b/cts/cli/crm_mon.xml
new file mode 100644
index 0000000..24cb79b
--- /dev/null
+++ b/cts/cli/crm_mon.xml
@@ -0,0 +1,315 @@
+<cib crm_feature_set="3.3.0" validate-with="pacemaker-3.9" epoch="1" num_updates="173" admin_epoch="1" cib-last-written="Tue May 5 12:04:36 2020" update-origin="cluster01" update-client="crmd" update-user="hacluster" have-quorum="1" dc-uuid="2">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+ <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="2.0.4-1.e97f9675f.git.el7-e97f9675f"/>
+ <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
+ <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="test-cluster"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ <nvpair id="cib-bootstrap-options-maintenance-mode" name="maintenance-mode" value="false"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="1" uname="cluster01">
+ <instance_attributes id="nodes-1">
+ <nvpair id="nodes-1-location" name="location" value="office"/>
+ </instance_attributes>
+ </node>
+ <node id="2" uname="cluster02"/>
+ </nodes>
+ <resources>
+ <clone id="ping-clone">
+ <primitive class="ocf" id="ping" provider="pacemaker" type="ping">
+ <instance_attributes id="ping-instance_attributes">
+ <nvpair id="ping-instance_attributes-dampen" name="dampen" value="5s"/>
+ <nvpair id="ping-instance_attributes-host_list" name="host_list" value="192.168.122.1"/>
+ <nvpair id="ping-instance_attributes-multiplier" name="multiplier" value="1000"/>
+ </instance_attributes>
+ <operations>
+ <op id="ping-monitor-interval-10s" interval="10s" name="monitor" timeout="60s"/>
+ <op id="ping-start-interval-0s" interval="0s" name="start" timeout="60s"/>
+ <op id="ping-stop-interval-0s" interval="0s" name="stop" timeout="20s"/>
+ </operations>
+ </primitive>
+ </clone>
+ <primitive class="stonith" id="Fencing" type="fence_xvm">
+ <instance_attributes id="Fencing-instance_attributes">
+ <nvpair id="Fencing-instance_attributes-ip_family" name="ip_family" value="ipv4"/>
+ </instance_attributes>
+ <operations>
+ <op id="Fencing-monitor-interval-60s" interval="60s" name="monitor"/>
+ </operations>
+ </primitive>
+ <primitive class="ocf" id="dummy" provider="pacemaker" type="Dummy">
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-op_sleep" name="op_sleep" value="6"/>
+ </instance_attributes>
+ <operations>
+ <op id="dummy-migrate_from-interval-0s" interval="0s" name="migrate_from" timeout="20s"/>
+ <op id="dummy-migrate_to-interval-0s" interval="0s" name="migrate_to" timeout="20s"/>
+ <op id="dummy-monitor-interval-60s" interval="60s" name="monitor" on-fail="stop"/>
+ <op id="dummy-reload-interval-0s" interval="0s" name="reload" timeout="20s"/>
+ <op id="dummy-start-interval-0s" interval="0s" name="start" timeout="20s"/>
+ <op id="dummy-stop-interval-0s" interval="0s" name="stop" timeout="20s"/>
+ </operations>
+ </primitive>
+ <clone id="inactive-clone">
+ <meta_attributes id="inactive-clone-meta_attributes">
+ <nvpair id="inactive-clone-meta_attributes-target-role" name="target-role" value="stopped"/>
+ </meta_attributes>
+ <primitive id="inactive-dhcpd" class="lsb" type="dhcpd"/>
+ </clone>
+ <group id="inactive-group">
+ <meta_attributes id="inactive-group-meta_attributes">
+ <nvpair id="inactive-group-meta_attributes-target-role" name="target-role" value="stopped"/>
+ </meta_attributes>
+ <primitive class="ocf" id="inactive-dummy-1" provider="pacemaker" type="Dummy"/>
+ <primitive class="ocf" id="inactive-dummy-2" provider="pacemaker" type="Dummy"/>
+ </group>
+ <bundle id="httpd-bundle">
+ <docker image="pcmk:http" replicas="3"/>
+ <network ip-range-start="192.168.122.131" host-netmask="24" host-interface="eth0">
+ <port-mapping id="httpd-port" port="80"/>
+ </network>
+ <storage>
+ <storage-mapping id="httpd-syslog" source-dir="/dev/log" target-dir="/dev/log" options="rw"/>
+ <storage-mapping id="httpd-root" source-dir="/srv/html" target-dir="/var/www/html" options="rw"/>
+ <storage-mapping id="httpd-logs" source-dir-root="/var/log/pacemaker/bundles" target-dir="/etc/httpd/logs" options="rw"/>
+ </storage>
+ <primitive class="ocf" id="httpd" provider="heartbeat" type="apache"/>
+ <meta_attributes id="bundle-meta_attributes">
+ <nvpair id="bundle-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </bundle>
+ <group id="exim-group">
+ <primitive id="Public-IP" class="ocf" type="IPaddr" provider="heartbeat">
+ <instance_attributes id="params-public-ip">
+ <nvpair id="public-ip-addr" name="ip" value="192.168.1.1"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Email" class="lsb" type="exim"/>
+ </group>
+ <clone id="mysql-clone-group">
+ <group id="mysql-group">
+ <primitive id="mysql-proxy" class="lsb" type="mysql-proxy">
+ <operations>
+ <op name="monitor" interval="10s" id="mysql-proxy_mon" timeout="20s"/>
+ </operations>
+ </primitive>
+ </group>
+ </clone>
+ <clone id="promotable-clone">
+ <meta_attributes id="promotable-clone-meta_attributes">
+ <nvpair id="promotable-clone-meta_attributes-promotable" name="promotable" value="true"/>
+ </meta_attributes>
+ <primitive id="promotable-rsc" class="ocf" provider="pacemaker" type="Stateful" description="test_description">
+ <operations id="promotable-rsc-operations">
+ <op id="promotable-rsc-monitor-promoted-5" name="monitor" interval="5" role="Promoted"/>
+ <op id="promotable-rsc-monitor-unpromoted-10" name="monitor" interval="10" role="Unpromoted"/>
+ </operations>
+ </primitive>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="not-on-cluster1" rsc="dummy" node="cluster01" score="-INFINITY"/>
+ <rsc_location id="loc-promotable-clone" rsc="promotable-clone">
+ <rule id="loc-promotable-clone-rule" role="Promoted" score="10">
+ <expression attribute="#uname" id="loc-promotable-clone-expression" operation="eq" value="cluster02"/>
+ </rule>
+ </rsc_location>
+ </constraints>
+ <tags>
+ <tag id="all-nodes">
+ <obj_ref id="1"/>
+ <obj_ref id="2"/>
+ </tag>
+ <tag id="even-nodes">
+ <obj_ref id="2"/>
+ </tag>
+ <tag id="odd-nodes">
+ <obj_ref id="1"/>
+ </tag>
+ <tag id="inactive-rscs">
+ <obj_ref id="inactive-group"/>
+ <obj_ref id="inactive-clone"/>
+ </tag>
+ <tag id="fencing-rscs">
+ <obj_ref id="Fencing"/>
+ </tag>
+ </tags>
+ <op_defaults>
+ <meta_attributes id="op_defaults-options">
+ <nvpair id="op_defaults-options-timeout" name="timeout" value="5s"/>
+ </meta_attributes>
+ </op_defaults>
+ </configuration>
+ <status>
+ <node_state id="2" uname="cluster02" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+ <lrm id="2">
+ <lrm_resources>
+ <lrm_resource id="ping" type="ping" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="ping_last_0" operation_key="ping_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" transition-key="9:0:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;9:0:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster02" call-id="11" rc-code="0" op-status="0" interval="0" last-rc-change="1588951263" exec-time="2044" queue-time="0" op-digest="769dd6f95f1494d416ae9dc690960e17"/>
+ <lrm_rsc_op id="ping_monitor_10000" operation_key="ping_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" transition-key="10:0:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;10:0:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster02" call-id="12" rc-code="0" op-status="0" interval="10000" last-rc-change="1588951265" exec-time="2031" queue-time="0" op-digest="7beffd8be749b787fabea4aef5df21c9"/>
+ </lrm_resource>
+ <lrm_resource id="Fencing" type="fence_xvm" class="stonith">
+ <lrm_rsc_op id="Fencing_last_0" operation_key="Fencing_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" transition-key="5:0:7:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:7;5:0:7:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster02" call-id="10" rc-code="7" op-status="0" interval="0" last-rc-change="1588951263" exec-time="3" queue-time="0" op-digest="7da16842ab2328e41f737cab5e5fc89c"/>
+ </lrm_resource>
+ <lrm_resource id="dummy" type="Dummy" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" transition-key="14:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;14:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster02" call-id="18" rc-code="0" op-status="0" interval="0" last-rc-change="1588951278" exec-time="6020" queue-time="0" op-digest="aa0f9b7caf28600646551adb55bd9b95" op-force-restart=" envfile op_sleep passwd state " op-restart-digest="aa0f9b7caf28600646551adb55bd9b95" op-secure-params=" passwd " op-secure-digest="aa0f9b7caf28600646551adb55bd9b95"/>
+ <lrm_rsc_op id="dummy_monitor_60000" operation_key="dummy_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" transition-key="16:2:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;16:2:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster02" call-id="19" rc-code="0" op-status="0" interval="60000" last-rc-change="1588951284" exec-time="6015" queue-time="0" op-digest="ccfee4afbb0618907016c9bef210b8b6" op-secure-params=" passwd " op-secure-digest="aa0f9b7caf28600646551adb55bd9b95"/>
+ </lrm_resource>
+ <lrm_resource id="Public-IP" class="ocf" provider="heartbeat" type="IPaddr">
+ <lrm_rsc_op id="Public-IP_last_0" operation_key="Public-IP_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1591717057" exec-time="0" queue-time="0" op-digest="3bb21cd55b79809a3ae69333a8981fd4"/>
+ </lrm_resource>
+ <lrm_resource id="Email" class="lsb" type="exim">
+ <lrm_rsc_op id="Email_last_0" operation_key="Email_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1591717057" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="mysql-proxy" class="lsb" type="mysql-proxy">
+ <lrm_rsc_op id="mysql-proxy_last_0" operation_key="mysql-proxy_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.4.1" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1596126852" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="mysql-proxy_monitor_10000" operation_key="mysql-proxy_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.4.1" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="10000" last-rc-change="1596126852" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+ </lrm_resource>
+ <lrm_resource id="promotable-rsc" class="ocf" provider="pacemaker" type="Stateful">
+ <lrm_rsc_op id="promotable-rsc_last_0" operation_key="promotable-rsc_promote_0" operation="promote" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="6:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;6:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="6" rc-code="0" op-status="0" interval="0" last-rc-change="1613059546" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="promotable-rsc_post_notify_start_0" operation_key="promotable-rsc_notify_0" operation="notify" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="0" last-rc-change="1613058809" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="promotable-rsc_monitor_10000" operation_key="promotable-rsc_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="4" rc-code="0" op-status="0" interval="10000" last-rc-change="1613058809" exec-time="0" queue-time="0" op-digest="79643b49fcd2a15282788271c56eddb4"/>
+ <lrm_rsc_op id="promotable-rsc_cancel_10000" operation_key="promotable-rsc_cancel_10000" operation="cancel" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="5:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;5:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="5" rc-code="0" op-status="0" interval="10000" last-rc-change="1613059546" exec-time="0" queue-time="0" op-digest="79643b49fcd2a15282788271c56eddb4"/>
+ <lrm_rsc_op id="promotable-rsc_monitor_5000" operation_key="promotable-rsc_monitor_5000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="7:-1:8:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:8;7:-1:8:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="7" rc-code="8" op-status="0" interval="5000" last-rc-change="1613059546" exec-time="0" queue-time="0" op-digest="79643b49fcd2a15282788271c56eddb4"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dhcpd" class="lsb" type="dhcpd">
+ <lrm_rsc_op id="inactive-dhcpd_last_0" operation_key="inactive-dhcpd_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dummy-1" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="inactive-dummy-1_last_0" operation_key="inactive-dummy-1_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dummy-2" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="inactive-dummy-2_last_0" operation_key="inactive-dummy-2_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.131" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.131_last_0" operation_key="httpd-bundle-ip-192.168.122.131_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="8656419d4ed26465c724189832393477"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-0" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-0_last_0" operation_key="httpd-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="02a1a0b2dfa1cade1893713b56939c55"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.132" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.132_last_0" operation_key="httpd-bundle-ip-192.168.122.132_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="c3d96a2922c2946905f760df9a177cd1"/>
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.132_monitor_60000" operation_key="httpd-bundle-ip-192.168.122.132_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="60000" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="547dff7d7a9d7448dd07cde35966f08a"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-1" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-1_last_0" operation_key="httpd-bundle-docker-1_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="2edb33b196e2261c6b3e30ce579e0590"/>
+ <lrm_rsc_op id="httpd-bundle-docker-1_monitor_60000" operation_key="httpd-bundle-docker-1_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="60000" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="1ed1cced876b80101858caac9836e113"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.133" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.133_last_0" operation_key="httpd-bundle-ip-192.168.122.133_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="f318115a675fd430c293a0dc2705f398"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-2" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-2_last_0" operation_key="httpd-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="6680384ac1363763d9d5cca296be0b2d"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-0" class="ocf" provider="pacemaker" type="remote">
+ <lrm_rsc_op id="httpd-bundle-0_last_0" operation_key="httpd-bundle-0_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="c535429017a9ee0785106fbef2858a41"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-1" class="ocf" provider="pacemaker" type="remote">
+ <lrm_rsc_op id="httpd-bundle-1_last_0" operation_key="httpd-bundle-1_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="791bcda8f6693465cc318cba5302a8df"/>
+ <lrm_rsc_op id="httpd-bundle-1_monitor_30000" operation_key="httpd-bundle-1_monitor_30000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="30000" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="7592cb10fa1499772a031adfd385f558"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ <transient_attributes id="2">
+ <instance_attributes id="status-2">
+ <nvpair id="status-2-pingd" name="pingd" value="1000"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="1" uname="cluster01" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+ <lrm id="1">
+ <lrm_resources>
+ <lrm_resource id="ping" type="ping" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="ping_last_0" operation_key="ping_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" transition-key="6:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;6:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster01" call-id="17" rc-code="0" op-status="0" interval="0" last-rc-change="1588951272" exec-time="2038" queue-time="0" op-digest="769dd6f95f1494d416ae9dc690960e17"/>
+ <lrm_rsc_op id="ping_monitor_10000" operation_key="ping_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" transition-key="7:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;7:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster01" call-id="18" rc-code="0" op-status="0" interval="10000" last-rc-change="1588951274" exec-time="2034" queue-time="0" op-digest="7beffd8be749b787fabea4aef5df21c9"/>
+ </lrm_resource>
+ <lrm_resource id="Fencing" type="fence_xvm" class="stonith">
+ <lrm_rsc_op id="Fencing_last_0" operation_key="Fencing_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" transition-key="12:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;12:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster01" call-id="15" rc-code="0" op-status="0" interval="0" last-rc-change="1588951272" exec-time="36" queue-time="0" op-digest="7da16842ab2328e41f737cab5e5fc89c"/>
+ <lrm_rsc_op id="Fencing_monitor_60000" operation_key="Fencing_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="20:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;20:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" on_node="cluster01" call-id="20" rc-code="0" op-status="0" interval="60000" last-rc-change="1613056690" exec-time="0" queue-time="0" op-digest="d4ee02dc1c7ce16eb0f72e06c2cc9193"/>
+ </lrm_resource>
+ <lrm_resource id="dummy" type="Dummy" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.3.0" transition-key="3:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;3:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster01" call-id="16" rc-code="0" op-status="0" interval="0" last-rc-change="1588951272" exec-time="6048" queue-time="0" op-digest="aa0f9b7caf28600646551adb55bd9b95" op-force-restart=" envfile op_sleep passwd state " op-restart-digest="aa0f9b7caf28600646551adb55bd9b95" op-secure-params=" passwd " op-secure-digest="aa0f9b7caf28600646551adb55bd9b95"/>
+ </lrm_resource>
+ <lrm_resource id="Public-IP" class="ocf" provider="heartbeat" type="IPaddr">
+ <lrm_rsc_op id="Public-IP_last_0" operation_key="Public-IP_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1591717057" exec-time="0" queue-time="0" op-digest="3bb21cd55b79809a3ae69333a8981fd4"/>
+ </lrm_resource>
+ <lrm_resource id="Email" class="lsb" type="exim">
+ <lrm_rsc_op id="Email_last_0" operation_key="Email_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.3.0" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1591717057" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="mysql-proxy" class="lsb" type="mysql-proxy">
+ <lrm_rsc_op id="mysql-proxy_last_0" operation_key="mysql-proxy_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.4.1" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1596126852" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="mysql-proxy_monitor_10000" operation_key="mysql-proxy_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.4.1" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="10000" last-rc-change="1596126852" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+ </lrm_resource>
+ <lrm_resource id="promotable-rsc" class="ocf" provider="pacemaker" type="Stateful">
+ <lrm_rsc_op id="promotable-rsc_last_0" operation_key="promotable-rsc_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1613058809" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="promotable-rsc_post_notify_start_0" operation_key="promotable-rsc_notify_0" operation="notify" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="0" last-rc-change="1613058809" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="promotable-rsc_monitor_10000" operation_key="promotable-rsc_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="4" rc-code="0" op-status="0" interval="10000" last-rc-change="1613058809" exec-time="0" queue-time="0" op-digest="79643b49fcd2a15282788271c56eddb4"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dhcpd" class="lsb" type="dhcpd">
+ <lrm_rsc_op id="inactive-dhcpd_last_0" operation_key="inactive-dhcpd_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dummy-1" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="inactive-dummy-1_last_0" operation_key="inactive-dummy-1_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dummy-2" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="inactive-dummy-2_last_0" operation_key="inactive-dummy-2_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.131" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.131_last_0" operation_key="httpd-bundle-ip-192.168.122.131_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="8656419d4ed26465c724189832393477"/>
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.131_monitor_60000" operation_key="httpd-bundle-ip-192.168.122.131_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="60000" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="dfb531456299aa7b527d4e57805703da"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-0" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-0_last_0" operation_key="httpd-bundle-docker-0_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="02a1a0b2dfa1cade1893713b56939c55"/>
+ <lrm_rsc_op id="httpd-bundle-docker-0_monitor_60000" operation_key="httpd-bundle-docker-0_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="60000" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="377a66c466df6e6edf98a6e83cff9c22"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.132" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.132_last_0" operation_key="httpd-bundle-ip-192.168.122.132_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="c3d96a2922c2946905f760df9a177cd1"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-1" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-1_last_0" operation_key="httpd-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="2edb33b196e2261c6b3e30ce579e0590"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.133" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.133_last_0" operation_key="httpd-bundle-ip-192.168.122.133_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="f318115a675fd430c293a0dc2705f398"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-2" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-2_last_0" operation_key="httpd-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="6680384ac1363763d9d5cca296be0b2d"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-0" class="ocf" provider="pacemaker" type="remote">
+ <lrm_rsc_op id="httpd-bundle-0_last_0" operation_key="httpd-bundle-0_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="c535429017a9ee0785106fbef2858a41"/>
+ <lrm_rsc_op id="httpd-bundle-0_monitor_30000" operation_key="httpd-bundle-0_monitor_30000" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="30000" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="6d63e20548871f169e287d33f3711637"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-1" class="ocf" provider="pacemaker" type="remote">
+ <lrm_rsc_op id="httpd-bundle-1_last_0" operation_key="httpd-bundle-1_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="791bcda8f6693465cc318cba5302a8df"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ <transient_attributes id="1">
+ <instance_attributes id="status-1">
+ <nvpair id="status-1-pingd" name="pingd" value="1000"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="httpd-bundle-0" uname="httpd-bundle-0">
+ <lrm id="httpd-bundle-0">
+ <lrm_resources>
+ <lrm_resource id="httpd" class="ocf" provider="heartbeat" type="apache">
+ <lrm_rsc_op id="httpd_last_0" operation_key="httpd_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;1:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="0" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <node_state id="httpd-bundle-1" uname="httpd-bundle-1">
+ <lrm id="httpd-bundle-1">
+ <lrm_resources>
+ <lrm_resource id="httpd" class="ocf" provider="heartbeat" type="apache">
+ <lrm_rsc_op id="httpd_last_0" operation_key="httpd_start_0" operation="start" crm-debug-origin="crm_simulate" crm_feature_set="3.7.1" transition-key="1:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;1:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="0" op-status="0" interval="0" last-rc-change="1613491700" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ </status>
+</cib>
diff --git a/cts/cli/crm_resource_digests.xml b/cts/cli/crm_resource_digests.xml
new file mode 100644
index 0000000..8eba271
--- /dev/null
+++ b/cts/cli/crm_resource_digests.xml
@@ -0,0 +1,143 @@
+<cib crm_feature_set="3.6.3" validate-with="pacemaker-3.0" epoch="253" num_updates="20" admin_epoch="0" cib-last-written="Sun Nov 22 14:45:16 2020" update-origin="node2" update-client="cibadmin" update-user="root" have-quorum="1" dc-uuid="1">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cts-stonith-enabled" name="stonith-enabled" value="1"/>
+ <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+ <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="2.0.5"/>
+ <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="1" uname="node1"/>
+ <node id="2" uname="node2"/>
+ <node id="3" uname="node3"/>
+ <node id="4" uname="node4"/>
+ <node id="5" uname="node5"/>
+ </nodes>
+ <resources>
+ <primitive class="stonith" id="Fencing" type="fence_xvm">
+ <meta_attributes id="Fencing-meta">
+ <nvpair id="Fencing-migration-threshold" name="migration-threshold" value="5"/>
+ </meta_attributes>
+ <instance_attributes id="Fencing-params">
+ <nvpair id="Fencing-key_file" name="key_file" value="/etc/pacemaker/fence_xvm.key"/>
+ <nvpair id="Fencing-multicast_address" name="multicast_address" value="239.255.100.100"/>
+ <nvpair id="Fencing-pcmk_host_list" name="pcmk_host_list" value="node1 node2 node3 node4 node5"/>
+ </instance_attributes>
+ <operations>
+ <op id="Fencing-monitor-120s" interval="120s" name="monitor" timeout="120s"/>
+ <op id="Fencing-stop-0" interval="0" name="stop" timeout="60s"/>
+ <op id="Fencing-start-0" interval="0" name="start" timeout="60s"/>
+ </operations>
+ </primitive>
+ <primitive class="ocf" id="rsc1" provider="pacemaker" type="Dummy">
+ <instance_attributes id="rsc1-instance_attributes">
+ <nvpair id="rsc1-instance_attributes-fake" name="fake" value="1"/>
+ <nvpair id="rsc1-instance_attributes-passwd" name="passwd" value="secret"/>
+ </instance_attributes>
+ <instance_attributes id="rsc1-instance_attributes-node1">
+ <nvpair id="rsc1-instance_attributes-fake-node1" name="fake" value="0"/>
+ <rule id="rsc1-rule1" score="INFINITY">
+ <expression attribute="#uname" id="rsc1-rule1-expr1" operation="eq" value="node1"/>
+ </rule>
+ </instance_attributes>
+ <operations>
+ <op id="rsc1-migrate_from-interval-0s" interval="0s" name="migrate_from" timeout="20s"/>
+ <op id="rsc1-migrate_to-interval-0s" interval="0s" name="migrate_to" timeout="20s"/>
+ <op id="rsc1-monitor-interval-10s" interval="10s" name="monitor" timeout="20s"/>
+ <op id="rsc1-reload-interval-0s" interval="0s" name="reload" timeout="20s"/>
+ <op id="rsc1-start-interval-0s" interval="0s" name="start" timeout="20s"/>
+ <op id="rsc1-stop-interval-0s" interval="0s" name="stop" timeout="20s"/>
+ </operations>
+ </primitive>
+ </resources>
+ <constraints>
+ <rsc_location id="location-rsc1-node1-INFINITY" node="node1" rsc="rsc1" score="INFINITY"/>
+ </constraints>
+ <fencing-topology/>
+ <op_defaults/>
+ <alerts/>
+ <rsc_defaults/>
+ </configuration>
+ <status>
+ <node_state id="4" uname="node4" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member">
+ <transient_attributes id="4">
+ <instance_attributes id="status-4"/>
+ </transient_attributes>
+ <lrm id="4">
+ <lrm_resources>
+ <lrm_resource id="rsc1" type="Dummy" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="rsc1_last_0" operation_key="rsc1_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.6.3" transition-key="5:51:7:727e4004-8c04-423b-8d63-65ae1fabd119" transition-magic="0:7;5:51:7:727e4004-8c04-423b-8d63-65ae1fabd119" exit-reason="" on_node="node4" call-id="136" rc-code="7" op-status="0" interval="0" last-rc-change="1606076573" exec-time="28" queue-time="0" op-digest="2b1b5ccbabbdb96f3f7edb41b0775563" op-force-restart=" envfile op_sleep passwd state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-secure-params=" passwd " op-secure-digest="2b1b5ccbabbdb96f3f7edb41b0775563"/>
+ </lrm_resource>
+ <lrm_resource id="Fencing" type="fence_xvm" class="stonith">
+ <lrm_rsc_op id="Fencing_last_0" operation_key="Fencing_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.6.3" transition-key="43:0:7:727e4004-8c04-423b-8d63-65ae1fabd119" transition-magic="0:7;43:0:7:727e4004-8c04-423b-8d63-65ae1fabd119" exit-reason="" on_node="node4" call-id="5" rc-code="7" op-status="0" interval="0" last-rc-change="1606076227" exec-time="2" queue-time="0" op-digest="52e34745a77d95a636428d3b550eb867"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <node_state id="2" uname="node2" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member">
+ <transient_attributes id="2">
+ <instance_attributes id="status-2"/>
+ </transient_attributes>
+ <lrm id="2">
+ <lrm_resources>
+ <lrm_resource id="rsc1" type="Dummy" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="rsc1_last_0" operation_key="rsc1_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.6.3" transition-key="3:51:7:727e4004-8c04-423b-8d63-65ae1fabd119" transition-magic="0:7;3:51:7:727e4004-8c04-423b-8d63-65ae1fabd119" exit-reason="" on_node="node2" call-id="101" rc-code="7" op-status="0" interval="0" last-rc-change="1606076573" exec-time="45" queue-time="0" op-digest="2b1b5ccbabbdb96f3f7edb41b0775563" op-force-restart=" envfile op_sleep passwd state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-secure-params=" passwd " op-secure-digest="2b1b5ccbabbdb96f3f7edb41b0775563"/>
+ </lrm_resource>
+ <lrm_resource id="Fencing" type="fence_xvm" class="stonith">
+ <lrm_rsc_op id="Fencing_last_0" operation_key="Fencing_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.6.3" transition-key="15:0:7:727e4004-8c04-423b-8d63-65ae1fabd119" transition-magic="0:7;15:0:7:727e4004-8c04-423b-8d63-65ae1fabd119" exit-reason="" on_node="node2" call-id="5" rc-code="7" op-status="0" interval="0" last-rc-change="1606076227" exec-time="4" queue-time="0" op-digest="52e34745a77d95a636428d3b550eb867"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <node_state id="3" uname="node3" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+ <transient_attributes id="3">
+ <instance_attributes id="status-3"/>
+ </transient_attributes>
+ <lrm id="3">
+ <lrm_resources>
+ <lrm_resource id="rsc1" type="Dummy" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="rsc1_last_0" operation_key="rsc1_stop_0" operation="stop" crm-debug-origin="do_update_resource" crm_feature_set="3.6.3" transition-key="7:55:0:727e4004-8c04-423b-8d63-65ae1fabd119" transition-magic="0:0;7:55:0:727e4004-8c04-423b-8d63-65ae1fabd119" exit-reason="" on_node="node3" call-id="121" rc-code="0" op-status="0" interval="0" last-rc-change="1606077916" exec-time="26" queue-time="0" op-digest="c18bfacc816dc3a5a53f23c000e6e57e" op-force-restart=" envfile op_sleep passwd state " op-restart-digest="5de1fd72a2e7762ed41543231034f6d7" op-secure-params=" passwd " op-secure-digest="2b1b5ccbabbdb96f3f7edb41b0775563"/>
+ <lrm_rsc_op id="rsc1_monitor_10000" operation_key="rsc1_monitor_10000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.6.3" transition-key="1:52:0:727e4004-8c04-423b-8d63-65ae1fabd119" transition-magic="0:0;1:52:0:727e4004-8c04-423b-8d63-65ae1fabd119" exit-reason="" on_node="node3" call-id="118" rc-code="0" op-status="0" interval="10000" last-rc-change="1606076598" exec-time="20" queue-time="0" op-digest="0b73673404cb867681a3c190ccebcc51" op-secure-params=" passwd " op-secure-digest="2b1b5ccbabbdb96f3f7edb41b0775563"/>
+ </lrm_resource>
+ <lrm_resource id="Fencing" type="fence_xvm" class="stonith">
+ <lrm_rsc_op id="Fencing_last_0" operation_key="Fencing_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.6.3" transition-key="29:0:7:727e4004-8c04-423b-8d63-65ae1fabd119" transition-magic="0:7;29:0:7:727e4004-8c04-423b-8d63-65ae1fabd119" exit-reason="" on_node="node3" call-id="5" rc-code="7" op-status="0" interval="0" last-rc-change="1606076227" exec-time="24" queue-time="0" op-digest="52e34745a77d95a636428d3b550eb867"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <node_state id="5" uname="node5" in_ccm="true" crmd="online" crm-debug-origin="do_state_transition" join="member" expected="member">
+ <transient_attributes id="5">
+ <instance_attributes id="status-5"/>
+ </transient_attributes>
+ <lrm id="5">
+ <lrm_resources>
+ <lrm_resource id="rsc1" type="Dummy" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="rsc1_last_0" operation_key="rsc1_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.6.3" transition-key="6:51:7:727e4004-8c04-423b-8d63-65ae1fabd119" transition-magic="0:7;6:51:7:727e4004-8c04-423b-8d63-65ae1fabd119" exit-reason="" on_node="node5" call-id="99" rc-code="193" op-status="-1" interval="0" last-rc-change="1606076573" exec-time="27" queue-time="0" op-digest="2b1b5ccbabbdb96f3f7edb41b0775563" op-force-restart=" envfile op_sleep passwd state " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8" op-secure-params=" passwd " op-secure-digest="2b1b5ccbabbdb96f3f7edb41b0775563"/>
+ </lrm_resource>
+ <lrm_resource id="Fencing" type="fence_xvm" class="stonith">
+ <lrm_rsc_op id="Fencing_last_0" operation_key="Fencing_monitor_0" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.6.3" transition-key="57:0:7:727e4004-8c04-423b-8d63-65ae1fabd119" transition-magic="0:7;57:0:7:727e4004-8c04-423b-8d63-65ae1fabd119" exit-reason="" on_node="node5" call-id="5" rc-code="7" op-status="0" interval="0" last-rc-change="1606076227" exec-time="14" queue-time="0" op-digest="52e34745a77d95a636428d3b550eb867"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <node_state id="1" uname="node1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+ <transient_attributes id="1">
+ <instance_attributes id="status-1"/>
+ </transient_attributes>
+ <lrm id="1">
+ <lrm_resources>
+ <lrm_resource id="rsc1" type="Dummy" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="rsc1_last_0" operation_key="rsc1_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.6.3" transition-key="8:55:0:727e4004-8c04-423b-8d63-65ae1fabd119" transition-magic="0:0;8:55:0:727e4004-8c04-423b-8d63-65ae1fabd119" exit-reason="" on_node="node1" call-id="104" rc-code="0" op-status="0" interval="0" last-rc-change="1606077916" exec-time="22" queue-time="0" op-digest="3acdbe4c12734ebeb1251a59545af936" op-force-restart=" envfile op_sleep passwd state " op-restart-digest="5de1fd72a2e7762ed41543231034f6d7" op-secure-params=" passwd " op-secure-digest="279c477dbc38c621904a00ab9e599b2f"/>
+ <lrm_rsc_op id="rsc1_monitor_10000" operation_key="rsc1_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.6.3" transition-key="9:55:0:727e4004-8c04-423b-8d63-65ae1fabd119" transition-magic="0:0;9:55:0:727e4004-8c04-423b-8d63-65ae1fabd119" exit-reason="" on_node="node1" call-id="106" rc-code="0" op-status="0" interval="10000" last-rc-change="1606077916" exec-time="20" queue-time="0" op-digest="720718e8d715d5d3be1403cbbcb953bc" op-secure-params=" passwd " op-secure-digest="279c477dbc38c621904a00ab9e599b2f"/>
+ </lrm_resource>
+ <lrm_resource id="Fencing" type="fence_xvm" class="stonith">
+ <lrm_rsc_op id="Fencing_last_0" operation_key="Fencing_start_0" operation="start" crm-debug-origin="build_active_RAs" crm_feature_set="3.6.3" transition-key="71:0:0:727e4004-8c04-423b-8d63-65ae1fabd119" transition-magic="0:0;71:0:0:727e4004-8c04-423b-8d63-65ae1fabd119" exit-reason="" on_node="node1" call-id="10" rc-code="0" op-status="0" interval="0" last-rc-change="1606076227" exec-time="59" queue-time="0" op-digest="52e34745a77d95a636428d3b550eb867"/>
+ <lrm_rsc_op id="Fencing_monitor_120000" operation_key="Fencing_monitor_120000" operation="monitor" crm-debug-origin="build_active_RAs" crm_feature_set="3.6.3" transition-key="72:0:0:727e4004-8c04-423b-8d63-65ae1fabd119" transition-magic="0:0;72:0:0:727e4004-8c04-423b-8d63-65ae1fabd119" exit-reason="" on_node="node1" call-id="12" rc-code="0" op-status="0" interval="120000" last-rc-change="1606076227" exec-time="70" queue-time="0" op-digest="acc6dd2c58c637db4d12a6fe35626617"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ </status>
+</cib>
diff --git a/cts/cli/crmadmin-cluster-remote-guest-nodes.xml b/cts/cli/crmadmin-cluster-remote-guest-nodes.xml
new file mode 100644
index 0000000..0ef943e
--- /dev/null
+++ b/cts/cli/crmadmin-cluster-remote-guest-nodes.xml
@@ -0,0 +1,483 @@
+<cib crm_feature_set="3.0.12" validate-with="pacemaker-3.0" epoch="24" num_updates="0" admin_epoch="0" cib-last-written="Fri Jul 14 08:50:25 2017" update-origin="overcloud-controller-0" update-client="cibadmin" update-user="overcloud-rabbit-0" have-quorum="1" dc-uuid="2" execution-date="1500022225">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+ <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="1.1.16-12.el7-94ff4df"/>
+ <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
+ <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="tripleo_cluster"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
+ <nvpair id="cib-bootstrap-options-cluster-recheck-interval" name="cluster-recheck-interval" value="60s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="1" uname="overcloud-controller-0"/>
+ <node id="2" uname="overcloud-controller-1"/>
+ <node id="3" uname="overcloud-controller-2"/>
+ <node id="4" uname="overcloud-galera-0">
+ <instance_attributes id="nodes-4">
+ <nvpair id="nodes-4-galera-role" name="galera-role" value="true"/>
+ </instance_attributes>
+ </node>
+ <node id="5" uname="overcloud-galera-1">
+ <instance_attributes id="nodes-5">
+ <nvpair id="nodes-5-galera-role" name="galera-role" value="true"/>
+ </instance_attributes>
+ </node>
+ <node id="6" uname="overcloud-galera-2">
+ <instance_attributes id="nodes-6">
+ <nvpair id="nodes-6-galera-role" name="galera-role" value="true"/>
+ </instance_attributes>
+ </node>
+ <node id="overcloud-rabbit-0" type="remote" uname="overcloud-rabbit-0">
+ <instance_attributes id="nodes-overcloud-rabbit-0">
+ <nvpair id="nodes-overcloud-rabbit-0-rabbitmq-role" name="rabbitmq-role" value="true"/>
+ </instance_attributes>
+ </node>
+ <node id="overcloud-rabbit-1" type="remote" uname="overcloud-rabbit-1">
+ <instance_attributes id="nodes-overcloud-rabbit-1">
+ <nvpair id="nodes-overcloud-rabbit-1-rabbitmq-role" name="rabbitmq-role" value="true"/>
+ </instance_attributes>
+ </node>
+ <node id="overcloud-rabbit-2" type="remote" uname="overcloud-rabbit-2">
+ <instance_attributes id="nodes-overcloud-rabbit-2">
+ <nvpair id="nodes-overcloud-rabbit-2-rabbitmq-role" name="rabbitmq-role" value="true"/>
+ </instance_attributes>
+ </node>
+ </nodes>
+ <resources>
+ <primitive class="ocf" id="overcloud-rabbit-0" provider="pacemaker" type="remote">
+ <instance_attributes id="overcloud-rabbit-0-instance_attributes">
+ <nvpair id="overcloud-rabbit-0-instance_attributes-reconnect_interval" name="reconnect_interval" value="60"/>
+ </instance_attributes>
+ <operations>
+ <op id="overcloud-rabbit-0-monitor-interval-20" interval="20" name="monitor"/>
+ <op id="overcloud-rabbit-0-start-interval-0s" interval="0s" name="start" timeout="60"/>
+ <op id="overcloud-rabbit-0-stop-interval-0s" interval="0s" name="stop" timeout="60"/>
+ </operations>
+ </primitive>
+ <primitive class="ocf" id="overcloud-rabbit-1" provider="pacemaker" type="remote">
+ <instance_attributes id="overcloud-rabbit-1-instance_attributes">
+ <nvpair id="overcloud-rabbit-1-instance_attributes-reconnect_interval" name="reconnect_interval" value="60"/>
+ </instance_attributes>
+ <operations>
+ <op id="overcloud-rabbit-1-monitor-interval-20" interval="20" name="monitor"/>
+ <op id="overcloud-rabbit-1-start-interval-0s" interval="0s" name="start" timeout="60"/>
+ <op id="overcloud-rabbit-1-stop-interval-0s" interval="0s" name="stop" timeout="60"/>
+ </operations>
+ </primitive>
+ <primitive class="ocf" id="overcloud-rabbit-2" provider="pacemaker" type="remote">
+ <instance_attributes id="overcloud-rabbit-2-instance_attributes">
+ <nvpair id="overcloud-rabbit-2-instance_attributes-reconnect_interval" name="reconnect_interval" value="60"/>
+ </instance_attributes>
+ <operations>
+ <op id="overcloud-rabbit-2-monitor-interval-20" interval="20" name="monitor"/>
+ <op id="overcloud-rabbit-2-start-interval-0s" interval="0s" name="start" timeout="60"/>
+ <op id="overcloud-rabbit-2-stop-interval-0s" interval="0s" name="stop" timeout="60"/>
+ </operations>
+ </primitive>
+ <primitive class="ocf" id="container1" provider="heartbeat" type="VirtualDomain">
+ <instance_attributes id="container1-instance_attributes">
+ <nvpair id="container1-instance_attributes-force_stop" name="force_stop" value="true"/>
+ <nvpair id="container1-instance_attributes-hypervisor" name="hypervisor" value="lxc:///"/>
+ <nvpair id="container1-instance_attributes-config" name="config" value="/var/lib/pacemaker/cts/lxc/lxc1.xml"/>
+ </instance_attributes>
+ <utilization id="container1-utilization">
+ <nvpair id="container1-utilization-cpu" name="cpu" value="1"/>
+ <nvpair id="container1-utilization-hv_memory" name="hv_memory" value="196"/>
+ </utilization>
+ <meta_attributes id="container1-meta_attributes">
+ <nvpair id="container1-meta_attributes-remote-node" name="remote-node" value="lxc1"/>
+ </meta_attributes>
+ </primitive>
+ <primitive class="ocf" id="container2" provider="heartbeat" type="VirtualDomain">
+ <instance_attributes id="container2-instance_attributes">
+ <nvpair id="container2-instance_attributes-force_stop" name="force_stop" value="true"/>
+ <nvpair id="container2-instance_attributes-hypervisor" name="hypervisor" value="lxc:///"/>
+ <nvpair id="container2-instance_attributes-config" name="config" value="/var/lib/pacemaker/cts/lxc/lxc2.xml"/>
+ </instance_attributes>
+ <utilization id="container2-utilization">
+ <nvpair id="container2-utilization-cpu" name="cpu" value="1"/>
+ <nvpair id="container2-utilization-hv_memory" name="hv_memory" value="196"/>
+ </utilization>
+ <meta_attributes id="container2-meta_attributes">
+ <nvpair id="container2-meta_attributes-remote-node" name="remote-node" value="lxc2"/>
+ </meta_attributes>
+ </primitive>
+ <bundle id="rabbitmq-bundle">
+ <docker image="192.168.24.1:8787/tripleoupstream/centos-binary-rabbitmq:latest" network="host" options="--user=root --log-driver=journald -e KOLLA_CONFIG_STRATEGY=COPY_ALWAYS" replicas="3" run-command="/bin/bash /usr/local/bin/kolla_start"/>
+ <network control-port="3121"/>
+ <storage>
+ <storage-mapping id="rabbitmq-cfg-files" options="ro" source-dir="/var/lib/kolla/config_files/rabbitmq.json" target-dir="/var/lib/kolla/config_files/config.json"/>
+ <storage-mapping id="rabbitmq-cfg-data" options="ro" source-dir="/var/lib/config-data/puppet-generated/rabbitmq/" target-dir="/var/lib/kolla/config_files/src"/>
+ <storage-mapping id="rabbitmq-hosts" options="ro" source-dir="/etc/hosts" target-dir="/etc/hosts"/>
+ <storage-mapping id="rabbitmq-localtime" options="ro" source-dir="/etc/localtime" target-dir="/etc/localtime"/>
+ <storage-mapping id="rabbitmq-lib" options="rw" source-dir="/var/lib/rabbitmq" target-dir="/var/lib/rabbitmq"/>
+ <storage-mapping id="rabbitmq-pki-extracted" options="ro" source-dir="/etc/pki/ca-trust/extracted" target-dir="/etc/pki/ca-trust/extracted"/>
+ <storage-mapping id="rabbitmq-pki-ca-bundle-crt" options="ro" source-dir="/etc/pki/tls/certs/ca-bundle.crt" target-dir="/etc/pki/tls/certs/ca-bundle.crt"/>
+ <storage-mapping id="rabbitmq-pki-ca-bundle-trust-crt" options="ro" source-dir="/etc/pki/tls/certs/ca-bundle.trust.crt" target-dir="/etc/pki/tls/certs/ca-bundle.trust.crt"/>
+ <storage-mapping id="rabbitmq-pki-cert" options="ro" source-dir="/etc/pki/tls/cert.pem" target-dir="/etc/pki/tls/cert.pem"/>
+ <storage-mapping id="rabbitmq-dev-log" options="rw" source-dir="/dev/log" target-dir="/dev/log"/>
+ </storage>
+ <primitive class="ocf" id="rabbitmq" provider="heartbeat" type="rabbitmq-cluster">
+ <instance_attributes id="rabbitmq-instance_attributes">
+ <nvpair id="rabbitmq-instance_attributes-set_policy" name="set_policy" value="ha-all ^(?!amq\.).* {&quot;ha-mode&quot;:&quot;all&quot;}"/>
+ </instance_attributes>
+ <meta_attributes id="rabbitmq-meta_attributes">
+ <nvpair id="rabbitmq-meta_attributes-notify" name="notify" value="true"/>
+ </meta_attributes>
+ <operations>
+ <op id="rabbitmq-monitor-interval-10" interval="10" name="monitor" timeout="40"/>
+ <op id="rabbitmq-start-interval-0s" interval="0s" name="start" timeout="200s"/>
+ <op id="rabbitmq-stop-interval-0s" interval="0s" name="stop" timeout="200s"/>
+ </operations>
+ </primitive>
+ </bundle>
+ <bundle id="galera-bundle">
+ <docker image="192.168.24.1:8787/tripleoupstream/centos-binary-mariadb:latest" promoted-max="3" network="host" options="--user=root --log-driver=journald -e KOLLA_CONFIG_STRATEGY=COPY_ALWAYS" replicas="3" run-command="/bin/bash /usr/local/bin/kolla_start"/>
+ <network control-port="3123"/>
+ <storage>
+ <storage-mapping id="mysql-cfg-files" options="ro" source-dir="/var/lib/kolla/config_files/mysql.json" target-dir="/var/lib/kolla/config_files/config.json"/>
+ <storage-mapping id="mysql-cfg-data" options="ro" source-dir="/var/lib/config-data/puppet-generated/mysql/" target-dir="/var/lib/kolla/config_files/src"/>
+ <storage-mapping id="mysql-hosts" options="ro" source-dir="/etc/hosts" target-dir="/etc/hosts"/>
+ <storage-mapping id="mysql-localtime" options="ro" source-dir="/etc/localtime" target-dir="/etc/localtime"/>
+ <storage-mapping id="mysql-lib" options="rw" source-dir="/var/lib/mysql" target-dir="/var/lib/mysql"/>
+ <storage-mapping id="mysql-log-mariadb" options="rw" source-dir="/var/log/mariadb" target-dir="/var/log/mariadb"/>
+ <storage-mapping id="mysql-pki-extracted" options="ro" source-dir="/etc/pki/ca-trust/extracted" target-dir="/etc/pki/ca-trust/extracted"/>
+ <storage-mapping id="mysql-pki-ca-bundle-crt" options="ro" source-dir="/etc/pki/tls/certs/ca-bundle.crt" target-dir="/etc/pki/tls/certs/ca-bundle.crt"/>
+ <storage-mapping id="mysql-pki-ca-bundle-trust-crt" options="ro" source-dir="/etc/pki/tls/certs/ca-bundle.trust.crt" target-dir="/etc/pki/tls/certs/ca-bundle.trust.crt"/>
+ <storage-mapping id="mysql-pki-cert" options="ro" source-dir="/etc/pki/tls/cert.pem" target-dir="/etc/pki/tls/cert.pem"/>
+ <storage-mapping id="mysql-dev-log" options="rw" source-dir="/dev/log" target-dir="/dev/log"/>
+ </storage>
+ </bundle>
+ </resources>
+ <constraints>
+ <rsc_location id="location-rabbitmq-bundle" resource-discovery="exclusive" rsc="rabbitmq-bundle">
+ <rule id="location-rabbitmq-bundle-rule" score="1">
+ <expression attribute="rabbitmq-role" id="location-rabbitmq-bundle-rule-expr" operation="eq" value="true"/>
+ </rule>
+ </rsc_location>
+ <rsc_location id="location-galera-bundle" resource-discovery="exclusive" rsc="galera-bundle">
+ <rule id="location-galera-bundle-rule" score="0">
+ <expression attribute="galera-role" id="location-galera-bundle-rule-expr" operation="eq" value="true"/>
+ </rule>
+ </rsc_location>
+ </constraints>
+ <rsc_defaults>
+ <meta_attributes id="rsc_defaults-options">
+ <nvpair id="rsc_defaults-options-resource-stickiness" name="resource-stickiness" value="INFINITY"/>
+ </meta_attributes>
+ </rsc_defaults>
+ </configuration>
+ <status>
+ <node_state id="1" uname="overcloud-controller-0" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+ <lrm id="1">
+ <lrm_resources>
+ <lrm_resource id="overcloud-rabbit-0" type="remote" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="overcloud-rabbit-0_last_0" operation_key="overcloud-rabbit-0_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="8:2:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;8:2:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="2" rc-code="0" op-status="0" interval="0" last-rc-change="1500021991" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="overcloud-rabbit-0_monitor_20000" operation_key="overcloud-rabbit-0_monitor_20000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="4:3:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;4:3:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="3" rc-code="0" op-status="0" interval="20000" last-rc-change="1500021998" exec-time="0" queue-time="0" op-digest="6e5bb737f46c381d8a46fb4162afd9e0"/>
+ </lrm_resource>
+ <lrm_resource id="overcloud-rabbit-1" type="remote" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="overcloud-rabbit-1_last_0" operation_key="overcloud-rabbit-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="3:4:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;3:4:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="4" rc-code="7" op-status="0" interval="0" last-rc-change="1500021998" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="overcloud-rabbit-2" type="remote" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="overcloud-rabbit-2_last_0" operation_key="overcloud-rabbit-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="4:6:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;4:6:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="5" rc-code="7" op-status="0" interval="0" last-rc-change="1500022004" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-0_last_0" operation_key="rabbitmq-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="5:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;5:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="8" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="42" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-1_last_0" operation_key="rabbitmq-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="6:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;6:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="12" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="54" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-2_last_0" operation_key="rabbitmq-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="7:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;7:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="16" rc-code="7" op-status="0" interval="0" last-rc-change="1500022210" exec-time="58" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-0_last_0" operation_key="galera-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="8:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;8:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="20" rc-code="7" op-status="0" interval="0" last-rc-change="1500022218" exec-time="79" queue-time="0" op-digest="4672b28c350bc4f5445fd6678c0c2a56"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-1_last_0" operation_key="galera-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="9:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;9:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="24" rc-code="7" op-status="0" interval="0" last-rc-change="1500022219" exec-time="55" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-2_last_0" operation_key="galera-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="10:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;10:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="28" rc-code="7" op-status="0" interval="0" last-rc-change="1500022219" exec-time="122" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ <transient_attributes id="1">
+ <instance_attributes id="status-1">
+ <nvpair id="status-1-shutdown" name="shutdown" value="0"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="3" uname="overcloud-controller-2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+ <lrm id="3">
+ <lrm_resources>
+ <lrm_resource id="overcloud-rabbit-0" type="remote" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="overcloud-rabbit-0_last_0" operation_key="overcloud-rabbit-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="4:2:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;4:2:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1500021990" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="overcloud-rabbit-1" type="remote" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="overcloud-rabbit-1_last_0" operation_key="overcloud-rabbit-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="5:4:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;5:4:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="2" rc-code="7" op-status="0" interval="0" last-rc-change="1500021998" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="overcloud-rabbit-2" type="remote" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="overcloud-rabbit-2_last_0" operation_key="overcloud-rabbit-2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="14:6:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;14:6:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="4" rc-code="0" op-status="0" interval="0" last-rc-change="1500022004" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="overcloud-rabbit-2_monitor_20000" operation_key="overcloud-rabbit-2_monitor_20000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="10:7:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;10:7:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="5" rc-code="0" op-status="0" interval="20000" last-rc-change="1500022004" exec-time="0" queue-time="0" op-digest="6e5bb737f46c381d8a46fb4162afd9e0"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-0_last_0" operation_key="rabbitmq-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="11:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;11:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="8" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="46" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-1_last_0" operation_key="rabbitmq-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="12:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;12:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="12" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="54" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-2_last_0" operation_key="rabbitmq-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="13:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;13:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="16" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="53" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-0_last_0" operation_key="galera-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="14:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;14:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="20" rc-code="7" op-status="0" interval="0" last-rc-change="1500022218" exec-time="63" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-1_last_0" operation_key="galera-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="15:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;15:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="24" rc-code="7" op-status="0" interval="0" last-rc-change="1500022218" exec-time="43" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-2_last_0" operation_key="galera-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="16:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;16:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="28" rc-code="7" op-status="0" interval="0" last-rc-change="1500022219" exec-time="66" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ <transient_attributes id="3">
+ <instance_attributes id="status-3">
+ <nvpair id="status-3-shutdown" name="shutdown" value="0"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="4" uname="overcloud-galera-0" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+ <lrm id="4">
+ <lrm_resources>
+ <lrm_resource id="overcloud-rabbit-0" type="remote" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="overcloud-rabbit-0_last_0" operation_key="overcloud-rabbit-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="5:2:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;5:2:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-0" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1500021991" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="overcloud-rabbit-1" type="remote" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="overcloud-rabbit-1_last_0" operation_key="overcloud-rabbit-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="6:4:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;6:4:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-0" call-id="2" rc-code="7" op-status="0" interval="0" last-rc-change="1500021998" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="overcloud-rabbit-2" type="remote" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="overcloud-rabbit-2_last_0" operation_key="overcloud-rabbit-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="7:6:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;7:6:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-0" call-id="3" rc-code="7" op-status="0" interval="0" last-rc-change="1500022004" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-0_last_0" operation_key="rabbitmq-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="14:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;14:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-0" call-id="8" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="73" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-1_last_0" operation_key="rabbitmq-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="15:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;15:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-0" call-id="12" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="43" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-2_last_0" operation_key="rabbitmq-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="16:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;16:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-0" call-id="16" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="61" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-0_last_0" operation_key="galera-bundle-docker-0_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="20:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;20:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-0" call-id="29" rc-code="0" op-status="0" interval="0" last-rc-change="1500022223" exec-time="443" queue-time="0" op-digest="4672b28c350bc4f5445fd6678c0c2a56"/>
+ <lrm_rsc_op id="galera-bundle-docker-0_monitor_60000" operation_key="galera-bundle-docker-0_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="21:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;21:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-0" call-id="30" rc-code="0" op-status="0" interval="60000" last-rc-change="1500022224" exec-time="111" queue-time="0" op-digest="4b2ba27785766c4876e892f67e694055"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-1_last_0" operation_key="galera-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="18:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;18:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-0" call-id="24" rc-code="7" op-status="0" interval="0" last-rc-change="1500022218" exec-time="43" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-2_last_0" operation_key="galera-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="19:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;19:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-0" call-id="28" rc-code="7" op-status="0" interval="0" last-rc-change="1500022219" exec-time="60" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ <transient_attributes id="4">
+ <instance_attributes id="status-4">
+ <nvpair id="status-4-shutdown" name="shutdown" value="0"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="2" uname="overcloud-controller-1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+ <lrm id="2">
+ <lrm_resources>
+ <lrm_resource id="overcloud-rabbit-0" type="remote" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="overcloud-rabbit-0_last_0" operation_key="overcloud-rabbit-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="3:2:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;3:2:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1500021991" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="overcloud-rabbit-1" type="remote" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="overcloud-rabbit-1_last_0" operation_key="overcloud-rabbit-1_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="11:4:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;11:4:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="3" rc-code="0" op-status="0" interval="0" last-rc-change="1500021998" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="overcloud-rabbit-1_monitor_20000" operation_key="overcloud-rabbit-1_monitor_20000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="7:5:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;7:5:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="4" rc-code="0" op-status="0" interval="20000" last-rc-change="1500021998" exec-time="0" queue-time="0" op-digest="6e5bb737f46c381d8a46fb4162afd9e0"/>
+ </lrm_resource>
+ <lrm_resource id="overcloud-rabbit-2" type="remote" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="overcloud-rabbit-2_last_0" operation_key="overcloud-rabbit-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="5:6:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;5:6:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="5" rc-code="7" op-status="0" interval="0" last-rc-change="1500022004" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-0_last_0" operation_key="rabbitmq-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="8:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;8:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="8" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="40" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-1_last_0" operation_key="rabbitmq-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="9:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;9:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="12" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="99" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-2_last_0" operation_key="rabbitmq-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="10:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;10:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="16" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="105" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-0_last_0" operation_key="galera-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="11:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;11:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="20" rc-code="7" op-status="0" interval="0" last-rc-change="1500022218" exec-time="38" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-1_last_0" operation_key="galera-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="12:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;12:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="24" rc-code="7" op-status="0" interval="0" last-rc-change="1500022218" exec-time="72" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-2_last_0" operation_key="galera-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="13:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;13:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="28" rc-code="7" op-status="0" interval="0" last-rc-change="1500022219" exec-time="40" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ <transient_attributes id="2">
+ <instance_attributes id="status-2">
+ <nvpair id="status-2-shutdown" name="shutdown" value="0"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="5" uname="overcloud-galera-1" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+ <lrm id="5">
+ <lrm_resources>
+ <lrm_resource id="overcloud-rabbit-0" type="remote" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="overcloud-rabbit-0_last_0" operation_key="overcloud-rabbit-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="6:2:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;6:2:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-1" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1500021990" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="overcloud-rabbit-1" type="remote" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="overcloud-rabbit-1_last_0" operation_key="overcloud-rabbit-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="7:4:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;7:4:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-1" call-id="2" rc-code="7" op-status="0" interval="0" last-rc-change="1500021998" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="overcloud-rabbit-2" type="remote" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="overcloud-rabbit-2_last_0" operation_key="overcloud-rabbit-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="8:6:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;8:6:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-1" call-id="3" rc-code="7" op-status="0" interval="0" last-rc-change="1500022004" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-0_last_0" operation_key="rabbitmq-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="17:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;17:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-1" call-id="8" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="30" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-1_last_0" operation_key="rabbitmq-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="18:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;18:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-1" call-id="12" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="48" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-2_last_0" operation_key="rabbitmq-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="19:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;19:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-1" call-id="16" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="88" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-0_last_0" operation_key="galera-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="20:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;20:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-1" call-id="20" rc-code="7" op-status="0" interval="0" last-rc-change="1500022218" exec-time="59" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-1_last_0" operation_key="galera-bundle-docker-1_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="22:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;22:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-1" call-id="29" rc-code="0" op-status="0" interval="0" last-rc-change="1500022223" exec-time="463" queue-time="0" op-digest="4672b28c350bc4f5445fd6678c0c2a56"/>
+ <lrm_rsc_op id="galera-bundle-docker-1_monitor_60000" operation_key="galera-bundle-docker-1_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="23:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;23:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-1" call-id="30" rc-code="0" op-status="0" interval="60000" last-rc-change="1500022224" exec-time="104" queue-time="1" op-digest="4b2ba27785766c4876e892f67e694055"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-2_last_0" operation_key="galera-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="22:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;22:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-1" call-id="28" rc-code="7" op-status="0" interval="0" last-rc-change="1500022219" exec-time="86" queue-time="1" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ <transient_attributes id="5">
+ <instance_attributes id="status-5">
+ <nvpair id="status-5-shutdown" name="shutdown" value="0"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="6" uname="overcloud-galera-2" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+ <lrm id="6">
+ <lrm_resources>
+ <lrm_resource id="overcloud-rabbit-0" type="remote" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="overcloud-rabbit-0_last_0" operation_key="overcloud-rabbit-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="7:2:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;7:2:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-2" call-id="1" rc-code="7" op-status="0" interval="0" last-rc-change="1500021991" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="overcloud-rabbit-1" type="remote" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="overcloud-rabbit-1_last_0" operation_key="overcloud-rabbit-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="8:4:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;8:4:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-2" call-id="2" rc-code="7" op-status="0" interval="0" last-rc-change="1500021998" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="overcloud-rabbit-2" type="remote" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="overcloud-rabbit-2_last_0" operation_key="overcloud-rabbit-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="9:6:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;9:6:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-2" call-id="3" rc-code="7" op-status="0" interval="0" last-rc-change="1500022004" exec-time="0" queue-time="0" op-digest="a48beba1b11f09d6b1c15da8db5bb0a2" op-force-restart=" server " op-restart-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-0_last_0" operation_key="rabbitmq-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="20:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;20:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-2" call-id="8" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="62" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-1_last_0" operation_key="rabbitmq-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="21:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;21:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-2" call-id="12" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="71" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-2_last_0" operation_key="rabbitmq-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="22:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;22:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-2" call-id="16" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="47" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-0_last_0" operation_key="galera-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="23:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;23:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-2" call-id="20" rc-code="7" op-status="0" interval="0" last-rc-change="1500022218" exec-time="58" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-1_last_0" operation_key="galera-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="24:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;24:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-2" call-id="24" rc-code="7" op-status="0" interval="0" last-rc-change="1500022218" exec-time="67" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-2_last_0" operation_key="galera-bundle-docker-2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="24:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;24:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-2" call-id="29" rc-code="0" op-status="0" interval="0" last-rc-change="1500022223" exec-time="532" queue-time="0" op-digest="4672b28c350bc4f5445fd6678c0c2a56"/>
+ <lrm_rsc_op id="galera-bundle-docker-2_monitor_60000" operation_key="galera-bundle-docker-2_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="25:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;25:20:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-galera-2" call-id="30" rc-code="0" op-status="0" interval="60000" last-rc-change="1500022224" exec-time="84" queue-time="0" op-digest="4b2ba27785766c4876e892f67e694055"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ <transient_attributes id="6">
+ <instance_attributes id="status-6">
+ <nvpair id="status-6-shutdown" name="shutdown" value="0"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state remote_node="true" id="overcloud-rabbit-0" uname="overcloud-rabbit-0" in_ccm="true" crm-debug-origin="do_update_resource" node_fenced="0">
+ <lrm id="overcloud-rabbit-0">
+ <lrm_resources>
+ <lrm_resource id="rabbitmq-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-0_last_0" operation_key="rabbitmq-bundle-docker-0_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="11:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;11:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="101" rc-code="0" op-status="0" interval="0" last-rc-change="1500022215" exec-time="743" queue-time="0" op-digest="8c0a285f208d4d9a67aff645d6afa451"/>
+ <lrm_rsc_op id="rabbitmq-bundle-docker-0_monitor_60000" operation_key="rabbitmq-bundle-docker-0_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="12:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;12:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="106" rc-code="0" op-status="0" interval="60000" last-rc-change="1500022216" exec-time="116" queue-time="0" op-digest="22abb108ae9d2c7687fd55cec05e3eb1"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-1_last_0" operation_key="rabbitmq-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="24:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;24:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="80" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="34" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-2_last_0" operation_key="rabbitmq-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="25:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;25:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="86" rc-code="7" op-status="0" interval="0" last-rc-change="1500022210" exec-time="51" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-0_last_0" operation_key="galera-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="26:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;26:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="114" rc-code="7" op-status="0" interval="0" last-rc-change="1500022219" exec-time="39" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-1_last_0" operation_key="galera-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="27:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;27:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="119" rc-code="7" op-status="0" interval="0" last-rc-change="1500022219" exec-time="32" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-2_last_0" operation_key="galera-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="28:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;28:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-0" call-id="123" rc-code="7" op-status="0" interval="0" last-rc-change="1500022219" exec-time="27" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <node_state remote_node="true" id="overcloud-rabbit-1" uname="overcloud-rabbit-1" in_ccm="true" crm-debug-origin="do_update_resource" node_fenced="0">
+ <lrm id="overcloud-rabbit-1">
+ <lrm_resources>
+ <lrm_resource id="rabbitmq-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-0_last_0" operation_key="rabbitmq-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="26:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;26:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="16" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="41" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-1_last_0" operation_key="rabbitmq-bundle-docker-1_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="13:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;13:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="25" rc-code="0" op-status="0" interval="0" last-rc-change="1500022215" exec-time="839" queue-time="0" op-digest="f16474ea54754bd1c314820340573331"/>
+ <lrm_rsc_op id="rabbitmq-bundle-docker-1_monitor_60000" operation_key="rabbitmq-bundle-docker-1_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="14:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;14:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="26" rc-code="0" op-status="0" interval="60000" last-rc-change="1500022216" exec-time="171" queue-time="0" op-digest="77a7f86a24beebea976cd186a4b67311"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-2_last_0" operation_key="rabbitmq-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="28:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;28:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="24" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="54" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-0_last_0" operation_key="galera-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="29:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;29:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="30" rc-code="7" op-status="0" interval="0" last-rc-change="1500022218" exec-time="31" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-1_last_0" operation_key="galera-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="30:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;30:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="34" rc-code="7" op-status="0" interval="0" last-rc-change="1500022218" exec-time="34" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-2_last_0" operation_key="galera-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="31:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;31:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-1" call-id="38" rc-code="7" op-status="0" interval="0" last-rc-change="1500022219" exec-time="94" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <node_state remote_node="true" id="overcloud-rabbit-2" uname="overcloud-rabbit-2" in_ccm="true" crm-debug-origin="do_update_resource" node_fenced="0">
+ <lrm id="overcloud-rabbit-2">
+ <lrm_resources>
+ <lrm_resource id="rabbitmq-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-0_last_0" operation_key="rabbitmq-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="29:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;29:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="16" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="51" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-1_last_0" operation_key="rabbitmq-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="30:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;30:14:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="20" rc-code="7" op-status="0" interval="0" last-rc-change="1500022209" exec-time="83" queue-time="0" op-digest="898a907c413e600aa5c030c26fbdccfd"/>
+ </lrm_resource>
+ <lrm_resource id="rabbitmq-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="rabbitmq-bundle-docker-2_last_0" operation_key="rabbitmq-bundle-docker-2_start_0" operation="start" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="15:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;15:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="25" rc-code="0" op-status="0" interval="0" last-rc-change="1500022216" exec-time="825" queue-time="0" op-digest="0e859e53e780b236b7edb6b7a399e031"/>
+ <lrm_rsc_op id="rabbitmq-bundle-docker-2_monitor_60000" operation_key="rabbitmq-bundle-docker-2_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="16:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:0;16:17:0:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="26" rc-code="0" op-status="0" interval="60000" last-rc-change="1500022217" exec-time="125" queue-time="0" op-digest="57d17ff3d69c0f58c3556fd7f904ec61"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-0" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-0_last_0" operation_key="galera-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="32:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;32:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="30" rc-code="7" op-status="0" interval="0" last-rc-change="1500022219" exec-time="42" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-1" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-1_last_0" operation_key="galera-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="33:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;33:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="34" rc-code="7" op-status="0" interval="0" last-rc-change="1500022219" exec-time="87" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ <lrm_resource id="galera-bundle-docker-2" type="docker" class="ocf" provider="heartbeat">
+ <lrm_rsc_op id="galera-bundle-docker-2_last_0" operation_key="galera-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" crm_feature_set="3.0.12" transition-key="34:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" transition-magic="0:7;34:18:7:db0fd259-f51a-4ee6-a59b-6043dedaded8" on_node="overcloud-controller-2" call-id="38" rc-code="7" op-status="0" interval="0" last-rc-change="1500022219" exec-time="73" queue-time="0" op-digest="92b621d0e4ece2bf96924b0f75ab6f90"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ </status>
+</cib>
diff --git a/cts/cli/regression.access_render.exp b/cts/cli/regression.access_render.exp
new file mode 100644
index 0000000..37f093d
--- /dev/null
+++ b/cts/cli/regression.access_render.exp
@@ -0,0 +1,133 @@
+Created new pacemaker configuration
+Setting up shadow instance
+A new shadow instance was created. To begin using it paste the following into your shell:
+ CIB_shadow=cts-cli ; export CIB_shadow
+=#=#=#= Begin test: Configure some ACLs =#=#=#=
+=#=#=#= Current cib after: Configure some ACLs =#=#=#=
+<cib epoch="1" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config/>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ <acls>
+ <acl_role id="role-deny-acls">
+ <acl_permission id="deny-acls" kind="deny" xpath="/cib/configuration/acls"/>
+ <acl_permission id="read-rest" kind="read" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="tony">
+ <role id="role-deny-acls"/>
+ </acl_target>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Configure some ACLs - OK (0) =#=#=#=
+* Passed: cibadmin - Configure some ACLs
+=#=#=#= Begin test: Enable ACLs =#=#=#=
+=#=#=#= Current cib after: Enable ACLs =#=#=#=
+<cib epoch="2" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ <acls>
+ <acl_role id="role-deny-acls">
+ <acl_permission id="deny-acls" kind="deny" xpath="/cib/configuration/acls"/>
+ <acl_permission id="read-rest" kind="read" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="tony">
+ <role id="role-deny-acls"/>
+ </acl_target>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Enable ACLs - OK (0) =#=#=#=
+* Passed: crm_attribute - Enable ACLs
+=#=#=#= Begin test: An instance of ACLs render (into color) =#=#=#=
+<!-- ACLs as evaluated for user tony -->
+\x1b[34m<cib epoch="2" num_updates="0" admin_epoch="0">
+ \x1b[34m<configuration>
+ \x1b[34m<crm_config>
+ \x1b[34m<cluster_property_set id="cib-bootstrap-options">
+ \x1b[34m<nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ \x1b[34m</cluster_property_set>
+ \x1b[34m</crm_config>
+ \x1b[34m<nodes/>
+ \x1b[34m<resources/>
+ \x1b[34m<constraints/>
+ \x1b[31m<acls>
+ \x1b[31m<acl_role id="role-deny-acls">
+ \x1b[31m<acl_permission id="deny-acls" kind="deny" xpath="/cib/configuration/acls"/>
+ \x1b[31m<acl_permission id="read-rest" kind="read" xpath="/cib"/>
+ \x1b[31m</acl_role>
+ \x1b[31m<acl_target id="tony">
+ \x1b[31m<role id="role-deny-acls"/>
+ \x1b[31m</acl_target>
+ \x1b[31m</acls>
+ \x1b[34m</configuration>
+ \x1b[34m<status/>
+\x1b[34m</cib>
+=#=#=#= End test: An instance of ACLs render (into color) - OK (0) =#=#=#=
+* Passed: cibadmin - An instance of ACLs render (into color)
+=#=#=#= Begin test: An instance of ACLs render (into namespacing) =#=#=#=
+<!-- ACLs as evaluated for user tony -->
+<pcmk-access-readable:cib epoch="2" num_updates="0" admin_epoch="0" xmlns:pcmk-access-readable="http://clusterlabs.org/ns/pacemaker/access/readable" xmlns:pcmk-access-denied="http://clusterlabs.org/ns/pacemaker/access/denied">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ <pcmk-access-denied:acls>
+ <acl_role id="role-deny-acls">
+ <acl_permission id="deny-acls" kind="deny" xpath="/cib/configuration/acls"/>
+ <acl_permission id="read-rest" kind="read" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="tony">
+ <role id="role-deny-acls"/>
+ </acl_target>
+ </pcmk-access-denied:acls>
+ </configuration>
+ <status/>
+</pcmk-access-readable:cib>
+=#=#=#= End test: An instance of ACLs render (into namespacing) - OK (0) =#=#=#=
+* Passed: cibadmin - An instance of ACLs render (into namespacing)
+=#=#=#= Begin test: An instance of ACLs render (into text) =#=#=#=
+<!-- ACLs as evaluated for user tony -->
+vvv---[ READABLE ]---vvv
+<cib epoch="2" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+
+ vvv---[ ~DENIED~ ]---vvv
+ <acls>
+ <acl_role id="role-deny-acls">
+ <acl_permission id="deny-acls" kind="deny" xpath="/cib/configuration/acls"/>
+ <acl_permission id="read-rest" kind="read" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="tony">
+ <role id="role-deny-acls"/>
+ </acl_target>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: An instance of ACLs render (into text) - OK (0) =#=#=#=
+* Passed: cibadmin - An instance of ACLs render (into text)
diff --git a/cts/cli/regression.acls.exp b/cts/cli/regression.acls.exp
new file mode 100644
index 0000000..c0b0c4f
--- /dev/null
+++ b/cts/cli/regression.acls.exp
@@ -0,0 +1,4408 @@
+Created new pacemaker configuration
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= Begin test: Configure some ACLs =#=#=#=
+=#=#=#= Current cib after: Configure some ACLs =#=#=#=
+<cib epoch="2" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config/>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Configure some ACLs - OK (0) =#=#=#=
+* Passed: cibadmin - Configure some ACLs
+=#=#=#= Begin test: Enable ACLs =#=#=#=
+=#=#=#= Current cib after: Enable ACLs =#=#=#=
+<cib epoch="3" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Enable ACLs - OK (0) =#=#=#=
+* Passed: crm_attribute - Enable ACLs
+=#=#=#= Begin test: Set cluster option =#=#=#=
+=#=#=#= Current cib after: Set cluster option =#=#=#=
+<cib epoch="4" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Set cluster option - OK (0) =#=#=#=
+* Passed: crm_attribute - Set cluster option
+=#=#=#= Begin test: New ACL =#=#=#=
+=#=#=#= Current cib after: New ACL =#=#=#=
+<cib epoch="5" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: New ACL - OK (0) =#=#=#=
+* Passed: cibadmin - New ACL
+=#=#=#= Begin test: Another ACL =#=#=#=
+=#=#=#= Current cib after: Another ACL =#=#=#=
+<cib epoch="6" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Another ACL - OK (0) =#=#=#=
+* Passed: cibadmin - Another ACL
+=#=#=#= Begin test: Updated ACL =#=#=#=
+=#=#=#= Current cib after: Updated ACL =#=#=#=
+<cib epoch="7" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Updated ACL - OK (0) =#=#=#=
+* Passed: cibadmin - Updated ACL
+=#=#=#= Begin test: unknownguy: Query configuration =#=#=#=
+Call failed: Permission denied
+=#=#=#= End test: unknownguy: Query configuration - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - unknownguy: Query configuration
+=#=#=#= Begin test: unknownguy: Set enable-acl =#=#=#=
+crm_attribute: Error performing operation: Permission denied
+=#=#=#= End test: unknownguy: Set enable-acl - Insufficient privileges (4) =#=#=#=
+* Passed: crm_attribute - unknownguy: Set enable-acl
+=#=#=#= Begin test: unknownguy: Set stonith-enabled =#=#=#=
+crm_attribute: Error performing operation: Permission denied
+=#=#=#= End test: unknownguy: Set stonith-enabled - Insufficient privileges (4) =#=#=#=
+* Passed: crm_attribute - unknownguy: Set stonith-enabled
+=#=#=#= Begin test: unknownguy: Create a resource =#=#=#=
+pcmk__check_acl trace: User 'unknownguy' without ACLs denied read/write access to /cib/configuration/resources/primitive[@id]
+pcmk__apply_creation_acl trace: Creation of <primitive> scaffolding with id="<unset>" is implicitly allowed
+Call failed: Permission denied
+<failed>
+ <failed_update id="dummy" object_type="primitive" operation="cib_create" reason="Permission denied">
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>
+ </failed_update>
+</failed>
+=#=#=#= End test: unknownguy: Create a resource - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - unknownguy: Create a resource
+=#=#=#= Begin test: l33t-haxor: Query configuration =#=#=#=
+Call failed: Permission denied
+=#=#=#= End test: l33t-haxor: Query configuration - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - l33t-haxor: Query configuration
+=#=#=#= Begin test: l33t-haxor: Set enable-acl =#=#=#=
+crm_attribute: Error performing operation: Permission denied
+=#=#=#= End test: l33t-haxor: Set enable-acl - Insufficient privileges (4) =#=#=#=
+* Passed: crm_attribute - l33t-haxor: Set enable-acl
+=#=#=#= Begin test: l33t-haxor: Set stonith-enabled =#=#=#=
+crm_attribute: Error performing operation: Permission denied
+=#=#=#= End test: l33t-haxor: Set stonith-enabled - Insufficient privileges (4) =#=#=#=
+* Passed: crm_attribute - l33t-haxor: Set stonith-enabled
+=#=#=#= Begin test: l33t-haxor: Create a resource =#=#=#=
+pcmk__check_acl trace: Parent ACL denies user 'l33t-haxor' read/write access to /cib/configuration/resources/primitive[@id='dummy']
+pcmk__apply_creation_acl trace: ACLs disallow creation of <primitive> with id="dummy"
+Call failed: Permission denied
+=#=#=#= End test: l33t-haxor: Create a resource - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - l33t-haxor: Create a resource
+=#=#=#= Begin test: niceguy: Query configuration =#=#=#=
+<cib epoch="7" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: niceguy: Query configuration - OK (0) =#=#=#=
+* Passed: cibadmin - niceguy: Query configuration
+=#=#=#= Begin test: niceguy: Set enable-acl =#=#=#=
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib/configuration/crm_config/cluster_property_set[@id='cib-bootstrap-options']/nvpair[@id='cib-bootstrap-options-enable-acl'][@value]
+Error setting enable-acl=false (section=crm_config, set=<null>): Permission denied
+crm_attribute: Error performing operation: Permission denied
+=#=#=#= End test: niceguy: Set enable-acl - Insufficient privileges (4) =#=#=#=
+* Passed: crm_attribute - niceguy: Set enable-acl
+=#=#=#= Begin test: niceguy: Set stonith-enabled =#=#=#=
+pcmk__apply_creation_acl trace: ACLs allow creation of <nvpair> with id="cib-bootstrap-options-stonith-enabled"
+=#=#=#= Current cib after: niceguy: Set stonith-enabled =#=#=#=
+<cib epoch="8" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: niceguy: Set stonith-enabled - OK (0) =#=#=#=
+* Passed: crm_attribute - niceguy: Set stonith-enabled
+=#=#=#= Begin test: niceguy: Create a resource =#=#=#=
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib/configuration/resources/primitive[@id='dummy']
+pcmk__apply_creation_acl trace: ACLs disallow creation of <primitive> with id="dummy"
+Call failed: Permission denied
+=#=#=#= End test: niceguy: Create a resource - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - niceguy: Create a resource
+=#=#=#= Begin test: root: Query configuration =#=#=#=
+<cib epoch="8" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: root: Query configuration - OK (0) =#=#=#=
+* Passed: cibadmin - root: Query configuration
+=#=#=#= Begin test: root: Set stonith-enabled =#=#=#=
+=#=#=#= Current cib after: root: Set stonith-enabled =#=#=#=
+<cib epoch="9" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: root: Set stonith-enabled - OK (0) =#=#=#=
+* Passed: crm_attribute - root: Set stonith-enabled
+=#=#=#= Begin test: root: Create a resource =#=#=#=
+=#=#=#= Current cib after: root: Create a resource =#=#=#=
+<cib epoch="10" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: root: Create a resource - OK (0) =#=#=#=
+* Passed: cibadmin - root: Create a resource
+=#=#=#= Begin test: l33t-haxor: Create a resource meta attribute =#=#=#=
+crm_resource: Error performing operation: Insufficient privileges
+=#=#=#= End test: l33t-haxor: Create a resource meta attribute - Insufficient privileges (4) =#=#=#=
+* Passed: crm_resource - l33t-haxor: Create a resource meta attribute
+=#=#=#= Begin test: l33t-haxor: Query a resource meta attribute =#=#=#=
+crm_resource: Error performing operation: Insufficient privileges
+=#=#=#= End test: l33t-haxor: Query a resource meta attribute - Insufficient privileges (4) =#=#=#=
+* Passed: crm_resource - l33t-haxor: Query a resource meta attribute
+=#=#=#= Begin test: l33t-haxor: Remove a resource meta attribute =#=#=#=
+crm_resource: Error performing operation: Insufficient privileges
+=#=#=#= End test: l33t-haxor: Remove a resource meta attribute - Insufficient privileges (4) =#=#=#=
+* Passed: crm_resource - l33t-haxor: Remove a resource meta attribute
+=#=#=#= Begin test: niceguy: Create a resource meta attribute =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+pcmk__apply_creation_acl trace: Creation of <meta_attributes> scaffolding with id="dummy-meta_attributes" is implicitly allowed
+pcmk__apply_creation_acl trace: ACLs allow creation of <nvpair> with id="dummy-meta_attributes-target-role"
+Set 'dummy' option: id=dummy-meta_attributes-target-role set=dummy-meta_attributes name=target-role value=Stopped
+=#=#=#= Current cib after: niceguy: Create a resource meta attribute =#=#=#=
+<cib epoch="11" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Stopped"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: niceguy: Create a resource meta attribute - OK (0) =#=#=#=
+* Passed: crm_resource - niceguy: Create a resource meta attribute
+=#=#=#= Begin test: niceguy: Query a resource meta attribute =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+Stopped
+=#=#=#= Current cib after: niceguy: Query a resource meta attribute =#=#=#=
+<cib epoch="11" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Stopped"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: niceguy: Query a resource meta attribute - OK (0) =#=#=#=
+* Passed: crm_resource - niceguy: Query a resource meta attribute
+=#=#=#= Begin test: niceguy: Remove a resource meta attribute =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+Deleted 'dummy' option: id=dummy-meta_attributes-target-role name=target-role
+=#=#=#= Current cib after: niceguy: Remove a resource meta attribute =#=#=#=
+<cib epoch="12" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ </primitive>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: niceguy: Remove a resource meta attribute - OK (0) =#=#=#=
+* Passed: crm_resource - niceguy: Remove a resource meta attribute
+=#=#=#= Begin test: niceguy: Create a resource meta attribute =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+pcmk__apply_creation_acl trace: ACLs allow creation of <nvpair> with id="dummy-meta_attributes-target-role"
+Set 'dummy' option: id=dummy-meta_attributes-target-role set=dummy-meta_attributes name=target-role value=Started
+=#=#=#= Current cib after: niceguy: Create a resource meta attribute =#=#=#=
+<cib epoch="13" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: niceguy: Create a resource meta attribute - OK (0) =#=#=#=
+* Passed: crm_resource - niceguy: Create a resource meta attribute
+=#=#=#= Begin test: badidea: Query configuration - implied deny =#=#=#=
+<cib>
+ <configuration>
+ <resources>
+ <primitive id="dummy">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ </configuration>
+</cib>
+=#=#=#= End test: badidea: Query configuration - implied deny - OK (0) =#=#=#=
+* Passed: cibadmin - badidea: Query configuration - implied deny
+=#=#=#= Begin test: betteridea: Query configuration - explicit deny =#=#=#=
+<cib>
+ <configuration>
+ <resources>
+ <primitive id="dummy">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ </configuration>
+</cib>
+=#=#=#= End test: betteridea: Query configuration - explicit deny - OK (0) =#=#=#=
+* Passed: cibadmin - betteridea: Query configuration - explicit deny
+<cib epoch="14" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: niceguy: Replace - remove acls =#=#=#=
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib[@epoch]
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib/configuration/acls
+Call failed: Permission denied
+=#=#=#= End test: niceguy: Replace - remove acls - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - niceguy: Replace - remove acls
+<cib epoch="14" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </primitive>
+ <primitive id="dummy2" class="ocf" provider="pacemaker" type="Dummy"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: niceguy: Replace - create resource =#=#=#=
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib[@epoch]
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib/configuration/resources/primitive[@id='dummy2']
+pcmk__apply_creation_acl trace: ACLs disallow creation of <primitive> with id="dummy2"
+Call failed: Permission denied
+=#=#=#= End test: niceguy: Replace - create resource - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - niceguy: Replace - create resource
+<cib epoch="14" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="false"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: niceguy: Replace - modify attribute (deny) =#=#=#=
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib[@epoch]
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib/configuration/crm_config/cluster_property_set[@id='cib-bootstrap-options']/nvpair[@id='cib-bootstrap-options-enable-acl'][@value]
+Call failed: Permission denied
+=#=#=#= End test: niceguy: Replace - modify attribute (deny) - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - niceguy: Replace - modify attribute (deny)
+<cib epoch="14" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: niceguy: Replace - delete attribute (deny) =#=#=#=
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib[@epoch]
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib/configuration/crm_config/cluster_property_set[@id='cib-bootstrap-options']/nvpair[@id='cib-bootstrap-options-enable-acl']
+Call failed: Permission denied
+=#=#=#= End test: niceguy: Replace - delete attribute (deny) - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - niceguy: Replace - delete attribute (deny)
+<cib epoch="14" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="nothing interesting">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: niceguy: Replace - create attribute (deny) =#=#=#=
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib[@epoch]
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib/configuration/resources/primitive[@id='dummy'][@description]
+Call failed: Permission denied
+=#=#=#= End test: niceguy: Replace - create attribute (deny) - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - niceguy: Replace - create attribute (deny)
+<cib epoch="14" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="nothing interesting">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: bob: Replace - create attribute (direct allow) =#=#=#=
+=#=#=#= End test: bob: Replace - create attribute (direct allow) - OK (0) =#=#=#=
+* Passed: cibadmin - bob: Replace - create attribute (direct allow)
+<cib epoch="15" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="something interesting">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: bob: Replace - modify attribute (direct allow) =#=#=#=
+=#=#=#= End test: bob: Replace - modify attribute (direct allow) - OK (0) =#=#=#=
+* Passed: cibadmin - bob: Replace - modify attribute (direct allow)
+<cib epoch="16" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: bob: Replace - delete attribute (direct allow) =#=#=#=
+=#=#=#= End test: bob: Replace - delete attribute (direct allow) - OK (0) =#=#=#=
+* Passed: cibadmin - bob: Replace - delete attribute (direct allow)
+<cib epoch="17" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="nothing interesting"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: joe: Replace - create attribute (inherited allow) =#=#=#=
+=#=#=#= End test: joe: Replace - create attribute (inherited allow) - OK (0) =#=#=#=
+* Passed: cibadmin - joe: Replace - create attribute (inherited allow)
+<cib epoch="18" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="something interesting"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: joe: Replace - modify attribute (inherited allow) =#=#=#=
+=#=#=#= End test: joe: Replace - modify attribute (inherited allow) - OK (0) =#=#=#=
+* Passed: cibadmin - joe: Replace - modify attribute (inherited allow)
+<cib epoch="19" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: joe: Replace - delete attribute (inherited allow) =#=#=#=
+=#=#=#= End test: joe: Replace - delete attribute (inherited allow) - OK (0) =#=#=#=
+* Passed: cibadmin - joe: Replace - delete attribute (inherited allow)
+<cib epoch="20" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="nothing interesting"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: mike: Replace - create attribute (allow overrides deny) =#=#=#=
+=#=#=#= End test: mike: Replace - create attribute (allow overrides deny) - OK (0) =#=#=#=
+* Passed: cibadmin - mike: Replace - create attribute (allow overrides deny)
+<cib epoch="21" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="something interesting"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: mike: Replace - modify attribute (allow overrides deny) =#=#=#=
+=#=#=#= End test: mike: Replace - modify attribute (allow overrides deny) - OK (0) =#=#=#=
+* Passed: cibadmin - mike: Replace - modify attribute (allow overrides deny)
+<cib epoch="22" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: mike: Replace - delete attribute (allow overrides deny) =#=#=#=
+=#=#=#= End test: mike: Replace - delete attribute (allow overrides deny) - OK (0) =#=#=#=
+* Passed: cibadmin - mike: Replace - delete attribute (allow overrides deny)
+<cib epoch="23" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="nothing interesting"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: chris: Replace - create attribute (deny overrides allow) =#=#=#=
+pcmk__check_acl trace: Parent ACL denies user 'chris' read/write access to /cib/configuration/resources/primitive[@id='dummy'][@description]
+Call failed: Permission denied
+=#=#=#= End test: chris: Replace - create attribute (deny overrides allow) - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - chris: Replace - create attribute (deny overrides allow)
+<cib epoch="24" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="something interesting"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: chris: Replace - modify attribute (deny overrides allow) =#=#=#=
+pcmk__check_acl trace: Parent ACL denies user 'chris' read/write access to /cib/configuration/resources/primitive[@id='dummy'][@description]
+Call failed: Permission denied
+=#=#=#= End test: chris: Replace - modify attribute (deny overrides allow) - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - chris: Replace - modify attribute (deny overrides allow)
+<cib epoch="25" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_user id="l33t-haxor">
+ <deny id="crook-nothing" xpath="/cib"/>
+ </acl_user>
+ <acl_user id="niceguy">
+ <role_ref id="observer"/>
+ </acl_user>
+ <acl_user id="bob">
+ <role_ref id="admin"/>
+ </acl_user>
+ <acl_user id="joe">
+ <role_ref id="super_user"/>
+ </acl_user>
+ <acl_user id="mike">
+ <role_ref id="rsc_writer"/>
+ </acl_user>
+ <acl_user id="chris">
+ <role_ref id="rsc_denied"/>
+ </acl_user>
+ <acl_role id="observer">
+ <read id="observer-read-1" xpath="/cib"/>
+ <write id="observer-write-1" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <write id="observer-write-2" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <read id="admin-read-1" xpath="/cib"/>
+ <write id="admin-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <write id="super_user-write-1" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <deny id="rsc-writer-deny-1" xpath="/cib"/>
+ <write id="rsc-writer-write-1" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <write id="rsc-denied-write-1" xpath="/cib"/>
+ <deny id="rsc-denied-deny-1" xpath="//resources"/>
+ </acl_role>
+ <acl_user id="badidea">
+ <read id="badidea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ <acl_user id="betteridea">
+ <deny id="betteridea-nothing" xpath="/cib"/>
+ <read id="betteridea-resources" xpath="//meta_attributes"/>
+ </acl_user>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: chris: Replace - delete attribute (deny overrides allow) =#=#=#=
+pcmk__check_acl trace: Parent ACL denies user 'chris' read/write access to /cib/configuration/resources/primitive[@id='dummy']
+Call failed: Permission denied
+=#=#=#= End test: chris: Replace - delete attribute (deny overrides allow) - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - chris: Replace - delete attribute (deny overrides allow)
+
+
+ !#!#!#!#! Upgrading to latest CIB schema and re-testing !#!#!#!#!
+=#=#=#= Begin test: root: Upgrade to latest CIB schema =#=#=#=
+=#=#=#= Current cib after: root: Upgrade to latest CIB schema =#=#=#=
+<cib epoch="2" num_updates="0" admin_epoch="1">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="something interesting"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: root: Upgrade to latest CIB schema - OK (0) =#=#=#=
+* Passed: cibadmin - root: Upgrade to latest CIB schema
+=#=#=#= Begin test: unknownguy: Query configuration =#=#=#=
+Call failed: Permission denied
+=#=#=#= End test: unknownguy: Query configuration - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - unknownguy: Query configuration
+=#=#=#= Begin test: unknownguy: Set enable-acl =#=#=#=
+crm_attribute: Error performing operation: Permission denied
+=#=#=#= End test: unknownguy: Set enable-acl - Insufficient privileges (4) =#=#=#=
+* Passed: crm_attribute - unknownguy: Set enable-acl
+=#=#=#= Begin test: unknownguy: Set stonith-enabled =#=#=#=
+crm_attribute: Error performing operation: Permission denied
+=#=#=#= End test: unknownguy: Set stonith-enabled - Insufficient privileges (4) =#=#=#=
+* Passed: crm_attribute - unknownguy: Set stonith-enabled
+=#=#=#= Begin test: unknownguy: Create a resource =#=#=#=
+pcmk__check_acl trace: User 'unknownguy' without ACLs denied read/write access to /cib/configuration/resources/primitive[@id]
+pcmk__apply_creation_acl trace: Creation of <primitive> scaffolding with id="<unset>" is implicitly allowed
+Call failed: Permission denied
+<failed>
+ <failed_update id="dummy" object_type="primitive" operation="cib_create" reason="Permission denied">
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>
+ </failed_update>
+</failed>
+=#=#=#= End test: unknownguy: Create a resource - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - unknownguy: Create a resource
+=#=#=#= Begin test: l33t-haxor: Query configuration =#=#=#=
+Call failed: Permission denied
+=#=#=#= End test: l33t-haxor: Query configuration - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - l33t-haxor: Query configuration
+=#=#=#= Begin test: l33t-haxor: Set enable-acl =#=#=#=
+crm_attribute: Error performing operation: Permission denied
+=#=#=#= End test: l33t-haxor: Set enable-acl - Insufficient privileges (4) =#=#=#=
+* Passed: crm_attribute - l33t-haxor: Set enable-acl
+=#=#=#= Begin test: l33t-haxor: Set stonith-enabled =#=#=#=
+crm_attribute: Error performing operation: Permission denied
+=#=#=#= End test: l33t-haxor: Set stonith-enabled - Insufficient privileges (4) =#=#=#=
+* Passed: crm_attribute - l33t-haxor: Set stonith-enabled
+=#=#=#= Begin test: l33t-haxor: Create a resource =#=#=#=
+pcmk__check_acl trace: Parent ACL denies user 'l33t-haxor' read/write access to /cib/configuration/resources/primitive[@id='dummy']
+pcmk__apply_creation_acl trace: ACLs disallow creation of <primitive> with id="dummy"
+Call failed: Permission denied
+=#=#=#= End test: l33t-haxor: Create a resource - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - l33t-haxor: Create a resource
+=#=#=#= Begin test: niceguy: Query configuration =#=#=#=
+<cib epoch="2" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: niceguy: Query configuration - OK (0) =#=#=#=
+* Passed: cibadmin - niceguy: Query configuration
+=#=#=#= Begin test: niceguy: Set enable-acl =#=#=#=
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib/configuration/crm_config/cluster_property_set[@id='cib-bootstrap-options']/nvpair[@id='cib-bootstrap-options-enable-acl'][@value]
+Error setting enable-acl=false (section=crm_config, set=<null>): Permission denied
+crm_attribute: Error performing operation: Permission denied
+=#=#=#= End test: niceguy: Set enable-acl - Insufficient privileges (4) =#=#=#=
+* Passed: crm_attribute - niceguy: Set enable-acl
+=#=#=#= Begin test: niceguy: Set stonith-enabled =#=#=#=
+=#=#=#= Current cib after: niceguy: Set stonith-enabled =#=#=#=
+<cib epoch="3" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: niceguy: Set stonith-enabled - OK (0) =#=#=#=
+* Passed: crm_attribute - niceguy: Set stonith-enabled
+=#=#=#= Begin test: niceguy: Create a resource =#=#=#=
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib/configuration/resources/primitive[@id='dummy']
+pcmk__apply_creation_acl trace: ACLs disallow creation of <primitive> with id="dummy"
+Call failed: Permission denied
+=#=#=#= End test: niceguy: Create a resource - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - niceguy: Create a resource
+=#=#=#= Begin test: root: Query configuration =#=#=#=
+<cib epoch="3" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: root: Query configuration - OK (0) =#=#=#=
+* Passed: cibadmin - root: Query configuration
+=#=#=#= Begin test: root: Set stonith-enabled =#=#=#=
+=#=#=#= Current cib after: root: Set stonith-enabled =#=#=#=
+<cib epoch="4" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: root: Set stonith-enabled - OK (0) =#=#=#=
+* Passed: crm_attribute - root: Set stonith-enabled
+=#=#=#= Begin test: root: Create a resource =#=#=#=
+=#=#=#= Current cib after: root: Create a resource =#=#=#=
+<cib epoch="5" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: root: Create a resource - OK (0) =#=#=#=
+* Passed: cibadmin - root: Create a resource
+=#=#=#= Begin test: l33t-haxor: Create a resource meta attribute =#=#=#=
+crm_resource: Error performing operation: Insufficient privileges
+=#=#=#= End test: l33t-haxor: Create a resource meta attribute - Insufficient privileges (4) =#=#=#=
+* Passed: crm_resource - l33t-haxor: Create a resource meta attribute
+=#=#=#= Begin test: l33t-haxor: Query a resource meta attribute =#=#=#=
+crm_resource: Error performing operation: Insufficient privileges
+=#=#=#= End test: l33t-haxor: Query a resource meta attribute - Insufficient privileges (4) =#=#=#=
+* Passed: crm_resource - l33t-haxor: Query a resource meta attribute
+=#=#=#= Begin test: l33t-haxor: Remove a resource meta attribute =#=#=#=
+crm_resource: Error performing operation: Insufficient privileges
+=#=#=#= End test: l33t-haxor: Remove a resource meta attribute - Insufficient privileges (4) =#=#=#=
+* Passed: crm_resource - l33t-haxor: Remove a resource meta attribute
+=#=#=#= Begin test: niceguy: Create a resource meta attribute =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+pcmk__apply_creation_acl trace: Creation of <meta_attributes> scaffolding with id="dummy-meta_attributes" is implicitly allowed
+pcmk__apply_creation_acl trace: ACLs allow creation of <nvpair> with id="dummy-meta_attributes-target-role"
+Set 'dummy' option: id=dummy-meta_attributes-target-role set=dummy-meta_attributes name=target-role value=Stopped
+=#=#=#= Current cib after: niceguy: Create a resource meta attribute =#=#=#=
+<cib epoch="6" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Stopped"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: niceguy: Create a resource meta attribute - OK (0) =#=#=#=
+* Passed: crm_resource - niceguy: Create a resource meta attribute
+=#=#=#= Begin test: niceguy: Query a resource meta attribute =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+Stopped
+=#=#=#= Current cib after: niceguy: Query a resource meta attribute =#=#=#=
+<cib epoch="6" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Stopped"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: niceguy: Query a resource meta attribute - OK (0) =#=#=#=
+* Passed: crm_resource - niceguy: Query a resource meta attribute
+=#=#=#= Begin test: niceguy: Remove a resource meta attribute =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+Deleted 'dummy' option: id=dummy-meta_attributes-target-role name=target-role
+=#=#=#= Current cib after: niceguy: Remove a resource meta attribute =#=#=#=
+<cib epoch="7" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ </primitive>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: niceguy: Remove a resource meta attribute - OK (0) =#=#=#=
+* Passed: crm_resource - niceguy: Remove a resource meta attribute
+=#=#=#= Begin test: niceguy: Create a resource meta attribute =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+pcmk__apply_creation_acl trace: ACLs allow creation of <nvpair> with id="dummy-meta_attributes-target-role"
+Set 'dummy' option: id=dummy-meta_attributes-target-role set=dummy-meta_attributes name=target-role value=Started
+=#=#=#= Current cib after: niceguy: Create a resource meta attribute =#=#=#=
+<cib epoch="8" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: niceguy: Create a resource meta attribute - OK (0) =#=#=#=
+* Passed: crm_resource - niceguy: Create a resource meta attribute
+=#=#=#= Begin test: badidea: Query configuration - implied deny =#=#=#=
+<cib>
+ <configuration>
+ <resources>
+ <primitive id="dummy">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ </configuration>
+</cib>
+=#=#=#= End test: badidea: Query configuration - implied deny - OK (0) =#=#=#=
+* Passed: cibadmin - badidea: Query configuration - implied deny
+=#=#=#= Begin test: betteridea: Query configuration - explicit deny =#=#=#=
+<cib>
+ <configuration>
+ <resources>
+ <primitive id="dummy">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ </configuration>
+</cib>
+=#=#=#= End test: betteridea: Query configuration - explicit deny - OK (0) =#=#=#=
+* Passed: cibadmin - betteridea: Query configuration - explicit deny
+<cib epoch="9" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: niceguy: Replace - remove acls =#=#=#=
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib[@epoch]
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib/configuration/acls
+Call failed: Permission denied
+=#=#=#= End test: niceguy: Replace - remove acls - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - niceguy: Replace - remove acls
+<cib epoch="9" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </primitive>
+ <primitive id="dummy2" class="ocf" provider="pacemaker" type="Dummy"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: niceguy: Replace - create resource =#=#=#=
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib[@epoch]
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib/configuration/resources/primitive[@id='dummy2']
+pcmk__apply_creation_acl trace: ACLs disallow creation of <primitive> with id="dummy2"
+Call failed: Permission denied
+=#=#=#= End test: niceguy: Replace - create resource - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - niceguy: Replace - create resource
+<cib epoch="9" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="false"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: niceguy: Replace - modify attribute (deny) =#=#=#=
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib[@epoch]
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib/configuration/crm_config/cluster_property_set[@id='cib-bootstrap-options']/nvpair[@id='cib-bootstrap-options-enable-acl'][@value]
+Call failed: Permission denied
+=#=#=#= End test: niceguy: Replace - modify attribute (deny) - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - niceguy: Replace - modify attribute (deny)
+<cib epoch="9" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: niceguy: Replace - delete attribute (deny) =#=#=#=
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib[@epoch]
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib/configuration/crm_config/cluster_property_set[@id='cib-bootstrap-options']/nvpair[@id='cib-bootstrap-options-enable-acl']
+Call failed: Permission denied
+=#=#=#= End test: niceguy: Replace - delete attribute (deny) - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - niceguy: Replace - delete attribute (deny)
+<cib epoch="9" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="nothing interesting">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: niceguy: Replace - create attribute (deny) =#=#=#=
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib[@epoch]
+pcmk__check_acl trace: Default ACL denies user 'niceguy' read/write access to /cib/configuration/resources/primitive[@id='dummy'][@description]
+Call failed: Permission denied
+=#=#=#= End test: niceguy: Replace - create attribute (deny) - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - niceguy: Replace - create attribute (deny)
+<cib epoch="9" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="nothing interesting">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: bob: Replace - create attribute (direct allow) =#=#=#=
+=#=#=#= End test: bob: Replace - create attribute (direct allow) - OK (0) =#=#=#=
+* Passed: cibadmin - bob: Replace - create attribute (direct allow)
+<cib epoch="10" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="something interesting">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: bob: Replace - modify attribute (direct allow) =#=#=#=
+=#=#=#= End test: bob: Replace - modify attribute (direct allow) - OK (0) =#=#=#=
+* Passed: cibadmin - bob: Replace - modify attribute (direct allow)
+<cib epoch="11" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: bob: Replace - delete attribute (direct allow) =#=#=#=
+=#=#=#= End test: bob: Replace - delete attribute (direct allow) - OK (0) =#=#=#=
+* Passed: cibadmin - bob: Replace - delete attribute (direct allow)
+<cib epoch="12" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="nothing interesting"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: joe: Replace - create attribute (inherited allow) =#=#=#=
+=#=#=#= End test: joe: Replace - create attribute (inherited allow) - OK (0) =#=#=#=
+* Passed: cibadmin - joe: Replace - create attribute (inherited allow)
+<cib epoch="13" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="something interesting"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: joe: Replace - modify attribute (inherited allow) =#=#=#=
+=#=#=#= End test: joe: Replace - modify attribute (inherited allow) - OK (0) =#=#=#=
+* Passed: cibadmin - joe: Replace - modify attribute (inherited allow)
+<cib epoch="14" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: joe: Replace - delete attribute (inherited allow) =#=#=#=
+=#=#=#= End test: joe: Replace - delete attribute (inherited allow) - OK (0) =#=#=#=
+* Passed: cibadmin - joe: Replace - delete attribute (inherited allow)
+<cib epoch="15" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="nothing interesting"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: mike: Replace - create attribute (allow overrides deny) =#=#=#=
+=#=#=#= End test: mike: Replace - create attribute (allow overrides deny) - OK (0) =#=#=#=
+* Passed: cibadmin - mike: Replace - create attribute (allow overrides deny)
+<cib epoch="16" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="something interesting"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: mike: Replace - modify attribute (allow overrides deny) =#=#=#=
+=#=#=#= End test: mike: Replace - modify attribute (allow overrides deny) - OK (0) =#=#=#=
+* Passed: cibadmin - mike: Replace - modify attribute (allow overrides deny)
+<cib epoch="17" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: mike: Replace - delete attribute (allow overrides deny) =#=#=#=
+=#=#=#= End test: mike: Replace - delete attribute (allow overrides deny) - OK (0) =#=#=#=
+* Passed: cibadmin - mike: Replace - delete attribute (allow overrides deny)
+<cib epoch="18" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="nothing interesting"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: chris: Replace - create attribute (deny overrides allow) =#=#=#=
+pcmk__check_acl trace: Parent ACL denies user 'chris' read/write access to /cib/configuration/resources/primitive[@id='dummy'][@description]
+Call failed: Permission denied
+=#=#=#= End test: chris: Replace - create attribute (deny overrides allow) - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - chris: Replace - create attribute (deny overrides allow)
+<cib epoch="19" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="something interesting"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: chris: Replace - modify attribute (deny overrides allow) =#=#=#=
+pcmk__check_acl trace: Parent ACL denies user 'chris' read/write access to /cib/configuration/resources/primitive[@id='dummy'][@description]
+Call failed: Permission denied
+=#=#=#= End test: chris: Replace - modify attribute (deny overrides allow) - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - chris: Replace - modify attribute (deny overrides allow)
+<cib epoch="20" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-enable-acl" name="enable-acl" value="true"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>
+ </resources>
+ <constraints/>
+ <acls>
+ <acl_target id="l33t-haxor">
+ <role id="auto-l33t-haxor"/>
+ </acl_target>
+ <acl_role id="auto-l33t-haxor">
+ <acl_permission id="crook-nothing" kind="deny" xpath="/cib"/>
+ </acl_role>
+ <acl_target id="niceguy">
+ <role id="observer"/>
+ </acl_target>
+ <acl_target id="bob">
+ <role id="admin"/>
+ </acl_target>
+ <acl_target id="joe">
+ <role id="super_user"/>
+ </acl_target>
+ <acl_target id="mike">
+ <role id="rsc_writer"/>
+ </acl_target>
+ <acl_target id="chris">
+ <role id="rsc_denied"/>
+ </acl_target>
+ <acl_role id="observer">
+ <acl_permission id="observer-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="observer-write-1" kind="write" xpath="//nvpair[@name=&apos;stonith-enabled&apos;]"/>
+ <acl_permission id="observer-write-2" kind="write" xpath="//nvpair[@name=&apos;target-role&apos;]"/>
+ </acl_role>
+ <acl_role id="admin">
+ <acl_permission id="admin-read-1" kind="read" xpath="/cib"/>
+ <acl_permission id="admin-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="super_user">
+ <acl_permission id="super_user-write-1" kind="write" xpath="/cib"/>
+ </acl_role>
+ <acl_role id="rsc_writer">
+ <acl_permission id="rsc-writer-deny-1" kind="deny" xpath="/cib"/>
+ <acl_permission id="rsc-writer-write-1" kind="write" xpath="//resources"/>
+ </acl_role>
+ <acl_role id="rsc_denied">
+ <acl_permission id="rsc-denied-write-1" kind="write" xpath="/cib"/>
+ <acl_permission id="rsc-denied-deny-1" kind="deny" xpath="//resources"/>
+ </acl_role>
+ <acl_target id="badidea">
+ <role id="auto-badidea"/>
+ </acl_target>
+ <acl_role id="auto-badidea">
+ <acl_permission id="badidea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ <acl_target id="betteridea">
+ <role id="auto-betteridea"/>
+ </acl_target>
+ <acl_role id="auto-betteridea">
+ <acl_permission id="betteridea-nothing" kind="deny" xpath="/cib"/>
+ <acl_permission id="betteridea-resources" kind="read" xpath="//meta_attributes"/>
+ </acl_role>
+ </acls>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Begin test: chris: Replace - delete attribute (deny overrides allow) =#=#=#=
+pcmk__check_acl trace: Parent ACL denies user 'chris' read/write access to /cib/configuration/resources/primitive[@id='dummy']
+Call failed: Permission denied
+=#=#=#= End test: chris: Replace - delete attribute (deny overrides allow) - Insufficient privileges (4) =#=#=#=
+* Passed: cibadmin - chris: Replace - delete attribute (deny overrides allow)
diff --git a/cts/cli/regression.agents.exp b/cts/cli/regression.agents.exp
new file mode 100644
index 0000000..02f736d
--- /dev/null
+++ b/cts/cli/regression.agents.exp
@@ -0,0 +1,33 @@
+=#=#=#= Begin test: Validate a valid resource configuration =#=#=#=
+Operation validate (ocf:pacemaker:Dummy) returned 0 (ok)
+=#=#=#= End test: Validate a valid resource configuration - OK (0) =#=#=#=
+* Passed: crm_resource - Validate a valid resource configuration
+=#=#=#= Begin test: Validate a valid resource configuration (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource --validate --class ocf --provider pacemaker --agent Dummy --output-as=xml">
+ <resource-agent-action action="validate" class="ocf" type="Dummy" provider="pacemaker">
+ <overrides/>
+ <agent-status code="0" message="ok" execution_code="0" execution_message="complete"/>
+ </resource-agent-action>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Validate a valid resource configuration (XML) - OK (0) =#=#=#=
+* Passed: crm_resource - Validate a valid resource configuration (XML)
+=#=#=#= Begin test: Validate an invalid resource configuration =#=#=#=
+crm_resource: Error performing operation: Not configured
+Operation validate (ocf:pacemaker:Dummy) returned 6 (not configured)
+=#=#=#= End test: Validate an invalid resource configuration - Not configured (6) =#=#=#=
+* Passed: crm_resource - Validate an invalid resource configuration
+=#=#=#= Begin test: Validate an invalid resource configuration (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource --validate --class ocf --provider pacemaker --agent Dummy --output-as=xml">
+ <resource-agent-action action="validate" class="ocf" type="Dummy" provider="pacemaker">
+ <overrides/>
+ <agent-status code="6" message="not configured" execution_code="0" execution_message="complete"/>
+ </resource-agent-action>
+ <status code="6" message="Not configured">
+ <errors>
+ <error>crm_resource: Error performing operation: Not configured</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Validate an invalid resource configuration (XML) - Not configured (6) =#=#=#=
+* Passed: crm_resource - Validate an invalid resource configuration (XML)
diff --git a/cts/cli/regression.crm_mon.exp b/cts/cli/regression.crm_mon.exp
new file mode 100644
index 0000000..c823c36
--- /dev/null
+++ b/cts/cli/regression.crm_mon.exp
@@ -0,0 +1,5039 @@
+=#=#=#= Begin test: Basic text output =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+Active Resources:
+ * Clone Set: ping-clone [ping]:
+ * Started: [ cluster01 cluster02 ]
+ * Fencing (stonith:fence_xvm): Started cluster01
+ * dummy (ocf:pacemaker:Dummy): Started cluster02
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * httpd-bundle-0 (192.168.122.131) (ocf:heartbeat:apache): Started cluster01
+ * httpd-bundle-1 (192.168.122.132) (ocf:heartbeat:apache): Started cluster02
+ * httpd-bundle-2 (192.168.122.133) (ocf:heartbeat:apache): Stopped
+ * Resource Group: exim-group:
+ * Public-IP (ocf:heartbeat:IPaddr): Started cluster02
+ * Email (lsb:exim): Started cluster02
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Started: [ cluster01 cluster02 ]
+ * Clone Set: promotable-clone [promotable-rsc] (promotable):
+ * Promoted: [ cluster02 ]
+ * Unpromoted: [ cluster01 ]
+=#=#=#= End test: Basic text output - OK (0) =#=#=#=
+* Passed: crm_mon - Basic text output
+=#=#=#= Begin test: XML output =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <clone id="ping-clone" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </clone>
+ <resource id="Fencing" resource_agent="stonith:fence_xvm" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="dummy" resource_agent="ocf:pacemaker:Dummy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <clone id="inactive-clone" multi_state="false" unique="false" maintenance="false" managed="true" disabled="true" failed="false" failure_ignored="false" target_role="stopped">
+ <resource id="inactive-dhcpd" resource_agent="lsb:dhcpd" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="inactive-dhcpd" resource_agent="lsb:dhcpd" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </clone>
+ <group id="inactive-group" number_resources="2" maintenance="false" managed="true" disabled="true">
+ <resource id="inactive-dummy-1" resource_agent="ocf:pacemaker:Dummy" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="inactive-dummy-2" resource_agent="ocf:pacemaker:Dummy" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <bundle id="httpd-bundle" type="docker" image="pcmk:http" unique="false" maintenance="false" managed="true" failed="false">
+ <replica id="0">
+ <resource id="httpd-bundle-ip-192.168.122.131" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-0" id="httpd-bundle-0" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-0" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-0" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </replica>
+ <replica id="1">
+ <resource id="httpd-bundle-ip-192.168.122.132" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-1" id="httpd-bundle-1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-1" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-1" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </replica>
+ <replica id="2">
+ <resource id="httpd-bundle-ip-192.168.122.133" resource_agent="ocf:heartbeat:IPaddr2" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd-bundle-docker-2" resource_agent="ocf:heartbeat:docker" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd-bundle-2" resource_agent="ocf:pacemaker:remote" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </replica>
+ </bundle>
+ <group id="exim-group" number_resources="2" maintenance="false" managed="true" disabled="false">
+ <resource id="Public-IP" resource_agent="ocf:heartbeat:IPaddr" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="Email" resource_agent="lsb:exim" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </group>
+ <clone id="mysql-clone-group" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <group id="mysql-group:0" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:1" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:2" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:3" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:4" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ </clone>
+ <clone id="promotable-clone" multi_state="true" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Promoted" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Unpromoted" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </clone>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="11" task="start" rc="0" rc_text="ok" exec-time="2044ms" queue-time="0ms"/>
+ <operation_history call="12" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="2031ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="dummy" orphan="false" migration-threshold="1000000">
+ <operation_history call="18" task="start" rc="0" rc_text="ok" exec-time="6020ms" queue-time="0ms"/>
+ <operation_history call="19" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="6015ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Public-IP" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Email" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="promotable-rsc" orphan="false" migration-threshold="1000000">
+ <operation_history call="4" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="5" task="cancel" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="6" task="promote" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="7" task="monitor" rc="8" rc_text="promoted" interval="5000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-ip-192.168.122.132" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="cluster01">
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="17" task="start" rc="0" rc_text="ok" exec-time="2038ms" queue-time="0ms"/>
+ <operation_history call="18" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="2034ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Fencing" orphan="false" migration-threshold="1000000">
+ <operation_history call="15" task="start" rc="0" rc_text="ok" exec-time="36ms" queue-time="0ms"/>
+ <operation_history call="20" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="dummy" orphan="false" migration-threshold="1000000">
+ <operation_history call="16" task="stop" rc="0" rc_text="ok" exec-time="6048ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="promotable-rsc" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="4" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-ip-192.168.122.131" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-0">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-1">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <bans>
+ <ban id="not-on-cluster1" resource="dummy" node="cluster01" weight="-1000000" promoted-only="false" master_only="false"/>
+ </bans>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output - OK (0) =#=#=#=
+* Passed: crm_mon - XML output
+=#=#=#= Begin test: Basic text output without node section =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Active Resources:
+ * Clone Set: ping-clone [ping]:
+ * Started: [ cluster01 cluster02 ]
+ * Fencing (stonith:fence_xvm): Started cluster01
+ * dummy (ocf:pacemaker:Dummy): Started cluster02
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * httpd-bundle-0 (192.168.122.131) (ocf:heartbeat:apache): Started cluster01
+ * httpd-bundle-1 (192.168.122.132) (ocf:heartbeat:apache): Started cluster02
+ * httpd-bundle-2 (192.168.122.133) (ocf:heartbeat:apache): Stopped
+ * Resource Group: exim-group:
+ * Public-IP (ocf:heartbeat:IPaddr): Started cluster02
+ * Email (lsb:exim): Started cluster02
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Started: [ cluster01 cluster02 ]
+ * Clone Set: promotable-clone [promotable-rsc] (promotable):
+ * Promoted: [ cluster02 ]
+ * Unpromoted: [ cluster01 ]
+=#=#=#= End test: Basic text output without node section - OK (0) =#=#=#=
+* Passed: crm_mon - Basic text output without node section
+=#=#=#= Begin test: XML output without the node section =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml --exclude=nodes">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <resources>
+ <clone id="ping-clone" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </clone>
+ <resource id="Fencing" resource_agent="stonith:fence_xvm" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="dummy" resource_agent="ocf:pacemaker:Dummy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <clone id="inactive-clone" multi_state="false" unique="false" maintenance="false" managed="true" disabled="true" failed="false" failure_ignored="false" target_role="stopped">
+ <resource id="inactive-dhcpd" resource_agent="lsb:dhcpd" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="inactive-dhcpd" resource_agent="lsb:dhcpd" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </clone>
+ <group id="inactive-group" number_resources="2" maintenance="false" managed="true" disabled="true">
+ <resource id="inactive-dummy-1" resource_agent="ocf:pacemaker:Dummy" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="inactive-dummy-2" resource_agent="ocf:pacemaker:Dummy" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <bundle id="httpd-bundle" type="docker" image="pcmk:http" unique="false" maintenance="false" managed="true" failed="false">
+ <replica id="0">
+ <resource id="httpd-bundle-ip-192.168.122.131" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-0" id="httpd-bundle-0" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-0" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-0" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </replica>
+ <replica id="1">
+ <resource id="httpd-bundle-ip-192.168.122.132" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-1" id="httpd-bundle-1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-1" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-1" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </replica>
+ <replica id="2">
+ <resource id="httpd-bundle-ip-192.168.122.133" resource_agent="ocf:heartbeat:IPaddr2" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd-bundle-docker-2" resource_agent="ocf:heartbeat:docker" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd-bundle-2" resource_agent="ocf:pacemaker:remote" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </replica>
+ </bundle>
+ <group id="exim-group" number_resources="2" maintenance="false" managed="true" disabled="false">
+ <resource id="Public-IP" resource_agent="ocf:heartbeat:IPaddr" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="Email" resource_agent="lsb:exim" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </group>
+ <clone id="mysql-clone-group" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <group id="mysql-group:0" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:1" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:2" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:3" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:4" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ </clone>
+ <clone id="promotable-clone" multi_state="true" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Promoted" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Unpromoted" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </clone>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="11" task="start" rc="0" rc_text="ok" exec-time="2044ms" queue-time="0ms"/>
+ <operation_history call="12" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="2031ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="dummy" orphan="false" migration-threshold="1000000">
+ <operation_history call="18" task="start" rc="0" rc_text="ok" exec-time="6020ms" queue-time="0ms"/>
+ <operation_history call="19" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="6015ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Public-IP" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Email" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="promotable-rsc" orphan="false" migration-threshold="1000000">
+ <operation_history call="4" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="5" task="cancel" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="6" task="promote" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="7" task="monitor" rc="8" rc_text="promoted" interval="5000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-ip-192.168.122.132" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="cluster01">
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="17" task="start" rc="0" rc_text="ok" exec-time="2038ms" queue-time="0ms"/>
+ <operation_history call="18" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="2034ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Fencing" orphan="false" migration-threshold="1000000">
+ <operation_history call="15" task="start" rc="0" rc_text="ok" exec-time="36ms" queue-time="0ms"/>
+ <operation_history call="20" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="dummy" orphan="false" migration-threshold="1000000">
+ <operation_history call="16" task="stop" rc="0" rc_text="ok" exec-time="6048ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="promotable-rsc" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="4" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-ip-192.168.122.131" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-0">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-1">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <bans>
+ <ban id="not-on-cluster1" resource="dummy" node="cluster01" weight="-1000000" promoted-only="false" master_only="false"/>
+ </bans>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output without the node section - OK (0) =#=#=#=
+* Passed: crm_mon - XML output without the node section
+=#=#=#= Begin test: Text output with only the node section =#=#=#=
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+=#=#=#= End test: Text output with only the node section - OK (0) =#=#=#=
+* Passed: crm_mon - Text output with only the node section
+=#=#=#= Begin test: Complete text output =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+Active Resources:
+ * Clone Set: ping-clone [ping]:
+ * Started: [ cluster01 cluster02 ]
+ * Fencing (stonith:fence_xvm): Started cluster01
+ * dummy (ocf:pacemaker:Dummy): Started cluster02
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * httpd-bundle-0 (192.168.122.131) (ocf:heartbeat:apache): Started cluster01
+ * httpd-bundle-1 (192.168.122.132) (ocf:heartbeat:apache): Started cluster02
+ * httpd-bundle-2 (192.168.122.133) (ocf:heartbeat:apache): Stopped
+ * Resource Group: exim-group:
+ * Public-IP (ocf:heartbeat:IPaddr): Started cluster02
+ * Email (lsb:exim): Started cluster02
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Started: [ cluster01 cluster02 ]
+ * Clone Set: promotable-clone [promotable-rsc] (promotable):
+ * Promoted: [ cluster02 ]
+ * Unpromoted: [ cluster01 ]
+
+Node Attributes:
+ * Node: cluster01:
+ * location : office
+ * pingd : 1000
+ * Node: cluster02:
+ * pingd : 1000
+
+Operations:
+ * Node: cluster02:
+ * ping: migration-threshold=1000000:
+ * (11) start
+ * (12) monitor: interval="10000ms"
+ * dummy: migration-threshold=1000000:
+ * (18) start
+ * (19) monitor: interval="60000ms"
+ * Public-IP: migration-threshold=1000000:
+ * (2) start
+ * Email: migration-threshold=1000000:
+ * (2) start
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+ * promotable-rsc: migration-threshold=1000000:
+ * (4) monitor: interval="10000ms"
+ * (5) cancel: interval="10000ms"
+ * (6) promote
+ * (7) monitor: interval="5000ms"
+ * httpd-bundle-ip-192.168.122.132: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-docker-1: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-1: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="30000ms"
+ * Node: cluster01:
+ * ping: migration-threshold=1000000:
+ * (17) start
+ * (18) monitor: interval="10000ms"
+ * Fencing: migration-threshold=1000000:
+ * (15) start
+ * (20) monitor: interval="60000ms"
+ * dummy: migration-threshold=1000000:
+ * (16) stop
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+ * promotable-rsc: migration-threshold=1000000:
+ * (2) start
+ * (4) monitor: interval="10000ms"
+ * httpd-bundle-ip-192.168.122.131: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-docker-0: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-0: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="30000ms"
+ * Node: httpd-bundle-0:
+ * httpd: migration-threshold=1000000:
+ * (1) start
+ * Node: httpd-bundle-1:
+ * httpd: migration-threshold=1000000:
+ * (1) start
+
+Negative Location Constraints:
+ * not-on-cluster1 prevents dummy from running on cluster01
+=#=#=#= End test: Complete text output - OK (0) =#=#=#=
+* Passed: crm_mon - Complete text output
+=#=#=#= Begin test: Complete text output with detail =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (2) (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Node cluster01 (1): online, feature set <3.15.1
+ * Node cluster02 (2): online, feature set <3.15.1
+ * GuestNode httpd-bundle-0@cluster01: online
+ * GuestNode httpd-bundle-1@cluster02: online
+ * GuestNode httpd-bundle-2@: OFFLINE
+
+Active Resources:
+ * Clone Set: ping-clone [ping]:
+ * ping (ocf:pacemaker:ping): Started cluster02
+ * ping (ocf:pacemaker:ping): Started cluster01
+ * Fencing (stonith:fence_xvm): Started cluster01
+ * dummy (ocf:pacemaker:Dummy): Started cluster02
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * Replica[0]
+ * httpd-bundle-ip-192.168.122.131 (ocf:heartbeat:IPaddr2): Started cluster01
+ * httpd (ocf:heartbeat:apache): Started httpd-bundle-0
+ * httpd-bundle-docker-0 (ocf:heartbeat:docker): Started cluster01
+ * httpd-bundle-0 (ocf:pacemaker:remote): Started cluster01
+ * Replica[1]
+ * httpd-bundle-ip-192.168.122.132 (ocf:heartbeat:IPaddr2): Started cluster02
+ * httpd (ocf:heartbeat:apache): Started httpd-bundle-1
+ * httpd-bundle-docker-1 (ocf:heartbeat:docker): Started cluster02
+ * httpd-bundle-1 (ocf:pacemaker:remote): Started cluster02
+ * Replica[2]
+ * httpd-bundle-ip-192.168.122.133 (ocf:heartbeat:IPaddr2): Stopped
+ * httpd (ocf:heartbeat:apache): Stopped
+ * httpd-bundle-docker-2 (ocf:heartbeat:docker): Stopped
+ * httpd-bundle-2 (ocf:pacemaker:remote): Stopped
+ * Resource Group: exim-group:
+ * Public-IP (ocf:heartbeat:IPaddr): Started cluster02
+ * Email (lsb:exim): Started cluster02
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Resource Group: mysql-group:0:
+ * mysql-proxy (lsb:mysql-proxy): Started cluster02
+ * Resource Group: mysql-group:1:
+ * mysql-proxy (lsb:mysql-proxy): Started cluster01
+ * Clone Set: promotable-clone [promotable-rsc] (promotable):
+ * promotable-rsc (ocf:pacemaker:Stateful): Promoted cluster02 (test_description)
+ * promotable-rsc (ocf:pacemaker:Stateful): Unpromoted cluster01 (test_description)
+ * promotable-rsc (ocf:pacemaker:Stateful): Stopped (test_description)
+ * promotable-rsc (ocf:pacemaker:Stateful): Stopped (test_description)
+ * promotable-rsc (ocf:pacemaker:Stateful): Stopped (test_description)
+
+Node Attributes:
+ * Node: cluster01 (1):
+ * location : office
+ * pingd : 1000
+ * Node: cluster02 (2):
+ * pingd : 1000
+
+Operations:
+ * Node: cluster02 (2):
+ * ping: migration-threshold=1000000:
+ * (11) start
+ * (12) monitor: interval="10000ms"
+ * dummy: migration-threshold=1000000:
+ * (18) start
+ * (19) monitor: interval="60000ms"
+ * Public-IP: migration-threshold=1000000:
+ * (2) start
+ * Email: migration-threshold=1000000:
+ * (2) start
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+ * promotable-rsc: migration-threshold=1000000:
+ * (4) monitor: interval="10000ms"
+ * (5) cancel: interval="10000ms"
+ * (6) promote
+ * (7) monitor: interval="5000ms"
+ * httpd-bundle-ip-192.168.122.132: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-docker-1: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-1: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="30000ms"
+ * Node: cluster01 (1):
+ * ping: migration-threshold=1000000:
+ * (17) start
+ * (18) monitor: interval="10000ms"
+ * Fencing: migration-threshold=1000000:
+ * (15) start
+ * (20) monitor: interval="60000ms"
+ * dummy: migration-threshold=1000000:
+ * (16) stop
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+ * promotable-rsc: migration-threshold=1000000:
+ * (2) start
+ * (4) monitor: interval="10000ms"
+ * httpd-bundle-ip-192.168.122.131: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-docker-0: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-0: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="30000ms"
+ * Node: httpd-bundle-0@cluster01:
+ * httpd: migration-threshold=1000000:
+ * (1) start
+ * Node: httpd-bundle-1@cluster02:
+ * httpd: migration-threshold=1000000:
+ * (1) start
+
+Negative Location Constraints:
+ * not-on-cluster1 prevents dummy from running on cluster01 (1)
+=#=#=#= End test: Complete text output with detail - OK (0) =#=#=#=
+* Passed: crm_mon - Complete text output with detail
+=#=#=#= Begin test: Complete brief text output =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+Active Resources:
+ * 1 (ocf:pacemaker:Dummy): Active cluster02
+ * 1 (stonith:fence_xvm): Active cluster01
+ * Clone Set: ping-clone [ping]:
+ * Started: [ cluster01 cluster02 ]
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * httpd-bundle-0 (192.168.122.131) (ocf:heartbeat:apache): Started cluster01
+ * httpd-bundle-1 (192.168.122.132) (ocf:heartbeat:apache): Started cluster02
+ * httpd-bundle-2 (192.168.122.133) (ocf:heartbeat:apache): Stopped
+ * Resource Group: exim-group:
+ * 1/1 (lsb:exim): Active cluster02
+ * 1/1 (ocf:heartbeat:IPaddr): Active cluster02
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Started: [ cluster01 cluster02 ]
+ * Clone Set: promotable-clone [promotable-rsc] (promotable):
+ * Promoted: [ cluster02 ]
+ * Unpromoted: [ cluster01 ]
+
+Node Attributes:
+ * Node: cluster01:
+ * location : office
+ * pingd : 1000
+ * Node: cluster02:
+ * pingd : 1000
+
+Operations:
+ * Node: cluster02:
+ * ping: migration-threshold=1000000:
+ * (11) start
+ * (12) monitor: interval="10000ms"
+ * dummy: migration-threshold=1000000:
+ * (18) start
+ * (19) monitor: interval="60000ms"
+ * Public-IP: migration-threshold=1000000:
+ * (2) start
+ * Email: migration-threshold=1000000:
+ * (2) start
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+ * promotable-rsc: migration-threshold=1000000:
+ * (4) monitor: interval="10000ms"
+ * (5) cancel: interval="10000ms"
+ * (6) promote
+ * (7) monitor: interval="5000ms"
+ * httpd-bundle-ip-192.168.122.132: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-docker-1: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-1: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="30000ms"
+ * Node: cluster01:
+ * ping: migration-threshold=1000000:
+ * (17) start
+ * (18) monitor: interval="10000ms"
+ * Fencing: migration-threshold=1000000:
+ * (15) start
+ * (20) monitor: interval="60000ms"
+ * dummy: migration-threshold=1000000:
+ * (16) stop
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+ * promotable-rsc: migration-threshold=1000000:
+ * (2) start
+ * (4) monitor: interval="10000ms"
+ * httpd-bundle-ip-192.168.122.131: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-docker-0: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-0: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="30000ms"
+ * Node: httpd-bundle-0:
+ * httpd: migration-threshold=1000000:
+ * (1) start
+ * Node: httpd-bundle-1:
+ * httpd: migration-threshold=1000000:
+ * (1) start
+
+Negative Location Constraints:
+ * not-on-cluster1 prevents dummy from running on cluster01
+=#=#=#= End test: Complete brief text output - OK (0) =#=#=#=
+* Passed: crm_mon - Complete brief text output
+=#=#=#= Begin test: Complete text output grouped by node =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Node cluster01: online:
+ * Resources:
+ * ping (ocf:pacemaker:ping): Started
+ * Fencing (stonith:fence_xvm): Started
+ * mysql-proxy (lsb:mysql-proxy): Started
+ * promotable-rsc (ocf:pacemaker:Stateful): Unpromoted (test_description)
+ * httpd-bundle-ip-192.168.122.131 (ocf:heartbeat:IPaddr2): Started
+ * httpd-bundle-docker-0 (ocf:heartbeat:docker): Started
+ * Node cluster02: online:
+ * Resources:
+ * ping (ocf:pacemaker:ping): Started
+ * dummy (ocf:pacemaker:Dummy): Started
+ * Public-IP (ocf:heartbeat:IPaddr): Started
+ * Email (lsb:exim): Started
+ * mysql-proxy (lsb:mysql-proxy): Started
+ * promotable-rsc (ocf:pacemaker:Stateful): Promoted (test_description)
+ * httpd-bundle-ip-192.168.122.132 (ocf:heartbeat:IPaddr2): Started
+ * httpd-bundle-docker-1 (ocf:heartbeat:docker): Started
+ * GuestNode httpd-bundle-0: online:
+ * Resources:
+ * httpd (ocf:heartbeat:apache): Started
+ * GuestNode httpd-bundle-1: online:
+ * Resources:
+ * httpd (ocf:heartbeat:apache): Started
+ * GuestNode httpd-bundle-2: OFFLINE:
+ * Resources:
+
+Node Attributes:
+ * Node: cluster01:
+ * location : office
+ * pingd : 1000
+ * Node: cluster02:
+ * pingd : 1000
+
+Operations:
+ * Node: cluster02:
+ * ping: migration-threshold=1000000:
+ * (11) start
+ * (12) monitor: interval="10000ms"
+ * dummy: migration-threshold=1000000:
+ * (18) start
+ * (19) monitor: interval="60000ms"
+ * Public-IP: migration-threshold=1000000:
+ * (2) start
+ * Email: migration-threshold=1000000:
+ * (2) start
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+ * promotable-rsc: migration-threshold=1000000:
+ * (4) monitor: interval="10000ms"
+ * (5) cancel: interval="10000ms"
+ * (6) promote
+ * (7) monitor: interval="5000ms"
+ * httpd-bundle-ip-192.168.122.132: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-docker-1: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-1: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="30000ms"
+ * Node: cluster01:
+ * ping: migration-threshold=1000000:
+ * (17) start
+ * (18) monitor: interval="10000ms"
+ * Fencing: migration-threshold=1000000:
+ * (15) start
+ * (20) monitor: interval="60000ms"
+ * dummy: migration-threshold=1000000:
+ * (16) stop
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+ * promotable-rsc: migration-threshold=1000000:
+ * (2) start
+ * (4) monitor: interval="10000ms"
+ * httpd-bundle-ip-192.168.122.131: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-docker-0: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-0: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="30000ms"
+ * Node: httpd-bundle-0:
+ * httpd: migration-threshold=1000000:
+ * (1) start
+ * Node: httpd-bundle-1:
+ * httpd: migration-threshold=1000000:
+ * (1) start
+
+Negative Location Constraints:
+ * not-on-cluster1 prevents dummy from running on cluster01
+=#=#=#= End test: Complete text output grouped by node - OK (0) =#=#=#=
+* Passed: crm_mon - Complete text output grouped by node
+=#=#=#= Begin test: Complete brief text output grouped by node =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Node cluster01: online:
+ * Resources:
+ * 1 (lsb:mysql-proxy): Active
+ * 1 (ocf:heartbeat:IPaddr2): Active
+ * 1 (ocf:heartbeat:docker): Active
+ * 1 (ocf:pacemaker:Stateful): Active
+ * 1 (ocf:pacemaker:ping): Active
+ * 1 (ocf:pacemaker:remote): Active
+ * 1 (stonith:fence_xvm): Active
+ * Node cluster02: online:
+ * Resources:
+ * 1 (lsb:exim): Active
+ * 1 (lsb:mysql-proxy): Active
+ * 1 (ocf:heartbeat:IPaddr): Active
+ * 1 (ocf:heartbeat:IPaddr2): Active
+ * 1 (ocf:heartbeat:docker): Active
+ * 1 (ocf:pacemaker:Dummy): Active
+ * 1 (ocf:pacemaker:Stateful): Active
+ * 1 (ocf:pacemaker:ping): Active
+ * 1 (ocf:pacemaker:remote): Active
+ * GuestNode httpd-bundle-0: online:
+ * Resources:
+ * 1 (ocf:heartbeat:apache): Active
+ * GuestNode httpd-bundle-1: online:
+ * Resources:
+ * 1 (ocf:heartbeat:apache): Active
+
+Node Attributes:
+ * Node: cluster01:
+ * location : office
+ * pingd : 1000
+ * Node: cluster02:
+ * pingd : 1000
+
+Operations:
+ * Node: cluster02:
+ * ping: migration-threshold=1000000:
+ * (11) start
+ * (12) monitor: interval="10000ms"
+ * dummy: migration-threshold=1000000:
+ * (18) start
+ * (19) monitor: interval="60000ms"
+ * Public-IP: migration-threshold=1000000:
+ * (2) start
+ * Email: migration-threshold=1000000:
+ * (2) start
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+ * promotable-rsc: migration-threshold=1000000:
+ * (4) monitor: interval="10000ms"
+ * (5) cancel: interval="10000ms"
+ * (6) promote
+ * (7) monitor: interval="5000ms"
+ * httpd-bundle-ip-192.168.122.132: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-docker-1: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-1: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="30000ms"
+ * Node: cluster01:
+ * ping: migration-threshold=1000000:
+ * (17) start
+ * (18) monitor: interval="10000ms"
+ * Fencing: migration-threshold=1000000:
+ * (15) start
+ * (20) monitor: interval="60000ms"
+ * dummy: migration-threshold=1000000:
+ * (16) stop
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+ * promotable-rsc: migration-threshold=1000000:
+ * (2) start
+ * (4) monitor: interval="10000ms"
+ * httpd-bundle-ip-192.168.122.131: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-docker-0: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-0: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="30000ms"
+ * Node: httpd-bundle-0:
+ * httpd: migration-threshold=1000000:
+ * (1) start
+ * Node: httpd-bundle-1:
+ * httpd: migration-threshold=1000000:
+ * (1) start
+
+Negative Location Constraints:
+ * not-on-cluster1 prevents dummy from running on cluster01
+=#=#=#= End test: Complete brief text output grouped by node - OK (0) =#=#=#=
+* Passed: crm_mon - Complete brief text output grouped by node
+=#=#=#= Begin test: XML output grouped by node =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon -1 --output-as=xml --group-by-node">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member">
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="Fencing" resource_agent="stonith:fence_xvm" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Unpromoted" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1" description="test_description">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-ip-192.168.122.131" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-0" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-0" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </node>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member">
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="dummy" resource_agent="ocf:pacemaker:Dummy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="Public-IP" resource_agent="ocf:heartbeat:IPaddr" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="Email" resource_agent="lsb:exim" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Promoted" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1" description="test_description">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-ip-192.168.122.132" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-1" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-1" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </node>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0">
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-0" id="httpd-bundle-0" cached="true"/>
+ </resource>
+ </node>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1">
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-1" id="httpd-bundle-1" cached="true"/>
+ </resource>
+ </node>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <clone id="inactive-clone" multi_state="false" unique="false" maintenance="false" managed="true" disabled="true" failed="false" failure_ignored="false" target_role="stopped">
+ <resource id="inactive-dhcpd" resource_agent="lsb:dhcpd" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="inactive-dhcpd" resource_agent="lsb:dhcpd" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </clone>
+ <group id="inactive-group" number_resources="2" maintenance="false" managed="true" disabled="true">
+ <resource id="inactive-dummy-1" resource_agent="ocf:pacemaker:Dummy" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="inactive-dummy-2" resource_agent="ocf:pacemaker:Dummy" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <bundle id="httpd-bundle" type="docker" image="pcmk:http" unique="false" maintenance="false" managed="true" failed="false">
+ <replica id="0">
+ <resource id="httpd-bundle-ip-192.168.122.131" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-0" id="httpd-bundle-0" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-0" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-0" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </replica>
+ <replica id="1">
+ <resource id="httpd-bundle-ip-192.168.122.132" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-1" id="httpd-bundle-1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-1" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-1" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </replica>
+ <replica id="2">
+ <resource id="httpd-bundle-ip-192.168.122.133" resource_agent="ocf:heartbeat:IPaddr2" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd-bundle-docker-2" resource_agent="ocf:heartbeat:docker" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd-bundle-2" resource_agent="ocf:pacemaker:remote" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </replica>
+ </bundle>
+ <clone id="mysql-clone-group" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <group id="mysql-group:0" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:1" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:2" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:3" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:4" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ </clone>
+ <clone id="promotable-clone" multi_state="true" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Promoted" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Unpromoted" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </clone>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="11" task="start" rc="0" rc_text="ok" exec-time="2044ms" queue-time="0ms"/>
+ <operation_history call="12" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="2031ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="dummy" orphan="false" migration-threshold="1000000">
+ <operation_history call="18" task="start" rc="0" rc_text="ok" exec-time="6020ms" queue-time="0ms"/>
+ <operation_history call="19" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="6015ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Public-IP" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Email" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="promotable-rsc" orphan="false" migration-threshold="1000000">
+ <operation_history call="4" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="5" task="cancel" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="6" task="promote" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="7" task="monitor" rc="8" rc_text="promoted" interval="5000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-ip-192.168.122.132" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="cluster01">
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="17" task="start" rc="0" rc_text="ok" exec-time="2038ms" queue-time="0ms"/>
+ <operation_history call="18" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="2034ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Fencing" orphan="false" migration-threshold="1000000">
+ <operation_history call="15" task="start" rc="0" rc_text="ok" exec-time="36ms" queue-time="0ms"/>
+ <operation_history call="20" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="dummy" orphan="false" migration-threshold="1000000">
+ <operation_history call="16" task="stop" rc="0" rc_text="ok" exec-time="6048ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="promotable-rsc" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="4" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-ip-192.168.122.131" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-0">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-1">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <bans>
+ <ban id="not-on-cluster1" resource="dummy" node="cluster01" weight="-1000000" promoted-only="false" master_only="false"/>
+ </bans>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output grouped by node - OK (0) =#=#=#=
+* Passed: crm_mon - XML output grouped by node
+=#=#=#= Begin test: Complete text output filtered by node =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Online: [ cluster01 ]
+
+Active Resources:
+ * Clone Set: ping-clone [ping]:
+ * Started: [ cluster01 ]
+ * Fencing (stonith:fence_xvm): Started cluster01
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * httpd-bundle-0 (192.168.122.131) (ocf:heartbeat:apache): Started cluster01
+ * httpd-bundle-2 (192.168.122.133) (ocf:heartbeat:apache): Stopped
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Started: [ cluster01 ]
+ * Clone Set: promotable-clone [promotable-rsc] (promotable):
+ * Unpromoted: [ cluster01 ]
+
+Node Attributes:
+ * Node: cluster01:
+ * location : office
+ * pingd : 1000
+
+Operations:
+ * Node: cluster01:
+ * ping: migration-threshold=1000000:
+ * (17) start
+ * (18) monitor: interval="10000ms"
+ * Fencing: migration-threshold=1000000:
+ * (15) start
+ * (20) monitor: interval="60000ms"
+ * dummy: migration-threshold=1000000:
+ * (16) stop
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+ * promotable-rsc: migration-threshold=1000000:
+ * (2) start
+ * (4) monitor: interval="10000ms"
+ * httpd-bundle-ip-192.168.122.131: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-docker-0: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-0: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="30000ms"
+
+Negative Location Constraints:
+ * not-on-cluster1 prevents dummy from running on cluster01
+=#=#=#= End test: Complete text output filtered by node - OK (0) =#=#=#=
+* Passed: crm_mon - Complete text output filtered by node
+=#=#=#= Begin test: XML output filtered by node =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as xml --include=all --node=cluster01">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ </nodes>
+ <resources>
+ <clone id="ping-clone" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </clone>
+ <resource id="Fencing" resource_agent="stonith:fence_xvm" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <clone id="inactive-clone" multi_state="false" unique="false" maintenance="false" managed="true" disabled="true" failed="false" failure_ignored="false" target_role="stopped">
+ <resource id="inactive-dhcpd" resource_agent="lsb:dhcpd" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="inactive-dhcpd" resource_agent="lsb:dhcpd" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </clone>
+ <group id="inactive-group" number_resources="2" maintenance="false" managed="true" disabled="true">
+ <resource id="inactive-dummy-1" resource_agent="ocf:pacemaker:Dummy" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="inactive-dummy-2" resource_agent="ocf:pacemaker:Dummy" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <bundle id="httpd-bundle" type="docker" image="pcmk:http" unique="false" maintenance="false" managed="true" failed="false">
+ <replica id="0">
+ <resource id="httpd-bundle-ip-192.168.122.131" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-0" id="httpd-bundle-0" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-0" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-0" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </replica>
+ <replica id="2">
+ <resource id="httpd-bundle-ip-192.168.122.133" resource_agent="ocf:heartbeat:IPaddr2" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd-bundle-docker-2" resource_agent="ocf:heartbeat:docker" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd-bundle-2" resource_agent="ocf:pacemaker:remote" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </replica>
+ </bundle>
+ <clone id="mysql-clone-group" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <group id="mysql-group:1" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:2" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:3" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:4" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ </clone>
+ <clone id="promotable-clone" multi_state="true" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Unpromoted" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </clone>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster01">
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="17" task="start" rc="0" rc_text="ok" exec-time="2038ms" queue-time="0ms"/>
+ <operation_history call="18" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="2034ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Fencing" orphan="false" migration-threshold="1000000">
+ <operation_history call="15" task="start" rc="0" rc_text="ok" exec-time="36ms" queue-time="0ms"/>
+ <operation_history call="20" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="dummy" orphan="false" migration-threshold="1000000">
+ <operation_history call="16" task="stop" rc="0" rc_text="ok" exec-time="6048ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="promotable-rsc" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="4" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-ip-192.168.122.131" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <bans>
+ <ban id="not-on-cluster1" resource="dummy" node="cluster01" weight="-1000000" promoted-only="false" master_only="false"/>
+ </bans>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output filtered by node - OK (0) =#=#=#=
+* Passed: crm_mon - XML output filtered by node
+=#=#=#= Begin test: Complete text output filtered by tag =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Online: [ cluster02 ]
+
+Active Resources:
+ * Clone Set: ping-clone [ping]:
+ * Started: [ cluster02 ]
+ * dummy (ocf:pacemaker:Dummy): Started cluster02
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * httpd-bundle-1 (192.168.122.132) (ocf:heartbeat:apache): Started cluster02
+ * httpd-bundle-2 (192.168.122.133) (ocf:heartbeat:apache): Stopped
+ * Resource Group: exim-group:
+ * Public-IP (ocf:heartbeat:IPaddr): Started cluster02
+ * Email (lsb:exim): Started cluster02
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Started: [ cluster02 ]
+ * Clone Set: promotable-clone [promotable-rsc] (promotable):
+ * Promoted: [ cluster02 ]
+
+Node Attributes:
+ * Node: cluster02:
+ * pingd : 1000
+
+Operations:
+ * Node: cluster02:
+ * ping: migration-threshold=1000000:
+ * (11) start
+ * (12) monitor: interval="10000ms"
+ * dummy: migration-threshold=1000000:
+ * (18) start
+ * (19) monitor: interval="60000ms"
+ * Public-IP: migration-threshold=1000000:
+ * (2) start
+ * Email: migration-threshold=1000000:
+ * (2) start
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+ * promotable-rsc: migration-threshold=1000000:
+ * (4) monitor: interval="10000ms"
+ * (5) cancel: interval="10000ms"
+ * (6) promote
+ * (7) monitor: interval="5000ms"
+ * httpd-bundle-ip-192.168.122.132: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-docker-1: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-1: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="30000ms"
+
+Negative Location Constraints:
+ * not-on-cluster1 prevents dummy from running on cluster01
+=#=#=#= End test: Complete text output filtered by tag - OK (0) =#=#=#=
+* Passed: crm_mon - Complete text output filtered by tag
+=#=#=#= Begin test: XML output filtered by tag =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml --include=all --node=even-nodes">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ </nodes>
+ <resources>
+ <clone id="ping-clone" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </clone>
+ <resource id="dummy" resource_agent="ocf:pacemaker:Dummy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <clone id="inactive-clone" multi_state="false" unique="false" maintenance="false" managed="true" disabled="true" failed="false" failure_ignored="false" target_role="stopped">
+ <resource id="inactive-dhcpd" resource_agent="lsb:dhcpd" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="inactive-dhcpd" resource_agent="lsb:dhcpd" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </clone>
+ <group id="inactive-group" number_resources="2" maintenance="false" managed="true" disabled="true">
+ <resource id="inactive-dummy-1" resource_agent="ocf:pacemaker:Dummy" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="inactive-dummy-2" resource_agent="ocf:pacemaker:Dummy" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <bundle id="httpd-bundle" type="docker" image="pcmk:http" unique="false" maintenance="false" managed="true" failed="false">
+ <replica id="1">
+ <resource id="httpd-bundle-ip-192.168.122.132" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-1" id="httpd-bundle-1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-1" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-1" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </replica>
+ <replica id="2">
+ <resource id="httpd-bundle-ip-192.168.122.133" resource_agent="ocf:heartbeat:IPaddr2" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd-bundle-docker-2" resource_agent="ocf:heartbeat:docker" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd-bundle-2" resource_agent="ocf:pacemaker:remote" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </replica>
+ </bundle>
+ <group id="exim-group" number_resources="2" maintenance="false" managed="true" disabled="false">
+ <resource id="Public-IP" resource_agent="ocf:heartbeat:IPaddr" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="Email" resource_agent="lsb:exim" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </group>
+ <clone id="mysql-clone-group" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <group id="mysql-group:0" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:2" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:3" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:4" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ </clone>
+ <clone id="promotable-clone" multi_state="true" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Promoted" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </clone>
+ </resources>
+ <node_attributes>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="11" task="start" rc="0" rc_text="ok" exec-time="2044ms" queue-time="0ms"/>
+ <operation_history call="12" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="2031ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="dummy" orphan="false" migration-threshold="1000000">
+ <operation_history call="18" task="start" rc="0" rc_text="ok" exec-time="6020ms" queue-time="0ms"/>
+ <operation_history call="19" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="6015ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Public-IP" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Email" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="promotable-rsc" orphan="false" migration-threshold="1000000">
+ <operation_history call="4" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="5" task="cancel" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="6" task="promote" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="7" task="monitor" rc="8" rc_text="promoted" interval="5000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-ip-192.168.122.132" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <bans>
+ <ban id="not-on-cluster1" resource="dummy" node="cluster01" weight="-1000000" promoted-only="false" master_only="false"/>
+ </bans>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output filtered by tag - OK (0) =#=#=#=
+* Passed: crm_mon - XML output filtered by tag
+=#=#=#= Begin test: Complete text output filtered by resource tag =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+Active Resources:
+ * Fencing (stonith:fence_xvm): Started cluster01
+
+Node Attributes:
+ * Node: cluster01:
+ * location : office
+ * pingd : 1000
+ * Node: cluster02:
+ * pingd : 1000
+
+Operations:
+ * Node: cluster01:
+ * Fencing: migration-threshold=1000000:
+ * (15) start
+ * (20) monitor: interval="60000ms"
+=#=#=#= End test: Complete text output filtered by resource tag - OK (0) =#=#=#=
+* Passed: crm_mon - Complete text output filtered by resource tag
+=#=#=#= Begin test: XML output filtered by resource tag =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml --include=all --resource=fencing-rscs">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <resource id="Fencing" resource_agent="stonith:fence_xvm" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster01">
+ <resource_history id="Fencing" orphan="false" migration-threshold="1000000">
+ <operation_history call="15" task="start" rc="0" rc_text="ok" exec-time="36ms" queue-time="0ms"/>
+ <operation_history call="20" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output filtered by resource tag - OK (0) =#=#=#=
+* Passed: crm_mon - XML output filtered by resource tag
+=#=#=#= Begin test: Basic text output filtered by node that doesn't exist =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Active Resources:
+ * No active resources
+=#=#=#= End test: Basic text output filtered by node that doesn't exist - OK (0) =#=#=#=
+* Passed: crm_mon - Basic text output filtered by node that doesn't exist
+=#=#=#= Begin test: XML output filtered by node that doesn't exist =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml --node=blah">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes/>
+ <resources>
+ <clone id="inactive-clone" multi_state="false" unique="false" maintenance="false" managed="true" disabled="true" failed="false" failure_ignored="false" target_role="stopped">
+ <resource id="inactive-dhcpd" resource_agent="lsb:dhcpd" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="inactive-dhcpd" resource_agent="lsb:dhcpd" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </clone>
+ <group id="inactive-group" number_resources="2" maintenance="false" managed="true" disabled="true">
+ <resource id="inactive-dummy-1" resource_agent="ocf:pacemaker:Dummy" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="inactive-dummy-2" resource_agent="ocf:pacemaker:Dummy" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ </resources>
+ <bans>
+ <ban id="not-on-cluster1" resource="dummy" node="cluster01" weight="-1000000" promoted-only="false" master_only="false"/>
+ </bans>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output filtered by node that doesn't exist - OK (0) =#=#=#=
+* Passed: crm_mon - XML output filtered by node that doesn't exist
+=#=#=#= Begin test: Basic text output with inactive resources =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+Full List of Resources:
+ * Clone Set: ping-clone [ping]:
+ * Started: [ cluster01 cluster02 ]
+ * Fencing (stonith:fence_xvm): Started cluster01
+ * dummy (ocf:pacemaker:Dummy): Started cluster02
+ * Clone Set: inactive-clone [inactive-dhcpd] (disabled):
+ * Stopped (disabled): [ cluster01 cluster02 ]
+ * Resource Group: inactive-group (disabled):
+ * inactive-dummy-1 (ocf:pacemaker:Dummy): Stopped (disabled)
+ * inactive-dummy-2 (ocf:pacemaker:Dummy): Stopped (disabled)
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * httpd-bundle-0 (192.168.122.131) (ocf:heartbeat:apache): Started cluster01
+ * httpd-bundle-1 (192.168.122.132) (ocf:heartbeat:apache): Started cluster02
+ * httpd-bundle-2 (192.168.122.133) (ocf:heartbeat:apache): Stopped
+ * Resource Group: exim-group:
+ * Public-IP (ocf:heartbeat:IPaddr): Started cluster02
+ * Email (lsb:exim): Started cluster02
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Started: [ cluster01 cluster02 ]
+ * Clone Set: promotable-clone [promotable-rsc] (promotable):
+ * Promoted: [ cluster02 ]
+ * Unpromoted: [ cluster01 ]
+=#=#=#= End test: Basic text output with inactive resources - OK (0) =#=#=#=
+* Passed: crm_mon - Basic text output with inactive resources
+=#=#=#= Begin test: Basic text output with inactive resources, filtered by node =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Online: [ cluster02 ]
+
+Full List of Resources:
+ * Clone Set: ping-clone [ping]:
+ * Started: [ cluster02 ]
+ * dummy (ocf:pacemaker:Dummy): Started cluster02
+ * Clone Set: inactive-clone [inactive-dhcpd] (disabled):
+ * Stopped (disabled): [ cluster02 ]
+ * Resource Group: inactive-group (disabled):
+ * inactive-dummy-1 (ocf:pacemaker:Dummy): Stopped (disabled)
+ * inactive-dummy-2 (ocf:pacemaker:Dummy): Stopped (disabled)
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * httpd-bundle-1 (192.168.122.132) (ocf:heartbeat:apache): Started cluster02
+ * httpd-bundle-2 (192.168.122.133) (ocf:heartbeat:apache): Stopped
+ * Resource Group: exim-group:
+ * Public-IP (ocf:heartbeat:IPaddr): Started cluster02
+ * Email (lsb:exim): Started cluster02
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Started: [ cluster02 ]
+ * Clone Set: promotable-clone [promotable-rsc] (promotable):
+ * Promoted: [ cluster02 ]
+=#=#=#= End test: Basic text output with inactive resources, filtered by node - OK (0) =#=#=#=
+* Passed: crm_mon - Basic text output with inactive resources, filtered by node
+=#=#=#= Begin test: Complete text output filtered by primitive resource =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+Active Resources:
+ * Fencing (stonith:fence_xvm): Started cluster01
+
+Node Attributes:
+ * Node: cluster01:
+ * location : office
+ * pingd : 1000
+ * Node: cluster02:
+ * pingd : 1000
+
+Operations:
+ * Node: cluster01:
+ * Fencing: migration-threshold=1000000:
+ * (15) start
+ * (20) monitor: interval="60000ms"
+=#=#=#= End test: Complete text output filtered by primitive resource - OK (0) =#=#=#=
+* Passed: crm_mon - Complete text output filtered by primitive resource
+=#=#=#= Begin test: XML output filtered by primitive resource =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml --resource=Fencing">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <resource id="Fencing" resource_agent="stonith:fence_xvm" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster01">
+ <resource_history id="Fencing" orphan="false" migration-threshold="1000000">
+ <operation_history call="15" task="start" rc="0" rc_text="ok" exec-time="36ms" queue-time="0ms"/>
+ <operation_history call="20" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output filtered by primitive resource - OK (0) =#=#=#=
+* Passed: crm_mon - XML output filtered by primitive resource
+=#=#=#= Begin test: Complete text output filtered by group resource =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+Active Resources:
+ * Resource Group: exim-group:
+ * Public-IP (ocf:heartbeat:IPaddr): Started cluster02
+ * Email (lsb:exim): Started cluster02
+
+Node Attributes:
+ * Node: cluster01:
+ * location : office
+ * pingd : 1000
+ * Node: cluster02:
+ * pingd : 1000
+
+Operations:
+ * Node: cluster02:
+ * Public-IP: migration-threshold=1000000:
+ * (2) start
+ * Email: migration-threshold=1000000:
+ * (2) start
+=#=#=#= End test: Complete text output filtered by group resource - OK (0) =#=#=#=
+* Passed: crm_mon - Complete text output filtered by group resource
+=#=#=#= Begin test: XML output filtered by group resource =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml --resource=exim-group">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <group id="exim-group" number_resources="2" maintenance="false" managed="true" disabled="false">
+ <resource id="Public-IP" resource_agent="ocf:heartbeat:IPaddr" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="Email" resource_agent="lsb:exim" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </group>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="Public-IP" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Email" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output filtered by group resource - OK (0) =#=#=#=
+* Passed: crm_mon - XML output filtered by group resource
+=#=#=#= Begin test: Complete text output filtered by group resource member =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+Active Resources:
+ * Resource Group: exim-group:
+ * Public-IP (ocf:heartbeat:IPaddr): Started cluster02
+
+Node Attributes:
+ * Node: cluster01:
+ * location : office
+ * pingd : 1000
+ * Node: cluster02:
+ * pingd : 1000
+
+Operations:
+ * Node: cluster02:
+ * Public-IP: migration-threshold=1000000:
+ * (2) start
+=#=#=#= End test: Complete text output filtered by group resource member - OK (0) =#=#=#=
+* Passed: crm_mon - Complete text output filtered by group resource member
+=#=#=#= Begin test: XML output filtered by group resource member =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml --resource=Email">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <group id="exim-group" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="Email" resource_agent="lsb:exim" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </group>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="Email" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output filtered by group resource member - OK (0) =#=#=#=
+* Passed: crm_mon - XML output filtered by group resource member
+=#=#=#= Begin test: Complete text output filtered by clone resource =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+Active Resources:
+ * Clone Set: ping-clone [ping]:
+ * Started: [ cluster01 cluster02 ]
+
+Node Attributes:
+ * Node: cluster01:
+ * location : office
+ * pingd : 1000
+ * Node: cluster02:
+ * pingd : 1000
+
+Operations:
+ * Node: cluster02:
+ * ping: migration-threshold=1000000:
+ * (11) start
+ * (12) monitor: interval="10000ms"
+ * Node: cluster01:
+ * ping: migration-threshold=1000000:
+ * (17) start
+ * (18) monitor: interval="10000ms"
+=#=#=#= End test: Complete text output filtered by clone resource - OK (0) =#=#=#=
+* Passed: crm_mon - Complete text output filtered by clone resource
+=#=#=#= Begin test: XML output filtered by clone resource =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml --resource=ping-clone">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <clone id="ping-clone" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </clone>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="11" task="start" rc="0" rc_text="ok" exec-time="2044ms" queue-time="0ms"/>
+ <operation_history call="12" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="2031ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="cluster01">
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="17" task="start" rc="0" rc_text="ok" exec-time="2038ms" queue-time="0ms"/>
+ <operation_history call="18" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="2034ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output filtered by clone resource - OK (0) =#=#=#=
+* Passed: crm_mon - XML output filtered by clone resource
+=#=#=#= Begin test: Complete text output filtered by clone resource instance =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+Active Resources:
+ * Clone Set: ping-clone [ping]:
+ * Started: [ cluster01 cluster02 ]
+
+Node Attributes:
+ * Node: cluster01:
+ * location : office
+ * pingd : 1000
+ * Node: cluster02:
+ * pingd : 1000
+
+Operations:
+ * Node: cluster02:
+ * ping: migration-threshold=1000000:
+ * (11) start
+ * (12) monitor: interval="10000ms"
+ * Node: cluster01:
+ * ping: migration-threshold=1000000:
+ * (17) start
+ * (18) monitor: interval="10000ms"
+=#=#=#= End test: Complete text output filtered by clone resource instance - OK (0) =#=#=#=
+* Passed: crm_mon - Complete text output filtered by clone resource instance
+=#=#=#= Begin test: XML output filtered by clone resource instance =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml --resource=ping">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <clone id="ping-clone" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </clone>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="11" task="start" rc="0" rc_text="ok" exec-time="2044ms" queue-time="0ms"/>
+ <operation_history call="12" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="2031ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="cluster01">
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="17" task="start" rc="0" rc_text="ok" exec-time="2038ms" queue-time="0ms"/>
+ <operation_history call="18" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="2034ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output filtered by clone resource instance - OK (0) =#=#=#=
+* Passed: crm_mon - XML output filtered by clone resource instance
+=#=#=#= Begin test: Complete text output filtered by exact clone resource instance =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (2) (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Node cluster01 (1): online, feature set <3.15.1
+ * Node cluster02 (2): online, feature set <3.15.1
+ * GuestNode httpd-bundle-0@cluster01: online
+ * GuestNode httpd-bundle-1@cluster02: online
+ * GuestNode httpd-bundle-2@: OFFLINE
+
+Active Resources:
+ * Clone Set: ping-clone [ping]:
+ * ping (ocf:pacemaker:ping): Started cluster02
+
+Node Attributes:
+ * Node: cluster01 (1):
+ * location : office
+ * pingd : 1000
+ * Node: cluster02 (2):
+ * pingd : 1000
+
+Operations:
+ * Node: cluster02 (2):
+ * ping: migration-threshold=1000000:
+ * (11) start
+ * (12) monitor: interval="10000ms"
+ * Node: cluster01 (1):
+ * ping: migration-threshold=1000000:
+ * (17) start
+ * (18) monitor: interval="10000ms"
+=#=#=#= End test: Complete text output filtered by exact clone resource instance - OK (0) =#=#=#=
+* Passed: crm_mon - Complete text output filtered by exact clone resource instance
+=#=#=#= Begin test: XML output filtered by exact clone resource instance =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml --resource=ping:1">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <clone id="ping-clone" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </clone>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="11" task="start" rc="0" rc_text="ok" exec-time="2044ms" queue-time="0ms"/>
+ <operation_history call="12" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="2031ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="cluster01">
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="17" task="start" rc="0" rc_text="ok" exec-time="2038ms" queue-time="0ms"/>
+ <operation_history call="18" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="2034ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output filtered by exact clone resource instance - OK (0) =#=#=#=
+* Passed: crm_mon - XML output filtered by exact clone resource instance
+=#=#=#= Begin test: Basic text output filtered by resource that doesn't exist =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+Active Resources:
+ * No active resources
+=#=#=#= End test: Basic text output filtered by resource that doesn't exist - OK (0) =#=#=#=
+* Passed: crm_mon - Basic text output filtered by resource that doesn't exist
+=#=#=#= Begin test: XML output filtered by resource that doesn't exist =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml --resource=blah">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources/>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output filtered by resource that doesn't exist - OK (0) =#=#=#=
+* Passed: crm_mon - XML output filtered by resource that doesn't exist
+=#=#=#= Begin test: Basic text output with inactive resources, filtered by tag =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+Full List of Resources:
+ * Clone Set: inactive-clone [inactive-dhcpd] (disabled):
+ * Stopped (disabled): [ cluster01 cluster02 ]
+ * Resource Group: inactive-group (disabled):
+ * inactive-dummy-1 (ocf:pacemaker:Dummy): Stopped (disabled)
+ * inactive-dummy-2 (ocf:pacemaker:Dummy): Stopped (disabled)
+=#=#=#= End test: Basic text output with inactive resources, filtered by tag - OK (0) =#=#=#=
+* Passed: crm_mon - Basic text output with inactive resources, filtered by tag
+=#=#=#= Begin test: Basic text output with inactive resources, filtered by bundle resource =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+Full List of Resources:
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * httpd-bundle-0 (192.168.122.131) (ocf:heartbeat:apache): Started cluster01
+ * httpd-bundle-1 (192.168.122.132) (ocf:heartbeat:apache): Started cluster02
+ * httpd-bundle-2 (192.168.122.133) (ocf:heartbeat:apache): Stopped
+=#=#=#= End test: Basic text output with inactive resources, filtered by bundle resource - OK (0) =#=#=#=
+* Passed: crm_mon - Basic text output with inactive resources, filtered by bundle resource
+=#=#=#= Begin test: XML output filtered by inactive bundle resource =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml --resource=httpd-bundle">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <bundle id="httpd-bundle" type="docker" image="pcmk:http" unique="false" maintenance="false" managed="true" failed="false">
+ <replica id="0">
+ <resource id="httpd-bundle-ip-192.168.122.131" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-0" id="httpd-bundle-0" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-0" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-0" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </replica>
+ <replica id="1">
+ <resource id="httpd-bundle-ip-192.168.122.132" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-1" id="httpd-bundle-1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-1" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-1" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </replica>
+ <replica id="2">
+ <resource id="httpd-bundle-ip-192.168.122.133" resource_agent="ocf:heartbeat:IPaddr2" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd-bundle-docker-2" resource_agent="ocf:heartbeat:docker" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd-bundle-2" resource_agent="ocf:pacemaker:remote" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </replica>
+ </bundle>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="httpd-bundle-ip-192.168.122.132" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="cluster01">
+ <resource_history id="httpd-bundle-ip-192.168.122.131" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-0">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-1">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output filtered by inactive bundle resource - OK (0) =#=#=#=
+* Passed: crm_mon - XML output filtered by inactive bundle resource
+=#=#=#= Begin test: Basic text output with inactive resources, filtered by bundled IP address resource =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+Full List of Resources:
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * Replica[0]
+ * httpd-bundle-ip-192.168.122.131 (ocf:heartbeat:IPaddr2): Started cluster01
+=#=#=#= End test: Basic text output with inactive resources, filtered by bundled IP address resource - OK (0) =#=#=#=
+* Passed: crm_mon - Basic text output with inactive resources, filtered by bundled IP address resource
+=#=#=#= Begin test: XML output filtered by bundled IP address resource =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml --resource=httpd-bundle-ip-192.168.122.132">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <bundle id="httpd-bundle" type="docker" image="pcmk:http" unique="false" maintenance="false" managed="true" failed="false">
+ <replica id="1">
+ <resource id="httpd-bundle-ip-192.168.122.132" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </replica>
+ </bundle>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="httpd-bundle-ip-192.168.122.132" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="cluster01">
+ <resource_history id="httpd-bundle-ip-192.168.122.131" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-0">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-1">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output filtered by bundled IP address resource - OK (0) =#=#=#=
+* Passed: crm_mon - XML output filtered by bundled IP address resource
+=#=#=#= Begin test: Basic text output with inactive resources, filtered by bundled container =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+Full List of Resources:
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * Replica[1]
+ * httpd-bundle-docker-1 (ocf:heartbeat:docker): Started cluster02
+=#=#=#= End test: Basic text output with inactive resources, filtered by bundled container - OK (0) =#=#=#=
+* Passed: crm_mon - Basic text output with inactive resources, filtered by bundled container
+=#=#=#= Begin test: XML output filtered by bundled container =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml --resource=httpd-bundle-docker-2">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <bundle id="httpd-bundle" type="docker" image="pcmk:http" unique="false" maintenance="false" managed="true" failed="false">
+ <replica id="2">
+ <resource id="httpd-bundle-docker-2" resource_agent="ocf:heartbeat:docker" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </replica>
+ </bundle>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="httpd-bundle-ip-192.168.122.132" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="cluster01">
+ <resource_history id="httpd-bundle-ip-192.168.122.131" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-0">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-1">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output filtered by bundled container - OK (0) =#=#=#=
+* Passed: crm_mon - XML output filtered by bundled container
+=#=#=#= Begin test: Basic text output with inactive resources, filtered by bundle connection =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+Full List of Resources:
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * Replica[0]
+ * httpd-bundle-0 (ocf:pacemaker:remote): Started cluster01
+=#=#=#= End test: Basic text output with inactive resources, filtered by bundle connection - OK (0) =#=#=#=
+* Passed: crm_mon - Basic text output with inactive resources, filtered by bundle connection
+=#=#=#= Begin test: XML output filtered by bundle connection =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml --resource=httpd-bundle-0">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <bundle id="httpd-bundle" type="docker" image="pcmk:http" unique="false" maintenance="false" managed="true" failed="false">
+ <replica id="0">
+ <resource id="httpd-bundle-0" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </replica>
+ </bundle>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="httpd-bundle-ip-192.168.122.132" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="cluster01">
+ <resource_history id="httpd-bundle-ip-192.168.122.131" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-0">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-1">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output filtered by bundle connection - OK (0) =#=#=#=
+* Passed: crm_mon - XML output filtered by bundle connection
+=#=#=#= Begin test: Basic text output with inactive resources, filtered by bundled primitive resource =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+Full List of Resources:
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * Replica[0]
+ * httpd (ocf:heartbeat:apache): Started httpd-bundle-0
+ * Replica[1]
+ * httpd (ocf:heartbeat:apache): Started httpd-bundle-1
+ * Replica[2]
+ * httpd (ocf:heartbeat:apache): Stopped
+=#=#=#= End test: Basic text output with inactive resources, filtered by bundled primitive resource - OK (0) =#=#=#=
+* Passed: crm_mon - Basic text output with inactive resources, filtered by bundled primitive resource
+=#=#=#= Begin test: XML output filtered by bundled primitive resource =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml --resource=httpd">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <bundle id="httpd-bundle" type="docker" image="pcmk:http" unique="false" maintenance="false" managed="true" failed="false">
+ <replica id="0">
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-0" id="httpd-bundle-0" cached="true"/>
+ </resource>
+ </replica>
+ <replica id="1">
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-1" id="httpd-bundle-1" cached="true"/>
+ </resource>
+ </replica>
+ <replica id="2">
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </replica>
+ </bundle>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="httpd-bundle-ip-192.168.122.132" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="cluster01">
+ <resource_history id="httpd-bundle-ip-192.168.122.131" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-0">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-1">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output filtered by bundled primitive resource - OK (0) =#=#=#=
+* Passed: crm_mon - XML output filtered by bundled primitive resource
+=#=#=#= Begin test: Complete text output, filtered by clone name in cloned group =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (2) (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Node cluster01 (1): online, feature set <3.15.1
+ * Node cluster02 (2): online, feature set <3.15.1
+ * GuestNode httpd-bundle-0@cluster01: online
+ * GuestNode httpd-bundle-1@cluster02: online
+ * GuestNode httpd-bundle-2@: OFFLINE
+
+Active Resources:
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Resource Group: mysql-group:0:
+ * mysql-proxy (lsb:mysql-proxy): Started cluster02
+ * Resource Group: mysql-group:1:
+ * mysql-proxy (lsb:mysql-proxy): Started cluster01
+
+Node Attributes:
+ * Node: cluster01 (1):
+ * location : office
+ * pingd : 1000
+ * Node: cluster02 (2):
+ * pingd : 1000
+
+Operations:
+ * Node: cluster02 (2):
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+ * Node: cluster01 (1):
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+=#=#=#= End test: Complete text output, filtered by clone name in cloned group - OK (0) =#=#=#=
+* Passed: crm_mon - Complete text output, filtered by clone name in cloned group
+=#=#=#= Begin test: XML output, filtered by clone name in cloned group =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml --resource=mysql-clone-group">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <clone id="mysql-clone-group" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <group id="mysql-group:0" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:1" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:2" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:3" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:4" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ </clone>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="cluster01">
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output, filtered by clone name in cloned group - OK (0) =#=#=#=
+* Passed: crm_mon - XML output, filtered by clone name in cloned group
+=#=#=#= Begin test: Complete text output, filtered by group name in cloned group =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (2) (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Node cluster01 (1): online, feature set <3.15.1
+ * Node cluster02 (2): online, feature set <3.15.1
+ * GuestNode httpd-bundle-0@cluster01: online
+ * GuestNode httpd-bundle-1@cluster02: online
+ * GuestNode httpd-bundle-2@: OFFLINE
+
+Active Resources:
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Resource Group: mysql-group:0:
+ * mysql-proxy (lsb:mysql-proxy): Started cluster02
+ * Resource Group: mysql-group:1:
+ * mysql-proxy (lsb:mysql-proxy): Started cluster01
+
+Node Attributes:
+ * Node: cluster01 (1):
+ * location : office
+ * pingd : 1000
+ * Node: cluster02 (2):
+ * pingd : 1000
+
+Operations:
+ * Node: cluster02 (2):
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+ * Node: cluster01 (1):
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+=#=#=#= End test: Complete text output, filtered by group name in cloned group - OK (0) =#=#=#=
+* Passed: crm_mon - Complete text output, filtered by group name in cloned group
+=#=#=#= Begin test: XML output, filtered by group name in cloned group =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml --resource=mysql-group">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <clone id="mysql-clone-group" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <group id="mysql-group:0" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:1" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:2" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:3" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:4" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ </clone>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="cluster01">
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output, filtered by group name in cloned group - OK (0) =#=#=#=
+* Passed: crm_mon - XML output, filtered by group name in cloned group
+=#=#=#= Begin test: Complete text output, filtered by exact group instance name in cloned group =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (2) (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Node cluster01 (1): online, feature set <3.15.1
+ * Node cluster02 (2): online, feature set <3.15.1
+ * GuestNode httpd-bundle-0@cluster01: online
+ * GuestNode httpd-bundle-1@cluster02: online
+ * GuestNode httpd-bundle-2@: OFFLINE
+
+Active Resources:
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Resource Group: mysql-group:1:
+ * mysql-proxy (lsb:mysql-proxy): Started cluster01
+
+Node Attributes:
+ * Node: cluster01 (1):
+ * location : office
+ * pingd : 1000
+ * Node: cluster02 (2):
+ * pingd : 1000
+
+Operations:
+ * Node: cluster02 (2):
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+ * Node: cluster01 (1):
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+=#=#=#= End test: Complete text output, filtered by exact group instance name in cloned group - OK (0) =#=#=#=
+* Passed: crm_mon - Complete text output, filtered by exact group instance name in cloned group
+=#=#=#= Begin test: XML output, filtered by exact group instance name in cloned group =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml --resource=mysql-group:1">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <clone id="mysql-clone-group" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <group id="mysql-group:1" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </group>
+ </clone>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="cluster01">
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output, filtered by exact group instance name in cloned group - OK (0) =#=#=#=
+* Passed: crm_mon - XML output, filtered by exact group instance name in cloned group
+=#=#=#= Begin test: Complete text output, filtered by primitive name in cloned group =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (2) (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Node cluster01 (1): online, feature set <3.15.1
+ * Node cluster02 (2): online, feature set <3.15.1
+ * GuestNode httpd-bundle-0@cluster01: online
+ * GuestNode httpd-bundle-1@cluster02: online
+ * GuestNode httpd-bundle-2@: OFFLINE
+
+Active Resources:
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Resource Group: mysql-group:0:
+ * mysql-proxy (lsb:mysql-proxy): Started cluster02
+ * Resource Group: mysql-group:1:
+ * mysql-proxy (lsb:mysql-proxy): Started cluster01
+
+Node Attributes:
+ * Node: cluster01 (1):
+ * location : office
+ * pingd : 1000
+ * Node: cluster02 (2):
+ * pingd : 1000
+
+Operations:
+ * Node: cluster02 (2):
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+ * Node: cluster01 (1):
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+=#=#=#= End test: Complete text output, filtered by primitive name in cloned group - OK (0) =#=#=#=
+* Passed: crm_mon - Complete text output, filtered by primitive name in cloned group
+=#=#=#= Begin test: XML output, filtered by primitive name in cloned group =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml --resource=mysql-proxy">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <clone id="mysql-clone-group" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <group id="mysql-group:0" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:1" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:2" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:3" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:4" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ </clone>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="cluster01">
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output, filtered by primitive name in cloned group - OK (0) =#=#=#=
+* Passed: crm_mon - XML output, filtered by primitive name in cloned group
+=#=#=#= Begin test: Complete text output, filtered by exact primitive instance name in cloned group =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (2) (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Node cluster01 (1): online, feature set <3.15.1
+ * Node cluster02 (2): online, feature set <3.15.1
+ * GuestNode httpd-bundle-0@cluster01: online
+ * GuestNode httpd-bundle-1@cluster02: online
+ * GuestNode httpd-bundle-2@: OFFLINE
+
+Active Resources:
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Resource Group: mysql-group:1:
+ * mysql-proxy (lsb:mysql-proxy): Started cluster01
+
+Node Attributes:
+ * Node: cluster01 (1):
+ * location : office
+ * pingd : 1000
+ * Node: cluster02 (2):
+ * pingd : 1000
+
+Operations:
+ * Node: cluster02 (2):
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+ * Node: cluster01 (1):
+ * mysql-proxy: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+=#=#=#= End test: Complete text output, filtered by exact primitive instance name in cloned group - OK (0) =#=#=#=
+* Passed: crm_mon - Complete text output, filtered by exact primitive instance name in cloned group
+=#=#=#= Begin test: XML output, filtered by exact primitive instance name in cloned group =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml --resource=mysql-proxy:1">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <clone id="mysql-clone-group" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <group id="mysql-group:1" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </group>
+ </clone>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="cluster01">
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output, filtered by exact primitive instance name in cloned group - OK (0) =#=#=#=
+* Passed: crm_mon - XML output, filtered by exact primitive instance name in cloned group
+=#=#=#= Begin test: Text output of partially active resources =#=#=#=
+unpack_rsc_op error: Preventing dummy-2 from restarting on cluster02 because of hard failure (unimplemented feature) | dummy-2_last_failure_0
+unpack_rsc_op error: Preventing httpd-bundle-clone from restarting on httpd-bundle-1 because of hard failure (invalid parameter) | httpd_last_failure_0
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (2) (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 4 nodes configured
+ * 16 resource instances configured (1 DISABLED)
+
+Node List:
+ * Node cluster01 (1): online, feature set <3.15.1
+ * Node cluster02 (2): online, feature set <3.15.1
+ * GuestNode httpd-bundle-0@cluster02: online
+ * GuestNode httpd-bundle-1@cluster01: online
+
+Active Resources:
+ * Clone Set: ping-clone [ping]:
+ * ping (ocf:pacemaker:ping): Started cluster01
+ * ping (ocf:pacemaker:ping): Stopped (not installed)
+ * Fencing (stonith:fence_xvm): Started cluster01
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * Replica[0]
+ * httpd-bundle-ip-192.168.122.131 (ocf:heartbeat:IPaddr2): Started cluster02
+ * httpd (ocf:heartbeat:apache): Started httpd-bundle-0
+ * httpd-bundle-docker-0 (ocf:heartbeat:docker): Started cluster02
+ * httpd-bundle-0 (ocf:pacemaker:remote): Started cluster02
+ * Replica[1]
+ * httpd-bundle-ip-192.168.122.132 (ocf:heartbeat:IPaddr2): Started cluster01
+ * httpd (ocf:heartbeat:apache): FAILED httpd-bundle-1
+ * httpd-bundle-docker-1 (ocf:heartbeat:docker): Started cluster01
+ * httpd-bundle-1 (ocf:pacemaker:remote): Started cluster01
+ * Resource Group: partially-active-group (2 members inactive):
+ * dummy-1 (ocf:pacemaker:Dummy): Started cluster02
+ * dummy-2 (ocf:pacemaker:Dummy): FAILED cluster02
+
+Failed Resource Actions:
+ * dummy-2_monitor_0 on cluster02 'unimplemented feature' (3): call=2, status='complete', queued=0ms, exec=33ms
+=#=#=#= End test: Text output of partially active resources - OK (0) =#=#=#=
+* Passed: crm_mon - Text output of partially active resources
+=#=#=#= Begin test: XML output of partially active resources =#=#=#=
+unpack_rsc_op error: Preventing dummy-2 from restarting on cluster02 because of hard failure (unimplemented feature) | dummy-2_last_failure_0
+unpack_rsc_op error: Preventing httpd-bundle-clone from restarting on httpd-bundle-1 because of hard failure (invalid parameter) | httpd_last_failure_0
+<pacemaker-result api-version="X" request="crm_mon -1 --output-as=xml">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="4"/>
+ <resources_configured number="16" disabled="1" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="5" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="5" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ </nodes>
+ <resources>
+ <clone id="ping-clone" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </clone>
+ <resource id="Fencing" resource_agent="stonith:fence_xvm" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <bundle id="httpd-bundle" type="docker" image="pcmk:http" unique="false" maintenance="false" managed="true" failed="false">
+ <replica id="0">
+ <resource id="httpd-bundle-ip-192.168.122.131" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-0" id="httpd-bundle-0" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-0" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-0" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </replica>
+ <replica id="1">
+ <resource id="httpd-bundle-ip-192.168.122.132" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="true" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-1" id="httpd-bundle-1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-1" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-1" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </replica>
+ </bundle>
+ <group id="partially-active-group" number_resources="4" maintenance="false" managed="true" disabled="false">
+ <resource id="dummy-1" resource_agent="ocf:pacemaker:Dummy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="dummy-2" resource_agent="ocf:pacemaker:Dummy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="true" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="dummy-3" resource_agent="ocf:pacemaker:Dummy" role="Stopped" target_role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="dummy-4" resource_agent="ocf:pacemaker:Dummy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <resource id="smart-mon" resource_agent="ocf:pacemaker:HealthSMART" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="httpd-bundle-ip-192.168.122.131" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="dummy-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="dummy-2" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="probe" rc="3" rc_text="unimplemented feature" exec-time="33ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="dummy-4" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="probe" rc="5" rc_text="not installed" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="smart-mon" orphan="false" migration-threshold="1000000">
+ <operation_history call="9" task="probe" rc="5" rc_text="not installed" exec-time="33ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="6" task="probe" rc="5" rc_text="not installed" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="cluster01">
+ <resource_history id="Fencing" orphan="false" migration-threshold="1000000">
+ <operation_history call="15" task="start" rc="0" rc_text="ok" exec-time="36ms" queue-time="0ms"/>
+ <operation_history call="20" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-ip-192.168.122.132" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-0">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-1">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="probe" rc="2" rc_text="invalid parameter" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <failures>
+ <failure op_key="dummy-2_monitor_0" node="cluster02" exitstatus="unimplemented feature" exitreason="" exitcode="3" call="2" status="complete" queued="0" exec="33" interval="0" task="monitor"/>
+ </failures>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output of partially active resources - OK (0) =#=#=#=
+* Passed: crm_mon - XML output of partially active resources
+=#=#=#= Begin test: Text output of partially active resources, with inactive resources =#=#=#=
+unpack_rsc_op error: Preventing dummy-2 from restarting on cluster02 because of hard failure (unimplemented feature) | dummy-2_last_failure_0
+unpack_rsc_op error: Preventing httpd-bundle-clone from restarting on httpd-bundle-1 because of hard failure (invalid parameter) | httpd_last_failure_0
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (2) (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 4 nodes configured
+ * 16 resource instances configured (1 DISABLED)
+
+Node List:
+ * Node cluster01 (1): online, feature set <3.15.1
+ * Node cluster02 (2): online, feature set <3.15.1
+ * GuestNode httpd-bundle-0@cluster02: online
+ * GuestNode httpd-bundle-1@cluster01: online
+
+Full List of Resources:
+ * Clone Set: ping-clone [ping]:
+ * ping (ocf:pacemaker:ping): Started cluster01
+ * ping (ocf:pacemaker:ping): Stopped (not installed)
+ * Fencing (stonith:fence_xvm): Started cluster01
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * Replica[0]
+ * httpd-bundle-ip-192.168.122.131 (ocf:heartbeat:IPaddr2): Started cluster02
+ * httpd (ocf:heartbeat:apache): Started httpd-bundle-0
+ * httpd-bundle-docker-0 (ocf:heartbeat:docker): Started cluster02
+ * httpd-bundle-0 (ocf:pacemaker:remote): Started cluster02
+ * Replica[1]
+ * httpd-bundle-ip-192.168.122.132 (ocf:heartbeat:IPaddr2): Started cluster01
+ * httpd (ocf:heartbeat:apache): FAILED httpd-bundle-1
+ * httpd-bundle-docker-1 (ocf:heartbeat:docker): Started cluster01
+ * httpd-bundle-1 (ocf:pacemaker:remote): Started cluster01
+ * Resource Group: partially-active-group:
+ * dummy-1 (ocf:pacemaker:Dummy): Started cluster02
+ * dummy-2 (ocf:pacemaker:Dummy): FAILED cluster02
+ * dummy-3 (ocf:pacemaker:Dummy): Stopped (disabled)
+ * dummy-4 (ocf:pacemaker:Dummy): Stopped (not installed)
+ * smart-mon (ocf:pacemaker:HealthSMART): Stopped (not installed)
+
+Failed Resource Actions:
+ * dummy-2_monitor_0 on cluster02 'unimplemented feature' (3): call=2, status='complete', queued=0ms, exec=33ms
+=#=#=#= End test: Text output of partially active resources, with inactive resources - OK (0) =#=#=#=
+* Passed: crm_mon - Text output of partially active resources, with inactive resources
+=#=#=#= Begin test: Complete brief text output, with inactive resources =#=#=#=
+unpack_rsc_op error: Preventing dummy-2 from restarting on cluster02 because of hard failure (unimplemented feature) | dummy-2_last_failure_0
+unpack_rsc_op error: Preventing httpd-bundle-clone from restarting on httpd-bundle-1 because of hard failure (invalid parameter) | httpd_last_failure_0
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (2) (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 4 nodes configured
+ * 16 resource instances configured (1 DISABLED)
+
+Node List:
+ * Node cluster01 (1): online, feature set <3.15.1
+ * Node cluster02 (2): online, feature set <3.15.1
+ * GuestNode httpd-bundle-0@cluster02: online
+ * GuestNode httpd-bundle-1@cluster01: online
+
+Full List of Resources:
+ * 0/1 (ocf:pacemaker:HealthSMART): Active
+ * 1/1 (stonith:fence_xvm): Active cluster01
+ * Clone Set: ping-clone [ping]:
+ * ping (ocf:pacemaker:ping): Started cluster01
+ * ping (ocf:pacemaker:ping): Stopped (not installed)
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * Replica[0]
+ * httpd-bundle-ip-192.168.122.131 (ocf:heartbeat:IPaddr2): Started cluster02
+ * httpd (ocf:heartbeat:apache): Started httpd-bundle-0
+ * httpd-bundle-docker-0 (ocf:heartbeat:docker): Started cluster02
+ * httpd-bundle-0 (ocf:pacemaker:remote): Started cluster02
+ * Replica[1]
+ * httpd-bundle-ip-192.168.122.132 (ocf:heartbeat:IPaddr2): Started cluster01
+ * httpd (ocf:heartbeat:apache): FAILED httpd-bundle-1
+ * httpd-bundle-docker-1 (ocf:heartbeat:docker): Started cluster01
+ * httpd-bundle-1 (ocf:pacemaker:remote): Started cluster01
+ * Resource Group: partially-active-group:
+ * 2/4 (ocf:pacemaker:Dummy): Active cluster02
+
+Node Attributes:
+ * Node: cluster01 (1):
+ * pingd : 1000
+ * Node: cluster02 (2):
+ * pingd : 1000
+
+Operations:
+ * Node: cluster02 (2):
+ * httpd-bundle-ip-192.168.122.131: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-docker-0: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-0: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="30000ms"
+ * dummy-1: migration-threshold=1000000:
+ * (2) start
+ * dummy-2: migration-threshold=1000000:
+ * (2) probe
+ * dummy-4: migration-threshold=1000000:
+ * (2) probe
+ * smart-mon: migration-threshold=1000000:
+ * (9) probe
+ * ping: migration-threshold=1000000:
+ * (6) probe
+ * Node: cluster01 (1):
+ * Fencing: migration-threshold=1000000:
+ * (15) start
+ * (20) monitor: interval="60000ms"
+ * ping: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+ * httpd-bundle-ip-192.168.122.132: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-docker-1: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-1: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="30000ms"
+ * Node: httpd-bundle-0@cluster02:
+ * httpd: migration-threshold=1000000:
+ * (1) start
+ * Node: httpd-bundle-1@cluster01:
+ * httpd: migration-threshold=1000000:
+ * (1) probe
+
+Failed Resource Actions:
+ * dummy-2_monitor_0 on cluster02 'unimplemented feature' (3): call=2, status='complete', queued=0ms, exec=33ms
+=#=#=#= End test: Complete brief text output, with inactive resources - OK (0) =#=#=#=
+* Passed: crm_mon - Complete brief text output, with inactive resources
+=#=#=#= Begin test: Text output of partially active group =#=#=#=
+unpack_rsc_op error: Preventing dummy-2 from restarting on cluster02 because of hard failure (unimplemented feature) | dummy-2_last_failure_0
+unpack_rsc_op error: Preventing httpd-bundle-clone from restarting on httpd-bundle-1 because of hard failure (invalid parameter) | httpd_last_failure_0
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 4 nodes configured
+ * 16 resource instances configured (1 DISABLED)
+
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+Active Resources:
+ * Resource Group: partially-active-group (2 members inactive):
+ * dummy-1 (ocf:pacemaker:Dummy): Started cluster02
+ * dummy-2 (ocf:pacemaker:Dummy): FAILED cluster02
+=#=#=#= End test: Text output of partially active group - OK (0) =#=#=#=
+* Passed: crm_mon - Text output of partially active group
+=#=#=#= Begin test: Text output of partially active group, with inactive resources =#=#=#=
+unpack_rsc_op error: Preventing dummy-2 from restarting on cluster02 because of hard failure (unimplemented feature) | dummy-2_last_failure_0
+unpack_rsc_op error: Preventing httpd-bundle-clone from restarting on httpd-bundle-1 because of hard failure (invalid parameter) | httpd_last_failure_0
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 4 nodes configured
+ * 16 resource instances configured (1 DISABLED)
+
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+Full List of Resources:
+ * Resource Group: partially-active-group:
+ * dummy-1 (ocf:pacemaker:Dummy): Started cluster02
+ * dummy-2 (ocf:pacemaker:Dummy): FAILED cluster02
+ * dummy-3 (ocf:pacemaker:Dummy): Stopped (disabled)
+ * dummy-4 (ocf:pacemaker:Dummy): Stopped (not installed)
+=#=#=#= End test: Text output of partially active group, with inactive resources - OK (0) =#=#=#=
+* Passed: crm_mon - Text output of partially active group, with inactive resources
+=#=#=#= Begin test: Text output of active member of partially active group =#=#=#=
+unpack_rsc_op error: Preventing dummy-2 from restarting on cluster02 because of hard failure (unimplemented feature) | dummy-2_last_failure_0
+unpack_rsc_op error: Preventing httpd-bundle-clone from restarting on httpd-bundle-1 because of hard failure (invalid parameter) | httpd_last_failure_0
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 4 nodes configured
+ * 16 resource instances configured (1 DISABLED)
+
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+Active Resources:
+ * Resource Group: partially-active-group (2 members inactive):
+ * dummy-1 (ocf:pacemaker:Dummy): Started cluster02
+=#=#=#= End test: Text output of active member of partially active group - OK (0) =#=#=#=
+* Passed: crm_mon - Text output of active member of partially active group
+=#=#=#= Begin test: Text output of inactive member of partially active group =#=#=#=
+unpack_rsc_op error: Preventing dummy-2 from restarting on cluster02 because of hard failure (unimplemented feature) | dummy-2_last_failure_0
+unpack_rsc_op error: Preventing httpd-bundle-clone from restarting on httpd-bundle-1 because of hard failure (invalid parameter) | httpd_last_failure_0
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (2) (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 4 nodes configured
+ * 16 resource instances configured (1 DISABLED)
+
+Node List:
+ * Node cluster01 (1): online, feature set <3.15.1
+ * Node cluster02 (2): online, feature set <3.15.1
+ * GuestNode httpd-bundle-0@cluster02: online
+ * GuestNode httpd-bundle-1@cluster01: online
+
+Active Resources:
+ * Resource Group: partially-active-group (2 members inactive):
+ * dummy-2 (ocf:pacemaker:Dummy): FAILED cluster02
+
+Failed Resource Actions:
+ * dummy-2_monitor_0 on cluster02 'unimplemented feature' (3): call=2, status='complete', queued=0ms, exec=33ms
+=#=#=#= End test: Text output of inactive member of partially active group - OK (0) =#=#=#=
+* Passed: crm_mon - Text output of inactive member of partially active group
+=#=#=#= Begin test: Complete brief text output grouped by node, with inactive resources =#=#=#=
+unpack_rsc_op error: Preventing dummy-2 from restarting on cluster02 because of hard failure (unimplemented feature) | dummy-2_last_failure_0
+unpack_rsc_op error: Preventing httpd-bundle-clone from restarting on httpd-bundle-1 because of hard failure (invalid parameter) | httpd_last_failure_0
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (2) (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 4 nodes configured
+ * 16 resource instances configured (1 DISABLED)
+
+Node List:
+ * Node cluster01 (1): online, feature set <3.15.1:
+ * Resources:
+ * 1 (ocf:heartbeat:IPaddr2): Active
+ * 1 (ocf:heartbeat:docker): Active
+ * 1 (ocf:pacemaker:ping): Active
+ * 1 (ocf:pacemaker:remote): Active
+ * 1 (stonith:fence_xvm): Active
+ * Node cluster02 (2): online, feature set <3.15.1:
+ * Resources:
+ * 1 (ocf:heartbeat:IPaddr2): Active
+ * 1 (ocf:heartbeat:docker): Active
+ * 2 (ocf:pacemaker:Dummy): Active
+ * 1 (ocf:pacemaker:remote): Active
+ * GuestNode httpd-bundle-0@cluster02: online:
+ * Resources:
+ * 1 (ocf:heartbeat:apache): Active
+ * GuestNode httpd-bundle-1@cluster01: online:
+ * Resources:
+ * 1 (ocf:heartbeat:apache): Active
+
+Inactive Resources:
+ * Clone Set: ping-clone [ping]:
+ * ping (ocf:pacemaker:ping): Started cluster01
+ * ping (ocf:pacemaker:ping): Stopped (not installed)
+ * Resource Group: partially-active-group:
+ * 2/4 (ocf:pacemaker:Dummy): Active cluster02
+ * smart-mon (ocf:pacemaker:HealthSMART): Stopped (not installed)
+
+Node Attributes:
+ * Node: cluster01 (1):
+ * pingd : 1000
+ * Node: cluster02 (2):
+ * pingd : 1000
+
+Operations:
+ * Node: cluster02 (2):
+ * httpd-bundle-ip-192.168.122.131: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-docker-0: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-0: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="30000ms"
+ * dummy-1: migration-threshold=1000000:
+ * (2) start
+ * dummy-2: migration-threshold=1000000:
+ * (2) probe
+ * dummy-4: migration-threshold=1000000:
+ * (2) probe
+ * smart-mon: migration-threshold=1000000:
+ * (9) probe
+ * ping: migration-threshold=1000000:
+ * (6) probe
+ * Node: cluster01 (1):
+ * Fencing: migration-threshold=1000000:
+ * (15) start
+ * (20) monitor: interval="60000ms"
+ * ping: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="10000ms"
+ * httpd-bundle-ip-192.168.122.132: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-docker-1: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="60000ms"
+ * httpd-bundle-1: migration-threshold=1000000:
+ * (2) start
+ * (3) monitor: interval="30000ms"
+ * Node: httpd-bundle-0@cluster02:
+ * httpd: migration-threshold=1000000:
+ * (1) start
+ * Node: httpd-bundle-1@cluster01:
+ * httpd: migration-threshold=1000000:
+ * (1) probe
+
+Failed Resource Actions:
+ * dummy-2_monitor_0 on cluster02 'unimplemented feature' (3): call=2, status='complete', queued=0ms, exec=33ms
+=#=#=#= End test: Complete brief text output grouped by node, with inactive resources - OK (0) =#=#=#=
+* Passed: crm_mon - Complete brief text output grouped by node, with inactive resources
+=#=#=#= Begin test: Text output of partially active resources, with inactive resources, filtered by node =#=#=#=
+unpack_rsc_op error: Preventing dummy-2 from restarting on cluster02 because of hard failure (unimplemented feature) | dummy-2_last_failure_0
+unpack_rsc_op error: Preventing httpd-bundle-clone from restarting on httpd-bundle-1 because of hard failure (invalid parameter) | httpd_last_failure_0
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 4 nodes configured
+ * 16 resource instances configured (1 DISABLED)
+
+Node List:
+ * Online: [ cluster01 ]
+
+Full List of Resources:
+ * Clone Set: ping-clone [ping]:
+ * Started: [ cluster01 ]
+ * Fencing (stonith:fence_xvm): Started cluster01
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * httpd-bundle-1 (192.168.122.132) (ocf:heartbeat:apache): FAILED cluster01
+ * smart-mon (ocf:pacemaker:HealthSMART): Stopped (not installed)
+=#=#=#= End test: Text output of partially active resources, with inactive resources, filtered by node - OK (0) =#=#=#=
+* Passed: crm_mon - Text output of partially active resources, with inactive resources, filtered by node
+=#=#=#= Begin test: Text output of partially active resources, filtered by node =#=#=#=
+unpack_rsc_op error: Preventing dummy-2 from restarting on cluster02 because of hard failure (unimplemented feature) | dummy-2_last_failure_0
+unpack_rsc_op error: Preventing httpd-bundle-clone from restarting on httpd-bundle-1 because of hard failure (invalid parameter) | httpd_last_failure_0
+<pacemaker-result api-version="X" request="crm_mon -1 --output-as=xml --node=cluster01">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="4"/>
+ <resources_configured number="16" disabled="1" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="5" type="member"/>
+ </nodes>
+ <resources>
+ <clone id="ping-clone" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </clone>
+ <resource id="Fencing" resource_agent="stonith:fence_xvm" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <bundle id="httpd-bundle" type="docker" image="pcmk:http" unique="false" maintenance="false" managed="true" failed="false">
+ <replica id="1">
+ <resource id="httpd-bundle-ip-192.168.122.132" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="true" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-1" id="httpd-bundle-1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-1" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-1" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </replica>
+ </bundle>
+ <resource id="smart-mon" resource_agent="ocf:pacemaker:HealthSMART" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster01">
+ <resource_history id="Fencing" orphan="false" migration-threshold="1000000">
+ <operation_history call="15" task="start" rc="0" rc_text="ok" exec-time="36ms" queue-time="0ms"/>
+ <operation_history call="20" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-ip-192.168.122.132" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Text output of partially active resources, filtered by node - OK (0) =#=#=#=
+* Passed: crm_mon - Text output of partially active resources, filtered by node
+=#=#=#= Begin test: Text output of active unmanaged resource on offline node =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 2 nodes configured
+ * 3 resource instances configured
+
+ *** Resource management is DISABLED ***
+ The cluster will not attempt to start, stop or recover services
+
+Node List:
+ * Online: [ cluster01 ]
+ * OFFLINE: [ cluster02 ]
+
+Active Resources:
+ * Fencing (stonith:fence_xvm): Started cluster01 (maintenance)
+ * rsc1 (ocf:pacemaker:Dummy): Started cluster01 (maintenance)
+ * rsc2 (ocf:pacemaker:Dummy): Started cluster02 (maintenance)
+=#=#=#= End test: Text output of active unmanaged resource on offline node - OK (0) =#=#=#=
+* Passed: crm_mon - Text output of active unmanaged resource on offline node
+=#=#=#= Begin test: XML output of active unmanaged resource on offline node =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon -1 --output-as=xml">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="2"/>
+ <resources_configured number="3" disabled="0" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="true" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="2" type="member"/>
+ <node name="cluster02" id="2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="true" resources_running="1" type="member"/>
+ </nodes>
+ <resources>
+ <resource id="Fencing" resource_agent="stonith:fence_xvm" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="rsc1" resource_agent="ocf:pacemaker:Dummy" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="rsc2" resource_agent="ocf:pacemaker:Dummy" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="false"/>
+ </resource>
+ </resources>
+ <node_history>
+ <node name="cluster01">
+ <resource_history id="Fencing" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="6" task="cancel" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="rsc1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output of active unmanaged resource on offline node - OK (0) =#=#=#=
+* Passed: crm_mon - XML output of active unmanaged resource on offline node
+=#=#=#= Begin test: Brief text output of active unmanaged resource on offline node =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 2 nodes configured
+ * 3 resource instances configured
+
+ *** Resource management is DISABLED ***
+ The cluster will not attempt to start, stop or recover services
+
+Node List:
+ * Online: [ cluster01 ]
+ * OFFLINE: [ cluster02 ]
+
+Active Resources:
+ * 1 (ocf:pacemaker:Dummy): Active cluster01
+ * 1 (ocf:pacemaker:Dummy): Active cluster02
+ * 1 (stonith:fence_xvm): Active cluster01
+=#=#=#= End test: Brief text output of active unmanaged resource on offline node - OK (0) =#=#=#=
+* Passed: crm_mon - Brief text output of active unmanaged resource on offline node
+=#=#=#= Begin test: Brief text output of active unmanaged resource on offline node, grouped by node =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 2 nodes configured
+ * 3 resource instances configured
+
+ *** Resource management is DISABLED ***
+ The cluster will not attempt to start, stop or recover services
+
+Node List:
+ * Node cluster01: online:
+ * Resources:
+ * 1 (ocf:pacemaker:Dummy): Active
+ * 1 (stonith:fence_xvm): Active
+ * Node cluster02: OFFLINE:
+ * Resources:
+ * 1 (ocf:pacemaker:Dummy): Active
+=#=#=#= End test: Brief text output of active unmanaged resource on offline node, grouped by node - OK (0) =#=#=#=
+* Passed: crm_mon - Brief text output of active unmanaged resource on offline node, grouped by node
+=#=#=#= Begin test: Text output of all resources with maintenance-mode enabled =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+ *** Resource management is DISABLED ***
+ The cluster will not attempt to start, stop or recover services
+
+Node List:
+ * GuestNode httpd-bundle-0: maintenance
+ * GuestNode httpd-bundle-1: maintenance
+ * Online: [ cluster01 cluster02 ]
+
+Full List of Resources:
+ * Clone Set: ping-clone [ping] (maintenance):
+ * ping (ocf:pacemaker:ping): Started cluster02 (maintenance)
+ * ping (ocf:pacemaker:ping): Started cluster01 (maintenance)
+ * Fencing (stonith:fence_xvm): Started cluster01 (maintenance)
+ * dummy (ocf:pacemaker:Dummy): Started cluster02 (maintenance)
+ * Clone Set: inactive-clone [inactive-dhcpd] (disabled, maintenance):
+ * Stopped (disabled): [ cluster01 cluster02 ]
+ * Resource Group: inactive-group (disabled, maintenance):
+ * inactive-dummy-1 (ocf:pacemaker:Dummy): Stopped (disabled, maintenance)
+ * inactive-dummy-2 (ocf:pacemaker:Dummy): Stopped (disabled, maintenance)
+ * Container bundle set: httpd-bundle [pcmk:http] (maintenance):
+ * httpd-bundle-0 (192.168.122.131) (ocf:heartbeat:apache): Started cluster01 (maintenance)
+ * httpd-bundle-1 (192.168.122.132) (ocf:heartbeat:apache): Started cluster02 (maintenance)
+ * httpd-bundle-2 (192.168.122.133) (ocf:heartbeat:apache): Stopped (maintenance)
+ * Resource Group: exim-group (maintenance):
+ * Public-IP (ocf:heartbeat:IPaddr): Started cluster02 (maintenance)
+ * Email (lsb:exim): Started cluster02 (maintenance)
+ * Clone Set: mysql-clone-group [mysql-group] (maintenance):
+ * Resource Group: mysql-group:0 (maintenance):
+ * mysql-proxy (lsb:mysql-proxy): Started cluster02 (maintenance)
+ * Resource Group: mysql-group:1 (maintenance):
+ * mysql-proxy (lsb:mysql-proxy): Started cluster01 (maintenance)
+ * Clone Set: promotable-clone [promotable-rsc] (promotable, maintenance):
+ * promotable-rsc (ocf:pacemaker:Stateful): Promoted cluster02 (maintenance)
+ * promotable-rsc (ocf:pacemaker:Stateful): Unpromoted cluster01 (maintenance)
+=#=#=#= End test: Text output of all resources with maintenance-mode enabled - OK (0) =#=#=#=
+* Passed: crm_mon - Text output of all resources with maintenance-mode enabled
+=#=#=#= Begin test: XML output of all resources with maintenance-mode enabled =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon -1 -r --output-as=xml">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="true" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="true" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="true" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <clone id="ping-clone" multi_state="false" unique="false" maintenance="true" managed="false" disabled="false" failed="false" failure_ignored="false">
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </clone>
+ <resource id="Fencing" resource_agent="stonith:fence_xvm" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="dummy" resource_agent="ocf:pacemaker:Dummy" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <clone id="inactive-clone" multi_state="false" unique="false" maintenance="true" managed="false" disabled="true" failed="false" failure_ignored="false" target_role="stopped">
+ <resource id="inactive-dhcpd" resource_agent="lsb:dhcpd" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="inactive-dhcpd" resource_agent="lsb:dhcpd" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </clone>
+ <group id="inactive-group" number_resources="2" maintenance="true" managed="false" disabled="true">
+ <resource id="inactive-dummy-1" resource_agent="ocf:pacemaker:Dummy" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="inactive-dummy-2" resource_agent="ocf:pacemaker:Dummy" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <bundle id="httpd-bundle" type="docker" image="pcmk:http" unique="false" maintenance="true" managed="false" failed="false">
+ <replica id="0">
+ <resource id="httpd-bundle-ip-192.168.122.131" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-0" id="httpd-bundle-0" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-0" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-0" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </replica>
+ <replica id="1">
+ <resource id="httpd-bundle-ip-192.168.122.132" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-1" id="httpd-bundle-1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-1" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-1" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </replica>
+ <replica id="2">
+ <resource id="httpd-bundle-ip-192.168.122.133" resource_agent="ocf:heartbeat:IPaddr2" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd-bundle-docker-2" resource_agent="ocf:heartbeat:docker" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd-bundle-2" resource_agent="ocf:pacemaker:remote" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </replica>
+ </bundle>
+ <group id="exim-group" number_resources="2" maintenance="true" managed="false" disabled="false">
+ <resource id="Public-IP" resource_agent="ocf:heartbeat:IPaddr" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="Email" resource_agent="lsb:exim" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </group>
+ <clone id="mysql-clone-group" multi_state="false" unique="false" maintenance="true" managed="false" disabled="false" failed="false" failure_ignored="false">
+ <group id="mysql-group:0" number_resources="1" maintenance="true" managed="false" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:1" number_resources="1" maintenance="true" managed="false" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:2" number_resources="1" maintenance="true" managed="false" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:3" number_resources="1" maintenance="true" managed="false" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:4" number_resources="1" maintenance="true" managed="false" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ </clone>
+ <clone id="promotable-clone" multi_state="true" unique="false" maintenance="true" managed="false" disabled="false" failed="false" failure_ignored="false">
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Promoted" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Unpromoted" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </clone>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="11" task="start" rc="0" rc_text="ok" exec-time="2044ms" queue-time="0ms"/>
+ <operation_history call="12" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="2031ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="dummy" orphan="false" migration-threshold="1000000">
+ <operation_history call="18" task="start" rc="0" rc_text="ok" exec-time="6020ms" queue-time="0ms"/>
+ <operation_history call="19" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="6015ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Public-IP" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Email" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="promotable-rsc" orphan="false" migration-threshold="1000000">
+ <operation_history call="4" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="5" task="cancel" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="6" task="promote" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="7" task="monitor" rc="8" rc_text="promoted" interval="5000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-ip-192.168.122.132" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="cluster01">
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="17" task="start" rc="0" rc_text="ok" exec-time="2038ms" queue-time="0ms"/>
+ <operation_history call="18" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="2034ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Fencing" orphan="false" migration-threshold="1000000">
+ <operation_history call="15" task="start" rc="0" rc_text="ok" exec-time="36ms" queue-time="0ms"/>
+ <operation_history call="20" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="dummy" orphan="false" migration-threshold="1000000">
+ <operation_history call="16" task="stop" rc="0" rc_text="ok" exec-time="6048ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="promotable-rsc" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="4" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-ip-192.168.122.131" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-0">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-1">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <bans>
+ <ban id="not-on-cluster1" resource="dummy" node="cluster01" weight="-1000000" promoted-only="false" master_only="false"/>
+ </bans>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output of all resources with maintenance-mode enabled - OK (0) =#=#=#=
+* Passed: crm_mon - XML output of all resources with maintenance-mode enabled
+=#=#=#= Begin test: Text output of all resources with maintenance enabled for a node =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Node cluster02: maintenance
+ * GuestNode httpd-bundle-1: maintenance
+ * Online: [ cluster01 ]
+ * GuestOnline: [ httpd-bundle-0 ]
+
+Full List of Resources:
+ * Clone Set: ping-clone [ping]:
+ * ping (ocf:pacemaker:ping): Started cluster02 (maintenance)
+ * Started: [ cluster01 ]
+ * Fencing (stonith:fence_xvm): Started cluster01
+ * dummy (ocf:pacemaker:Dummy): Started cluster02 (maintenance)
+ * Clone Set: inactive-clone [inactive-dhcpd] (disabled):
+ * Stopped (disabled): [ cluster01 cluster02 ]
+ * Resource Group: inactive-group (disabled):
+ * inactive-dummy-1 (ocf:pacemaker:Dummy): Stopped (disabled)
+ * inactive-dummy-2 (ocf:pacemaker:Dummy): Stopped (disabled)
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * httpd-bundle-0 (192.168.122.131) (ocf:heartbeat:apache): Started cluster01
+ * httpd-bundle-1 (192.168.122.132) (ocf:heartbeat:apache): Started cluster02 (maintenance)
+ * httpd-bundle-2 (192.168.122.133) (ocf:heartbeat:apache): Stopped
+ * Resource Group: exim-group:
+ * Public-IP (ocf:heartbeat:IPaddr): Started cluster02 (maintenance)
+ * Email (lsb:exim): Started cluster02 (maintenance)
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Resource Group: mysql-group:0:
+ * mysql-proxy (lsb:mysql-proxy): Started cluster02 (maintenance)
+ * Started: [ cluster01 ]
+ * Clone Set: promotable-clone [promotable-rsc] (promotable):
+ * promotable-rsc (ocf:pacemaker:Stateful): Promoted cluster02 (maintenance)
+ * Unpromoted: [ cluster01 ]
+=#=#=#= End test: Text output of all resources with maintenance enabled for a node - OK (0) =#=#=#=
+* Passed: crm_mon - Text output of all resources with maintenance enabled for a node
+=#=#=#= Begin test: XML output of all resources with maintenance enabled for a node =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon -1 -r --output-as=xml">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="true" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="true" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <clone id="ping-clone" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </clone>
+ <resource id="Fencing" resource_agent="stonith:fence_xvm" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="dummy" resource_agent="ocf:pacemaker:Dummy" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <clone id="inactive-clone" multi_state="false" unique="false" maintenance="false" managed="true" disabled="true" failed="false" failure_ignored="false" target_role="stopped">
+ <resource id="inactive-dhcpd" resource_agent="lsb:dhcpd" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="inactive-dhcpd" resource_agent="lsb:dhcpd" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </clone>
+ <group id="inactive-group" number_resources="2" maintenance="false" managed="true" disabled="true">
+ <resource id="inactive-dummy-1" resource_agent="ocf:pacemaker:Dummy" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="inactive-dummy-2" resource_agent="ocf:pacemaker:Dummy" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <bundle id="httpd-bundle" type="docker" image="pcmk:http" unique="false" maintenance="false" managed="true" failed="false">
+ <replica id="0">
+ <resource id="httpd-bundle-ip-192.168.122.131" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-0" id="httpd-bundle-0" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-0" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-0" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </replica>
+ <replica id="1">
+ <resource id="httpd-bundle-ip-192.168.122.132" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-1" id="httpd-bundle-1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-1" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-1" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </replica>
+ <replica id="2">
+ <resource id="httpd-bundle-ip-192.168.122.133" resource_agent="ocf:heartbeat:IPaddr2" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd-bundle-docker-2" resource_agent="ocf:heartbeat:docker" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd-bundle-2" resource_agent="ocf:pacemaker:remote" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </replica>
+ </bundle>
+ <group id="exim-group" number_resources="2" maintenance="false" managed="true" disabled="false">
+ <resource id="Public-IP" resource_agent="ocf:heartbeat:IPaddr" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="Email" resource_agent="lsb:exim" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </group>
+ <clone id="mysql-clone-group" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <group id="mysql-group:0" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:1" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:2" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:3" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:4" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ </clone>
+ <clone id="promotable-clone" multi_state="true" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Promoted" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Unpromoted" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </clone>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="maintenance" value="true"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="11" task="start" rc="0" rc_text="ok" exec-time="2044ms" queue-time="0ms"/>
+ <operation_history call="12" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="2031ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="dummy" orphan="false" migration-threshold="1000000">
+ <operation_history call="18" task="start" rc="0" rc_text="ok" exec-time="6020ms" queue-time="0ms"/>
+ <operation_history call="19" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="6015ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Public-IP" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Email" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="promotable-rsc" orphan="false" migration-threshold="1000000">
+ <operation_history call="4" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="5" task="cancel" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="6" task="promote" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="7" task="monitor" rc="8" rc_text="promoted" interval="5000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-ip-192.168.122.132" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="cluster01">
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="17" task="start" rc="0" rc_text="ok" exec-time="2038ms" queue-time="0ms"/>
+ <operation_history call="18" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="2034ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Fencing" orphan="false" migration-threshold="1000000">
+ <operation_history call="15" task="start" rc="0" rc_text="ok" exec-time="36ms" queue-time="0ms"/>
+ <operation_history call="20" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="dummy" orphan="false" migration-threshold="1000000">
+ <operation_history call="16" task="stop" rc="0" rc_text="ok" exec-time="6048ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="promotable-rsc" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="4" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-ip-192.168.122.131" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-0">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-1">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <bans>
+ <ban id="not-on-cluster1" resource="dummy" node="cluster01" weight="-1000000" promoted-only="false" master_only="false"/>
+ </bans>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output of all resources with maintenance enabled for a node - OK (0) =#=#=#=
+* Passed: crm_mon - XML output of all resources with maintenance enabled for a node
+=#=#=#= Begin test: Text output of all resources with maintenance meta attribute true =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * GuestNode httpd-bundle-0: maintenance
+ * GuestNode httpd-bundle-1: maintenance
+ * Online: [ cluster01 cluster02 ]
+
+Full List of Resources:
+ * Clone Set: ping-clone [ping] (maintenance):
+ * ping (ocf:pacemaker:ping): Started cluster02 (maintenance)
+ * ping (ocf:pacemaker:ping): Started cluster01 (maintenance)
+ * Fencing (stonith:fence_xvm): Started cluster01
+ * dummy (ocf:pacemaker:Dummy): Started cluster02 (maintenance)
+ * Clone Set: inactive-clone [inactive-dhcpd] (disabled, maintenance):
+ * Stopped (disabled): [ cluster01 cluster02 ]
+ * Resource Group: inactive-group (disabled, maintenance):
+ * inactive-dummy-1 (ocf:pacemaker:Dummy): Stopped (disabled, maintenance)
+ * inactive-dummy-2 (ocf:pacemaker:Dummy): Stopped (disabled, maintenance)
+ * Container bundle set: httpd-bundle [pcmk:http] (maintenance):
+ * httpd-bundle-0 (192.168.122.131) (ocf:heartbeat:apache): Started cluster01 (maintenance)
+ * httpd-bundle-1 (192.168.122.132) (ocf:heartbeat:apache): Started cluster02 (maintenance)
+ * httpd-bundle-2 (192.168.122.133) (ocf:heartbeat:apache): Stopped (maintenance)
+ * Resource Group: exim-group (maintenance):
+ * Public-IP (ocf:heartbeat:IPaddr): Started cluster02 (maintenance)
+ * Email (lsb:exim): Started cluster02 (maintenance)
+ * Clone Set: mysql-clone-group [mysql-group] (maintenance):
+ * Resource Group: mysql-group:0 (maintenance):
+ * mysql-proxy (lsb:mysql-proxy): Started cluster02 (maintenance)
+ * Resource Group: mysql-group:1 (maintenance):
+ * mysql-proxy (lsb:mysql-proxy): Started cluster01 (maintenance)
+ * Clone Set: promotable-clone [promotable-rsc] (promotable, maintenance):
+ * promotable-rsc (ocf:pacemaker:Stateful): Promoted cluster02 (maintenance)
+ * promotable-rsc (ocf:pacemaker:Stateful): Unpromoted cluster01 (maintenance)
+=#=#=#= End test: Text output of all resources with maintenance meta attribute true - OK (0) =#=#=#=
+* Passed: crm_mon - Text output of all resources with maintenance meta attribute true
+=#=#=#= Begin test: XML output of all resources with maintenance meta attribute true =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon -1 -r --output-as=xml">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster02" id="2" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="32" disabled="4" blocked="0"/>
+ <cluster_options stonith-enabled="true" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="true" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="true" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <clone id="ping-clone" multi_state="false" unique="false" maintenance="true" managed="false" disabled="false" failed="false" failure_ignored="false">
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </clone>
+ <resource id="Fencing" resource_agent="stonith:fence_xvm" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="dummy" resource_agent="ocf:pacemaker:Dummy" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <clone id="inactive-clone" multi_state="false" unique="false" maintenance="true" managed="false" disabled="true" failed="false" failure_ignored="false" target_role="stopped">
+ <resource id="inactive-dhcpd" resource_agent="lsb:dhcpd" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="inactive-dhcpd" resource_agent="lsb:dhcpd" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </clone>
+ <group id="inactive-group" number_resources="2" maintenance="true" managed="false" disabled="true">
+ <resource id="inactive-dummy-1" resource_agent="ocf:pacemaker:Dummy" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="inactive-dummy-2" resource_agent="ocf:pacemaker:Dummy" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <bundle id="httpd-bundle" type="docker" image="pcmk:http" unique="false" maintenance="true" managed="false" failed="false">
+ <replica id="0">
+ <resource id="httpd-bundle-ip-192.168.122.131" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-0" id="httpd-bundle-0" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-0" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-0" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </replica>
+ <replica id="1">
+ <resource id="httpd-bundle-ip-192.168.122.132" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-1" id="httpd-bundle-1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-1" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-1" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </replica>
+ <replica id="2">
+ <resource id="httpd-bundle-ip-192.168.122.133" resource_agent="ocf:heartbeat:IPaddr2" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd-bundle-docker-2" resource_agent="ocf:heartbeat:docker" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd-bundle-2" resource_agent="ocf:pacemaker:remote" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </replica>
+ </bundle>
+ <group id="exim-group" number_resources="2" maintenance="true" managed="false" disabled="false">
+ <resource id="Public-IP" resource_agent="ocf:heartbeat:IPaddr" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="Email" resource_agent="lsb:exim" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </group>
+ <clone id="mysql-clone-group" multi_state="false" unique="false" maintenance="true" managed="false" disabled="false" failed="false" failure_ignored="false">
+ <group id="mysql-group:0" number_resources="1" maintenance="true" managed="false" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:1" number_resources="1" maintenance="true" managed="false" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:2" number_resources="1" maintenance="true" managed="false" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:3" number_resources="1" maintenance="true" managed="false" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:4" number_resources="1" maintenance="true" managed="false" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ </clone>
+ <clone id="promotable-clone" multi_state="true" unique="false" maintenance="true" managed="false" disabled="false" failed="false" failure_ignored="false">
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Promoted" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Unpromoted" active="true" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="true" managed="false" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </clone>
+ </resources>
+ <node_attributes>
+ <node name="cluster01">
+ <attribute name="location" value="office"/>
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ <node name="cluster02">
+ <attribute name="pingd" value="1000" expected="1000"/>
+ </node>
+ </node_attributes>
+ <node_history>
+ <node name="cluster02">
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="11" task="start" rc="0" rc_text="ok" exec-time="2044ms" queue-time="0ms"/>
+ <operation_history call="12" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="2031ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="dummy" orphan="false" migration-threshold="1000000">
+ <operation_history call="18" task="start" rc="0" rc_text="ok" exec-time="6020ms" queue-time="0ms"/>
+ <operation_history call="19" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="6015ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Public-IP" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Email" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="promotable-rsc" orphan="false" migration-threshold="1000000">
+ <operation_history call="4" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="5" task="cancel" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="6" task="promote" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="7" task="monitor" rc="8" rc_text="promoted" interval="5000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-ip-192.168.122.132" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-1" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="cluster01">
+ <resource_history id="ping" orphan="false" migration-threshold="1000000">
+ <operation_history call="17" task="start" rc="0" rc_text="ok" exec-time="2038ms" queue-time="0ms"/>
+ <operation_history call="18" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="2034ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="Fencing" orphan="false" migration-threshold="1000000">
+ <operation_history call="15" task="start" rc="0" rc_text="ok" exec-time="36ms" queue-time="0ms"/>
+ <operation_history call="20" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="dummy" orphan="false" migration-threshold="1000000">
+ <operation_history call="16" task="stop" rc="0" rc_text="ok" exec-time="6048ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="mysql-proxy" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="promotable-rsc" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="4" task="monitor" rc="0" rc_text="ok" interval="10000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-ip-192.168.122.131" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-docker-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="60000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ <resource_history id="httpd-bundle-0" orphan="false" migration-threshold="1000000">
+ <operation_history call="2" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ <operation_history call="3" task="monitor" rc="0" rc_text="ok" interval="30000ms" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-0">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ <node name="httpd-bundle-1">
+ <resource_history id="httpd" orphan="false" migration-threshold="1000000">
+ <operation_history call="1" task="start" rc="0" rc_text="ok" exec-time="0ms" queue-time="0ms"/>
+ </resource_history>
+ </node>
+ </node_history>
+ <bans>
+ <ban id="not-on-cluster1" resource="dummy" node="cluster01" weight="-1000000" promoted-only="false" master_only="false"/>
+ </bans>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output of all resources with maintenance meta attribute true - OK (0) =#=#=#=
+* Passed: crm_mon - XML output of all resources with maintenance meta attribute true
+=#=#=#= Begin test: Text output of guest node's container on different node from its remote resource =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cent7-host2 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 4 nodes configured
+ * 10 resource instances configured
+
+Node List:
+ * Online: [ cent7-host1 cent7-host2 ]
+ * GuestOnline: [ httpd-bundle1-0 httpd-bundle2-0 ]
+
+Active Resources:
+ * Resource Group: group1:
+ * dummy1 (ocf:pacemaker:Dummy): Started cent7-host1
+ * Resource Group: group2:
+ * dummy2 (ocf:pacemaker:Dummy): Started cent7-host2
+ * Container bundle: httpd-bundle1 [pcmktest:http]:
+ * httpd-bundle1-0 (192.168.20.188) (ocf:heartbeat:apache): Started cent7-host1
+ * Container bundle: httpd-bundle2 [pcmktest:http]:
+ * httpd-bundle2-0 (192.168.20.190) (ocf:heartbeat:apache): Started cent7-host2
+=#=#=#= End test: Text output of guest node's container on different node from its remote resource - OK (0) =#=#=#=
+* Passed: crm_mon - Text output of guest node's container on different node from its remote resource
+=#=#=#= Begin test: Complete text output of guest node's container on different node from its remote resource =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cent7-host2 (3232262829) (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 4 nodes configured
+ * 10 resource instances configured
+
+Node List:
+ * Node cent7-host1 (3232262828): online, feature set <3.15.1
+ * Node cent7-host2 (3232262829): online, feature set <3.15.1
+ * GuestNode httpd-bundle1-0@cent7-host1: online
+ * GuestNode httpd-bundle2-0@cent7-host2: online
+
+Active Resources:
+ * Resource Group: group1:
+ * dummy1 (ocf:pacemaker:Dummy): Started cent7-host1
+ * Resource Group: group2:
+ * dummy2 (ocf:pacemaker:Dummy): Started cent7-host2
+ * Container bundle: httpd-bundle1 [pcmktest:http]:
+ * httpd-bundle1-ip-192.168.20.188 (ocf:heartbeat:IPaddr2): Started cent7-host1
+ * httpd1 (ocf:heartbeat:apache): Started httpd-bundle1-0
+ * httpd-bundle1-docker-0 (ocf:heartbeat:docker): Started cent7-host1
+ * httpd-bundle1-0 (ocf:pacemaker:remote): Started cent7-host2
+ * Container bundle: httpd-bundle2 [pcmktest:http]:
+ * httpd-bundle2-ip-192.168.20.190 (ocf:heartbeat:IPaddr2): Started cent7-host2
+ * httpd2 (ocf:heartbeat:apache): Started httpd-bundle2-0
+ * httpd-bundle2-docker-0 (ocf:heartbeat:docker): Started cent7-host2
+ * httpd-bundle2-0 (ocf:pacemaker:remote): Started cent7-host2
+=#=#=#= End test: Complete text output of guest node's container on different node from its remote resource - OK (0) =#=#=#=
+* Passed: crm_mon - Complete text output of guest node's container on different node from its remote resource
diff --git a/cts/cli/regression.daemons.exp b/cts/cli/regression.daemons.exp
new file mode 100644
index 0000000..66bd7b3
--- /dev/null
+++ b/cts/cli/regression.daemons.exp
@@ -0,0 +1,446 @@
+=#=#=#= Begin test: Get CIB manager metadata =#=#=#=
+<?xml version=""?>
+<resource-agent name="pacemaker-based" version="">
+ <version>1.1</version>
+ <longdesc lang="en">Cluster options used by Pacemaker&apos;s Cluster Information Base manager</longdesc>
+ <shortdesc lang="en">Cluster Information Base manager options</shortdesc>
+ <parameters>
+ <parameter name="enable-acl">
+ <longdesc lang="en">Enable Access Control Lists (ACLs) for the CIB</longdesc>
+ <shortdesc lang="en">Enable Access Control Lists (ACLs) for the CIB</shortdesc>
+ <content type="boolean" default=""/>
+ </parameter>
+ <parameter name="cluster-ipc-limit">
+ <longdesc lang="en">Raise this if log has &quot;Evicting client&quot; messages for cluster daemon PIDs (a good value is the number of resources in the cluster multiplied by the number of nodes).</longdesc>
+ <shortdesc lang="en">Maximum IPC message backlog before disconnecting a cluster daemon</shortdesc>
+ <content type="integer" default=""/>
+ </parameter>
+ </parameters>
+</resource-agent>
+=#=#=#= End test: Get CIB manager metadata - OK (0) =#=#=#=
+* Passed: pacemaker-based - Get CIB manager metadata
+=#=#=#= Begin test: Get controller metadata =#=#=#=
+<?xml version=""?>
+<resource-agent name="pacemaker-controld" version="">
+ <version>1.1</version>
+ <longdesc lang="en">Cluster options used by Pacemaker&apos;s controller</longdesc>
+ <shortdesc lang="en">Pacemaker controller options</shortdesc>
+ <parameters>
+ <parameter name="dc-version">
+ <longdesc lang="en">Includes a hash which identifies the exact changeset the code was built from. Used for diagnostic purposes.</longdesc>
+ <shortdesc lang="en">Pacemaker version on cluster node elected Designated Controller (DC)</shortdesc>
+ <content type="string" default=""/>
+ </parameter>
+ <parameter name="cluster-infrastructure">
+ <longdesc lang="en">Used for informational and diagnostic purposes.</longdesc>
+ <shortdesc lang="en">The messaging stack on which Pacemaker is currently running</shortdesc>
+ <content type="string" default=""/>
+ </parameter>
+ <parameter name="cluster-name">
+ <longdesc lang="en">This optional value is mostly for users&apos; convenience as desired in administration, but may also be used in Pacemaker configuration rules via the #cluster-name node attribute, and by higher-level tools and resource agents.</longdesc>
+ <shortdesc lang="en">An arbitrary name for the cluster</shortdesc>
+ <content type="string"/>
+ </parameter>
+ <parameter name="dc-deadtime">
+ <longdesc lang="en">The optimal value will depend on the speed and load of your network and the type of switches used.</longdesc>
+ <shortdesc lang="en">How long to wait for a response from other nodes during start-up</shortdesc>
+ <content type="time" default=""/>
+ </parameter>
+ <parameter name="cluster-recheck-interval">
+ <longdesc lang="en">Pacemaker is primarily event-driven, and looks ahead to know when to recheck cluster state for failure timeouts and most time-based rules. However, it will also recheck the cluster after this amount of inactivity, to evaluate rules with date specifications and serve as a fail-safe for certain types of scheduler bugs. Allowed values: Zero disables polling, while positive values are an interval in seconds(unless other units are specified, for example "5min")</longdesc>
+ <shortdesc lang="en">Polling interval to recheck cluster state and evaluate rules with date specifications</shortdesc>
+ <content type="time" default=""/>
+ </parameter>
+ <parameter name="load-threshold">
+ <longdesc lang="en">The cluster will slow down its recovery process when the amount of system resources used (currently CPU) approaches this limit</longdesc>
+ <shortdesc lang="en">Maximum amount of system load that should be used by cluster nodes</shortdesc>
+ <content type="percentage" default=""/>
+ </parameter>
+ <parameter name="node-action-limit">
+ <longdesc lang="en">Maximum number of jobs that can be scheduled per node (defaults to 2x cores)</longdesc>
+ <shortdesc lang="en">Maximum number of jobs that can be scheduled per node (defaults to 2x cores)</shortdesc>
+ <content type="integer" default=""/>
+ </parameter>
+ <parameter name="fence-reaction">
+ <longdesc lang="en">A cluster node may receive notification of its own fencing if fencing is misconfigured, or if fabric fencing is in use that doesn&apos;t cut cluster communication. Allowed values are &quot;stop&quot; to attempt to immediately stop Pacemaker and stay stopped, or &quot;panic&quot; to attempt to immediately reboot the local node, falling back to stop on failure.</longdesc>
+ <shortdesc lang="en">How a cluster node should react if notified of its own fencing</shortdesc>
+ <content type="string" default=""/>
+ </parameter>
+ <parameter name="election-timeout">
+ <longdesc lang="en">Declare an election failed if it is not decided within this much time. If you need to adjust this value, it probably indicates the presence of a bug.</longdesc>
+ <shortdesc lang="en">*** Advanced Use Only ***</shortdesc>
+ <content type="time" default=""/>
+ </parameter>
+ <parameter name="shutdown-escalation">
+ <longdesc lang="en">Exit immediately if shutdown does not complete within this much time. If you need to adjust this value, it probably indicates the presence of a bug.</longdesc>
+ <shortdesc lang="en">*** Advanced Use Only ***</shortdesc>
+ <content type="time" default=""/>
+ </parameter>
+ <parameter name="join-integration-timeout">
+ <longdesc lang="en">If you need to adjust this value, it probably indicates the presence of a bug.</longdesc>
+ <shortdesc lang="en">*** Advanced Use Only ***</shortdesc>
+ <content type="time" default=""/>
+ </parameter>
+ <parameter name="join-finalization-timeout">
+ <longdesc lang="en">If you need to adjust this value, it probably indicates the presence of a bug.</longdesc>
+ <shortdesc lang="en">*** Advanced Use Only ***</shortdesc>
+ <content type="time" default=""/>
+ </parameter>
+ <parameter name="transition-delay">
+ <longdesc lang="en">Delay cluster recovery for this much time to allow for additional events to occur. Useful if your configuration is sensitive to the order in which ping updates arrive.</longdesc>
+ <shortdesc lang="en">*** Advanced Use Only *** Enabling this option will slow down cluster recovery under all conditions</shortdesc>
+ <content type="time" default=""/>
+ </parameter>
+ <parameter name="stonith-watchdog-timeout">
+ <longdesc lang="en">If this is set to a positive value, lost nodes are assumed to self-fence using watchdog-based SBD within this much time. This does not require a fencing resource to be explicitly configured, though a fence_watchdog resource can be configured, to limit use to specific nodes. If this is set to 0 (the default), the cluster will never assume watchdog-based self-fencing. If this is set to a negative value, the cluster will use twice the local value of the `SBD_WATCHDOG_TIMEOUT` environment variable if that is positive, or otherwise treat this as 0. WARNING: When used, this timeout must be larger than `SBD_WATCHDOG_TIMEOUT` on all nodes that use watchdog-based SBD, and Pacemaker will refuse to start on any of those nodes where this is not true for the local value or SBD is not active. When this is set to a negative value, `SBD_WATCHDOG_TIMEOUT` must be set to the same value on all nodes that use SBD, otherwise data corruption or loss could occur.</longdesc>
+ <shortdesc lang="en">How long before nodes can be assumed to be safely down when watchdog-based self-fencing via SBD is in use</shortdesc>
+ <content type="time" default=""/>
+ </parameter>
+ <parameter name="stonith-max-attempts">
+ <longdesc lang="en">How many times fencing can fail before it will no longer be immediately re-attempted on a target</longdesc>
+ <shortdesc lang="en">How many times fencing can fail before it will no longer be immediately re-attempted on a target</shortdesc>
+ <content type="integer" default=""/>
+ </parameter>
+ <parameter name="no-quorum-policy">
+ <longdesc lang="en">What to do when the cluster does not have quorum Allowed values: stop, freeze, ignore, demote, suicide</longdesc>
+ <shortdesc lang="en">What to do when the cluster does not have quorum</shortdesc>
+ <content type="select" default="">
+ <option value="stop" />
+ <option value="freeze" />
+ <option value="ignore" />
+ <option value="demote" />
+ <option value="suicide" />
+ </content>
+ </parameter>
+ <parameter name="shutdown-lock">
+ <longdesc lang="en">When true, resources active on a node when it is cleanly shut down are kept &quot;locked&quot; to that node (not allowed to run elsewhere) until they start again on that node after it rejoins (or for at most shutdown-lock-limit, if set). Stonith resources and Pacemaker Remote connections are never locked. Clone and bundle instances and the promoted role of promotable clones are currently never locked, though support could be added in a future release.</longdesc>
+ <shortdesc lang="en">Whether to lock resources to a cleanly shut down node</shortdesc>
+ <content type="boolean" default=""/>
+ </parameter>
+ <parameter name="shutdown-lock-limit">
+ <longdesc lang="en">If shutdown-lock is true and this is set to a nonzero time duration, shutdown locks will expire after this much time has passed since the shutdown was initiated, even if the node has not rejoined.</longdesc>
+ <shortdesc lang="en">Do not lock resources to a cleanly shut down node longer than this</shortdesc>
+ <content type="time" default=""/>
+ </parameter>
+ </parameters>
+</resource-agent>
+=#=#=#= End test: Get controller metadata - OK (0) =#=#=#=
+* Passed: pacemaker-controld - Get controller metadata
+=#=#=#= Begin test: Get fencer metadata =#=#=#=
+<?xml version=""?>
+<resource-agent name="pacemaker-fenced" version="">
+ <version>1.1</version>
+ <longdesc lang="en">Instance attributes available for all &quot;stonith&quot;-class resources and used by Pacemaker&apos;s fence daemon, formerly known as stonithd</longdesc>
+ <shortdesc lang="en">Instance attributes available for all &quot;stonith&quot;-class resources</shortdesc>
+ <parameters>
+ <parameter name="pcmk_host_argument">
+ <longdesc lang="en">some devices do not support the standard &apos;port&apos; parameter or may provide additional ones. Use this to specify an alternate, device-specific, parameter that should indicate the machine to be fenced. A value of none can be used to tell the cluster not to supply any additional parameters.</longdesc>
+ <shortdesc lang="en">Advanced use only: An alternate parameter to supply instead of &apos;port&apos;</shortdesc>
+ <content type="string" default=""/>
+ </parameter>
+ <parameter name="pcmk_host_map">
+ <longdesc lang="en">Eg. node1:1;node2:2,3 would tell the cluster to use port 1 for node1 and ports 2 and 3 for node2</longdesc>
+ <shortdesc lang="en">A mapping of host names to ports numbers for devices that do not support host names.</shortdesc>
+ <content type="string" default=""/>
+ </parameter>
+ <parameter name="pcmk_host_list">
+ <longdesc lang="en">A list of machines controlled by this device (Optional unless pcmk_host_list=static-list)</longdesc>
+ <shortdesc lang="en">Eg. node1,node2,node3</shortdesc>
+ <content type="string" default=""/>
+ </parameter>
+ <parameter name="pcmk_host_check">
+ <longdesc lang="en">Allowed values: dynamic-list (query the device via the &apos;list&apos; command), static-list (check the pcmk_host_list attribute), status (query the device via the &apos;status&apos; command), none (assume every device can fence every machine)</longdesc>
+ <shortdesc lang="en">How to determine which machines are controlled by the device.</shortdesc>
+ <content type="string" default=""/>
+ </parameter>
+ <parameter name="pcmk_delay_max">
+ <longdesc lang="en">Enable a delay of no more than the time specified before executing fencing actions. Pacemaker derives the overall delay by taking the value of pcmk_delay_base and adding a random delay value such that the sum is kept below this maximum.</longdesc>
+ <shortdesc lang="en">Enable a base delay for fencing actions and specify base delay value.</shortdesc>
+ <content type="time" default=""/>
+ </parameter>
+ <parameter name="pcmk_delay_base">
+ <longdesc lang="en">This enables a static delay for fencing actions, which can help avoid &quot;death matches&quot; where two nodes try to fence each other at the same time. If pcmk_delay_max is also used, a random delay will be added such that the total delay is kept below that value.This can be set to a single time value to apply to any node targeted by this device (useful if a separate device is configured for each target), or to a node map (for example, &quot;node1:1s;node2:5&quot;) to set a different value per target.</longdesc>
+ <shortdesc lang="en">Enable a base delay for fencing actions and specify base delay value.</shortdesc>
+ <content type="string" default=""/>
+ </parameter>
+ <parameter name="pcmk_action_limit">
+ <longdesc lang="en">Cluster property concurrent-fencing=true needs to be configured first.Then use this to specify the maximum number of actions can be performed in parallel on this device. -1 is unlimited.</longdesc>
+ <shortdesc lang="en">The maximum number of actions can be performed in parallel on this device</shortdesc>
+ <content type="integer" default=""/>
+ </parameter>
+ <parameter name="pcmk_reboot_action">
+ <longdesc lang="en">Some devices do not support the standard commands or may provide additional ones.\nUse this to specify an alternate, device-specific, command that implements the &apos;reboot&apos; action.</longdesc>
+ <shortdesc lang="en">Advanced use only: An alternate command to run instead of &apos;reboot&apos;</shortdesc>
+ <content type="string" default=""/>
+ </parameter>
+ <parameter name="pcmk_reboot_timeout">
+ <longdesc lang="en">Some devices need much more/less time to complete than normal.Use this to specify an alternate, device-specific, timeout for &apos;reboot&apos; actions.</longdesc>
+ <shortdesc lang="en">Advanced use only: Specify an alternate timeout to use for reboot actions instead of stonith-timeout</shortdesc>
+ <content type="time" default=""/>
+ </parameter>
+ <parameter name="pcmk_reboot_retries">
+ <longdesc lang="en">Some devices do not support multiple connections. Operations may &apos;fail&apos; if the device is busy with another task so Pacemaker will automatically retry the operation, if there is time remaining. Use this option to alter the number of times Pacemaker retries &apos;reboot&apos; actions before giving up.</longdesc>
+ <shortdesc lang="en">Advanced use only: The maximum number of times to retry the &apos;reboot&apos; command within the timeout period</shortdesc>
+ <content type="integer" default=""/>
+ </parameter>
+ <parameter name="pcmk_off_action">
+ <longdesc lang="en">Some devices do not support the standard commands or may provide additional ones.Use this to specify an alternate, device-specific, command that implements the &apos;off&apos; action.</longdesc>
+ <shortdesc lang="en">Advanced use only: An alternate command to run instead of &apos;off&apos;</shortdesc>
+ <content type="string" default=""/>
+ </parameter>
+ <parameter name="pcmk_off_timeout">
+ <longdesc lang="en">Some devices need much more/less time to complete than normal.Use this to specify an alternate, device-specific, timeout for &apos;off&apos; actions.</longdesc>
+ <shortdesc lang="en">Advanced use only: Specify an alternate timeout to use for off actions instead of stonith-timeout</shortdesc>
+ <content type="time" default=""/>
+ </parameter>
+ <parameter name="pcmk_off_retries">
+ <longdesc lang="en">Some devices do not support multiple connections. Operations may &apos;fail&apos; if the device is busy with another task so Pacemaker will automatically retry the operation, if there is time remaining. Use this option to alter the number of times Pacemaker retries &apos;off&apos; actions before giving up.</longdesc>
+ <shortdesc lang="en">Advanced use only: The maximum number of times to retry the &apos;off&apos; command within the timeout period</shortdesc>
+ <content type="integer" default=""/>
+ </parameter>
+ <parameter name="pcmk_on_action">
+ <longdesc lang="en">Some devices do not support the standard commands or may provide additional ones.Use this to specify an alternate, device-specific, command that implements the &apos;on&apos; action.</longdesc>
+ <shortdesc lang="en">Advanced use only: An alternate command to run instead of &apos;on&apos;</shortdesc>
+ <content type="string" default=""/>
+ </parameter>
+ <parameter name="pcmk_on_timeout">
+ <longdesc lang="en">Some devices need much more/less time to complete than normal.Use this to specify an alternate, device-specific, timeout for &apos;on&apos; actions.</longdesc>
+ <shortdesc lang="en">Advanced use only: Specify an alternate timeout to use for on actions instead of stonith-timeout</shortdesc>
+ <content type="time" default=""/>
+ </parameter>
+ <parameter name="pcmk_on_retries">
+ <longdesc lang="en">Some devices do not support multiple connections. Operations may &apos;fail&apos; if the device is busy with another task so Pacemaker will automatically retry the operation, if there is time remaining. Use this option to alter the number of times Pacemaker retries &apos;on&apos; actions before giving up.</longdesc>
+ <shortdesc lang="en">Advanced use only: The maximum number of times to retry the &apos;on&apos; command within the timeout period</shortdesc>
+ <content type="integer" default=""/>
+ </parameter>
+ <parameter name="pcmk_list_action">
+ <longdesc lang="en">Some devices do not support the standard commands or may provide additional ones.Use this to specify an alternate, device-specific, command that implements the &apos;list&apos; action.</longdesc>
+ <shortdesc lang="en">Advanced use only: An alternate command to run instead of &apos;list&apos;</shortdesc>
+ <content type="string" default=""/>
+ </parameter>
+ <parameter name="pcmk_list_timeout">
+ <longdesc lang="en">Some devices need much more/less time to complete than normal.Use this to specify an alternate, device-specific, timeout for &apos;list&apos; actions.</longdesc>
+ <shortdesc lang="en">Advanced use only: Specify an alternate timeout to use for list actions instead of stonith-timeout</shortdesc>
+ <content type="time" default=""/>
+ </parameter>
+ <parameter name="pcmk_list_retries">
+ <longdesc lang="en">Some devices do not support multiple connections. Operations may &apos;fail&apos; if the device is busy with another task so Pacemaker will automatically retry the operation, if there is time remaining. Use this option to alter the number of times Pacemaker retries &apos;list&apos; actions before giving up.</longdesc>
+ <shortdesc lang="en">Advanced use only: The maximum number of times to retry the &apos;list&apos; command within the timeout period</shortdesc>
+ <content type="integer" default=""/>
+ </parameter>
+ <parameter name="pcmk_monitor_action">
+ <longdesc lang="en">Some devices do not support the standard commands or may provide additional ones.Use this to specify an alternate, device-specific, command that implements the &apos;monitor&apos; action.</longdesc>
+ <shortdesc lang="en">Advanced use only: An alternate command to run instead of &apos;monitor&apos;</shortdesc>
+ <content type="string" default=""/>
+ </parameter>
+ <parameter name="pcmk_monitor_timeout">
+ <longdesc lang="en">Some devices need much more/less time to complete than normal.\nUse this to specify an alternate, device-specific, timeout for &apos;monitor&apos; actions.</longdesc>
+ <shortdesc lang="en">Advanced use only: Specify an alternate timeout to use for monitor actions instead of stonith-timeout</shortdesc>
+ <content type="time" default=""/>
+ </parameter>
+ <parameter name="pcmk_monitor_retries">
+ <longdesc lang="en">Some devices do not support multiple connections. Operations may &apos;fail&apos; if the device is busy with another task so Pacemaker will automatically retry the operation, if there is time remaining. Use this option to alter the number of times Pacemaker retries &apos;monitor&apos; actions before giving up.</longdesc>
+ <shortdesc lang="en">Advanced use only: The maximum number of times to retry the &apos;monitor&apos; command within the timeout period</shortdesc>
+ <content type="integer" default=""/>
+ </parameter>
+ <parameter name="pcmk_status_action">
+ <longdesc lang="en">Some devices do not support the standard commands or may provide additional ones.Use this to specify an alternate, device-specific, command that implements the &apos;status&apos; action.</longdesc>
+ <shortdesc lang="en">Advanced use only: An alternate command to run instead of &apos;status&apos;</shortdesc>
+ <content type="string" default=""/>
+ </parameter>
+ <parameter name="pcmk_status_timeout">
+ <longdesc lang="en">Some devices need much more/less time to complete than normal.Use this to specify an alternate, device-specific, timeout for &apos;status&apos; actions.</longdesc>
+ <shortdesc lang="en">Advanced use only: Specify an alternate timeout to use for status actions instead of stonith-timeout</shortdesc>
+ <content type="time" default=""/>
+ </parameter>
+ <parameter name="pcmk_status_retries">
+ <longdesc lang="en">Some devices do not support multiple connections. Operations may &apos;fail&apos; if the device is busy with another task so Pacemaker will automatically retry the operation, if there is time remaining. Use this option to alter the number of times Pacemaker retries &apos;status&apos; actions before giving up.</longdesc>
+ <shortdesc lang="en">Advanced use only: The maximum number of times to retry the &apos;status&apos; command within the timeout period</shortdesc>
+ <content type="integer" default=""/>
+ </parameter>
+ </parameters>
+</resource-agent>
+=#=#=#= End test: Get fencer metadata - OK (0) =#=#=#=
+* Passed: pacemaker-fenced - Get fencer metadata
+=#=#=#= Begin test: Get scheduler metadata =#=#=#=
+<?xml version=""?>
+<resource-agent name="pacemaker-schedulerd" version="">
+ <version>1.1</version>
+ <longdesc lang="en">Cluster options used by Pacemaker&apos;s scheduler</longdesc>
+ <shortdesc lang="en">Pacemaker scheduler options</shortdesc>
+ <parameters>
+ <parameter name="no-quorum-policy">
+ <longdesc lang="en">What to do when the cluster does not have quorum Allowed values: stop, freeze, ignore, demote, suicide</longdesc>
+ <shortdesc lang="en">What to do when the cluster does not have quorum</shortdesc>
+ <content type="select" default="">
+ <option value="stop" />
+ <option value="freeze" />
+ <option value="ignore" />
+ <option value="demote" />
+ <option value="suicide" />
+ </content>
+ </parameter>
+ <parameter name="symmetric-cluster">
+ <longdesc lang="en">Whether resources can run on any node by default</longdesc>
+ <shortdesc lang="en">Whether resources can run on any node by default</shortdesc>
+ <content type="boolean" default=""/>
+ </parameter>
+ <parameter name="maintenance-mode">
+ <longdesc lang="en">Whether the cluster should refrain from monitoring, starting, and stopping resources</longdesc>
+ <shortdesc lang="en">Whether the cluster should refrain from monitoring, starting, and stopping resources</shortdesc>
+ <content type="boolean" default=""/>
+ </parameter>
+ <parameter name="start-failure-is-fatal">
+ <longdesc lang="en">When true, the cluster will immediately ban a resource from a node if it fails to start there. When false, the cluster will instead check the resource&apos;s fail count against its migration-threshold.</longdesc>
+ <shortdesc lang="en">Whether a start failure should prevent a resource from being recovered on the same node</shortdesc>
+ <content type="boolean" default=""/>
+ </parameter>
+ <parameter name="enable-startup-probes">
+ <longdesc lang="en">Whether the cluster should check for active resources during start-up</longdesc>
+ <shortdesc lang="en">Whether the cluster should check for active resources during start-up</shortdesc>
+ <content type="boolean" default=""/>
+ </parameter>
+ <parameter name="shutdown-lock">
+ <longdesc lang="en">When true, resources active on a node when it is cleanly shut down are kept &quot;locked&quot; to that node (not allowed to run elsewhere) until they start again on that node after it rejoins (or for at most shutdown-lock-limit, if set). Stonith resources and Pacemaker Remote connections are never locked. Clone and bundle instances and the promoted role of promotable clones are currently never locked, though support could be added in a future release.</longdesc>
+ <shortdesc lang="en">Whether to lock resources to a cleanly shut down node</shortdesc>
+ <content type="boolean" default=""/>
+ </parameter>
+ <parameter name="shutdown-lock-limit">
+ <longdesc lang="en">If shutdown-lock is true and this is set to a nonzero time duration, shutdown locks will expire after this much time has passed since the shutdown was initiated, even if the node has not rejoined.</longdesc>
+ <shortdesc lang="en">Do not lock resources to a cleanly shut down node longer than this</shortdesc>
+ <content type="time" default=""/>
+ </parameter>
+ <parameter name="stonith-enabled">
+ <longdesc lang="en">If false, unresponsive nodes are immediately assumed to be harmless, and resources that were active on them may be recovered elsewhere. This can result in a &quot;split-brain&quot; situation, potentially leading to data loss and/or service unavailability.</longdesc>
+ <shortdesc lang="en">*** Advanced Use Only *** Whether nodes may be fenced as part of recovery</shortdesc>
+ <content type="boolean" default=""/>
+ </parameter>
+ <parameter name="stonith-action">
+ <longdesc lang="en">Action to send to fence device when a node needs to be fenced (&quot;poweroff&quot; is a deprecated alias for &quot;off&quot;) Allowed values: reboot, off, poweroff</longdesc>
+ <shortdesc lang="en">Action to send to fence device when a node needs to be fenced (&quot;poweroff&quot; is a deprecated alias for &quot;off&quot;)</shortdesc>
+ <content type="select" default="">
+ <option value="reboot" />
+ <option value="off" />
+ <option value="poweroff" />
+ </content>
+ </parameter>
+ <parameter name="stonith-timeout">
+ <longdesc lang="en">This value is not used by Pacemaker, but is kept for backward compatibility, and certain legacy fence agents might use it.</longdesc>
+ <shortdesc lang="en">*** Advanced Use Only *** Unused by Pacemaker</shortdesc>
+ <content type="time" default=""/>
+ </parameter>
+ <parameter name="have-watchdog">
+ <longdesc lang="en">This is set automatically by the cluster according to whether SBD is detected to be in use. User-configured values are ignored. The value `true` is meaningful if diskless SBD is used and `stonith-watchdog-timeout` is nonzero. In that case, if fencing is required, watchdog-based self-fencing will be performed via SBD without requiring a fencing resource explicitly configured.</longdesc>
+ <shortdesc lang="en">Whether watchdog integration is enabled</shortdesc>
+ <content type="boolean" default=""/>
+ </parameter>
+ <parameter name="concurrent-fencing">
+ <longdesc lang="en">Allow performing fencing operations in parallel</longdesc>
+ <shortdesc lang="en">Allow performing fencing operations in parallel</shortdesc>
+ <content type="boolean" default=""/>
+ </parameter>
+ <parameter name="startup-fencing">
+ <longdesc lang="en">Setting this to false may lead to a &quot;split-brain&quot; situation,potentially leading to data loss and/or service unavailability.</longdesc>
+ <shortdesc lang="en">*** Advanced Use Only *** Whether to fence unseen nodes at start-up</shortdesc>
+ <content type="boolean" default=""/>
+ </parameter>
+ <parameter name="priority-fencing-delay">
+ <longdesc lang="en">Apply specified delay for the fencings that are targeting the lost nodes with the highest total resource priority in case we don&apos;t have the majority of the nodes in our cluster partition, so that the more significant nodes potentially win any fencing match, which is especially meaningful under split-brain of 2-node cluster. A promoted resource instance takes the base priority + 1 on calculation if the base priority is not 0. Any static/random delays that are introduced by `pcmk_delay_base/max` configured for the corresponding fencing resources will be added to this delay. This delay should be significantly greater than, safely twice, the maximum `pcmk_delay_base/max`. By default, priority fencing delay is disabled.</longdesc>
+ <shortdesc lang="en">Apply fencing delay targeting the lost nodes with the highest total resource priority</shortdesc>
+ <content type="time" default=""/>
+ </parameter>
+ <parameter name="cluster-delay">
+ <longdesc lang="en">The node elected Designated Controller (DC) will consider an action failed if it does not get a response from the node executing the action within this time (after considering the action&apos;s own timeout). The &quot;correct&quot; value will depend on the speed and load of your network and cluster nodes.</longdesc>
+ <shortdesc lang="en">Maximum time for node-to-node communication</shortdesc>
+ <content type="time" default=""/>
+ </parameter>
+ <parameter name="batch-limit">
+ <longdesc lang="en">The &quot;correct&quot; value will depend on the speed and load of your network and cluster nodes. If set to 0, the cluster will impose a dynamically calculated limit when any node has a high load.</longdesc>
+ <shortdesc lang="en">Maximum number of jobs that the cluster may execute in parallel across all nodes</shortdesc>
+ <content type="integer" default=""/>
+ </parameter>
+ <parameter name="migration-limit">
+ <longdesc lang="en">The number of live migration actions that the cluster is allowed to execute in parallel on a node (-1 means no limit)</longdesc>
+ <shortdesc lang="en">The number of live migration actions that the cluster is allowed to execute in parallel on a node (-1 means no limit)</shortdesc>
+ <content type="integer" default=""/>
+ </parameter>
+ <parameter name="stop-all-resources">
+ <longdesc lang="en">Whether the cluster should stop all active resources</longdesc>
+ <shortdesc lang="en">Whether the cluster should stop all active resources</shortdesc>
+ <content type="boolean" default=""/>
+ </parameter>
+ <parameter name="stop-orphan-resources">
+ <longdesc lang="en">Whether to stop resources that were removed from the configuration</longdesc>
+ <shortdesc lang="en">Whether to stop resources that were removed from the configuration</shortdesc>
+ <content type="boolean" default=""/>
+ </parameter>
+ <parameter name="stop-orphan-actions">
+ <longdesc lang="en">Whether to cancel recurring actions removed from the configuration</longdesc>
+ <shortdesc lang="en">Whether to cancel recurring actions removed from the configuration</shortdesc>
+ <content type="boolean" default=""/>
+ </parameter>
+ <parameter name="remove-after-stop">
+ <longdesc lang="en">Values other than default are poorly tested and potentially dangerous. This option will be removed in a future release.</longdesc>
+ <shortdesc lang="en">*** Deprecated *** Whether to remove stopped resources from the executor</shortdesc>
+ <content type="boolean" default=""/>
+ </parameter>
+ <parameter name="pe-error-series-max">
+ <longdesc lang="en">Zero to disable, -1 to store unlimited.</longdesc>
+ <shortdesc lang="en">The number of scheduler inputs resulting in errors to save</shortdesc>
+ <content type="integer" default=""/>
+ </parameter>
+ <parameter name="pe-warn-series-max">
+ <longdesc lang="en">Zero to disable, -1 to store unlimited.</longdesc>
+ <shortdesc lang="en">The number of scheduler inputs resulting in warnings to save</shortdesc>
+ <content type="integer" default=""/>
+ </parameter>
+ <parameter name="pe-input-series-max">
+ <longdesc lang="en">Zero to disable, -1 to store unlimited.</longdesc>
+ <shortdesc lang="en">The number of scheduler inputs without errors or warnings to save</shortdesc>
+ <content type="integer" default=""/>
+ </parameter>
+ <parameter name="node-health-strategy">
+ <longdesc lang="en">Requires external entities to create node attributes (named with the prefix &quot;#health&quot;) with values &quot;red&quot;, &quot;yellow&quot;, or &quot;green&quot;. Allowed values: none, migrate-on-red, only-green, progressive, custom</longdesc>
+ <shortdesc lang="en">How cluster should react to node health attributes</shortdesc>
+ <content type="select" default="">
+ <option value="none" />
+ <option value="migrate-on-red" />
+ <option value="only-green" />
+ <option value="progressive" />
+ <option value="custom" />
+ </content>
+ </parameter>
+ <parameter name="node-health-base">
+ <longdesc lang="en">Only used when &quot;node-health-strategy&quot; is set to &quot;progressive&quot;.</longdesc>
+ <shortdesc lang="en">Base health score assigned to a node</shortdesc>
+ <content type="integer" default=""/>
+ </parameter>
+ <parameter name="node-health-green">
+ <longdesc lang="en">Only used when &quot;node-health-strategy&quot; is set to &quot;custom&quot; or &quot;progressive&quot;.</longdesc>
+ <shortdesc lang="en">The score to use for a node health attribute whose value is &quot;green&quot;</shortdesc>
+ <content type="integer" default=""/>
+ </parameter>
+ <parameter name="node-health-yellow">
+ <longdesc lang="en">Only used when &quot;node-health-strategy&quot; is set to &quot;custom&quot; or &quot;progressive&quot;.</longdesc>
+ <shortdesc lang="en">The score to use for a node health attribute whose value is &quot;yellow&quot;</shortdesc>
+ <content type="integer" default=""/>
+ </parameter>
+ <parameter name="node-health-red">
+ <longdesc lang="en">Only used when &quot;node-health-strategy&quot; is set to &quot;custom&quot; or &quot;progressive&quot;.</longdesc>
+ <shortdesc lang="en">The score to use for a node health attribute whose value is &quot;red&quot;</shortdesc>
+ <content type="integer" default=""/>
+ </parameter>
+ <parameter name="placement-strategy">
+ <longdesc lang="en">How the cluster should allocate resources to nodes Allowed values: default, utilization, minimal, balanced</longdesc>
+ <shortdesc lang="en">How the cluster should allocate resources to nodes</shortdesc>
+ <content type="select" default="">
+ <option value="default" />
+ <option value="utilization" />
+ <option value="minimal" />
+ <option value="balanced" />
+ </content>
+ </parameter>
+ </parameters>
+</resource-agent>
+=#=#=#= End test: Get scheduler metadata - OK (0) =#=#=#=
+* Passed: pacemaker-schedulerd - Get scheduler metadata
diff --git a/cts/cli/regression.dates.exp b/cts/cli/regression.dates.exp
new file mode 100644
index 0000000..9c42c6d
--- /dev/null
+++ b/cts/cli/regression.dates.exp
@@ -0,0 +1,362 @@
+=#=#=#= Begin test: Invalid period - [] =#=#=#=
+crm_time_parse_period error: No ISO 8601 time period given
+iso8601: Invalid interval specified:
+=#=#=#= End test: Invalid period - [] - Invalid parameter (2) =#=#=#=
+* Passed: iso8601 - Invalid period - []
+=#=#=#= Begin test: Invalid period - [2019-01-01 00:00:00Z] =#=#=#=
+crm_time_parse_period error: '2019-01-01 00:00:00Z' is not a valid ISO 8601 time period because it has no duration or ending time
+iso8601: Invalid interval specified: 2019-01-01 00:00:00Z
+=#=#=#= End test: Invalid period - [2019-01-01 00:00:00Z] - Invalid parameter (2) =#=#=#=
+* Passed: iso8601 - Invalid period - [2019-01-01 00:00:00Z]
+=#=#=#= Begin test: Invalid period - [2019-01-01 00:00:00Z/] =#=#=#=
+parse_date error: No ISO 8601 date/time specification given
+iso8601: Invalid interval specified: 2019-01-01 00:00:00Z/
+=#=#=#= End test: Invalid period - [2019-01-01 00:00:00Z/] - Invalid parameter (2) =#=#=#=
+* Passed: iso8601 - Invalid period - [2019-01-01 00:00:00Z/]
+=#=#=#= Begin test: Invalid period - [PT2S/P1M] =#=#=#=
+crm_time_parse_period error: 'PT2S/P1M' is not a valid ISO 8601 time period because it has two durations
+iso8601: Invalid interval specified: PT2S/P1M
+=#=#=#= End test: Invalid period - [PT2S/P1M] - Invalid parameter (2) =#=#=#=
+* Passed: iso8601 - Invalid period - [PT2S/P1M]
+=#=#=#= Begin test: Invalid period - [2019-13-01 00:00:00Z/P1M] =#=#=#=
+parse_date error: '2019-13-01 00:00:00Z/P1M' is not a valid ISO 8601 date/time specification because '13' is not a valid month
+iso8601: Invalid interval specified: 2019-13-01 00:00:00Z/P1M
+=#=#=#= End test: Invalid period - [2019-13-01 00:00:00Z/P1M] - Invalid parameter (2) =#=#=#=
+* Passed: iso8601 - Invalid period - [2019-13-01 00:00:00Z/P1M]
+=#=#=#= Begin test: Invalid period - [20191077T15/P1M] =#=#=#=
+parse_date error: '20191077T15/P1M' is not a valid ISO 8601 date/time specification because '77' is not a valid day of the month
+iso8601: Invalid interval specified: 20191077T15/P1M
+=#=#=#= End test: Invalid period - [20191077T15/P1M] - Invalid parameter (2) =#=#=#=
+* Passed: iso8601 - Invalid period - [20191077T15/P1M]
+=#=#=#= Begin test: Invalid period - [2019-10-01T25:00:00Z/P1M] =#=#=#=
+crm_time_parse_sec error: 25:00:00Z/P1M is not a valid ISO 8601 time specification because 25 is not a valid hour
+iso8601: Invalid interval specified: 2019-10-01T25:00:00Z/P1M
+=#=#=#= End test: Invalid period - [2019-10-01T25:00:00Z/P1M] - Invalid parameter (2) =#=#=#=
+* Passed: iso8601 - Invalid period - [2019-10-01T25:00:00Z/P1M]
+=#=#=#= Begin test: Invalid period - [2019-10-01T24:00:01Z/P1M] =#=#=#=
+crm_time_parse_sec error: 24:00:01Z/P1M is not a valid ISO 8601 time specification because 24 is not a valid hour
+iso8601: Invalid interval specified: 2019-10-01T24:00:01Z/P1M
+=#=#=#= End test: Invalid period - [2019-10-01T24:00:01Z/P1M] - Invalid parameter (2) =#=#=#=
+* Passed: iso8601 - Invalid period - [2019-10-01T24:00:01Z/P1M]
+=#=#=#= Begin test: Invalid period - [PT5H/20191001T007000Z] =#=#=#=
+crm_time_parse_sec error: 007000Z is not a valid ISO 8601 time specification because 70 is not a valid minute
+iso8601: Invalid interval specified: PT5H/20191001T007000Z
+=#=#=#= End test: Invalid period - [PT5H/20191001T007000Z] - Invalid parameter (2) =#=#=#=
+* Passed: iso8601 - Invalid period - [PT5H/20191001T007000Z]
+=#=#=#= Begin test: Invalid period - [2019-10-01 00:00:80Z/P1M] =#=#=#=
+crm_time_parse_sec error: 00:00:80Z/P1M is not a valid ISO 8601 time specification because 80 is not a valid second
+iso8601: Invalid interval specified: 2019-10-01 00:00:80Z/P1M
+=#=#=#= End test: Invalid period - [2019-10-01 00:00:80Z/P1M] - Invalid parameter (2) =#=#=#=
+* Passed: iso8601 - Invalid period - [2019-10-01 00:00:80Z/P1M]
+=#=#=#= Begin test: Invalid period - [2019-10-01 00:00:10 +25:00/P1M] =#=#=#=
+crm_time_parse_sec error: 25:00/P1M is not a valid ISO 8601 time specification because 25 is not a valid hour
+iso8601: Invalid interval specified: 2019-10-01 00:00:10 +25:00/P1M
+=#=#=#= End test: Invalid period - [2019-10-01 00:00:10 +25:00/P1M] - Invalid parameter (2) =#=#=#=
+* Passed: iso8601 - Invalid period - [2019-10-01 00:00:10 +25:00/P1M]
+=#=#=#= Begin test: Invalid period - [20191001T000010 -00:61/P1M] =#=#=#=
+crm_time_parse_sec error: 00:61/P1M is not a valid ISO 8601 time specification because 61 is not a valid minute
+iso8601: Invalid interval specified: 20191001T000010 -00:61/P1M
+=#=#=#= End test: Invalid period - [20191001T000010 -00:61/P1M] - Invalid parameter (2) =#=#=#=
+* Passed: iso8601 - Invalid period - [20191001T000010 -00:61/P1M]
+=#=#=#= Begin test: Invalid period - [P1Y/2019-02-29 00:00:00Z] =#=#=#=
+parse_date error: '2019-02-29 00:00:00Z' is not a valid ISO 8601 date/time specification because '29' is not a valid day of the month
+iso8601: Invalid interval specified: P1Y/2019-02-29 00:00:00Z
+=#=#=#= End test: Invalid period - [P1Y/2019-02-29 00:00:00Z] - Invalid parameter (2) =#=#=#=
+* Passed: iso8601 - Invalid period - [P1Y/2019-02-29 00:00:00Z]
+=#=#=#= Begin test: Invalid period - [2019-01-01 00:00:00Z/P] =#=#=#=
+crm_time_parse_duration error: 'P' is not a valid ISO 8601 time duration because nothing follows 'P'
+iso8601: Invalid interval specified: 2019-01-01 00:00:00Z/P
+=#=#=#= End test: Invalid period - [2019-01-01 00:00:00Z/P] - Invalid parameter (2) =#=#=#=
+* Passed: iso8601 - Invalid period - [2019-01-01 00:00:00Z/P]
+=#=#=#= Begin test: Invalid period - [P1Z/2019-02-20 00:00:00Z] =#=#=#=
+crm_time_parse_duration error: 'P1Z/2019-02-20 00:00:00Z' is not a valid ISO 8601 time duration because 'Z' is not a valid time unit
+iso8601: Invalid interval specified: P1Z/2019-02-20 00:00:00Z
+=#=#=#= End test: Invalid period - [P1Z/2019-02-20 00:00:00Z] - Invalid parameter (2) =#=#=#=
+* Passed: iso8601 - Invalid period - [P1Z/2019-02-20 00:00:00Z]
+=#=#=#= Begin test: Invalid period - [P1YM/2019-02-20 00:00:00Z] =#=#=#=
+crm_time_parse_duration error: 'P1YM/2019-02-20 00:00:00Z' is not a valid ISO 8601 time duration because no integer at 'M/2019-02-20 00:00:00Z'
+iso8601: Invalid interval specified: P1YM/2019-02-20 00:00:00Z
+=#=#=#= End test: Invalid period - [P1YM/2019-02-20 00:00:00Z] - Invalid parameter (2) =#=#=#=
+* Passed: iso8601 - Invalid period - [P1YM/2019-02-20 00:00:00Z]
+=#=#=#= Begin test: 2014-01-01 00:30:00 - 1 Hour =#=#=#=
+Date: 2014-01-01 00:30:00Z
+Duration: -3600 seconds (1 hour)
+Duration ends at: 2013-12-31 23:30:00Z
+=#=#=#= End test: 2014-01-01 00:30:00 - 1 Hour - OK (0) =#=#=#=
+* Passed: iso8601 - 2014-01-01 00:30:00 - 1 Hour
+=#=#=#= Begin test: Valid date - Feb 29 in leap year =#=#=#=
+Date: 2020-02-29 00:00:00Z
+=#=#=#= End test: Valid date - Feb 29 in leap year - OK (0) =#=#=#=
+* Passed: iso8601 - Valid date - Feb 29 in leap year
+=#=#=#= Begin test: Valid date - using 'T' and offset =#=#=#=
+Date: 2019-12-01 18:12:11Z
+=#=#=#= End test: Valid date - using 'T' and offset - OK (0) =#=#=#=
+* Passed: iso8601 - Valid date - using 'T' and offset
+=#=#=#= Begin test: 24:00:00 equivalent to 00:00:00 of next day =#=#=#=
+Date: 2020-01-01 00:00:00Z
+=#=#=#= End test: 24:00:00 equivalent to 00:00:00 of next day - OK (0) =#=#=#=
+* Passed: iso8601 - 24:00:00 equivalent to 00:00:00 of next day
+=#=#=#= Begin test: 2006-W01-7 =#=#=#=
+Date: 2006-01-08 00:00:00Z
+=#=#=#= End test: 2006-W01-7 - OK (0) =#=#=#=
+* Passed: iso8601 - 2006-W01-7
+=#=#=#= Begin test: 2006-W01-7 - round-trip =#=#=#=
+Date: 2006-W01-7 00:00:00Z
+=#=#=#= End test: 2006-W01-7 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2006-W01-7 - round-trip
+=#=#=#= Begin test: 2006-W01-1 =#=#=#=
+Date: 2006-01-02 00:00:00Z
+=#=#=#= End test: 2006-W01-1 - OK (0) =#=#=#=
+* Passed: iso8601 - 2006-W01-1
+=#=#=#= Begin test: 2006-W01-1 - round-trip =#=#=#=
+Date: 2006-W01-1 00:00:00Z
+=#=#=#= End test: 2006-W01-1 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2006-W01-1 - round-trip
+=#=#=#= Begin test: 2007-W01-7 =#=#=#=
+Date: 2007-01-07 00:00:00Z
+=#=#=#= End test: 2007-W01-7 - OK (0) =#=#=#=
+* Passed: iso8601 - 2007-W01-7
+=#=#=#= Begin test: 2007-W01-7 - round-trip =#=#=#=
+Date: 2007-W01-7 00:00:00Z
+=#=#=#= End test: 2007-W01-7 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2007-W01-7 - round-trip
+=#=#=#= Begin test: 2007-W01-1 =#=#=#=
+Date: 2007-01-01 00:00:00Z
+=#=#=#= End test: 2007-W01-1 - OK (0) =#=#=#=
+* Passed: iso8601 - 2007-W01-1
+=#=#=#= Begin test: 2007-W01-1 - round-trip =#=#=#=
+Date: 2007-W01-1 00:00:00Z
+=#=#=#= End test: 2007-W01-1 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2007-W01-1 - round-trip
+=#=#=#= Begin test: 2008-W01-7 =#=#=#=
+Date: 2008-01-06 00:00:00Z
+=#=#=#= End test: 2008-W01-7 - OK (0) =#=#=#=
+* Passed: iso8601 - 2008-W01-7
+=#=#=#= Begin test: 2008-W01-7 - round-trip =#=#=#=
+Date: 2008-W01-7 00:00:00Z
+=#=#=#= End test: 2008-W01-7 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2008-W01-7 - round-trip
+=#=#=#= Begin test: 2008-W01-1 =#=#=#=
+Date: 2007-12-31 00:00:00Z
+=#=#=#= End test: 2008-W01-1 - OK (0) =#=#=#=
+* Passed: iso8601 - 2008-W01-1
+=#=#=#= Begin test: 2008-W01-1 - round-trip =#=#=#=
+Date: 2008-W01-1 00:00:00Z
+=#=#=#= End test: 2008-W01-1 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2008-W01-1 - round-trip
+=#=#=#= Begin test: 2009-W01-7 =#=#=#=
+Date: 2009-01-04 00:00:00Z
+=#=#=#= End test: 2009-W01-7 - OK (0) =#=#=#=
+* Passed: iso8601 - 2009-W01-7
+=#=#=#= Begin test: 2009-W01-7 - round-trip =#=#=#=
+Date: 2009-W01-7 00:00:00Z
+=#=#=#= End test: 2009-W01-7 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2009-W01-7 - round-trip
+=#=#=#= Begin test: 2009-W01-1 =#=#=#=
+Date: 2008-12-29 00:00:00Z
+=#=#=#= End test: 2009-W01-1 - OK (0) =#=#=#=
+* Passed: iso8601 - 2009-W01-1
+=#=#=#= Begin test: 2009-W01-1 - round-trip =#=#=#=
+Date: 2009-W01-1 00:00:00Z
+=#=#=#= End test: 2009-W01-1 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2009-W01-1 - round-trip
+=#=#=#= Begin test: 2010-W01-7 =#=#=#=
+Date: 2010-01-10 00:00:00Z
+=#=#=#= End test: 2010-W01-7 - OK (0) =#=#=#=
+* Passed: iso8601 - 2010-W01-7
+=#=#=#= Begin test: 2010-W01-7 - round-trip =#=#=#=
+Date: 2010-W01-7 00:00:00Z
+=#=#=#= End test: 2010-W01-7 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2010-W01-7 - round-trip
+=#=#=#= Begin test: 2010-W01-1 =#=#=#=
+Date: 2010-01-04 00:00:00Z
+=#=#=#= End test: 2010-W01-1 - OK (0) =#=#=#=
+* Passed: iso8601 - 2010-W01-1
+=#=#=#= Begin test: 2010-W01-1 - round-trip =#=#=#=
+Date: 2010-W01-1 00:00:00Z
+=#=#=#= End test: 2010-W01-1 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2010-W01-1 - round-trip
+=#=#=#= Begin test: 2011-W01-7 =#=#=#=
+Date: 2011-01-09 00:00:00Z
+=#=#=#= End test: 2011-W01-7 - OK (0) =#=#=#=
+* Passed: iso8601 - 2011-W01-7
+=#=#=#= Begin test: 2011-W01-7 - round-trip =#=#=#=
+Date: 2011-W01-7 00:00:00Z
+=#=#=#= End test: 2011-W01-7 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2011-W01-7 - round-trip
+=#=#=#= Begin test: 2011-W01-1 =#=#=#=
+Date: 2011-01-03 00:00:00Z
+=#=#=#= End test: 2011-W01-1 - OK (0) =#=#=#=
+* Passed: iso8601 - 2011-W01-1
+=#=#=#= Begin test: 2011-W01-1 - round-trip =#=#=#=
+Date: 2011-W01-1 00:00:00Z
+=#=#=#= End test: 2011-W01-1 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2011-W01-1 - round-trip
+=#=#=#= Begin test: 2012-W01-7 =#=#=#=
+Date: 2012-01-08 00:00:00Z
+=#=#=#= End test: 2012-W01-7 - OK (0) =#=#=#=
+* Passed: iso8601 - 2012-W01-7
+=#=#=#= Begin test: 2012-W01-7 - round-trip =#=#=#=
+Date: 2012-W01-7 00:00:00Z
+=#=#=#= End test: 2012-W01-7 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2012-W01-7 - round-trip
+=#=#=#= Begin test: 2012-W01-1 =#=#=#=
+Date: 2012-01-02 00:00:00Z
+=#=#=#= End test: 2012-W01-1 - OK (0) =#=#=#=
+* Passed: iso8601 - 2012-W01-1
+=#=#=#= Begin test: 2012-W01-1 - round-trip =#=#=#=
+Date: 2012-W01-1 00:00:00Z
+=#=#=#= End test: 2012-W01-1 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2012-W01-1 - round-trip
+=#=#=#= Begin test: 2013-W01-7 =#=#=#=
+Date: 2013-01-06 00:00:00Z
+=#=#=#= End test: 2013-W01-7 - OK (0) =#=#=#=
+* Passed: iso8601 - 2013-W01-7
+=#=#=#= Begin test: 2013-W01-7 - round-trip =#=#=#=
+Date: 2013-W01-7 00:00:00Z
+=#=#=#= End test: 2013-W01-7 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2013-W01-7 - round-trip
+=#=#=#= Begin test: 2013-W01-1 =#=#=#=
+Date: 2012-12-31 00:00:00Z
+=#=#=#= End test: 2013-W01-1 - OK (0) =#=#=#=
+* Passed: iso8601 - 2013-W01-1
+=#=#=#= Begin test: 2013-W01-1 - round-trip =#=#=#=
+Date: 2013-W01-1 00:00:00Z
+=#=#=#= End test: 2013-W01-1 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2013-W01-1 - round-trip
+=#=#=#= Begin test: 2014-W01-7 =#=#=#=
+Date: 2014-01-05 00:00:00Z
+=#=#=#= End test: 2014-W01-7 - OK (0) =#=#=#=
+* Passed: iso8601 - 2014-W01-7
+=#=#=#= Begin test: 2014-W01-7 - round-trip =#=#=#=
+Date: 2014-W01-7 00:00:00Z
+=#=#=#= End test: 2014-W01-7 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2014-W01-7 - round-trip
+=#=#=#= Begin test: 2014-W01-1 =#=#=#=
+Date: 2013-12-30 00:00:00Z
+=#=#=#= End test: 2014-W01-1 - OK (0) =#=#=#=
+* Passed: iso8601 - 2014-W01-1
+=#=#=#= Begin test: 2014-W01-1 - round-trip =#=#=#=
+Date: 2014-W01-1 00:00:00Z
+=#=#=#= End test: 2014-W01-1 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2014-W01-1 - round-trip
+=#=#=#= Begin test: 2015-W01-7 =#=#=#=
+Date: 2015-01-04 00:00:00Z
+=#=#=#= End test: 2015-W01-7 - OK (0) =#=#=#=
+* Passed: iso8601 - 2015-W01-7
+=#=#=#= Begin test: 2015-W01-7 - round-trip =#=#=#=
+Date: 2015-W01-7 00:00:00Z
+=#=#=#= End test: 2015-W01-7 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2015-W01-7 - round-trip
+=#=#=#= Begin test: 2015-W01-1 =#=#=#=
+Date: 2014-12-29 00:00:00Z
+=#=#=#= End test: 2015-W01-1 - OK (0) =#=#=#=
+* Passed: iso8601 - 2015-W01-1
+=#=#=#= Begin test: 2015-W01-1 - round-trip =#=#=#=
+Date: 2015-W01-1 00:00:00Z
+=#=#=#= End test: 2015-W01-1 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2015-W01-1 - round-trip
+=#=#=#= Begin test: 2016-W01-7 =#=#=#=
+Date: 2016-01-10 00:00:00Z
+=#=#=#= End test: 2016-W01-7 - OK (0) =#=#=#=
+* Passed: iso8601 - 2016-W01-7
+=#=#=#= Begin test: 2016-W01-7 - round-trip =#=#=#=
+Date: 2016-W01-7 00:00:00Z
+=#=#=#= End test: 2016-W01-7 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2016-W01-7 - round-trip
+=#=#=#= Begin test: 2016-W01-1 =#=#=#=
+Date: 2016-01-04 00:00:00Z
+=#=#=#= End test: 2016-W01-1 - OK (0) =#=#=#=
+* Passed: iso8601 - 2016-W01-1
+=#=#=#= Begin test: 2016-W01-1 - round-trip =#=#=#=
+Date: 2016-W01-1 00:00:00Z
+=#=#=#= End test: 2016-W01-1 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2016-W01-1 - round-trip
+=#=#=#= Begin test: 2017-W01-7 =#=#=#=
+Date: 2017-01-08 00:00:00Z
+=#=#=#= End test: 2017-W01-7 - OK (0) =#=#=#=
+* Passed: iso8601 - 2017-W01-7
+=#=#=#= Begin test: 2017-W01-7 - round-trip =#=#=#=
+Date: 2017-W01-7 00:00:00Z
+=#=#=#= End test: 2017-W01-7 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2017-W01-7 - round-trip
+=#=#=#= Begin test: 2017-W01-1 =#=#=#=
+Date: 2017-01-02 00:00:00Z
+=#=#=#= End test: 2017-W01-1 - OK (0) =#=#=#=
+* Passed: iso8601 - 2017-W01-1
+=#=#=#= Begin test: 2017-W01-1 - round-trip =#=#=#=
+Date: 2017-W01-1 00:00:00Z
+=#=#=#= End test: 2017-W01-1 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2017-W01-1 - round-trip
+=#=#=#= Begin test: 2018-W01-7 =#=#=#=
+Date: 2018-01-07 00:00:00Z
+=#=#=#= End test: 2018-W01-7 - OK (0) =#=#=#=
+* Passed: iso8601 - 2018-W01-7
+=#=#=#= Begin test: 2018-W01-7 - round-trip =#=#=#=
+Date: 2018-W01-7 00:00:00Z
+=#=#=#= End test: 2018-W01-7 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2018-W01-7 - round-trip
+=#=#=#= Begin test: 2018-W01-1 =#=#=#=
+Date: 2018-01-01 00:00:00Z
+=#=#=#= End test: 2018-W01-1 - OK (0) =#=#=#=
+* Passed: iso8601 - 2018-W01-1
+=#=#=#= Begin test: 2018-W01-1 - round-trip =#=#=#=
+Date: 2018-W01-1 00:00:00Z
+=#=#=#= End test: 2018-W01-1 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2018-W01-1 - round-trip
+=#=#=#= Begin test: 2040-W01-7 =#=#=#=
+Date: 2040-01-08 00:00:00Z
+=#=#=#= End test: 2040-W01-7 - OK (0) =#=#=#=
+* Passed: iso8601 - 2040-W01-7
+=#=#=#= Begin test: 2040-W01-7 - round-trip =#=#=#=
+Date: 2040-W01-7 00:00:00Z
+=#=#=#= End test: 2040-W01-7 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2040-W01-7 - round-trip
+=#=#=#= Begin test: 2040-W01-1 =#=#=#=
+Date: 2040-01-02 00:00:00Z
+=#=#=#= End test: 2040-W01-1 - OK (0) =#=#=#=
+* Passed: iso8601 - 2040-W01-1
+=#=#=#= Begin test: 2040-W01-1 - round-trip =#=#=#=
+Date: 2040-W01-1 00:00:00Z
+=#=#=#= End test: 2040-W01-1 - round-trip - OK (0) =#=#=#=
+* Passed: iso8601 - 2040-W01-1 - round-trip
+=#=#=#= Begin test: 2009-W53-07 =#=#=#=
+Date: 2009-W53-7 00:00:00Z
+=#=#=#= End test: 2009-W53-07 - OK (0) =#=#=#=
+* Passed: iso8601 - 2009-W53-07
+=#=#=#= Begin test: epoch + 2 Years 5 Months 6 Minutes =#=#=#=
+Date: 1970-01-01 00:00:00Z
+Duration: 2 years 5 months 360 seconds (6 minutes)
+Duration ends at: 1972-06-01 00:06:00Z
+=#=#=#= End test: epoch + 2 Years 5 Months 6 Minutes - OK (0) =#=#=#=
+* Passed: iso8601 - epoch + 2 Years 5 Months 6 Minutes
+=#=#=#= Begin test: 2009-01-31 + 1 Month =#=#=#=
+Date: 2009-01-31 00:00:00Z
+Duration: 1 month
+Duration ends at: 2009-02-28 00:00:00Z
+=#=#=#= End test: 2009-01-31 + 1 Month - OK (0) =#=#=#=
+* Passed: iso8601 - 2009-01-31 + 1 Month
+=#=#=#= Begin test: 2009-01-31 + 2 Months =#=#=#=
+Date: 2009-01-31 00:00:00Z
+Duration: 2 months
+Duration ends at: 2009-03-31 00:00:00Z
+=#=#=#= End test: 2009-01-31 + 2 Months - OK (0) =#=#=#=
+* Passed: iso8601 - 2009-01-31 + 2 Months
+=#=#=#= Begin test: 2009-01-31 + 3 Months =#=#=#=
+Date: 2009-01-31 00:00:00Z
+Duration: 3 months
+Duration ends at: 2009-04-30 00:00:00Z
+=#=#=#= End test: 2009-01-31 + 3 Months - OK (0) =#=#=#=
+* Passed: iso8601 - 2009-01-31 + 3 Months
+=#=#=#= Begin test: 2009-03-31 - 1 Month =#=#=#=
+Date: 2009-03-31 00:00:00Z
+Duration: -1 months
+Duration ends at: 2009-02-28 01:00:00 +01:00
+=#=#=#= End test: 2009-03-31 - 1 Month - OK (0) =#=#=#=
+* Passed: iso8601 - 2009-03-31 - 1 Month
+=#=#=#= Begin test: 2038-01-01 + 3 Months =#=#=#=
+Date: 2038-01-01 00:00:00Z
+Duration: 3 months
+Duration ends at: 2038-04-01 00:00:00Z
+=#=#=#= End test: 2038-01-01 + 3 Months - OK (0) =#=#=#=
+* Passed: iso8601 - 2038-01-01 + 3 Months
diff --git a/cts/cli/regression.error_codes.exp b/cts/cli/regression.error_codes.exp
new file mode 100644
index 0000000..6c6f4e1
--- /dev/null
+++ b/cts/cli/regression.error_codes.exp
@@ -0,0 +1,544 @@
+=#=#=#= Begin test: Get legacy return code =#=#=#=
+Error
+=#=#=#= End test: Get legacy return code - OK (0) =#=#=#=
+* Passed: crm_error - Get legacy return code
+=#=#=#= Begin test: Get legacy return code (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_error --output-as=xml -- 201">
+ <result-code code="201" description="Error"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Get legacy return code (XML) - OK (0) =#=#=#=
+* Passed: crm_error - Get legacy return code (XML)
+=#=#=#= Begin test: Get legacy return code (with name) =#=#=#=
+pcmk_err_generic - Error
+=#=#=#= End test: Get legacy return code (with name) - OK (0) =#=#=#=
+* Passed: crm_error - Get legacy return code (with name)
+=#=#=#= Begin test: Get legacy return code (with name) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_error -n --output-as=xml -- 201">
+ <result-code code="201" name="pcmk_err_generic" description="Error"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Get legacy return code (with name) (XML) - OK (0) =#=#=#=
+* Passed: crm_error - Get legacy return code (with name) (XML)
+=#=#=#= Begin test: Get multiple legacy return codes =#=#=#=
+Error
+Operation requires quorum
+=#=#=#= End test: Get multiple legacy return codes - OK (0) =#=#=#=
+* Passed: crm_error - Get multiple legacy return codes
+=#=#=#= Begin test: Get multiple legacy return codes (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_error --output-as=xml -- 201 202">
+ <result-code code="201" description="Error"/>
+ <result-code code="202" description="Operation requires quorum"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Get multiple legacy return codes (XML) - OK (0) =#=#=#=
+* Passed: crm_error - Get multiple legacy return codes (XML)
+=#=#=#= Begin test: Get multiple legacy return codes (with names) =#=#=#=
+pcmk_err_generic - Error
+pcmk_err_no_quorum - Operation requires quorum
+=#=#=#= End test: Get multiple legacy return codes (with names) - OK (0) =#=#=#=
+* Passed: crm_error - Get multiple legacy return codes (with names)
+=#=#=#= Begin test: Get multiple legacy return codes (with names) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_error -n --output-as=xml -- 201 202">
+ <result-code code="201" name="pcmk_err_generic" description="Error"/>
+ <result-code code="202" name="pcmk_err_no_quorum" description="Operation requires quorum"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Get multiple legacy return codes (with names) (XML) - OK (0) =#=#=#=
+* Passed: crm_error - Get multiple legacy return codes (with names) (XML)
+=#=#=#= Begin test: List legacy return codes (spot check) =#=#=#=
+ 201: Error
+ 202: Operation requires quorum
+ 203: Update does not conform to the configured schema
+ 204: Schema transform failed
+ 205: Update was older than existing configuration
+ 206: Application of update diff failed
+ 207: Application of update diff failed, requesting full refresh
+ 208: On-disk configuration was manually modified
+ 209: Could not archive previous configuration
+=#=#=#= End test: List legacy return codes (spot check) - OK (0) =#=#=#=
+* Passed: crm_error - List legacy return codes (spot check)
+=#=#=#= Begin test: List legacy return codes (spot check) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_error -l --output-as=xml">
+ <result-code code="201" description="Error"/>
+ <result-code code="202" description="Operation requires quorum"/>
+ <result-code code="203" description="Update does not conform to the configured schema"/>
+ <result-code code="204" description="Schema transform failed"/>
+ <result-code code="205" description="Update was older than existing configuration"/>
+ <result-code code="206" description="Application of update diff failed"/>
+ <result-code code="207" description="Application of update diff failed, requesting full refresh"/>
+ <result-code code="208" description="On-disk configuration was manually modified"/>
+ <result-code code="209" description="Could not archive previous configuration"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: List legacy return codes (spot check) (XML) - OK (0) =#=#=#=
+* Passed: crm_error - List legacy return codes (spot check) (XML)
+=#=#=#= Begin test: List legacy return codes (spot check) (with names) =#=#=#=
+ 201: pcmk_err_generic Error
+ 202: pcmk_err_no_quorum Operation requires quorum
+ 203: pcmk_err_schema_validation Update does not conform to the configured schema
+ 204: pcmk_err_transform_failed Schema transform failed
+ 205: pcmk_err_old_data Update was older than existing configuration
+ 206: pcmk_err_diff_failed Application of update diff failed
+ 207: pcmk_err_diff_resync Application of update diff failed, requesting full refresh
+ 208: pcmk_err_cib_modified On-disk configuration was manually modified
+ 209: pcmk_err_cib_backup Could not archive previous configuration
+=#=#=#= End test: List legacy return codes (spot check) (with names) - OK (0) =#=#=#=
+* Passed: crm_error - List legacy return codes (spot check) (with names)
+=#=#=#= Begin test: List legacy return codes (spot check) (with names) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_error -n -l --output-as=xml">
+ <result-code code="201" name="pcmk_err_generic" description="Error"/>
+ <result-code code="202" name="pcmk_err_no_quorum" description="Operation requires quorum"/>
+ <result-code code="203" name="pcmk_err_schema_validation" description="Update does not conform to the configured schema"/>
+ <result-code code="204" name="pcmk_err_transform_failed" description="Schema transform failed"/>
+ <result-code code="205" name="pcmk_err_old_data" description="Update was older than existing configuration"/>
+ <result-code code="206" name="pcmk_err_diff_failed" description="Application of update diff failed"/>
+ <result-code code="207" name="pcmk_err_diff_resync" description="Application of update diff failed, requesting full refresh"/>
+ <result-code code="208" name="pcmk_err_cib_modified" description="On-disk configuration was manually modified"/>
+ <result-code code="209" name="pcmk_err_cib_backup" description="Could not archive previous configuration"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: List legacy return codes (spot check) (with names) (XML) - OK (0) =#=#=#=
+* Passed: crm_error - List legacy return codes (spot check) (with names) (XML)
+=#=#=#= Begin test: Get unknown Pacemaker return code =#=#=#=
+Error
+=#=#=#= End test: Get unknown Pacemaker return code - OK (0) =#=#=#=
+* Passed: crm_error - Get unknown Pacemaker return code
+=#=#=#= Begin test: Get unknown Pacemaker return code (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_error -r --output-as=xml -- -10000">
+ <result-code code="-10000" description="Error"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Get unknown Pacemaker return code (XML) - OK (0) =#=#=#=
+* Passed: crm_error - Get unknown Pacemaker return code (XML)
+=#=#=#= Begin test: Get unknown Pacemaker return code (with name) =#=#=#=
+Unknown - Error
+=#=#=#= End test: Get unknown Pacemaker return code (with name) - OK (0) =#=#=#=
+* Passed: crm_error - Get unknown Pacemaker return code (with name)
+=#=#=#= Begin test: Get unknown Pacemaker return code (with name) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_error -n -r --output-as=xml -- -10000">
+ <result-code code="-10000" name="Unknown" description="Error"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Get unknown Pacemaker return code (with name) (XML) - OK (0) =#=#=#=
+* Passed: crm_error - Get unknown Pacemaker return code (with name) (XML)
+=#=#=#= Begin test: Get negative Pacemaker return code =#=#=#=
+Node not found
+=#=#=#= End test: Get negative Pacemaker return code - OK (0) =#=#=#=
+* Passed: crm_error - Get negative Pacemaker return code
+=#=#=#= Begin test: Get negative Pacemaker return code (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_error -r --output-as=xml -- -1005">
+ <result-code code="-1005" description="Node not found"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Get negative Pacemaker return code (XML) - OK (0) =#=#=#=
+* Passed: crm_error - Get negative Pacemaker return code (XML)
+=#=#=#= Begin test: Get negative Pacemaker return code (with name) =#=#=#=
+pcmk_rc_node_unknown - Node not found
+=#=#=#= End test: Get negative Pacemaker return code (with name) - OK (0) =#=#=#=
+* Passed: crm_error - Get negative Pacemaker return code (with name)
+=#=#=#= Begin test: Get negative Pacemaker return code (with name) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_error -n -r --output-as=xml -- -1005">
+ <result-code code="-1005" name="pcmk_rc_node_unknown" description="Node not found"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Get negative Pacemaker return code (with name) (XML) - OK (0) =#=#=#=
+* Passed: crm_error - Get negative Pacemaker return code (with name) (XML)
+=#=#=#= Begin test: List Pacemaker return codes (non-positive) =#=#=#=
+-1036: Bad XML patch format
+-1035: Bad input value provided
+-1034: Disabled
+-1033: Two or more XML elements have the same ID
+-1032: Unable to parse CIB XML
+-1031: Cluster simulation produced invalid transition
+-1030: Error writing graph file
+-1029: Error writing dot(1) file
+-1028: Value too small to be stored in data type
+-1027: Input file not available
+-1026: Output message produced no output
+-1025: Result occurs after given range
+-1024: Result occurs within given range
+-1023: Result occurs before given range
+-1022: Result undetermined
+-1021: Not applicable under current conditions
+-1020: IPC server process is active but not accepting connections
+-1019: IPC server is unresponsive
+-1018: IPC server is blocked by unauthorized process
+-1017: Operation requires quorum
+-1016: Update does not conform to the configured schema
+-1015: Schema is already the latest available
+-1014: Schema transform failed
+-1013: Update was older than existing configuration
+-1012: Application of update diff failed
+-1011: Application of update diff failed, requesting full refresh
+-1010: On-disk configuration was manually modified
+-1009: Could not archive previous configuration
+-1008: Could not save new configuration to disk
+-1007: Could not parse on-disk configuration
+-1006: Resource active on multiple nodes
+-1005: Node not found
+-1004: Already in requested state
+-1003: Bad name/value pair given
+-1002: Unknown output format
+-1001: Error
+ 0: OK
+=#=#=#= End test: List Pacemaker return codes (non-positive) - OK (0) =#=#=#=
+* Passed: crm_error - List Pacemaker return codes (non-positive)
+=#=#=#= Begin test: List Pacemaker return codes (non-positive) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_error -l -r --output-as=xml">
+ <result-code code="-1036" description="Bad XML patch format"/>
+ <result-code code="-1035" description="Bad input value provided"/>
+ <result-code code="-1034" description="Disabled"/>
+ <result-code code="-1033" description="Two or more XML elements have the same ID"/>
+ <result-code code="-1032" description="Unable to parse CIB XML"/>
+ <result-code code="-1031" description="Cluster simulation produced invalid transition"/>
+ <result-code code="-1030" description="Error writing graph file"/>
+ <result-code code="-1029" description="Error writing dot(1) file"/>
+ <result-code code="-1028" description="Value too small to be stored in data type"/>
+ <result-code code="-1027" description="Input file not available"/>
+ <result-code code="-1026" description="Output message produced no output"/>
+ <result-code code="-1025" description="Result occurs after given range"/>
+ <result-code code="-1024" description="Result occurs within given range"/>
+ <result-code code="-1023" description="Result occurs before given range"/>
+ <result-code code="-1022" description="Result undetermined"/>
+ <result-code code="-1021" description="Not applicable under current conditions"/>
+ <result-code code="-1020" description="IPC server process is active but not accepting connections"/>
+ <result-code code="-1019" description="IPC server is unresponsive"/>
+ <result-code code="-1018" description="IPC server is blocked by unauthorized process"/>
+ <result-code code="-1017" description="Operation requires quorum"/>
+ <result-code code="-1016" description="Update does not conform to the configured schema"/>
+ <result-code code="-1015" description="Schema is already the latest available"/>
+ <result-code code="-1014" description="Schema transform failed"/>
+ <result-code code="-1013" description="Update was older than existing configuration"/>
+ <result-code code="-1012" description="Application of update diff failed"/>
+ <result-code code="-1011" description="Application of update diff failed, requesting full refresh"/>
+ <result-code code="-1010" description="On-disk configuration was manually modified"/>
+ <result-code code="-1009" description="Could not archive previous configuration"/>
+ <result-code code="-1008" description="Could not save new configuration to disk"/>
+ <result-code code="-1007" description="Could not parse on-disk configuration"/>
+ <result-code code="-1006" description="Resource active on multiple nodes"/>
+ <result-code code="-1005" description="Node not found"/>
+ <result-code code="-1004" description="Already in requested state"/>
+ <result-code code="-1003" description="Bad name/value pair given"/>
+ <result-code code="-1002" description="Unknown output format"/>
+ <result-code code="-1001" description="Error"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: List Pacemaker return codes (non-positive) (XML) - OK (0) =#=#=#=
+* Passed: crm_error - List Pacemaker return codes (non-positive) (XML)
+=#=#=#= Begin test: List Pacemaker return codes (non-positive) (with names) =#=#=#=
+-1036: pcmk_rc_bad_xml_patch Bad XML patch format
+-1035: pcmk_rc_bad_input Bad input value provided
+-1034: pcmk_rc_disabled Disabled
+-1033: pcmk_rc_duplicate_id Two or more XML elements have the same ID
+-1032: pcmk_rc_unpack_error Unable to parse CIB XML
+-1031: pcmk_rc_invalid_transition Cluster simulation produced invalid transition
+-1030: pcmk_rc_graph_error Error writing graph file
+-1029: pcmk_rc_dot_error Error writing dot(1) file
+-1028: pcmk_rc_underflow Value too small to be stored in data type
+-1027: pcmk_rc_no_input Input file not available
+-1026: pcmk_rc_no_output Output message produced no output
+-1025: pcmk_rc_after_range Result occurs after given range
+-1024: pcmk_rc_within_range Result occurs within given range
+-1023: pcmk_rc_before_range Result occurs before given range
+-1022: pcmk_rc_undetermined Result undetermined
+-1021: pcmk_rc_op_unsatisfied Not applicable under current conditions
+-1020: pcmk_rc_ipc_pid_only IPC server process is active but not accepting connections
+-1019: pcmk_rc_ipc_unresponsive IPC server is unresponsive
+-1018: pcmk_rc_ipc_unauthorized IPC server is blocked by unauthorized process
+-1017: pcmk_rc_no_quorum Operation requires quorum
+-1016: pcmk_rc_schema_validation Update does not conform to the configured schema
+-1015: pcmk_rc_schema_unchanged Schema is already the latest available
+-1014: pcmk_rc_transform_failed Schema transform failed
+-1013: pcmk_rc_old_data Update was older than existing configuration
+-1012: pcmk_rc_diff_failed Application of update diff failed
+-1011: pcmk_rc_diff_resync Application of update diff failed, requesting full refresh
+-1010: pcmk_rc_cib_modified On-disk configuration was manually modified
+-1009: pcmk_rc_cib_backup Could not archive previous configuration
+-1008: pcmk_rc_cib_save Could not save new configuration to disk
+-1007: pcmk_rc_cib_corrupt Could not parse on-disk configuration
+-1006: pcmk_rc_multiple Resource active on multiple nodes
+-1005: pcmk_rc_node_unknown Node not found
+-1004: pcmk_rc_already Already in requested state
+-1003: pcmk_rc_bad_nvpair Bad name/value pair given
+-1002: pcmk_rc_unknown_format Unknown output format
+-1001: pcmk_rc_error Error
+ 0: pcmk_rc_ok OK
+=#=#=#= End test: List Pacemaker return codes (non-positive) (with names) - OK (0) =#=#=#=
+* Passed: crm_error - List Pacemaker return codes (non-positive) (with names)
+=#=#=#= Begin test: List Pacemaker return codes (non-positive) (with names) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_error -n -l -r --output-as=xml">
+ <result-code code="-1036" name="pcmk_rc_bad_xml_patch" description="Bad XML patch format"/>
+ <result-code code="-1035" name="pcmk_rc_bad_input" description="Bad input value provided"/>
+ <result-code code="-1034" name="pcmk_rc_disabled" description="Disabled"/>
+ <result-code code="-1033" name="pcmk_rc_duplicate_id" description="Two or more XML elements have the same ID"/>
+ <result-code code="-1032" name="pcmk_rc_unpack_error" description="Unable to parse CIB XML"/>
+ <result-code code="-1031" name="pcmk_rc_invalid_transition" description="Cluster simulation produced invalid transition"/>
+ <result-code code="-1030" name="pcmk_rc_graph_error" description="Error writing graph file"/>
+ <result-code code="-1029" name="pcmk_rc_dot_error" description="Error writing dot(1) file"/>
+ <result-code code="-1028" name="pcmk_rc_underflow" description="Value too small to be stored in data type"/>
+ <result-code code="-1027" name="pcmk_rc_no_input" description="Input file not available"/>
+ <result-code code="-1026" name="pcmk_rc_no_output" description="Output message produced no output"/>
+ <result-code code="-1025" name="pcmk_rc_after_range" description="Result occurs after given range"/>
+ <result-code code="-1024" name="pcmk_rc_within_range" description="Result occurs within given range"/>
+ <result-code code="-1023" name="pcmk_rc_before_range" description="Result occurs before given range"/>
+ <result-code code="-1022" name="pcmk_rc_undetermined" description="Result undetermined"/>
+ <result-code code="-1021" name="pcmk_rc_op_unsatisfied" description="Not applicable under current conditions"/>
+ <result-code code="-1020" name="pcmk_rc_ipc_pid_only" description="IPC server process is active but not accepting connections"/>
+ <result-code code="-1019" name="pcmk_rc_ipc_unresponsive" description="IPC server is unresponsive"/>
+ <result-code code="-1018" name="pcmk_rc_ipc_unauthorized" description="IPC server is blocked by unauthorized process"/>
+ <result-code code="-1017" name="pcmk_rc_no_quorum" description="Operation requires quorum"/>
+ <result-code code="-1016" name="pcmk_rc_schema_validation" description="Update does not conform to the configured schema"/>
+ <result-code code="-1015" name="pcmk_rc_schema_unchanged" description="Schema is already the latest available"/>
+ <result-code code="-1014" name="pcmk_rc_transform_failed" description="Schema transform failed"/>
+ <result-code code="-1013" name="pcmk_rc_old_data" description="Update was older than existing configuration"/>
+ <result-code code="-1012" name="pcmk_rc_diff_failed" description="Application of update diff failed"/>
+ <result-code code="-1011" name="pcmk_rc_diff_resync" description="Application of update diff failed, requesting full refresh"/>
+ <result-code code="-1010" name="pcmk_rc_cib_modified" description="On-disk configuration was manually modified"/>
+ <result-code code="-1009" name="pcmk_rc_cib_backup" description="Could not archive previous configuration"/>
+ <result-code code="-1008" name="pcmk_rc_cib_save" description="Could not save new configuration to disk"/>
+ <result-code code="-1007" name="pcmk_rc_cib_corrupt" description="Could not parse on-disk configuration"/>
+ <result-code code="-1006" name="pcmk_rc_multiple" description="Resource active on multiple nodes"/>
+ <result-code code="-1005" name="pcmk_rc_node_unknown" description="Node not found"/>
+ <result-code code="-1004" name="pcmk_rc_already" description="Already in requested state"/>
+ <result-code code="-1003" name="pcmk_rc_bad_nvpair" description="Bad name/value pair given"/>
+ <result-code code="-1002" name="pcmk_rc_unknown_format" description="Unknown output format"/>
+ <result-code code="-1001" name="pcmk_rc_error" description="Error"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: List Pacemaker return codes (non-positive) (with names) (XML) - OK (0) =#=#=#=
+* Passed: crm_error - List Pacemaker return codes (non-positive) (with names) (XML)
+=#=#=#= Begin test: Get unknown crm_exit_t exit code =#=#=#=
+Unknown exit status
+=#=#=#= End test: Get unknown crm_exit_t exit code - OK (0) =#=#=#=
+* Passed: crm_error - Get unknown crm_exit_t exit code
+=#=#=#= Begin test: Get unknown crm_exit_t exit code (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_error -X --output-as=xml -- -10000">
+ <result-code code="-10000" description="Unknown exit status"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Get unknown crm_exit_t exit code (XML) - OK (0) =#=#=#=
+* Passed: crm_error - Get unknown crm_exit_t exit code (XML)
+=#=#=#= Begin test: Get unknown crm_exit_t exit code (with name) =#=#=#=
+CRM_EX_UNKNOWN - Unknown exit status
+=#=#=#= End test: Get unknown crm_exit_t exit code (with name) - OK (0) =#=#=#=
+* Passed: crm_error - Get unknown crm_exit_t exit code (with name)
+=#=#=#= Begin test: Get unknown crm_exit_t exit code (with name) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_error -n -X --output-as=xml -- -10000">
+ <result-code code="-10000" name="CRM_EX_UNKNOWN" description="Unknown exit status"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Get unknown crm_exit_t exit code (with name) (XML) - OK (0) =#=#=#=
+* Passed: crm_error - Get unknown crm_exit_t exit code (with name) (XML)
+=#=#=#= Begin test: Get crm_exit_t exit code =#=#=#=
+Error occurred
+=#=#=#= End test: Get crm_exit_t exit code - OK (0) =#=#=#=
+* Passed: crm_error - Get crm_exit_t exit code
+=#=#=#= Begin test: Get crm_exit_t exit code (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_error -X --output-as=xml -- 1">
+ <result-code code="1" description="Error occurred"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Get crm_exit_t exit code (XML) - OK (0) =#=#=#=
+* Passed: crm_error - Get crm_exit_t exit code (XML)
+=#=#=#= Begin test: Get crm_exit_t exit code (with name) =#=#=#=
+CRM_EX_ERROR - Error occurred
+=#=#=#= End test: Get crm_exit_t exit code (with name) - OK (0) =#=#=#=
+* Passed: crm_error - Get crm_exit_t exit code (with name)
+=#=#=#= Begin test: Get crm_exit_t exit code (with name) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_error -n -X --output-as=xml -- 1">
+ <result-code code="1" name="CRM_EX_ERROR" description="Error occurred"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Get crm_exit_t exit code (with name) (XML) - OK (0) =#=#=#=
+* Passed: crm_error - Get crm_exit_t exit code (with name) (XML)
+=#=#=#= Begin test: Get all crm_exit_t exit codes =#=#=#=
+ 0: OK
+ 1: Error occurred
+ 2: Invalid parameter
+ 3: Unimplemented
+ 4: Insufficient privileges
+ 5: Not installed
+ 6: Not configured
+ 7: Not running
+ 8: Promoted
+ 9: Failed in promoted role
+ 64: Incorrect usage
+ 65: Invalid data given
+ 66: Input file not available
+ 67: User does not exist
+ 68: Host does not exist
+ 69: Necessary service unavailable
+ 70: Internal software bug
+ 71: Operating system error occurred
+ 72: System file not available
+ 73: Cannot create output file
+ 74: I/O error occurred
+ 75: Temporary failure, try again
+ 76: Protocol violated
+ 77: Insufficient privileges
+ 78: Invalid configuration
+ 100: Fatal error occurred, will not respawn
+ 101: System panic required
+ 102: Not connected
+ 103: Update was older than existing configuration
+ 104: Digest mismatch
+ 105: No such object
+ 106: Quorum required
+ 107: Operation not safe
+ 108: Requested item already exists
+ 109: Multiple items match request
+ 110: Requested item has expired
+ 111: Requested item is not yet in effect
+ 112: Could not determine status
+ 113: Not applicable under current conditions
+ 124: Timeout occurred
+ 190: Service is active but might fail soon
+ 191: Service is promoted but might fail soon
+ 193: No exit status available
+=#=#=#= End test: Get all crm_exit_t exit codes - OK (0) =#=#=#=
+* Passed: crm_error - Get all crm_exit_t exit codes
+=#=#=#= Begin test: Get all crm_exit_t exit codes (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_error -l -X --output-as=xml">
+ <result-code code="0" description="OK"/>
+ <result-code code="1" description="Error occurred"/>
+ <result-code code="2" description="Invalid parameter"/>
+ <result-code code="3" description="Unimplemented"/>
+ <result-code code="4" description="Insufficient privileges"/>
+ <result-code code="5" description="Not installed"/>
+ <result-code code="6" description="Not configured"/>
+ <result-code code="7" description="Not running"/>
+ <result-code code="8" description="Promoted"/>
+ <result-code code="9" description="Failed in promoted role"/>
+ <result-code code="64" description="Incorrect usage"/>
+ <result-code code="65" description="Invalid data given"/>
+ <result-code code="66" description="Input file not available"/>
+ <result-code code="67" description="User does not exist"/>
+ <result-code code="68" description="Host does not exist"/>
+ <result-code code="69" description="Necessary service unavailable"/>
+ <result-code code="70" description="Internal software bug"/>
+ <result-code code="71" description="Operating system error occurred"/>
+ <result-code code="72" description="System file not available"/>
+ <result-code code="73" description="Cannot create output file"/>
+ <result-code code="74" description="I/O error occurred"/>
+ <result-code code="75" description="Temporary failure, try again"/>
+ <result-code code="76" description="Protocol violated"/>
+ <result-code code="77" description="Insufficient privileges"/>
+ <result-code code="78" description="Invalid configuration"/>
+ <result-code code="100" description="Fatal error occurred, will not respawn"/>
+ <result-code code="101" description="System panic required"/>
+ <result-code code="102" description="Not connected"/>
+ <result-code code="103" description="Update was older than existing configuration"/>
+ <result-code code="104" description="Digest mismatch"/>
+ <result-code code="105" description="No such object"/>
+ <result-code code="106" description="Quorum required"/>
+ <result-code code="107" description="Operation not safe"/>
+ <result-code code="108" description="Requested item already exists"/>
+ <result-code code="109" description="Multiple items match request"/>
+ <result-code code="110" description="Requested item has expired"/>
+ <result-code code="111" description="Requested item is not yet in effect"/>
+ <result-code code="112" description="Could not determine status"/>
+ <result-code code="113" description="Not applicable under current conditions"/>
+ <result-code code="124" description="Timeout occurred"/>
+ <result-code code="190" description="Service is active but might fail soon"/>
+ <result-code code="191" description="Service is promoted but might fail soon"/>
+ <result-code code="193" description="No exit status available"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Get all crm_exit_t exit codes (XML) - OK (0) =#=#=#=
+* Passed: crm_error - Get all crm_exit_t exit codes (XML)
+=#=#=#= Begin test: Get all crm_exit_t exit codes (with name) =#=#=#=
+ 0: CRM_EX_OK OK
+ 1: CRM_EX_ERROR Error occurred
+ 2: CRM_EX_INVALID_PARAM Invalid parameter
+ 3: CRM_EX_UNIMPLEMENT_FEATURE Unimplemented
+ 4: CRM_EX_INSUFFICIENT_PRIV Insufficient privileges
+ 5: CRM_EX_NOT_INSTALLED Not installed
+ 6: CRM_EX_NOT_CONFIGURED Not configured
+ 7: CRM_EX_NOT_RUNNING Not running
+ 8: CRM_EX_PROMOTED Promoted
+ 9: CRM_EX_FAILED_PROMOTED Failed in promoted role
+ 64: CRM_EX_USAGE Incorrect usage
+ 65: CRM_EX_DATAERR Invalid data given
+ 66: CRM_EX_NOINPUT Input file not available
+ 67: CRM_EX_NOUSER User does not exist
+ 68: CRM_EX_NOHOST Host does not exist
+ 69: CRM_EX_UNAVAILABLE Necessary service unavailable
+ 70: CRM_EX_SOFTWARE Internal software bug
+ 71: CRM_EX_OSERR Operating system error occurred
+ 72: CRM_EX_OSFILE System file not available
+ 73: CRM_EX_CANTCREAT Cannot create output file
+ 74: CRM_EX_IOERR I/O error occurred
+ 75: CRM_EX_TEMPFAIL Temporary failure, try again
+ 76: CRM_EX_PROTOCOL Protocol violated
+ 77: CRM_EX_NOPERM Insufficient privileges
+ 78: CRM_EX_CONFIG Invalid configuration
+ 100: CRM_EX_FATAL Fatal error occurred, will not respawn
+ 101: CRM_EX_PANIC System panic required
+ 102: CRM_EX_DISCONNECT Not connected
+ 103: CRM_EX_OLD Update was older than existing configuration
+ 104: CRM_EX_DIGEST Digest mismatch
+ 105: CRM_EX_NOSUCH No such object
+ 106: CRM_EX_QUORUM Quorum required
+ 107: CRM_EX_UNSAFE Operation not safe
+ 108: CRM_EX_EXISTS Requested item already exists
+ 109: CRM_EX_MULTIPLE Multiple items match request
+ 110: CRM_EX_EXPIRED Requested item has expired
+ 111: CRM_EX_NOT_YET_IN_EFFECT Requested item is not yet in effect
+ 112: CRM_EX_INDETERMINATE Could not determine status
+ 113: CRM_EX_UNSATISFIED Not applicable under current conditions
+ 124: CRM_EX_TIMEOUT Timeout occurred
+ 190: CRM_EX_DEGRADED Service is active but might fail soon
+ 191: CRM_EX_DEGRADED_PROMOTED Service is promoted but might fail soon
+ 193: CRM_EX_NONE No exit status available
+=#=#=#= End test: Get all crm_exit_t exit codes (with name) - OK (0) =#=#=#=
+* Passed: crm_error - Get all crm_exit_t exit codes (with name)
+=#=#=#= Begin test: Get all crm_exit_t exit codes (with name) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_error -l -n -X --output-as=xml">
+ <result-code code="0" name="CRM_EX_OK" description="OK"/>
+ <result-code code="1" name="CRM_EX_ERROR" description="Error occurred"/>
+ <result-code code="2" name="CRM_EX_INVALID_PARAM" description="Invalid parameter"/>
+ <result-code code="3" name="CRM_EX_UNIMPLEMENT_FEATURE" description="Unimplemented"/>
+ <result-code code="4" name="CRM_EX_INSUFFICIENT_PRIV" description="Insufficient privileges"/>
+ <result-code code="5" name="CRM_EX_NOT_INSTALLED" description="Not installed"/>
+ <result-code code="6" name="CRM_EX_NOT_CONFIGURED" description="Not configured"/>
+ <result-code code="7" name="CRM_EX_NOT_RUNNING" description="Not running"/>
+ <result-code code="8" name="CRM_EX_PROMOTED" description="Promoted"/>
+ <result-code code="9" name="CRM_EX_FAILED_PROMOTED" description="Failed in promoted role"/>
+ <result-code code="64" name="CRM_EX_USAGE" description="Incorrect usage"/>
+ <result-code code="65" name="CRM_EX_DATAERR" description="Invalid data given"/>
+ <result-code code="66" name="CRM_EX_NOINPUT" description="Input file not available"/>
+ <result-code code="67" name="CRM_EX_NOUSER" description="User does not exist"/>
+ <result-code code="68" name="CRM_EX_NOHOST" description="Host does not exist"/>
+ <result-code code="69" name="CRM_EX_UNAVAILABLE" description="Necessary service unavailable"/>
+ <result-code code="70" name="CRM_EX_SOFTWARE" description="Internal software bug"/>
+ <result-code code="71" name="CRM_EX_OSERR" description="Operating system error occurred"/>
+ <result-code code="72" name="CRM_EX_OSFILE" description="System file not available"/>
+ <result-code code="73" name="CRM_EX_CANTCREAT" description="Cannot create output file"/>
+ <result-code code="74" name="CRM_EX_IOERR" description="I/O error occurred"/>
+ <result-code code="75" name="CRM_EX_TEMPFAIL" description="Temporary failure, try again"/>
+ <result-code code="76" name="CRM_EX_PROTOCOL" description="Protocol violated"/>
+ <result-code code="77" name="CRM_EX_NOPERM" description="Insufficient privileges"/>
+ <result-code code="78" name="CRM_EX_CONFIG" description="Invalid configuration"/>
+ <result-code code="100" name="CRM_EX_FATAL" description="Fatal error occurred, will not respawn"/>
+ <result-code code="101" name="CRM_EX_PANIC" description="System panic required"/>
+ <result-code code="102" name="CRM_EX_DISCONNECT" description="Not connected"/>
+ <result-code code="103" name="CRM_EX_OLD" description="Update was older than existing configuration"/>
+ <result-code code="104" name="CRM_EX_DIGEST" description="Digest mismatch"/>
+ <result-code code="105" name="CRM_EX_NOSUCH" description="No such object"/>
+ <result-code code="106" name="CRM_EX_QUORUM" description="Quorum required"/>
+ <result-code code="107" name="CRM_EX_UNSAFE" description="Operation not safe"/>
+ <result-code code="108" name="CRM_EX_EXISTS" description="Requested item already exists"/>
+ <result-code code="109" name="CRM_EX_MULTIPLE" description="Multiple items match request"/>
+ <result-code code="110" name="CRM_EX_EXPIRED" description="Requested item has expired"/>
+ <result-code code="111" name="CRM_EX_NOT_YET_IN_EFFECT" description="Requested item is not yet in effect"/>
+ <result-code code="112" name="CRM_EX_INDETERMINATE" description="Could not determine status"/>
+ <result-code code="113" name="CRM_EX_UNSATISFIED" description="Not applicable under current conditions"/>
+ <result-code code="124" name="CRM_EX_TIMEOUT" description="Timeout occurred"/>
+ <result-code code="190" name="CRM_EX_DEGRADED" description="Service is active but might fail soon"/>
+ <result-code code="191" name="CRM_EX_DEGRADED_PROMOTED" description="Service is promoted but might fail soon"/>
+ <result-code code="193" name="CRM_EX_NONE" description="No exit status available"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Get all crm_exit_t exit codes (with name) (XML) - OK (0) =#=#=#=
+* Passed: crm_error - Get all crm_exit_t exit codes (with name) (XML)
diff --git a/cts/cli/regression.feature_set.exp b/cts/cli/regression.feature_set.exp
new file mode 100644
index 0000000..4f2e399
--- /dev/null
+++ b/cts/cli/regression.feature_set.exp
@@ -0,0 +1,201 @@
+Created new pacemaker configuration
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= Begin test: Import the test CIB =#=#=#=
+=#=#=#= Current cib after: Import the test CIB =#=#=#=
+<cib epoch="2" num_updates="0" admin_epoch="0" have-quorum="1" dc-uuid="1">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair name="cluster-infrastructure" value="corosync" id="cib-bootstrap-options-cluster-infrastructure"/>
+ <nvpair name="stonith-enabled" value="false" id="cib-bootstrap-options-stonith-enabled"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="1" uname="cluster01"/>
+ <node id="2" uname="cluster02"/>
+ <node id="3" uname="cluster03"/>
+ <node id="4" type="remote" uname="remote01"/>
+ </nodes>
+ <resources>
+ <bundle id="guest01">
+ <docker image="pcmk:http"/>
+ <network ip-range-start="192.168.122.131" host-netmask="24" host-interface="eth0"/>
+ <primitive class="ocf" id="httpd" provider="heartbeat" type="apache"/>
+ </bundle>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="1" uname="cluster01" in_ccm="true" crmd="online" join="member" expected="member">
+ <transient_attributes id="1">
+ <instance_attributes id="status-1">
+ <nvpair id="status-1-.feature-set" name="#feature-set" value="3.15.1"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="2" uname="cluster02" in_ccm="true" crmd="online" join="member" expected="member">
+ <transient_attributes id="2">
+ <instance_attributes id="status-2">
+ <nvpair id="status-2-.feature-set" name="#feature-set" value="3.15.1"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="3" uname="cluster03" in_ccm="true" crmd="offline" join="down" expected="down"/>
+ <node_state id="4" uname="remote01" in_ccm="true" remote_node="true"/>
+ </status>
+</cib>
+=#=#=#= End test: Import the test CIB - OK (0) =#=#=#=
+* Passed: cibadmin - Import the test CIB
+=#=#=#= Begin test: Complete text output, no mixed status =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster01 (1) (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 4 resource instances configured
+
+Node List:
+ * Node cluster01 (1): online, feature set 3.15.1
+ * Node cluster02 (2): online, feature set 3.15.1
+ * Node cluster03 (3): OFFLINE
+ * GuestNode guest01-0@: OFFLINE
+ * RemoteNode remote01 (4): OFFLINE
+
+Active Resources:
+ * No active resources
+=#=#=#= End test: Complete text output, no mixed status - OK (0) =#=#=#=
+* Passed: crm_mon - Complete text output, no mixed status
+=#=#=#= Begin test: XML output, no mixed status =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster01" id="1" with_quorum="true" mixed_version="false"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="4" disabled="0" blocked="0"/>
+ <cluster_options stonith-enabled="false" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="0" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="0" type="member"/>
+ <node name="cluster03" id="3" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="member"/>
+ <node name="guest01-0" id="guest01-0" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="guest01-docker-0"/>
+ <node name="remote01" id="4" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote"/>
+ </nodes>
+ <resources>
+ <bundle id="guest01" type="docker" image="pcmk:http" unique="false" maintenance="false" managed="true" failed="false">
+ <replica id="0">
+ <resource id="guest01-ip-192.168.122.131" resource_agent="ocf:heartbeat:IPaddr2" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="guest01-docker-0" resource_agent="ocf:heartbeat:docker" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="guest01-0" resource_agent="ocf:pacemaker:remote" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </replica>
+ </bundle>
+ </resources>
+ <node_history/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output, no mixed status - OK (0) =#=#=#=
+* Passed: crm_mon - XML output, no mixed status
+=#=#=#= Begin test: Fake inconsistent feature set =#=#=#=
+=#=#=#= Current cib after: Fake inconsistent feature set =#=#=#=
+<cib epoch="2" num_updates="1" admin_epoch="0" have-quorum="1" dc-uuid="1">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair name="cluster-infrastructure" value="corosync" id="cib-bootstrap-options-cluster-infrastructure"/>
+ <nvpair name="stonith-enabled" value="false" id="cib-bootstrap-options-stonith-enabled"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="1" uname="cluster01"/>
+ <node id="2" uname="cluster02"/>
+ <node id="3" uname="cluster03"/>
+ <node id="4" type="remote" uname="remote01"/>
+ </nodes>
+ <resources>
+ <bundle id="guest01">
+ <docker image="pcmk:http"/>
+ <network ip-range-start="192.168.122.131" host-netmask="24" host-interface="eth0"/>
+ <primitive class="ocf" id="httpd" provider="heartbeat" type="apache"/>
+ </bundle>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="1" uname="cluster01" in_ccm="true" crmd="online" join="member" expected="member">
+ <transient_attributes id="1">
+ <instance_attributes id="status-1">
+ <nvpair id="status-1-.feature-set" name="#feature-set" value="3.15.1"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="2" uname="cluster02" in_ccm="true" crmd="online" join="member" expected="member">
+ <transient_attributes id="2">
+ <instance_attributes id="status-2">
+ <nvpair id="status-2-.feature-set" name="#feature-set" value="3.15.0"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="3" uname="cluster03" in_ccm="true" crmd="offline" join="down" expected="down"/>
+ <node_state id="4" uname="remote01" in_ccm="true" remote_node="true"/>
+ </status>
+</cib>
+=#=#=#= End test: Fake inconsistent feature set - OK (0) =#=#=#=
+* Passed: crm_attribute - Fake inconsistent feature set
+=#=#=#= Begin test: Complete text output, mixed status =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster01 (1) (version) - MIXED-VERSION partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 4 resource instances configured
+
+Node List:
+ * Node cluster01 (1): online, feature set 3.15.1
+ * Node cluster02 (2): online, feature set 3.15.0
+ * Node cluster03 (3): OFFLINE
+ * GuestNode guest01-0@: OFFLINE
+ * RemoteNode remote01 (4): OFFLINE
+
+Active Resources:
+ * No active resources
+=#=#=#= End test: Complete text output, mixed status - OK (0) =#=#=#=
+* Passed: crm_mon - Complete text output, mixed status
+=#=#=#= Begin test: XML output, mixed status =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon --output-as=xml">
+ <summary>
+ <stack type="corosync"/>
+ <current_dc present="true" version="" name="cluster01" id="1" with_quorum="true" mixed_version="true"/>
+ <last_update time=""/>
+ <last_change time=""/>
+ <nodes_configured number="5"/>
+ <resources_configured number="4" disabled="0" blocked="0"/>
+ <cluster_options stonith-enabled="false" symmetric-cluster="true" no-quorum-policy="stop" maintenance-mode="false" stop-all-resources="false" stonith-timeout-ms="60000" priority-fencing-delay-ms="0"/>
+ </summary>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="0" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="3.15.0" shutdown="false" expected_up="true" is_dc="false" resources_running="0" type="member"/>
+ <node name="cluster03" id="3" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="member"/>
+ <node name="guest01-0" id="guest01-0" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="guest01-docker-0"/>
+ <node name="remote01" id="4" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote"/>
+ </nodes>
+ <resources>
+ <bundle id="guest01" type="docker" image="pcmk:http" unique="false" maintenance="false" managed="true" failed="false">
+ <replica id="0">
+ <resource id="guest01-ip-192.168.122.131" resource_agent="ocf:heartbeat:IPaddr2" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="guest01-docker-0" resource_agent="ocf:heartbeat:docker" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="guest01-0" resource_agent="ocf:pacemaker:remote" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </replica>
+ </bundle>
+ </resources>
+ <node_history/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: XML output, mixed status - OK (0) =#=#=#=
+* Passed: crm_mon - XML output, mixed status
diff --git a/cts/cli/regression.rules.exp b/cts/cli/regression.rules.exp
new file mode 100644
index 0000000..c3dccd7
--- /dev/null
+++ b/cts/cli/regression.rules.exp
@@ -0,0 +1,277 @@
+Created new pacemaker configuration
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= Begin test: crm_rule given no arguments =#=#=#=
+crm_rule: No mode operation given
+=#=#=#= End test: crm_rule given no arguments - Incorrect usage (64) =#=#=#=
+* Passed: crm_rule - crm_rule given no arguments
+=#=#=#= Begin test: crm_rule given no arguments (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_rule --output-as=xml">
+ <status code="64" message="Incorrect usage">
+ <errors>
+ <error>crm_rule: No mode operation given</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: crm_rule given no arguments (XML) - Incorrect usage (64) =#=#=#=
+* Passed: crm_rule - crm_rule given no arguments (XML)
+=#=#=#= Begin test: crm_rule given no rule to check =#=#=#=
+crm_rule: --check requires use of --rule=
+=#=#=#= End test: crm_rule given no rule to check - Incorrect usage (64) =#=#=#=
+* Passed: crm_rule - crm_rule given no rule to check
+=#=#=#= Begin test: crm_rule given no rule to check (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_rule -c --output-as=xml">
+ <status code="64" message="Incorrect usage">
+ <errors>
+ <error>crm_rule: --check requires use of --rule=</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: crm_rule given no rule to check (XML) - Incorrect usage (64) =#=#=#=
+* Passed: crm_rule - crm_rule given no rule to check (XML)
+=#=#=#= Begin test: crm_rule given invalid input XML =#=#=#=
+log_xmllib_err error: XML Error: Entity: line 1: parser error : Start tag expected, '<' not found
+log_xmllib_err error: XML Error: invalidxml
+log_xmllib_err error: XML Error: ^
+crm_rule: Couldn't parse input string: invalidxml
+
+=#=#=#= End test: crm_rule given invalid input XML - Invalid data given (65) =#=#=#=
+* Passed: crm_rule - crm_rule given invalid input XML
+=#=#=#= Begin test: crm_rule given invalid input XML (XML) =#=#=#=
+log_xmllib_err error: XML Error: Entity: line 1: parser error : Start tag expected, '<' not found
+log_xmllib_err error: XML Error: invalidxml
+log_xmllib_err error: XML Error: ^
+<pacemaker-result api-version="X" request="crm_rule -c -r blahblah -X invalidxml --output-as=xml">
+ <status code="65" message="Invalid data given">
+ <errors>
+ <error>crm_rule: Couldn't parse input string: invalidxml
+</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: crm_rule given invalid input XML (XML) - Invalid data given (65) =#=#=#=
+* Passed: crm_rule - crm_rule given invalid input XML (XML)
+=#=#=#= Begin test: crm_rule given invalid input XML on stdin =#=#=#=
+log_xmllib_err error: XML Error: Entity: line 1: parser error : Start tag expected, '<' not found
+log_xmllib_err error: XML Error: invalidxml
+log_xmllib_err error: XML Error: ^
+crm_rule: Couldn't parse input from STDIN
+
+=#=#=#= End test: crm_rule given invalid input XML on stdin - Invalid data given (65) =#=#=#=
+* Passed: echo - crm_rule given invalid input XML on stdin
+=#=#=#= Begin test: crm_rule given invalid input XML on stdin (XML) =#=#=#=
+log_xmllib_err error: XML Error: Entity: line 1: parser error : Start tag expected, '<' not found
+log_xmllib_err error: XML Error: invalidxml
+log_xmllib_err error: XML Error: ^
+<pacemaker-result api-version="X" request="crm_rule -c -r blahblah -X - --output-as=xml">
+ <status code="65" message="Invalid data given">
+ <errors>
+ <error>crm_rule: Couldn't parse input from STDIN
+</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: crm_rule given invalid input XML on stdin (XML) - Invalid data given (65) =#=#=#=
+* Passed: echo - crm_rule given invalid input XML on stdin (XML)
+=#=#=#= Begin test: Try to check a rule that doesn't exist =#=#=#=
+Could not determine whether rule blahblah is in effect: Rule not found
+=#=#=#= Current cib after: Try to check a rule that doesn't exist =#=#=#=
+<cib epoch="10" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive class="ocf" id="dummy" provider="heartbeat" type="Dummy"/>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-too-many-date-expressions" rsc="dummy">
+ <rule id="cli-rule-too-many-date-expressions" score="INFINITY" boolean-op="or">
+ <date_expression id="cli-date-expression-1" operation="gt" start=""/>
+ <date_expression id="cli-date-expression-2" operation="lt" end=""/>
+ </rule>
+ </rsc_location>
+ <rsc_location id="cli-prefer-dummy-expired" rsc="dummy">
+ <rule id="cli-prefer-rule-dummy-expired" score="INFINITY">
+ <date_expression id="cli-prefer-lifetime-end-dummy-expired" operation="lt" end=""/>
+ </rule>
+ </rsc_location>
+ <rsc_location id="cli-prefer-dummy-not-yet" rsc="dummy">
+ <rule id="cli-prefer-rule-dummy-not-yet" score="INFINITY">
+ <date_expression id="cli-prefer-lifetime-end-dummy-not-yet" operation="gt" start=""/>
+ </rule>
+ </rsc_location>
+ <rsc_location id="cli-prefer-dummy-date_spec-only-years" rsc="dummy">
+ <rule id="cli-prefer-rule-dummy-date_spec-only-years" score="INFINITY">
+ <date_expression id="cli-prefer-dummy-date_spec-only-years-expr" operation="date_spec">
+ <date_spec id="cli-prefer-dummy-date_spec-only-years-spec" years="2019"/>
+ </date_expression>
+ </rule>
+ </rsc_location>
+ <rsc_location id="cli-prefer-dummy-date_spec-without-years" rsc="dummy">
+ <rule id="cli-prefer-rule-dummy-date_spec-without-years" score="INFINITY">
+ <date_expression id="cli-prefer-dummy-date_spec-without-years-expr" operation="date_spec">
+ <date_spec id="cli-prefer-dummy-date_spec-without-years-spec" hours="20" months="1,3,5,7"/>
+ </date_expression>
+ </rule>
+ </rsc_location>
+ <rsc_location id="cli-prefer-dummy-date_spec-years-moon" rsc="dummy">
+ <rule id="cli-prefer-rule-dummy-date_spec-years-moon" score="INFINITY">
+ <date_expression id="cli-prefer-dummy-date_spec-years-moon-expr" operation="date_spec">
+ <date_spec id="cli-prefer-dummy-date_spec-years-moon-spec" years="2019" moon="1"/>
+ </date_expression>
+ </rule>
+ </rsc_location>
+ <rsc_location id="cli-no-date_expression" rsc="dummy">
+ <rule id="cli-no-date_expression-rule" score="INFINITY">
+ <expression id="ban-apache-expr" attribute="#uname" operation="eq" value="node3"/>
+ </rule>
+ </rsc_location>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Try to check a rule that doesn't exist - No such object (105) =#=#=#=
+* Passed: crm_rule - Try to check a rule that doesn't exist
+=#=#=#= Begin test: Try to check a rule that doesn't exist, with XML output =#=#=#=
+<pacemaker-result api-version="X" request="crm_rule -c -r blahblah --output-as=xml">
+ <rule-check rule-id="blahblah" rc="105"/>
+ <status code="105" message="No such object">
+ <errors>
+ <error>Could not determine whether rule blahblah is in effect: Rule not found</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Try to check a rule that doesn't exist, with XML output - No such object (105) =#=#=#=
+* Passed: crm_rule - Try to check a rule that doesn't exist, with XML output
+=#=#=#= Begin test: Try to check a rule that has too many date_expressions =#=#=#=
+Could not determine whether rule cli-rule-too-many-date-expressions is in effect: Rule has more than one date expression
+=#=#=#= End test: Try to check a rule that has too many date_expressions - Unimplemented (3) =#=#=#=
+* Passed: crm_rule - Try to check a rule that has too many date_expressions
+=#=#=#= Begin test: Try to check a rule that has too many date_expressions (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_rule -c -r cli-rule-too-many-date-expressions --output-as=xml">
+ <rule-check rule-id="cli-rule-too-many-date-expressions" rc="3"/>
+ <status code="3" message="Unimplemented">
+ <errors>
+ <error>Could not determine whether rule cli-rule-too-many-date-expressions is in effect: Rule has more than one date expression</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Try to check a rule that has too many date_expressions (XML) - Unimplemented (3) =#=#=#=
+* Passed: crm_rule - Try to check a rule that has too many date_expressions (XML)
+=#=#=#= Begin test: Verify basic rule is expired =#=#=#=
+Rule cli-prefer-rule-dummy-expired is expired
+=#=#=#= End test: Verify basic rule is expired - Requested item has expired (110) =#=#=#=
+* Passed: crm_rule - Verify basic rule is expired
+=#=#=#= Begin test: Verify basic rule is expired, with XML output =#=#=#=
+<pacemaker-result api-version="X" request="crm_rule -c -r cli-prefer-rule-dummy-expired --output-as=xml">
+ <rule-check rule-id="cli-prefer-rule-dummy-expired" rc="110"/>
+ <status code="110" message="Requested item has expired"/>
+</pacemaker-result>
+=#=#=#= End test: Verify basic rule is expired, with XML output - Requested item has expired (110) =#=#=#=
+* Passed: crm_rule - Verify basic rule is expired, with XML output
+=#=#=#= Begin test: Verify basic rule worked in the past =#=#=#=
+Rule cli-prefer-rule-dummy-expired is still in effect
+=#=#=#= End test: Verify basic rule worked in the past - OK (0) =#=#=#=
+* Passed: crm_rule - Verify basic rule worked in the past
+=#=#=#= Begin test: Verify basic rule worked in the past (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_rule -c -r cli-prefer-rule-dummy-expired -d 20180101 --output-as=xml">
+ <rule-check rule-id="cli-prefer-rule-dummy-expired" rc="0"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Verify basic rule worked in the past (XML) - OK (0) =#=#=#=
+* Passed: crm_rule - Verify basic rule worked in the past (XML)
+=#=#=#= Begin test: Verify basic rule is not yet in effect =#=#=#=
+Rule cli-prefer-rule-dummy-not-yet has not yet taken effect
+=#=#=#= End test: Verify basic rule is not yet in effect - Requested item is not yet in effect (111) =#=#=#=
+* Passed: crm_rule - Verify basic rule is not yet in effect
+=#=#=#= Begin test: Verify basic rule is not yet in effect (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_rule -c -r cli-prefer-rule-dummy-not-yet --output-as=xml">
+ <rule-check rule-id="cli-prefer-rule-dummy-not-yet" rc="111"/>
+ <status code="111" message="Requested item is not yet in effect"/>
+</pacemaker-result>
+=#=#=#= End test: Verify basic rule is not yet in effect (XML) - Requested item is not yet in effect (111) =#=#=#=
+* Passed: crm_rule - Verify basic rule is not yet in effect (XML)
+=#=#=#= Begin test: Verify date_spec rule with years has expired =#=#=#=
+Rule cli-prefer-rule-dummy-date_spec-only-years is expired
+=#=#=#= End test: Verify date_spec rule with years has expired - Requested item has expired (110) =#=#=#=
+* Passed: crm_rule - Verify date_spec rule with years has expired
+=#=#=#= Begin test: Verify date_spec rule with years has expired (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_rule -c -r cli-prefer-rule-dummy-date_spec-only-years --output-as=xml">
+ <rule-check rule-id="cli-prefer-rule-dummy-date_spec-only-years" rc="110"/>
+ <status code="110" message="Requested item has expired"/>
+</pacemaker-result>
+=#=#=#= End test: Verify date_spec rule with years has expired (XML) - Requested item has expired (110) =#=#=#=
+* Passed: crm_rule - Verify date_spec rule with years has expired (XML)
+=#=#=#= Begin test: Verify multiple rules at once =#=#=#=
+Rule cli-prefer-rule-dummy-not-yet has not yet taken effect
+Rule cli-prefer-rule-dummy-date_spec-only-years is expired
+=#=#=#= End test: Verify multiple rules at once - Requested item has expired (110) =#=#=#=
+* Passed: crm_rule - Verify multiple rules at once
+=#=#=#= Begin test: Verify multiple rules at once, with XML output =#=#=#=
+<pacemaker-result api-version="X" request="crm_rule -c -r cli-prefer-rule-dummy-not-yet -r cli-prefer-rule-dummy-date_spec-only-years --output-as=xml">
+ <rule-check rule-id="cli-prefer-rule-dummy-not-yet" rc="111"/>
+ <rule-check rule-id="cli-prefer-rule-dummy-date_spec-only-years" rc="110"/>
+ <status code="110" message="Requested item has expired"/>
+</pacemaker-result>
+=#=#=#= End test: Verify multiple rules at once, with XML output - Requested item has expired (110) =#=#=#=
+* Passed: crm_rule - Verify multiple rules at once, with XML output
+=#=#=#= Begin test: Verify date_spec rule with years is in effect =#=#=#=
+Rule cli-prefer-rule-dummy-date_spec-only-years satisfies conditions
+=#=#=#= End test: Verify date_spec rule with years is in effect - OK (0) =#=#=#=
+* Passed: crm_rule - Verify date_spec rule with years is in effect
+=#=#=#= Begin test: Verify date_spec rule with years is in effect (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_rule -c -r cli-prefer-rule-dummy-date_spec-only-years -d 20190201 --output-as=xml">
+ <rule-check rule-id="cli-prefer-rule-dummy-date_spec-only-years" rc="0"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Verify date_spec rule with years is in effect (XML) - OK (0) =#=#=#=
+* Passed: crm_rule - Verify date_spec rule with years is in effect (XML)
+=#=#=#= Begin test: Try to check a rule whose date_spec does not contain years= =#=#=#=
+Could not determine whether rule cli-prefer-rule-dummy-date_spec-without-years is in effect: Rule must either not use date_spec, or use date_spec with years= but not moon=
+=#=#=#= End test: Try to check a rule whose date_spec does not contain years= - Unimplemented (3) =#=#=#=
+* Passed: crm_rule - Try to check a rule whose date_spec does not contain years=
+=#=#=#= Begin test: Try to check a rule whose date_spec does not contain years= (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_rule -c -r cli-prefer-rule-dummy-date_spec-without-years --output-as=xml">
+ <rule-check rule-id="cli-prefer-rule-dummy-date_spec-without-years" rc="3"/>
+ <status code="3" message="Unimplemented">
+ <errors>
+ <error>Could not determine whether rule cli-prefer-rule-dummy-date_spec-without-years is in effect: Rule must either not use date_spec, or use date_spec with years= but not moon=</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Try to check a rule whose date_spec does not contain years= (XML) - Unimplemented (3) =#=#=#=
+* Passed: crm_rule - Try to check a rule whose date_spec does not contain years= (XML)
+=#=#=#= Begin test: Try to check a rule whose date_spec contains years= and moon= =#=#=#=
+Could not determine whether rule cli-prefer-rule-dummy-date_spec-years-moon is in effect: Rule must either not use date_spec, or use date_spec with years= but not moon=
+=#=#=#= End test: Try to check a rule whose date_spec contains years= and moon= - Unimplemented (3) =#=#=#=
+* Passed: crm_rule - Try to check a rule whose date_spec contains years= and moon=
+=#=#=#= Begin test: Try to check a rule whose date_spec contains years= and moon= (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_rule -c -r cli-prefer-rule-dummy-date_spec-years-moon --output-as=xml">
+ <rule-check rule-id="cli-prefer-rule-dummy-date_spec-years-moon" rc="3"/>
+ <status code="3" message="Unimplemented">
+ <errors>
+ <error>Could not determine whether rule cli-prefer-rule-dummy-date_spec-years-moon is in effect: Rule must either not use date_spec, or use date_spec with years= but not moon=</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Try to check a rule whose date_spec contains years= and moon= (XML) - Unimplemented (3) =#=#=#=
+* Passed: crm_rule - Try to check a rule whose date_spec contains years= and moon= (XML)
+=#=#=#= Begin test: Try to check a rule with no date_expression =#=#=#=
+Could not determine whether rule cli-no-date_expression-rule is in effect: Rule does not have a date expression
+=#=#=#= End test: Try to check a rule with no date_expression - Unimplemented (3) =#=#=#=
+* Passed: crm_rule - Try to check a rule with no date_expression
+=#=#=#= Begin test: Try to check a rule with no date_expression (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_rule -c -r cli-no-date_expression-rule --output-as=xml">
+ <rule-check rule-id="cli-no-date_expression-rule" rc="3"/>
+ <status code="3" message="Unimplemented">
+ <errors>
+ <error>Could not determine whether rule cli-no-date_expression-rule is in effect: Rule does not have a date expression</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Try to check a rule with no date_expression (XML) - Unimplemented (3) =#=#=#=
+* Passed: crm_rule - Try to check a rule with no date_expression (XML)
diff --git a/cts/cli/regression.tools.exp b/cts/cli/regression.tools.exp
new file mode 100644
index 0000000..a8e2236
--- /dev/null
+++ b/cts/cli/regression.tools.exp
@@ -0,0 +1,7900 @@
+Created new pacemaker configuration
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= Begin test: Validate CIB =#=#=#=
+<cib epoch="1" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config/>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Current cib after: Validate CIB =#=#=#=
+<cib epoch="1" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config/>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Validate CIB - OK (0) =#=#=#=
+* Passed: cibadmin - Validate CIB
+=#=#=#= Begin test: Query the value of an attribute that does not exist =#=#=#=
+crm_attribute: Error performing operation: No such device or address
+=#=#=#= End test: Query the value of an attribute that does not exist - No such object (105) =#=#=#=
+* Passed: crm_attribute - Query the value of an attribute that does not exist
+=#=#=#= Begin test: Configure something before erasing =#=#=#=
+=#=#=#= Current cib after: Configure something before erasing =#=#=#=
+<cib epoch="2" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-cluster-delay" name="cluster-delay" value="60s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Configure something before erasing - OK (0) =#=#=#=
+* Passed: crm_attribute - Configure something before erasing
+=#=#=#= Begin test: Require --force for CIB erasure =#=#=#=
+cibadmin: The supplied command is considered dangerous. To prevent accidental destruction of the cluster, the --force flag is required in order to proceed.
+=#=#=#= Current cib after: Require --force for CIB erasure =#=#=#=
+<cib epoch="2" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-cluster-delay" name="cluster-delay" value="60s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Require --force for CIB erasure - Operation not safe (107) =#=#=#=
+* Passed: cibadmin - Require --force for CIB erasure
+=#=#=#= Begin test: Allow CIB erasure with --force =#=#=#=
+=#=#=#= End test: Allow CIB erasure with --force - OK (0) =#=#=#=
+* Passed: cibadmin - Allow CIB erasure with --force
+=#=#=#= Begin test: Query CIB =#=#=#=
+<cib epoch="1" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config/>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= Current cib after: Query CIB =#=#=#=
+<cib epoch="1" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config/>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Query CIB - OK (0) =#=#=#=
+* Passed: cibadmin - Query CIB
+=#=#=#= Begin test: Set cluster option =#=#=#=
+=#=#=#= Current cib after: Set cluster option =#=#=#=
+<cib epoch="2" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-cluster-delay" name="cluster-delay" value="60s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Set cluster option - OK (0) =#=#=#=
+* Passed: crm_attribute - Set cluster option
+=#=#=#= Begin test: Query new cluster option =#=#=#=
+ <nvpair id="cib-bootstrap-options-cluster-delay" name="cluster-delay" value="60s"/>
+=#=#=#= Current cib after: Query new cluster option =#=#=#=
+<cib epoch="2" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-cluster-delay" name="cluster-delay" value="60s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Query new cluster option - OK (0) =#=#=#=
+* Passed: cibadmin - Query new cluster option
+=#=#=#= Begin test: Query cluster options =#=#=#=
+=#=#=#= Current cib after: Query cluster options =#=#=#=
+<cib epoch="2" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-cluster-delay" name="cluster-delay" value="60s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Query cluster options - OK (0) =#=#=#=
+* Passed: cibadmin - Query cluster options
+=#=#=#= Begin test: Set no-quorum policy =#=#=#=
+=#=#=#= Current cib after: Set no-quorum policy =#=#=#=
+<cib epoch="3" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-cluster-delay" name="cluster-delay" value="60s"/>
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Set no-quorum policy - OK (0) =#=#=#=
+* Passed: crm_attribute - Set no-quorum policy
+=#=#=#= Begin test: Delete nvpair =#=#=#=
+=#=#=#= Current cib after: Delete nvpair =#=#=#=
+<cib epoch="4" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Delete nvpair - OK (0) =#=#=#=
+* Passed: cibadmin - Delete nvpair
+=#=#=#= Begin test: Create operation should fail =#=#=#=
+Call failed: File exists
+<failed>
+ <failed_update id="cib-bootstrap-options" object_type="cluster_property_set" operation="cib_create" reason="File exists">
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-cluster-delay" name="cluster-delay" value="60s"/>
+ </cluster_property_set>
+ </failed_update>
+</failed>
+=#=#=#= Current cib after: Create operation should fail =#=#=#=
+<cib epoch="4" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Create operation should fail - Requested item already exists (108) =#=#=#=
+* Passed: cibadmin - Create operation should fail
+=#=#=#= Begin test: Modify cluster options section =#=#=#=
+=#=#=#= Current cib after: Modify cluster options section =#=#=#=
+<cib epoch="5" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-cluster-delay" name="cluster-delay" value="60s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Modify cluster options section - OK (0) =#=#=#=
+* Passed: cibadmin - Modify cluster options section
+=#=#=#= Begin test: Query updated cluster option =#=#=#=
+ <nvpair id="cib-bootstrap-options-cluster-delay" name="cluster-delay" value="60s"/>
+=#=#=#= Current cib after: Query updated cluster option =#=#=#=
+<cib epoch="5" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-cluster-delay" name="cluster-delay" value="60s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Query updated cluster option - OK (0) =#=#=#=
+* Passed: cibadmin - Query updated cluster option
+=#=#=#= Begin test: Set duplicate cluster option =#=#=#=
+=#=#=#= Current cib after: Set duplicate cluster option =#=#=#=
+<cib epoch="6" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-cluster-delay" name="cluster-delay" value="60s"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="40s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Set duplicate cluster option - OK (0) =#=#=#=
+* Passed: crm_attribute - Set duplicate cluster option
+=#=#=#= Begin test: Setting multiply defined cluster option should fail =#=#=#=
+crm_attribute: Please choose from one of the matches below and supply the 'id' with --attr-id
+Multiple attributes match name=cluster-delay
+ Value: 60s (id=cib-bootstrap-options-cluster-delay)
+ Value: 40s (id=duplicate-cluster-delay)
+=#=#=#= Current cib after: Setting multiply defined cluster option should fail =#=#=#=
+<cib epoch="6" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-cluster-delay" name="cluster-delay" value="60s"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="40s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Setting multiply defined cluster option should fail - Multiple items match request (109) =#=#=#=
+* Passed: crm_attribute - Setting multiply defined cluster option should fail
+=#=#=#= Begin test: Set cluster option with -s =#=#=#=
+=#=#=#= Current cib after: Set cluster option with -s =#=#=#=
+<cib epoch="7" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-cluster-delay" name="cluster-delay" value="60s"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Set cluster option with -s - OK (0) =#=#=#=
+* Passed: crm_attribute - Set cluster option with -s
+=#=#=#= Begin test: Delete cluster option with -i =#=#=#=
+Deleted crm_config option: id=(null) name=cluster-delay
+=#=#=#= Current cib after: Delete cluster option with -i =#=#=#=
+<cib epoch="8" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Delete cluster option with -i - OK (0) =#=#=#=
+* Passed: crm_attribute - Delete cluster option with -i
+=#=#=#= Begin test: Create node1 and bring it online =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+Current cluster status:
+ * Full List of Resources:
+ * No resources
+
+Performing Requested Modifications:
+ * Bringing node node1 online
+
+Transition Summary:
+
+Executing Cluster Transition:
+
+Revised Cluster Status:
+ * Node List:
+ * Online: [ node1 ]
+
+ * Full List of Resources:
+ * No resources
+=#=#=#= Current cib after: Create node1 and bring it online =#=#=#=
+<cib epoch="9" num_updates="2" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1"/>
+ </nodes>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate"/>
+ </status>
+</cib>
+=#=#=#= End test: Create node1 and bring it online - OK (0) =#=#=#=
+* Passed: crm_simulate - Create node1 and bring it online
+=#=#=#= Begin test: Create node attribute =#=#=#=
+=#=#=#= Current cib after: Create node attribute =#=#=#=
+<cib epoch="10" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ </node>
+ </nodes>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate"/>
+ </status>
+</cib>
+=#=#=#= End test: Create node attribute - OK (0) =#=#=#=
+* Passed: crm_attribute - Create node attribute
+=#=#=#= Begin test: Query new node attribute =#=#=#=
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+=#=#=#= Current cib after: Query new node attribute =#=#=#=
+<cib epoch="10" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ </node>
+ </nodes>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate"/>
+ </status>
+</cib>
+=#=#=#= End test: Query new node attribute - OK (0) =#=#=#=
+* Passed: cibadmin - Query new node attribute
+=#=#=#= Begin test: Create second node attribute =#=#=#=
+=#=#=#= Current cib after: Create second node attribute =#=#=#=
+<cib epoch="11" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ <nvpair id="nodes-node1-rattr" name="rattr" value="XYZ"/>
+ </instance_attributes>
+ </node>
+ </nodes>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate"/>
+ </status>
+</cib>
+=#=#=#= End test: Create second node attribute - OK (0) =#=#=#=
+* Passed: crm_attribute - Create second node attribute
+=#=#=#= Begin test: Query node attributes by pattern =#=#=#=
+scope=nodes name=ram value=1024M
+scope=nodes name=rattr value=XYZ
+=#=#=#= End test: Query node attributes by pattern - OK (0) =#=#=#=
+* Passed: crm_attribute - Query node attributes by pattern
+=#=#=#= Begin test: Update node attributes by pattern =#=#=#=
+=#=#=#= Current cib after: Update node attributes by pattern =#=#=#=
+<cib epoch="12" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ <nvpair id="nodes-node1-rattr" name="rattr" value="10"/>
+ </instance_attributes>
+ </node>
+ </nodes>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate"/>
+ </status>
+</cib>
+=#=#=#= End test: Update node attributes by pattern - OK (0) =#=#=#=
+* Passed: crm_attribute - Update node attributes by pattern
+=#=#=#= Begin test: Delete node attributes by pattern =#=#=#=
+Deleted nodes attribute: id=nodes-node1-rattr name=rattr
+=#=#=#= Current cib after: Delete node attributes by pattern =#=#=#=
+<cib epoch="13" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ </node>
+ </nodes>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate"/>
+ </status>
+</cib>
+=#=#=#= End test: Delete node attributes by pattern - OK (0) =#=#=#=
+* Passed: crm_attribute - Delete node attributes by pattern
+=#=#=#= Begin test: Set a transient (fail-count) node attribute =#=#=#=
+=#=#=#= Current cib after: Set a transient (fail-count) node attribute =#=#=#=
+<cib epoch="13" num_updates="1" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ </node>
+ </nodes>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1">
+ <nvpair id="status-node1-fail-count-foo" name="fail-count-foo" value="3"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Set a transient (fail-count) node attribute - OK (0) =#=#=#=
+* Passed: crm_attribute - Set a transient (fail-count) node attribute
+=#=#=#= Begin test: Query a fail count =#=#=#=
+scope=status name=fail-count-foo value=3
+=#=#=#= Current cib after: Query a fail count =#=#=#=
+<cib epoch="13" num_updates="1" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ </node>
+ </nodes>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1">
+ <nvpair id="status-node1-fail-count-foo" name="fail-count-foo" value="3"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Query a fail count - OK (0) =#=#=#=
+* Passed: crm_failcount - Query a fail count
+=#=#=#= Begin test: Show node attributes with crm_simulate =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+Current cluster status:
+ * Node List:
+ * Online: [ node1 ]
+
+ * Full List of Resources:
+ * No resources
+
+ * Node Attributes:
+ * Node: node1:
+ * ram : 1024M
+=#=#=#= End test: Show node attributes with crm_simulate - OK (0) =#=#=#=
+* Passed: crm_simulate - Show node attributes with crm_simulate
+=#=#=#= Begin test: Set a second transient node attribute =#=#=#=
+=#=#=#= Current cib after: Set a second transient node attribute =#=#=#=
+<cib epoch="13" num_updates="2" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ </node>
+ </nodes>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1">
+ <nvpair id="status-node1-fail-count-foo" name="fail-count-foo" value="3"/>
+ <nvpair id="status-node1-fail-count-bar" name="fail-count-bar" value="5"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Set a second transient node attribute - OK (0) =#=#=#=
+* Passed: crm_attribute - Set a second transient node attribute
+=#=#=#= Begin test: Query transient node attributes by pattern =#=#=#=
+scope=status name=fail-count-foo value=3
+scope=status name=fail-count-bar value=5
+=#=#=#= End test: Query transient node attributes by pattern - OK (0) =#=#=#=
+* Passed: crm_attribute - Query transient node attributes by pattern
+=#=#=#= Begin test: Update transient node attributes by pattern =#=#=#=
+=#=#=#= Current cib after: Update transient node attributes by pattern =#=#=#=
+<cib epoch="13" num_updates="4" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ </node>
+ </nodes>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1">
+ <nvpair id="status-node1-fail-count-foo" name="fail-count-foo" value="10"/>
+ <nvpair id="status-node1-fail-count-bar" name="fail-count-bar" value="10"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Update transient node attributes by pattern - OK (0) =#=#=#=
+* Passed: crm_attribute - Update transient node attributes by pattern
+=#=#=#= Begin test: Delete transient node attributes by pattern =#=#=#=
+Deleted status attribute: id=status-node1-fail-count-foo name=fail-count-foo
+Deleted status attribute: id=status-node1-fail-count-bar name=fail-count-bar
+=#=#=#= Current cib after: Delete transient node attributes by pattern =#=#=#=
+<cib epoch="13" num_updates="6" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ </node>
+ </nodes>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Delete transient node attributes by pattern - OK (0) =#=#=#=
+* Passed: crm_attribute - Delete transient node attributes by pattern
+=#=#=#= Begin test: crm_attribute given invalid delete usage =#=#=#=
+crm_attribute: Error: must specify attribute name or pattern to delete
+=#=#=#= End test: crm_attribute given invalid delete usage - Incorrect usage (64) =#=#=#=
+* Passed: crm_attribute - crm_attribute given invalid delete usage
+=#=#=#= Begin test: Set a utilization node attribute =#=#=#=
+=#=#=#= Current cib after: Set a utilization node attribute =#=#=#=
+<cib epoch="14" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Set a utilization node attribute - OK (0) =#=#=#=
+* Passed: crm_attribute - Set a utilization node attribute
+=#=#=#= Begin test: Query utilization node attribute =#=#=#=
+scope=nodes name=cpu value=1
+=#=#=#= End test: Query utilization node attribute - OK (0) =#=#=#=
+* Passed: crm_attribute - Query utilization node attribute
+=#=#=#= Begin test: Digest calculation =#=#=#=
+Digest: =#=#=#= Current cib after: Digest calculation =#=#=#=
+<cib epoch="14" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Digest calculation - OK (0) =#=#=#=
+* Passed: cibadmin - Digest calculation
+=#=#=#= Begin test: Replace operation should fail =#=#=#=
+Call failed: Update was older than existing configuration
+=#=#=#= Current cib after: Replace operation should fail =#=#=#=
+<cib epoch="14" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Replace operation should fail - Update was older than existing configuration (103) =#=#=#=
+* Passed: cibadmin - Replace operation should fail
+=#=#=#= Begin test: Default standby value =#=#=#=
+scope=status name=standby value=off
+=#=#=#= Current cib after: Default standby value =#=#=#=
+<cib epoch="14" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Default standby value - OK (0) =#=#=#=
+* Passed: crm_standby - Default standby value
+=#=#=#= Begin test: Set standby status =#=#=#=
+=#=#=#= Current cib after: Set standby status =#=#=#=
+<cib epoch="15" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ <nvpair id="nodes-node1-standby" name="standby" value="true"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Set standby status - OK (0) =#=#=#=
+* Passed: crm_standby - Set standby status
+=#=#=#= Begin test: Query standby value =#=#=#=
+scope=nodes name=standby value=true
+=#=#=#= Current cib after: Query standby value =#=#=#=
+<cib epoch="15" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ <nvpair id="nodes-node1-standby" name="standby" value="true"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Query standby value - OK (0) =#=#=#=
+* Passed: crm_standby - Query standby value
+=#=#=#= Begin test: Delete standby value =#=#=#=
+Deleted nodes attribute: id=nodes-node1-standby name=standby
+=#=#=#= Current cib after: Delete standby value =#=#=#=
+<cib epoch="16" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Delete standby value - OK (0) =#=#=#=
+* Passed: crm_standby - Delete standby value
+=#=#=#= Begin test: Create a resource =#=#=#=
+=#=#=#= Current cib after: Create a resource =#=#=#=
+<cib epoch="17" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy"/>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Create a resource - OK (0) =#=#=#=
+* Passed: cibadmin - Create a resource
+=#=#=#= Begin test: crm_resource run with extra arguments =#=#=#=
+crm_resource: non-option ARGV-elements:
+[1 of 2] foo
+[2 of 2] bar
+
+=#=#=#= End test: crm_resource run with extra arguments - Incorrect usage (64) =#=#=#=
+* Passed: crm_resource - crm_resource run with extra arguments
+=#=#=#= Begin test: crm_resource given both -r and resource config =#=#=#=
+crm_resource: --resource cannot be used with --class, --agent, and --provider
+=#=#=#= End test: crm_resource given both -r and resource config - Incorrect usage (64) =#=#=#=
+* Passed: crm_resource - crm_resource given both -r and resource config
+=#=#=#= Begin test: crm_resource given resource config with invalid action =#=#=#=
+crm_resource: --class, --agent, and --provider can only be used with --validate and --force-*
+=#=#=#= End test: crm_resource given resource config with invalid action - Incorrect usage (64) =#=#=#=
+* Passed: crm_resource - crm_resource given resource config with invalid action
+=#=#=#= Begin test: Create a resource meta attribute =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+Set 'dummy' option: id=dummy-meta_attributes-is-managed set=dummy-meta_attributes name=is-managed value=false
+=#=#=#= Current cib after: Create a resource meta attribute =#=#=#=
+<cib epoch="18" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-is-managed" name="is-managed" value="false"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Create a resource meta attribute - OK (0) =#=#=#=
+* Passed: crm_resource - Create a resource meta attribute
+=#=#=#= Begin test: Query a resource meta attribute =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+false
+=#=#=#= Current cib after: Query a resource meta attribute =#=#=#=
+<cib epoch="18" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes">
+ <nvpair id="dummy-meta_attributes-is-managed" name="is-managed" value="false"/>
+ </meta_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Query a resource meta attribute - OK (0) =#=#=#=
+* Passed: crm_resource - Query a resource meta attribute
+=#=#=#= Begin test: Remove a resource meta attribute =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+Deleted 'dummy' option: id=dummy-meta_attributes-is-managed name=is-managed
+=#=#=#= Current cib after: Remove a resource meta attribute =#=#=#=
+<cib epoch="19" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Remove a resource meta attribute - OK (0) =#=#=#=
+* Passed: crm_resource - Remove a resource meta attribute
+=#=#=#= Begin test: Create another resource meta attribute =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+<pacemaker-result api-version="X" request="crm_resource -r dummy --meta -p target-role -v Stopped --output-as=xml">
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Create another resource meta attribute - OK (0) =#=#=#=
+* Passed: crm_resource - Create another resource meta attribute
+=#=#=#= Begin test: Show why a resource is not running =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+<pacemaker-result api-version="X" request="crm_resource -Y -r dummy --output-as=xml">
+ <reason running="false">
+ <check id="dummy" remain_stopped="true"/>
+ </reason>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Show why a resource is not running - OK (0) =#=#=#=
+* Passed: crm_resource - Show why a resource is not running
+=#=#=#= Begin test: Remove another resource meta attribute =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+<pacemaker-result api-version="X" request="crm_resource -r dummy --meta -d target-role --output-as=xml">
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Remove another resource meta attribute - OK (0) =#=#=#=
+* Passed: crm_resource - Remove another resource meta attribute
+=#=#=#= Begin test: Get a non-existent attribute from a resource element with output-as=xml =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+<pacemaker-result api-version="X" request="crm_resource -r dummy --get-parameter nonexistent --element --output-as=xml">
+ <status code="0" message="OK">
+ <errors>
+ <error>Attribute 'nonexistent' not found for 'dummy'</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Get a non-existent attribute from a resource element with output-as=xml - OK (0) =#=#=#=
+* Passed: crm_resource - Get a non-existent attribute from a resource element with output-as=xml
+=#=#=#= Begin test: Get a non-existent attribute from a resource element without output-as=xml =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+Attribute 'nonexistent' not found for 'dummy'
+=#=#=#= Current cib after: Get a non-existent attribute from a resource element without output-as=xml =#=#=#=
+<cib epoch="21" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Get a non-existent attribute from a resource element without output-as=xml - OK (0) =#=#=#=
+* Passed: crm_resource - Get a non-existent attribute from a resource element without output-as=xml
+=#=#=#= Begin test: Get an existent attribute from a resource element with output-as=xml =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+<pacemaker-result api-version="X" request="crm_resource -r dummy --get-parameter class --element --output-as=xml">
+ <list name="attributes" count="1">
+ <item name="class">ocf</item>
+ </list>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Get an existent attribute from a resource element with output-as=xml - OK (0) =#=#=#=
+* Passed: crm_resource - Get an existent attribute from a resource element with output-as=xml
+=#=#=#= Begin test: Get an existent attribute from a resource element without output-as=xml =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+ocf
+=#=#=#= Current cib after: Get an existent attribute from a resource element without output-as=xml =#=#=#=
+<cib epoch="21" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Get an existent attribute from a resource element without output-as=xml - OK (0) =#=#=#=
+* Passed: crm_resource - Get an existent attribute from a resource element without output-as=xml
+=#=#=#= Begin test: Set a non-existent attribute for a resource element with output-as=xml =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+<pacemaker-result api-version="X" request="crm_resource -r dummy --set-parameter=description -v test_description --element --output-as=xml">
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= Current cib after: Set a non-existent attribute for a resource element with output-as=xml =#=#=#=
+<cib epoch="22" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="test_description">
+ <meta_attributes id="dummy-meta_attributes"/>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Set a non-existent attribute for a resource element with output-as=xml - OK (0) =#=#=#=
+* Passed: crm_resource - Set a non-existent attribute for a resource element with output-as=xml
+=#=#=#= Begin test: Set an existent attribute for a resource element with output-as=xml =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+<pacemaker-result api-version="X" request="crm_resource -r dummy --set-parameter=description -v test_description --element --output-as=xml">
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= Current cib after: Set an existent attribute for a resource element with output-as=xml =#=#=#=
+<cib epoch="22" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="test_description">
+ <meta_attributes id="dummy-meta_attributes"/>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Set an existent attribute for a resource element with output-as=xml - OK (0) =#=#=#=
+* Passed: crm_resource - Set an existent attribute for a resource element with output-as=xml
+=#=#=#= Begin test: Delete an existent attribute for a resource element with output-as=xml =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+<pacemaker-result api-version="X" request="crm_resource -r dummy -d description --element --output-as=xml">
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= Current cib after: Delete an existent attribute for a resource element with output-as=xml =#=#=#=
+<cib epoch="23" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Delete an existent attribute for a resource element with output-as=xml - OK (0) =#=#=#=
+* Passed: crm_resource - Delete an existent attribute for a resource element with output-as=xml
+=#=#=#= Begin test: Delete a non-existent attribute for a resource element with output-as=xml =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+<pacemaker-result api-version="X" request="crm_resource -r dummy -d description --element --output-as=xml">
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= Current cib after: Delete a non-existent attribute for a resource element with output-as=xml =#=#=#=
+<cib epoch="23" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Delete a non-existent attribute for a resource element with output-as=xml - OK (0) =#=#=#=
+* Passed: crm_resource - Delete a non-existent attribute for a resource element with output-as=xml
+=#=#=#= Begin test: Set a non-existent attribute for a resource element without output-as=xml =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+Set attribute: name=description value=test_description
+=#=#=#= Current cib after: Set a non-existent attribute for a resource element without output-as=xml =#=#=#=
+<cib epoch="24" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="test_description">
+ <meta_attributes id="dummy-meta_attributes"/>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Set a non-existent attribute for a resource element without output-as=xml - OK (0) =#=#=#=
+* Passed: crm_resource - Set a non-existent attribute for a resource element without output-as=xml
+=#=#=#= Begin test: Set an existent attribute for a resource element without output-as=xml =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+Set attribute: name=description value=test_description
+=#=#=#= Current cib after: Set an existent attribute for a resource element without output-as=xml =#=#=#=
+<cib epoch="24" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy" description="test_description">
+ <meta_attributes id="dummy-meta_attributes"/>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Set an existent attribute for a resource element without output-as=xml - OK (0) =#=#=#=
+* Passed: crm_resource - Set an existent attribute for a resource element without output-as=xml
+=#=#=#= Begin test: Delete an existent attribute for a resource element without output-as=xml =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+Deleted attribute: description
+=#=#=#= Current cib after: Delete an existent attribute for a resource element without output-as=xml =#=#=#=
+<cib epoch="25" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Delete an existent attribute for a resource element without output-as=xml - OK (0) =#=#=#=
+* Passed: crm_resource - Delete an existent attribute for a resource element without output-as=xml
+=#=#=#= Begin test: Delete a non-existent attribute for a resource element without output-as=xml =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+Deleted attribute: description
+=#=#=#= Current cib after: Delete a non-existent attribute for a resource element without output-as=xml =#=#=#=
+<cib epoch="25" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Delete a non-existent attribute for a resource element without output-as=xml - OK (0) =#=#=#=
+* Passed: crm_resource - Delete a non-existent attribute for a resource element without output-as=xml
+=#=#=#= Begin test: Create a resource attribute =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+Set 'dummy' option: id=dummy-instance_attributes-delay set=dummy-instance_attributes name=delay value=10s
+=#=#=#= Current cib after: Create a resource attribute =#=#=#=
+<cib epoch="26" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Create a resource attribute - OK (0) =#=#=#=
+* Passed: crm_resource - Create a resource attribute
+=#=#=#= Begin test: List the configured resources =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+Full List of Resources:
+ * dummy (ocf:pacemaker:Dummy): Stopped
+=#=#=#= Current cib after: List the configured resources =#=#=#=
+<cib epoch="26" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: List the configured resources - OK (0) =#=#=#=
+* Passed: crm_resource - List the configured resources
+=#=#=#= Begin test: List the configured resources in XML =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+<pacemaker-result api-version="X" request="crm_resource -L --output-as=xml">
+ <resources>
+ <resource id="dummy" resource_agent="ocf:pacemaker:Dummy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </resources>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: List the configured resources in XML - OK (0) =#=#=#=
+* Passed: crm_resource - List the configured resources in XML
+=#=#=#= Begin test: Implicitly list the configured resources =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+Full List of Resources:
+ * dummy (ocf:pacemaker:Dummy): Stopped
+=#=#=#= End test: Implicitly list the configured resources - OK (0) =#=#=#=
+* Passed: crm_resource - Implicitly list the configured resources
+=#=#=#= Begin test: List IDs of instantiated resources =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+dummy
+=#=#=#= End test: List IDs of instantiated resources - OK (0) =#=#=#=
+* Passed: crm_resource - List IDs of instantiated resources
+=#=#=#= Begin test: Show XML configuration of resource =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+dummy (ocf:pacemaker:Dummy): Stopped
+Resource XML:
+<primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+</primitive>
+=#=#=#= End test: Show XML configuration of resource - OK (0) =#=#=#=
+* Passed: crm_resource - Show XML configuration of resource
+=#=#=#= Begin test: Show XML configuration of resource, output as XML =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+<pacemaker-result api-version="X" request="crm_resource -q -r dummy --output-as=xml">
+ <resource_config>
+ <resource id="dummy" resource_agent="ocf:pacemaker:Dummy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <xml><![CDATA[<primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+</primitive>
+]]></xml>
+ </resource_config>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Show XML configuration of resource, output as XML - OK (0) =#=#=#=
+* Passed: crm_resource - Show XML configuration of resource, output as XML
+=#=#=#= Begin test: Require a destination when migrating a resource that is stopped =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+crm_resource: Resource 'dummy' not moved: active in 0 locations.
+To prevent 'dummy' from running on a specific location, specify a node.
+=#=#=#= Current cib after: Require a destination when migrating a resource that is stopped =#=#=#=
+<cib epoch="26" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Require a destination when migrating a resource that is stopped - Incorrect usage (64) =#=#=#=
+* Passed: crm_resource - Require a destination when migrating a resource that is stopped
+=#=#=#= Begin test: Don't support migration to non-existent locations =#=#=#=
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+crm_resource: Node 'i.do.not.exist' not found
+Error performing operation: No such object
+=#=#=#= Current cib after: Don't support migration to non-existent locations =#=#=#=
+<cib epoch="26" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Don't support migration to non-existent locations - No such object (105) =#=#=#=
+* Passed: crm_resource - Don't support migration to non-existent locations
+=#=#=#= Begin test: Create a fencing resource =#=#=#=
+=#=#=#= Current cib after: Create a fencing resource =#=#=#=
+<cib epoch="27" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Create a fencing resource - OK (0) =#=#=#=
+* Passed: cibadmin - Create a fencing resource
+=#=#=#= Begin test: Bring resources online =#=#=#=
+Current cluster status:
+ * Node List:
+ * Online: [ node1 ]
+
+ * Full List of Resources:
+ * dummy (ocf:pacemaker:Dummy): Stopped
+ * Fence (stonith:fence_true): Stopped
+
+Transition Summary:
+ * Start dummy ( node1 )
+ * Start Fence ( node1 )
+
+Executing Cluster Transition:
+ * Resource action: dummy monitor on node1
+ * Resource action: Fence monitor on node1
+ * Resource action: dummy start on node1
+ * Resource action: Fence start on node1
+
+Revised Cluster Status:
+ * Node List:
+ * Online: [ node1 ]
+
+ * Full List of Resources:
+ * dummy (ocf:pacemaker:Dummy): Started node1
+ * Fence (stonith:fence_true): Started node1
+=#=#=#= Current cib after: Bring resources online =#=#=#=
+<cib epoch="27" num_updates="4" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ <lrm id="node1">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Bring resources online - OK (0) =#=#=#=
+* Passed: crm_simulate - Bring resources online
+=#=#=#= Begin test: Try to move a resource to its existing location =#=#=#=
+crm_resource: Error performing operation: Requested item already exists
+=#=#=#= Current cib after: Try to move a resource to its existing location =#=#=#=
+<cib epoch="27" num_updates="4" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ <lrm id="node1">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Try to move a resource to its existing location - Requested item already exists (108) =#=#=#=
+* Passed: crm_resource - Try to move a resource to its existing location
+=#=#=#= Begin test: Try to move a resource that doesn't exist =#=#=#=
+crm_resource: Resource 'xyz' not found
+Error performing operation: No such object
+=#=#=#= End test: Try to move a resource that doesn't exist - No such object (105) =#=#=#=
+* Passed: crm_resource - Try to move a resource that doesn't exist
+=#=#=#= Begin test: Move a resource from its existing location =#=#=#=
+WARNING: Creating rsc_location constraint 'cli-ban-dummy-on-node1' with a score of -INFINITY for resource dummy on node1.
+ This will prevent dummy from running on node1 until the constraint is removed using the clear option or by editing the CIB with an appropriate tool
+ This will be the case even if node1 is the last node in the cluster
+=#=#=#= Current cib after: Move a resource from its existing location =#=#=#=
+<cib epoch="28" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-ban-dummy-on-node1" rsc="dummy" role="Started" node="node1" score="-INFINITY"/>
+ </constraints>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ <lrm id="node1">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Move a resource from its existing location - OK (0) =#=#=#=
+* Passed: crm_resource - Move a resource from its existing location
+=#=#=#= Begin test: Clear out constraints generated by --move =#=#=#=
+Removing constraint: cli-ban-dummy-on-node1
+=#=#=#= Current cib after: Clear out constraints generated by --move =#=#=#=
+<cib epoch="29" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ <lrm id="node1">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Clear out constraints generated by --move - OK (0) =#=#=#=
+* Passed: crm_resource - Clear out constraints generated by --move
+=#=#=#= Begin test: Default ticket granted state =#=#=#=
+false
+=#=#=#= Current cib after: Default ticket granted state =#=#=#=
+<cib epoch="29" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ <lrm id="node1">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Default ticket granted state - OK (0) =#=#=#=
+* Passed: crm_ticket - Default ticket granted state
+=#=#=#= Begin test: Set ticket granted state =#=#=#=
+=#=#=#= Current cib after: Set ticket granted state =#=#=#=
+<cib epoch="29" num_updates="1" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ <lrm id="node1">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <tickets>
+ <ticket_state id="ticketA" granted="false"/>
+ </tickets>
+ </status>
+</cib>
+=#=#=#= End test: Set ticket granted state - OK (0) =#=#=#=
+* Passed: crm_ticket - Set ticket granted state
+=#=#=#= Begin test: Query ticket granted state =#=#=#=
+false
+=#=#=#= Current cib after: Query ticket granted state =#=#=#=
+<cib epoch="29" num_updates="1" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ <lrm id="node1">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <tickets>
+ <ticket_state id="ticketA" granted="false"/>
+ </tickets>
+ </status>
+</cib>
+=#=#=#= End test: Query ticket granted state - OK (0) =#=#=#=
+* Passed: crm_ticket - Query ticket granted state
+=#=#=#= Begin test: Delete ticket granted state =#=#=#=
+=#=#=#= Current cib after: Delete ticket granted state =#=#=#=
+<cib epoch="29" num_updates="2" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ <lrm id="node1">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <tickets>
+ <ticket_state id="ticketA"/>
+ </tickets>
+ </status>
+</cib>
+=#=#=#= End test: Delete ticket granted state - OK (0) =#=#=#=
+* Passed: crm_ticket - Delete ticket granted state
+=#=#=#= Begin test: Make a ticket standby =#=#=#=
+=#=#=#= Current cib after: Make a ticket standby =#=#=#=
+<cib epoch="29" num_updates="3" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ <lrm id="node1">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <tickets>
+ <ticket_state id="ticketA" standby="true"/>
+ </tickets>
+ </status>
+</cib>
+=#=#=#= End test: Make a ticket standby - OK (0) =#=#=#=
+* Passed: crm_ticket - Make a ticket standby
+=#=#=#= Begin test: Query ticket standby state =#=#=#=
+true
+=#=#=#= Current cib after: Query ticket standby state =#=#=#=
+<cib epoch="29" num_updates="3" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ <lrm id="node1">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <tickets>
+ <ticket_state id="ticketA" standby="true"/>
+ </tickets>
+ </status>
+</cib>
+=#=#=#= End test: Query ticket standby state - OK (0) =#=#=#=
+* Passed: crm_ticket - Query ticket standby state
+=#=#=#= Begin test: Activate a ticket =#=#=#=
+=#=#=#= Current cib after: Activate a ticket =#=#=#=
+<cib epoch="29" num_updates="4" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ <lrm id="node1">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <tickets>
+ <ticket_state id="ticketA" standby="false"/>
+ </tickets>
+ </status>
+</cib>
+=#=#=#= End test: Activate a ticket - OK (0) =#=#=#=
+* Passed: crm_ticket - Activate a ticket
+=#=#=#= Begin test: Delete ticket standby state =#=#=#=
+=#=#=#= Current cib after: Delete ticket standby state =#=#=#=
+<cib epoch="29" num_updates="5" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ <lrm id="node1">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <tickets>
+ <ticket_state id="ticketA"/>
+ </tickets>
+ </status>
+</cib>
+=#=#=#= End test: Delete ticket standby state - OK (0) =#=#=#=
+* Passed: crm_ticket - Delete ticket standby state
+=#=#=#= Begin test: Ban a resource on unknown node =#=#=#=
+crm_resource: Node 'host1' not found
+Error performing operation: No such object
+=#=#=#= Current cib after: Ban a resource on unknown node =#=#=#=
+<cib epoch="29" num_updates="5" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ <lrm id="node1">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <tickets>
+ <ticket_state id="ticketA"/>
+ </tickets>
+ </status>
+</cib>
+=#=#=#= End test: Ban a resource on unknown node - No such object (105) =#=#=#=
+* Passed: crm_resource - Ban a resource on unknown node
+=#=#=#= Begin test: Create two more nodes and bring them online =#=#=#=
+Current cluster status:
+ * Node List:
+ * Online: [ node1 ]
+
+ * Full List of Resources:
+ * dummy (ocf:pacemaker:Dummy): Started node1
+ * Fence (stonith:fence_true): Started node1
+
+Performing Requested Modifications:
+ * Bringing node node2 online
+ * Bringing node node3 online
+
+Transition Summary:
+ * Move Fence ( node1 -> node2 )
+
+Executing Cluster Transition:
+ * Resource action: dummy monitor on node3
+ * Resource action: dummy monitor on node2
+ * Resource action: Fence stop on node1
+ * Resource action: Fence monitor on node3
+ * Resource action: Fence monitor on node2
+ * Resource action: Fence start on node2
+
+Revised Cluster Status:
+ * Node List:
+ * Online: [ node1 node2 node3 ]
+
+ * Full List of Resources:
+ * dummy (ocf:pacemaker:Dummy): Started node1
+ * Fence (stonith:fence_true): Started node2
+=#=#=#= Current cib after: Create two more nodes and bring them online =#=#=#=
+<cib epoch="31" num_updates="8" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ <lrm id="node1">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_stop_0" operation="stop" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <tickets>
+ <ticket_state id="ticketA"/>
+ </tickets>
+ <node_state id="node2" uname="node2" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <lrm id="node2">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <node_state id="node3" uname="node3" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <lrm id="node3">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Create two more nodes and bring them online - OK (0) =#=#=#=
+* Passed: crm_simulate - Create two more nodes and bring them online
+=#=#=#= Begin test: Ban dummy from node1 =#=#=#=
+WARNING: Creating rsc_location constraint 'cli-ban-dummy-on-node1' with a score of -INFINITY for resource dummy on node1.
+ This will prevent dummy from running on node1 until the constraint is removed using the clear option or by editing the CIB with an appropriate tool
+ This will be the case even if node1 is the last node in the cluster
+=#=#=#= Current cib after: Ban dummy from node1 =#=#=#=
+<cib epoch="32" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-ban-dummy-on-node1" rsc="dummy" role="Started" node="node1" score="-INFINITY"/>
+ </constraints>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ <lrm id="node1">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_stop_0" operation="stop" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <tickets>
+ <ticket_state id="ticketA"/>
+ </tickets>
+ <node_state id="node2" uname="node2" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <lrm id="node2">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <node_state id="node3" uname="node3" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <lrm id="node3">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Ban dummy from node1 - OK (0) =#=#=#=
+* Passed: crm_resource - Ban dummy from node1
+=#=#=#= Begin test: Show where a resource is running =#=#=#=
+resource dummy is running on: node1
+=#=#=#= End test: Show where a resource is running - OK (0) =#=#=#=
+* Passed: crm_resource - Show where a resource is running
+=#=#=#= Begin test: Show constraints on a resource =#=#=#=
+Locations:
+ * Node node1 (score=-INFINITY, id=cli-ban-dummy-on-node1, rsc=dummy)
+=#=#=#= End test: Show constraints on a resource - OK (0) =#=#=#=
+* Passed: crm_resource - Show constraints on a resource
+=#=#=#= Begin test: Ban dummy from node2 =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -r dummy -B -N node2 --output-as=xml">
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= Current cib after: Ban dummy from node2 =#=#=#=
+<cib epoch="33" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-ban-dummy-on-node1" rsc="dummy" role="Started" node="node1" score="-INFINITY"/>
+ <rsc_location id="cli-ban-dummy-on-node2" rsc="dummy" role="Started" node="node2" score="-INFINITY"/>
+ </constraints>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ <lrm id="node1">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_stop_0" operation="stop" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <tickets>
+ <ticket_state id="ticketA"/>
+ </tickets>
+ <node_state id="node2" uname="node2" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <lrm id="node2">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <node_state id="node3" uname="node3" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <lrm id="node3">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Ban dummy from node2 - OK (0) =#=#=#=
+* Passed: crm_resource - Ban dummy from node2
+=#=#=#= Begin test: Relocate resources due to ban =#=#=#=
+Current cluster status:
+ * Node List:
+ * Online: [ node1 node2 node3 ]
+
+ * Full List of Resources:
+ * dummy (ocf:pacemaker:Dummy): Started node1
+ * Fence (stonith:fence_true): Started node2
+
+Transition Summary:
+ * Move dummy ( node1 -> node3 )
+
+Executing Cluster Transition:
+ * Resource action: dummy stop on node1
+ * Resource action: dummy start on node3
+
+Revised Cluster Status:
+ * Node List:
+ * Online: [ node1 node2 node3 ]
+
+ * Full List of Resources:
+ * dummy (ocf:pacemaker:Dummy): Started node3
+ * Fence (stonith:fence_true): Started node2
+=#=#=#= Current cib after: Relocate resources due to ban =#=#=#=
+<cib epoch="33" num_updates="2" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-ban-dummy-on-node1" rsc="dummy" role="Started" node="node1" score="-INFINITY"/>
+ <rsc_location id="cli-ban-dummy-on-node2" rsc="dummy" role="Started" node="node2" score="-INFINITY"/>
+ </constraints>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ <lrm id="node1">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_stop_0" operation="stop" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_stop_0" operation="stop" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <tickets>
+ <ticket_state id="ticketA"/>
+ </tickets>
+ <node_state id="node2" uname="node2" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <lrm id="node2">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <node_state id="node3" uname="node3" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <lrm id="node3">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Relocate resources due to ban - OK (0) =#=#=#=
+* Passed: crm_simulate - Relocate resources due to ban
+=#=#=#= Begin test: Move dummy to node1 =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -r dummy -M -N node1 --output-as=xml">
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= Current cib after: Move dummy to node1 =#=#=#=
+<cib epoch="35" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-ban-dummy-on-node2" rsc="dummy" role="Started" node="node2" score="-INFINITY"/>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ </constraints>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ <lrm id="node1">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_stop_0" operation="stop" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_stop_0" operation="stop" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <tickets>
+ <ticket_state id="ticketA"/>
+ </tickets>
+ <node_state id="node2" uname="node2" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <lrm id="node2">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <node_state id="node3" uname="node3" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <lrm id="node3">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Move dummy to node1 - OK (0) =#=#=#=
+* Passed: crm_resource - Move dummy to node1
+=#=#=#= Begin test: Clear implicit constraints for dummy on node2 =#=#=#=
+Removing constraint: cli-ban-dummy-on-node2
+=#=#=#= Current cib after: Clear implicit constraints for dummy on node2 =#=#=#=
+<cib epoch="36" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ </constraints>
+ </configuration>
+ <status>
+ <node_state id="node1" uname="node1" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <transient_attributes id="node1">
+ <instance_attributes id="status-node1"/>
+ </transient_attributes>
+ <lrm id="node1">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_stop_0" operation="stop" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_stop_0" operation="stop" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <tickets>
+ <ticket_state id="ticketA"/>
+ </tickets>
+ <node_state id="node2" uname="node2" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <lrm id="node2">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <node_state id="node3" uname="node3" in_ccm="true" crmd="online" join="member" expected="member" crm-debug-origin="crm_simulate">
+ <lrm id="node3">
+ <lrm_resources>
+ <lrm_resource id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="0830891652dabe627ca72b8e879199b1"/>
+ </lrm_resource>
+ <lrm_resource id="Fence" class="stonith" type="fence_true">
+ <lrm_rsc_op id="Fence_last_0" operation_key="Fence_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Clear implicit constraints for dummy on node2 - OK (0) =#=#=#=
+* Passed: crm_resource - Clear implicit constraints for dummy on node2
+=#=#=#= Begin test: Drop the status section =#=#=#=
+=#=#=#= End test: Drop the status section - OK (0) =#=#=#=
+* Passed: cibadmin - Drop the status section
+=#=#=#= Begin test: Create a clone =#=#=#=
+=#=#=#= End test: Create a clone - OK (0) =#=#=#=
+* Passed: cibadmin - Create a clone
+=#=#=#= Begin test: Create a resource meta attribute =#=#=#=
+Performing update of 'is-managed' on 'test-clone', the parent of 'test-primitive'
+Set 'test-clone' option: id=test-clone-meta_attributes-is-managed set=test-clone-meta_attributes name=is-managed value=false
+=#=#=#= Current cib after: Create a resource meta attribute =#=#=#=
+<cib epoch="38" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy"/>
+ <meta_attributes id="test-clone-meta_attributes">
+ <nvpair id="test-clone-meta_attributes-is-managed" name="is-managed" value="false"/>
+ </meta_attributes>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Create a resource meta attribute - OK (0) =#=#=#=
+* Passed: crm_resource - Create a resource meta attribute
+=#=#=#= Begin test: Create a resource meta attribute in the primitive =#=#=#=
+Set 'test-primitive' option: id=test-primitive-meta_attributes-is-managed set=test-primitive-meta_attributes name=is-managed value=false
+=#=#=#= Current cib after: Create a resource meta attribute in the primitive =#=#=#=
+<cib epoch="39" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes">
+ <nvpair id="test-primitive-meta_attributes-is-managed" name="is-managed" value="false"/>
+ </meta_attributes>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes">
+ <nvpair id="test-clone-meta_attributes-is-managed" name="is-managed" value="false"/>
+ </meta_attributes>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Create a resource meta attribute in the primitive - OK (0) =#=#=#=
+* Passed: crm_resource - Create a resource meta attribute in the primitive
+=#=#=#= Begin test: Update resource meta attribute with duplicates =#=#=#=
+Multiple attributes match name=is-managed
+ Value: false (id=test-primitive-meta_attributes-is-managed)
+ Value: false (id=test-clone-meta_attributes-is-managed)
+
+A value for 'is-managed' already exists in child 'test-primitive', performing update on that instead of 'test-clone'
+Set 'test-primitive' option: id=test-primitive-meta_attributes-is-managed name=is-managed value=true
+=#=#=#= Current cib after: Update resource meta attribute with duplicates =#=#=#=
+<cib epoch="40" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes">
+ <nvpair id="test-primitive-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes">
+ <nvpair id="test-clone-meta_attributes-is-managed" name="is-managed" value="false"/>
+ </meta_attributes>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Update resource meta attribute with duplicates - OK (0) =#=#=#=
+* Passed: crm_resource - Update resource meta attribute with duplicates
+=#=#=#= Begin test: Update resource meta attribute with duplicates (force clone) =#=#=#=
+Set 'test-clone' option: id=test-clone-meta_attributes-is-managed name=is-managed value=true
+=#=#=#= Current cib after: Update resource meta attribute with duplicates (force clone) =#=#=#=
+<cib epoch="41" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes">
+ <nvpair id="test-primitive-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes">
+ <nvpair id="test-clone-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Update resource meta attribute with duplicates (force clone) - OK (0) =#=#=#=
+* Passed: crm_resource - Update resource meta attribute with duplicates (force clone)
+=#=#=#= Begin test: Update child resource meta attribute with duplicates =#=#=#=
+Multiple attributes match name=is-managed
+ Value: true (id=test-primitive-meta_attributes-is-managed)
+ Value: true (id=test-clone-meta_attributes-is-managed)
+
+Set 'test-primitive' option: id=test-primitive-meta_attributes-is-managed name=is-managed value=false
+=#=#=#= Current cib after: Update child resource meta attribute with duplicates =#=#=#=
+<cib epoch="42" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes">
+ <nvpair id="test-primitive-meta_attributes-is-managed" name="is-managed" value="false"/>
+ </meta_attributes>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes">
+ <nvpair id="test-clone-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Update child resource meta attribute with duplicates - OK (0) =#=#=#=
+* Passed: crm_resource - Update child resource meta attribute with duplicates
+=#=#=#= Begin test: Delete resource meta attribute with duplicates =#=#=#=
+Multiple attributes match name=is-managed
+ Value: false (id=test-primitive-meta_attributes-is-managed)
+ Value: true (id=test-clone-meta_attributes-is-managed)
+
+A value for 'is-managed' already exists in child 'test-primitive', performing delete on that instead of 'test-clone'
+Deleted 'test-primitive' option: id=test-primitive-meta_attributes-is-managed name=is-managed
+=#=#=#= Current cib after: Delete resource meta attribute with duplicates =#=#=#=
+<cib epoch="43" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes"/>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes">
+ <nvpair id="test-clone-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Delete resource meta attribute with duplicates - OK (0) =#=#=#=
+* Passed: crm_resource - Delete resource meta attribute with duplicates
+=#=#=#= Begin test: Delete resource meta attribute in parent =#=#=#=
+Performing delete of 'is-managed' on 'test-clone', the parent of 'test-primitive'
+Deleted 'test-clone' option: id=test-clone-meta_attributes-is-managed name=is-managed
+=#=#=#= Current cib after: Delete resource meta attribute in parent =#=#=#=
+<cib epoch="44" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes"/>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes"/>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Delete resource meta attribute in parent - OK (0) =#=#=#=
+* Passed: crm_resource - Delete resource meta attribute in parent
+=#=#=#= Begin test: Create a resource meta attribute in the primitive =#=#=#=
+Set 'test-primitive' option: id=test-primitive-meta_attributes-is-managed set=test-primitive-meta_attributes name=is-managed value=false
+=#=#=#= Current cib after: Create a resource meta attribute in the primitive =#=#=#=
+<cib epoch="45" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes">
+ <nvpair id="test-primitive-meta_attributes-is-managed" name="is-managed" value="false"/>
+ </meta_attributes>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes"/>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Create a resource meta attribute in the primitive - OK (0) =#=#=#=
+* Passed: crm_resource - Create a resource meta attribute in the primitive
+=#=#=#= Begin test: Update existing resource meta attribute =#=#=#=
+A value for 'is-managed' already exists in child 'test-primitive', performing update on that instead of 'test-clone'
+Set 'test-primitive' option: id=test-primitive-meta_attributes-is-managed name=is-managed value=true
+=#=#=#= Current cib after: Update existing resource meta attribute =#=#=#=
+<cib epoch="46" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes">
+ <nvpair id="test-primitive-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes"/>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Update existing resource meta attribute - OK (0) =#=#=#=
+* Passed: crm_resource - Update existing resource meta attribute
+=#=#=#= Begin test: Create a resource meta attribute in the parent =#=#=#=
+Set 'test-clone' option: id=test-clone-meta_attributes-is-managed set=test-clone-meta_attributes name=is-managed value=true
+=#=#=#= Current cib after: Create a resource meta attribute in the parent =#=#=#=
+<cib epoch="47" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes">
+ <nvpair id="test-primitive-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes">
+ <nvpair id="test-clone-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Create a resource meta attribute in the parent - OK (0) =#=#=#=
+* Passed: crm_resource - Create a resource meta attribute in the parent
+=#=#=#= Begin test: Copy resources =#=#=#=
+=#=#=#= End test: Copy resources - OK (0) =#=#=#=
+* Passed: cibadmin - Copy resources
+=#=#=#= Begin test: Delete resource parent meta attribute (force) =#=#=#=
+Deleted 'test-clone' option: id=test-clone-meta_attributes-is-managed name=is-managed
+=#=#=#= Current cib after: Delete resource parent meta attribute (force) =#=#=#=
+<cib epoch="48" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes">
+ <nvpair id="test-primitive-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes"/>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Delete resource parent meta attribute (force) - OK (0) =#=#=#=
+* Passed: crm_resource - Delete resource parent meta attribute (force)
+=#=#=#= Begin test: Restore duplicates =#=#=#=
+=#=#=#= Current cib after: Restore duplicates =#=#=#=
+<cib epoch="49" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes">
+ <nvpair id="test-primitive-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes">
+ <nvpair id="test-clone-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Restore duplicates - OK (0) =#=#=#=
+* Passed: cibadmin - Restore duplicates
+=#=#=#= Begin test: Delete resource child meta attribute =#=#=#=
+Multiple attributes match name=is-managed
+ Value: true (id=test-primitive-meta_attributes-is-managed)
+ Value: true (id=test-clone-meta_attributes-is-managed)
+
+Deleted 'test-primitive' option: id=test-primitive-meta_attributes-is-managed name=is-managed
+=#=#=#= Current cib after: Delete resource child meta attribute =#=#=#=
+<cib epoch="50" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes"/>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes">
+ <nvpair id="test-clone-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Delete resource child meta attribute - OK (0) =#=#=#=
+* Passed: crm_resource - Delete resource child meta attribute
+=#=#=#= Begin test: Create the dummy-group resource group =#=#=#=
+=#=#=#= Current cib after: Create the dummy-group resource group =#=#=#=
+<cib epoch="51" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes"/>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes">
+ <nvpair id="test-clone-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </clone>
+ <group id="dummy-group">
+ <primitive id="dummy1" class="ocf" provider="pacemaker" type="Dummy"/>
+ <primitive id="dummy2" class="ocf" provider="pacemaker" type="Dummy"/>
+ </group>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Create the dummy-group resource group - OK (0) =#=#=#=
+* Passed: cibadmin - Create the dummy-group resource group
+=#=#=#= Begin test: Create a resource meta attribute in dummy1 =#=#=#=
+Set 'dummy1' option: id=dummy1-meta_attributes-is-managed set=dummy1-meta_attributes name=is-managed value=true
+=#=#=#= Current cib after: Create a resource meta attribute in dummy1 =#=#=#=
+<cib epoch="52" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes"/>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes">
+ <nvpair id="test-clone-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </clone>
+ <group id="dummy-group">
+ <primitive id="dummy1" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy1-meta_attributes">
+ <nvpair id="dummy1-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </primitive>
+ <primitive id="dummy2" class="ocf" provider="pacemaker" type="Dummy"/>
+ </group>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Create a resource meta attribute in dummy1 - OK (0) =#=#=#=
+* Passed: crm_resource - Create a resource meta attribute in dummy1
+=#=#=#= Begin test: Create a resource meta attribute in dummy-group =#=#=#=
+Set 'dummy1' option: id=dummy1-meta_attributes-is-managed name=is-managed value=false
+Set 'dummy-group' option: id=dummy-group-meta_attributes-is-managed set=dummy-group-meta_attributes name=is-managed value=false
+=#=#=#= Current cib after: Create a resource meta attribute in dummy-group =#=#=#=
+<cib epoch="54" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes"/>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes">
+ <nvpair id="test-clone-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </clone>
+ <group id="dummy-group">
+ <primitive id="dummy1" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy1-meta_attributes">
+ <nvpair id="dummy1-meta_attributes-is-managed" name="is-managed" value="false"/>
+ </meta_attributes>
+ </primitive>
+ <primitive id="dummy2" class="ocf" provider="pacemaker" type="Dummy"/>
+ <meta_attributes id="dummy-group-meta_attributes">
+ <nvpair id="dummy-group-meta_attributes-is-managed" name="is-managed" value="false"/>
+ </meta_attributes>
+ </group>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Create a resource meta attribute in dummy-group - OK (0) =#=#=#=
+* Passed: crm_resource - Create a resource meta attribute in dummy-group
+=#=#=#= Begin test: Delete the dummy-group resource group =#=#=#=
+=#=#=#= Current cib after: Delete the dummy-group resource group =#=#=#=
+<cib epoch="55" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes"/>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes">
+ <nvpair id="test-clone-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Delete the dummy-group resource group - OK (0) =#=#=#=
+* Passed: cibadmin - Delete the dummy-group resource group
+=#=#=#= Begin test: Specify a lifetime when moving a resource =#=#=#=
+Migration will take effect until:
+=#=#=#= Current cib after: Specify a lifetime when moving a resource =#=#=#=
+<cib epoch="57" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes"/>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes">
+ <nvpair id="test-clone-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started">
+ <rule id="cli-prefer-rule-dummy" score="INFINITY" boolean-op="and">
+ <expression id="cli-prefer-expr-dummy" attribute="#uname" operation="eq" value="node2" type="string"/>
+ <date_expression id="cli-prefer-lifetime-end-dummy" operation="lt" end=""/>
+ </rule>
+ </rsc_location>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Specify a lifetime when moving a resource - OK (0) =#=#=#=
+* Passed: crm_resource - Specify a lifetime when moving a resource
+=#=#=#= Begin test: Try to move a resource previously moved with a lifetime =#=#=#=
+=#=#=#= Current cib after: Try to move a resource previously moved with a lifetime =#=#=#=
+<cib epoch="59" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes"/>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes">
+ <nvpair id="test-clone-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Try to move a resource previously moved with a lifetime - OK (0) =#=#=#=
+* Passed: crm_resource - Try to move a resource previously moved with a lifetime
+=#=#=#= Begin test: Ban dummy from node1 for a short time =#=#=#=
+Migration will take effect until:
+WARNING: Creating rsc_location constraint 'cli-ban-dummy-on-node1' with a score of -INFINITY for resource dummy on node1.
+ This will prevent dummy from running on node1 until the constraint is removed using the clear option or by editing the CIB with an appropriate tool
+ This will be the case even if node1 is the last node in the cluster
+=#=#=#= Current cib after: Ban dummy from node1 for a short time =#=#=#=
+<cib epoch="60" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes"/>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes">
+ <nvpair id="test-clone-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ <rsc_location id="cli-ban-dummy-on-node1" rsc="dummy" role="Started">
+ <rule id="cli-ban-dummy-on-node1-rule" score="-INFINITY" boolean-op="and">
+ <expression id="cli-ban-dummy-on-node1-expr" attribute="#uname" operation="eq" value="node1" type="string"/>
+ <date_expression id="cli-ban-dummy-on-node1-lifetime" operation="lt" end=""/>
+ </rule>
+ </rsc_location>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Ban dummy from node1 for a short time - OK (0) =#=#=#=
+* Passed: crm_resource - Ban dummy from node1 for a short time
+=#=#=#= Begin test: Remove expired constraints =#=#=#=
+Removing constraint: cli-ban-dummy-on-node1
+=#=#=#= Current cib after: Remove expired constraints =#=#=#=
+<cib epoch="61" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes"/>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes">
+ <nvpair id="test-clone-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="cli-prefer-dummy" rsc="dummy" role="Started" node="node1" score="INFINITY"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Remove expired constraints - OK (0) =#=#=#=
+* Passed: crm_resource - Remove expired constraints
+=#=#=#= Begin test: Clear all implicit constraints for dummy =#=#=#=
+Removing constraint: cli-prefer-dummy
+=#=#=#= Current cib after: Clear all implicit constraints for dummy =#=#=#=
+<cib epoch="62" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes"/>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes">
+ <nvpair id="test-clone-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </clone>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Clear all implicit constraints for dummy - OK (0) =#=#=#=
+* Passed: crm_resource - Clear all implicit constraints for dummy
+=#=#=#= Begin test: Set a node health strategy =#=#=#=
+=#=#=#= Current cib after: Set a node health strategy =#=#=#=
+<cib epoch="63" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-node-health-strategy" name="node-health-strategy" value="migrate-on-red"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3"/>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes"/>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes">
+ <nvpair id="test-clone-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </clone>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Set a node health strategy - OK (0) =#=#=#=
+* Passed: crm_attribute - Set a node health strategy
+=#=#=#= Begin test: Set a node health attribute =#=#=#=
+=#=#=#= Current cib after: Set a node health attribute =#=#=#=
+<cib epoch="64" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-node-health-strategy" name="node-health-strategy" value="migrate-on-red"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3">
+ <instance_attributes id="nodes-node3">
+ <nvpair id="nodes-node3-.health-cts-cli" name="#health-cts-cli" value="red"/>
+ </instance_attributes>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="dummy" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="dummy-meta_attributes"/>
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-delay" name="delay" value="10s"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes"/>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes">
+ <nvpair id="test-clone-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </clone>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Set a node health attribute - OK (0) =#=#=#=
+* Passed: crm_attribute - Set a node health attribute
+=#=#=#= Begin test: Show why a resource is not running on an unhealthy node =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -N node3 -Y -r dummy --output-as=xml">
+ <reason>
+ <check id="dummy" unhealthy="true"/>
+ </reason>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Show why a resource is not running on an unhealthy node - OK (0) =#=#=#=
+* Passed: crm_resource - Show why a resource is not running on an unhealthy node
+=#=#=#= Begin test: Delete a resource =#=#=#=
+=#=#=#= Current cib after: Delete a resource =#=#=#=
+<cib epoch="65" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-no-quorum-policy" name="no-quorum-policy" value="ignore"/>
+ <nvpair id="cib-bootstrap-options-node-health-strategy" name="node-health-strategy" value="migrate-on-red"/>
+ </cluster_property_set>
+ <cluster_property_set id="duplicate">
+ <nvpair id="duplicate-cluster-delay" name="cluster-delay" value="30s"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="node1" uname="node1">
+ <instance_attributes id="nodes-node1">
+ <nvpair id="nodes-node1-ram" name="ram" value="1024M"/>
+ </instance_attributes>
+ <utilization id="nodes-node1-utilization">
+ <nvpair id="nodes-node1-utilization-cpu" name="cpu" value="1"/>
+ </utilization>
+ </node>
+ <node id="node2" uname="node2"/>
+ <node id="node3" uname="node3">
+ <instance_attributes id="nodes-node3">
+ <nvpair id="nodes-node3-.health-cts-cli" name="#health-cts-cli" value="red"/>
+ </instance_attributes>
+ </node>
+ </nodes>
+ <resources>
+ <primitive id="Fence" class="stonith" type="fence_true"/>
+ <clone id="test-clone">
+ <primitive id="test-primitive" class="ocf" provider="pacemaker" type="Dummy">
+ <meta_attributes id="test-primitive-meta_attributes"/>
+ </primitive>
+ <meta_attributes id="test-clone-meta_attributes">
+ <nvpair id="test-clone-meta_attributes-is-managed" name="is-managed" value="true"/>
+ </meta_attributes>
+ </clone>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Delete a resource - OK (0) =#=#=#=
+* Passed: crm_resource - Delete a resource
+=#=#=#= Begin test: Create an XML patchset =#=#=#=
+<diff format="2">
+ <version>
+ <source admin_epoch="0" epoch="1" num_updates="0"/>
+ <target admin_epoch="0" epoch="1" num_updates="0"/>
+ </version>
+ <change operation="delete" path="/cib/configuration/comment" position="0"/>
+ <change operation="delete" path="/cib/configuration/comment" position="1"/>
+ <change operation="delete" path="/cib/configuration/resources/comment" position="0"/>
+ <change operation="delete" path="/cib/configuration/resources/primitive[@id=&apos;Fencing&apos;]/operations/op[@id=&apos;Fencing-start-0&apos;]"/>
+ <change operation="modify" path="/cib/configuration/crm_config/cluster_property_set[@id=&apos;cib-bootstrap-options&apos;]/nvpair[@id=&apos;cib-bootstrap-options-cluster-name&apos;]">
+ <change-list>
+ <change-attr name="value" operation="set" value="mycluster"/>
+ <change-attr name="name" operation="set" value="cluster-name"/>
+ </change-list>
+ <change-result>
+ <nvpair id="cib-bootstrap-options-cluster-name" value="mycluster" name="cluster-name"/>
+ </change-result>
+ </change>
+ <change operation="create" path="/cib/configuration/nodes" position="4">
+ <node id="4" uname="node4"/>
+ </change>
+ <change operation="create" path="/cib/configuration" position="3">
+ <!-- hello world -->
+ </change>
+ <change operation="create" path="/cib/configuration/resources" position="0">
+ <!-- test: modify this comment to say something different -->
+ </change>
+ <change operation="modify" path="/cib/configuration/resources/primitive[@id=&apos;Fencing&apos;]/instance_attributes[@id=&apos;Fencing-params&apos;]/nvpair[@id=&apos;Fencing-pcmk_host_list&apos;]">
+ <change-list>
+ <change-attr name="value" operation="set" value="node1 node2 node3 node4"/>
+ </change-list>
+ <change-result>
+ <nvpair id="Fencing-pcmk_host_list" name="pcmk_host_list" value="node1 node2 node3 node4"/>
+ </change-result>
+ </change>
+ <change operation="modify" path="/cib/configuration/resources/primitive[@id=&apos;Fencing&apos;]/operations/op[@id=&apos;Fencing-monitor-120s&apos;]">
+ <change-list>
+ <change-attr name="timeout" operation="set" value="120s"/>
+ <change-attr name="name" operation="set" value="monitor"/>
+ </change-list>
+ <change-result>
+ <op id="Fencing-monitor-120s" interval="120s" timeout="120s" name="monitor"/>
+ </change-result>
+ </change>
+ <change operation="move" path="/cib/configuration/resources/primitive[@id=&apos;dummy&apos;]/instance_attributes[@id=&apos;dummy-params&apos;]/nvpair[@id=&apos;dummy-op_sleep&apos;]" position="1"/>
+ <change operation="move" path="/cib/configuration/resources/primitive[@id=&apos;dummy&apos;]/instance_attributes[@id=&apos;dummy-params&apos;]/nvpair[@id=&apos;dummy-fake&apos;]" position="2"/>
+ <change operation="modify" path="/cib/configuration/resources/primitive[@id=&apos;dummy&apos;]/operations/op[@id=&apos;dummy-monitor-5s&apos;]">
+ <change-list>
+ <change-attr name="name" operation="set" value="monitor"/>
+ <change-attr name="timeout" operation="unset"/>
+ </change-list>
+ <change-result>
+ <op id="dummy-monitor-5s" interval="5s" name="monitor"/>
+ </change-result>
+ </change>
+ <change operation="create" path="/cib/configuration" position="6">
+ <!-- test: move this comment to end of configuration -->
+ </change>
+</diff>
+=#=#=#= End test: Create an XML patchset - Error occurred (1) =#=#=#=
+* Passed: crm_diff - Create an XML patchset
+=#=#=#= Begin test: Check locations and constraints for prim1 =#=#=#=
+=#=#=#= End test: Check locations and constraints for prim1 - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim1
+=#=#=#= Begin test: Recursively check locations and constraints for prim1 =#=#=#=
+=#=#=#= End test: Recursively check locations and constraints for prim1 - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim1
+=#=#=#= Begin test: Check locations and constraints for prim1 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -a -r prim1 --output-as=xml">
+ <constraints/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Check locations and constraints for prim1 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim1 in XML
+=#=#=#= Begin test: Recursively check locations and constraints for prim1 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -A -r prim1 --output-as=xml">
+ <constraints/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Recursively check locations and constraints for prim1 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim1 in XML
+=#=#=#= Begin test: Check locations and constraints for prim2 =#=#=#=
+Locations:
+ * Node cluster01 (score=INFINITY, id=prim2-on-cluster1, rsc=prim2)
+Resources prim2 is colocated with:
+ * prim3 (score=INFINITY, id=colocation-prim2-prim3-INFINITY)
+=#=#=#= End test: Check locations and constraints for prim2 - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim2
+=#=#=#= Begin test: Recursively check locations and constraints for prim2 =#=#=#=
+Locations:
+ * Node cluster01 (score=INFINITY, id=prim2-on-cluster1, rsc=prim2)
+Resources prim2 is colocated with:
+ * prim3 (score=INFINITY, id=colocation-prim2-prim3-INFINITY)
+ * Resources prim3 is colocated with:
+ * prim4 (score=INFINITY, id=colocation-prim3-prim4-INFINITY)
+ * Locations:
+ * Node cluster02 (score=INFINITY, id=prim4-on-cluster2, rsc=prim4)
+ * Resources prim4 is colocated with:
+ * prim5 (score=INFINITY, id=colocation-prim4-prim5-INFINITY)
+=#=#=#= End test: Recursively check locations and constraints for prim2 - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim2
+=#=#=#= Begin test: Check locations and constraints for prim2 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -a -r prim2 --output-as=xml">
+ <constraints>
+ <rsc_location node="cluster01" rsc="prim2" id="prim2-on-cluster1" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim2-prim3-INFINITY" rsc="prim2" with-rsc="prim3" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Check locations and constraints for prim2 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim2 in XML
+=#=#=#= Begin test: Recursively check locations and constraints for prim2 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -A -r prim2 --output-as=xml">
+ <constraints>
+ <rsc_location node="cluster01" rsc="prim2" id="prim2-on-cluster1" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim2-prim3-INFINITY" rsc="prim2" with-rsc="prim3" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim3-prim4-INFINITY" rsc="prim3" with-rsc="prim4" score="INFINITY"/>
+ <rsc_location node="cluster02" rsc="prim4" id="prim4-on-cluster2" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim4-prim5-INFINITY" rsc="prim4" with-rsc="prim5" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Recursively check locations and constraints for prim2 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim2 in XML
+=#=#=#= Begin test: Check locations and constraints for prim3 =#=#=#=
+Resources colocated with prim3:
+ * prim2 (score=INFINITY, id=colocation-prim2-prim3-INFINITY)
+ * Locations:
+ * Node cluster01 (score=INFINITY, id=prim2-on-cluster1, rsc=prim2)
+Resources prim3 is colocated with:
+ * prim4 (score=INFINITY, id=colocation-prim3-prim4-INFINITY)
+ * Locations:
+ * Node cluster02 (score=INFINITY, id=prim4-on-cluster2, rsc=prim4)
+=#=#=#= End test: Check locations and constraints for prim3 - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim3
+=#=#=#= Begin test: Recursively check locations and constraints for prim3 =#=#=#=
+Resources colocated with prim3:
+ * prim2 (score=INFINITY, id=colocation-prim2-prim3-INFINITY)
+ * Locations:
+ * Node cluster01 (score=INFINITY, id=prim2-on-cluster1, rsc=prim2)
+Resources prim3 is colocated with:
+ * prim4 (score=INFINITY, id=colocation-prim3-prim4-INFINITY)
+ * Locations:
+ * Node cluster02 (score=INFINITY, id=prim4-on-cluster2, rsc=prim4)
+ * Resources prim4 is colocated with:
+ * prim5 (score=INFINITY, id=colocation-prim4-prim5-INFINITY)
+=#=#=#= End test: Recursively check locations and constraints for prim3 - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim3
+=#=#=#= Begin test: Check locations and constraints for prim3 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -a -r prim3 --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim2-prim3-INFINITY" rsc="prim2" with-rsc="prim3" score="INFINITY"/>
+ <rsc_location node="cluster01" rsc="prim2" id="prim2-on-cluster1" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim3-prim4-INFINITY" rsc="prim3" with-rsc="prim4" score="INFINITY"/>
+ <rsc_location node="cluster02" rsc="prim4" id="prim4-on-cluster2" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Check locations and constraints for prim3 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim3 in XML
+=#=#=#= Begin test: Recursively check locations and constraints for prim3 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -A -r prim3 --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim2-prim3-INFINITY" rsc="prim2" with-rsc="prim3" score="INFINITY"/>
+ <rsc_location node="cluster01" rsc="prim2" id="prim2-on-cluster1" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim3-prim4-INFINITY" rsc="prim3" with-rsc="prim4" score="INFINITY"/>
+ <rsc_location node="cluster02" rsc="prim4" id="prim4-on-cluster2" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim4-prim5-INFINITY" rsc="prim4" with-rsc="prim5" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Recursively check locations and constraints for prim3 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim3 in XML
+=#=#=#= Begin test: Check locations and constraints for prim4 =#=#=#=
+Locations:
+ * Node cluster02 (score=INFINITY, id=prim4-on-cluster2, rsc=prim4)
+Resources colocated with prim4:
+ * prim10 (score=INFINITY, id=colocation-prim10-prim4-INFINITY)
+ * prim3 (score=INFINITY, id=colocation-prim3-prim4-INFINITY)
+Resources prim4 is colocated with:
+ * prim5 (score=INFINITY, id=colocation-prim4-prim5-INFINITY)
+=#=#=#= End test: Check locations and constraints for prim4 - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim4
+=#=#=#= Begin test: Recursively check locations and constraints for prim4 =#=#=#=
+Locations:
+ * Node cluster02 (score=INFINITY, id=prim4-on-cluster2, rsc=prim4)
+Resources colocated with prim4:
+ * prim10 (score=INFINITY, id=colocation-prim10-prim4-INFINITY)
+ * prim3 (score=INFINITY, id=colocation-prim3-prim4-INFINITY)
+ * Resources colocated with prim3:
+ * prim2 (score=INFINITY, id=colocation-prim2-prim3-INFINITY)
+ * Locations:
+ * Node cluster01 (score=INFINITY, id=prim2-on-cluster1, rsc=prim2)
+Resources prim4 is colocated with:
+ * prim5 (score=INFINITY, id=colocation-prim4-prim5-INFINITY)
+=#=#=#= End test: Recursively check locations and constraints for prim4 - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim4
+=#=#=#= Begin test: Check locations and constraints for prim4 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -a -r prim4 --output-as=xml">
+ <constraints>
+ <rsc_location node="cluster02" rsc="prim4" id="prim4-on-cluster2" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim10-prim4-INFINITY" rsc="prim10" with-rsc="prim4" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim3-prim4-INFINITY" rsc="prim3" with-rsc="prim4" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim4-prim5-INFINITY" rsc="prim4" with-rsc="prim5" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Check locations and constraints for prim4 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim4 in XML
+=#=#=#= Begin test: Recursively check locations and constraints for prim4 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -A -r prim4 --output-as=xml">
+ <constraints>
+ <rsc_location node="cluster02" rsc="prim4" id="prim4-on-cluster2" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim10-prim4-INFINITY" rsc="prim10" with-rsc="prim4" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim3-prim4-INFINITY" rsc="prim3" with-rsc="prim4" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim2-prim3-INFINITY" rsc="prim2" with-rsc="prim3" score="INFINITY"/>
+ <rsc_location node="cluster01" rsc="prim2" id="prim2-on-cluster1" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim4-prim5-INFINITY" rsc="prim4" with-rsc="prim5" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Recursively check locations and constraints for prim4 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim4 in XML
+=#=#=#= Begin test: Check locations and constraints for prim5 =#=#=#=
+Resources colocated with prim5:
+ * prim4 (score=INFINITY, id=colocation-prim4-prim5-INFINITY)
+ * Locations:
+ * Node cluster02 (score=INFINITY, id=prim4-on-cluster2, rsc=prim4)
+=#=#=#= End test: Check locations and constraints for prim5 - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim5
+=#=#=#= Begin test: Recursively check locations and constraints for prim5 =#=#=#=
+Resources colocated with prim5:
+ * prim4 (score=INFINITY, id=colocation-prim4-prim5-INFINITY)
+ * Locations:
+ * Node cluster02 (score=INFINITY, id=prim4-on-cluster2, rsc=prim4)
+ * Resources colocated with prim4:
+ * prim10 (score=INFINITY, id=colocation-prim10-prim4-INFINITY)
+ * prim3 (score=INFINITY, id=colocation-prim3-prim4-INFINITY)
+ * Resources colocated with prim3:
+ * prim2 (score=INFINITY, id=colocation-prim2-prim3-INFINITY)
+ * Locations:
+ * Node cluster01 (score=INFINITY, id=prim2-on-cluster1, rsc=prim2)
+=#=#=#= End test: Recursively check locations and constraints for prim5 - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim5
+=#=#=#= Begin test: Check locations and constraints for prim5 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -a -r prim5 --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim4-prim5-INFINITY" rsc="prim4" with-rsc="prim5" score="INFINITY"/>
+ <rsc_location node="cluster02" rsc="prim4" id="prim4-on-cluster2" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Check locations and constraints for prim5 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim5 in XML
+=#=#=#= Begin test: Recursively check locations and constraints for prim5 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -A -r prim5 --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim4-prim5-INFINITY" rsc="prim4" with-rsc="prim5" score="INFINITY"/>
+ <rsc_location node="cluster02" rsc="prim4" id="prim4-on-cluster2" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim10-prim4-INFINITY" rsc="prim10" with-rsc="prim4" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim3-prim4-INFINITY" rsc="prim3" with-rsc="prim4" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim2-prim3-INFINITY" rsc="prim2" with-rsc="prim3" score="INFINITY"/>
+ <rsc_location node="cluster01" rsc="prim2" id="prim2-on-cluster1" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Recursively check locations and constraints for prim5 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim5 in XML
+=#=#=#= Begin test: Check locations and constraints for prim6 =#=#=#=
+Locations:
+ * Node cluster02 (score=-INFINITY, id=prim6-not-on-cluster2, rsc=prim6)
+=#=#=#= End test: Check locations and constraints for prim6 - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim6
+=#=#=#= Begin test: Recursively check locations and constraints for prim6 =#=#=#=
+Locations:
+ * Node cluster02 (score=-INFINITY, id=prim6-not-on-cluster2, rsc=prim6)
+=#=#=#= End test: Recursively check locations and constraints for prim6 - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim6
+=#=#=#= Begin test: Check locations and constraints for prim6 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -a -r prim6 --output-as=xml">
+ <constraints>
+ <rsc_location node="cluster02" rsc="prim6" id="prim6-not-on-cluster2" score="-INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Check locations and constraints for prim6 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim6 in XML
+=#=#=#= Begin test: Recursively check locations and constraints for prim6 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -A -r prim6 --output-as=xml">
+ <constraints>
+ <rsc_location node="cluster02" rsc="prim6" id="prim6-not-on-cluster2" score="-INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Recursively check locations and constraints for prim6 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim6 in XML
+=#=#=#= Begin test: Check locations and constraints for prim7 =#=#=#=
+Resources prim7 is colocated with:
+ * group (score=INFINITY, id=colocation-prim7-group-INFINITY)
+=#=#=#= End test: Check locations and constraints for prim7 - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim7
+=#=#=#= Begin test: Recursively check locations and constraints for prim7 =#=#=#=
+Resources prim7 is colocated with:
+ * group (score=INFINITY, id=colocation-prim7-group-INFINITY)
+=#=#=#= End test: Recursively check locations and constraints for prim7 - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim7
+=#=#=#= Begin test: Check locations and constraints for prim7 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -a -r prim7 --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim7-group-INFINITY" rsc="prim7" with-rsc="group" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Check locations and constraints for prim7 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim7 in XML
+=#=#=#= Begin test: Recursively check locations and constraints for prim7 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -A -r prim7 --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim7-group-INFINITY" rsc="prim7" with-rsc="group" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Recursively check locations and constraints for prim7 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim7 in XML
+=#=#=#= Begin test: Check locations and constraints for prim8 =#=#=#=
+Resources prim8 is colocated with:
+ * gr2 (score=INFINITY, id=colocation-prim8-gr2-INFINITY)
+=#=#=#= End test: Check locations and constraints for prim8 - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim8
+=#=#=#= Begin test: Recursively check locations and constraints for prim8 =#=#=#=
+Resources prim8 is colocated with:
+ * gr2 (score=INFINITY, id=colocation-prim8-gr2-INFINITY)
+=#=#=#= End test: Recursively check locations and constraints for prim8 - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim8
+=#=#=#= Begin test: Check locations and constraints for prim8 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -a -r prim8 --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim8-gr2-INFINITY" rsc="prim8" with-rsc="gr2" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Check locations and constraints for prim8 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim8 in XML
+=#=#=#= Begin test: Recursively check locations and constraints for prim8 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -A -r prim8 --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim8-gr2-INFINITY" rsc="prim8" with-rsc="gr2" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Recursively check locations and constraints for prim8 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim8 in XML
+=#=#=#= Begin test: Check locations and constraints for prim9 =#=#=#=
+Resources prim9 is colocated with:
+ * clone (score=INFINITY, id=colocation-prim9-clone-INFINITY)
+=#=#=#= End test: Check locations and constraints for prim9 - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim9
+=#=#=#= Begin test: Recursively check locations and constraints for prim9 =#=#=#=
+Resources prim9 is colocated with:
+ * clone (score=INFINITY, id=colocation-prim9-clone-INFINITY)
+=#=#=#= End test: Recursively check locations and constraints for prim9 - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim9
+=#=#=#= Begin test: Check locations and constraints for prim9 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -a -r prim9 --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim9-clone-INFINITY" rsc="prim9" with-rsc="clone" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Check locations and constraints for prim9 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim9 in XML
+=#=#=#= Begin test: Recursively check locations and constraints for prim9 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -A -r prim9 --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim9-clone-INFINITY" rsc="prim9" with-rsc="clone" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Recursively check locations and constraints for prim9 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim9 in XML
+=#=#=#= Begin test: Check locations and constraints for prim10 =#=#=#=
+Resources prim10 is colocated with:
+ * prim4 (score=INFINITY, id=colocation-prim10-prim4-INFINITY)
+ * Locations:
+ * Node cluster02 (score=INFINITY, id=prim4-on-cluster2, rsc=prim4)
+=#=#=#= End test: Check locations and constraints for prim10 - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim10
+=#=#=#= Begin test: Recursively check locations and constraints for prim10 =#=#=#=
+Resources prim10 is colocated with:
+ * prim4 (score=INFINITY, id=colocation-prim10-prim4-INFINITY)
+ * Locations:
+ * Node cluster02 (score=INFINITY, id=prim4-on-cluster2, rsc=prim4)
+ * Resources prim4 is colocated with:
+ * prim5 (score=INFINITY, id=colocation-prim4-prim5-INFINITY)
+=#=#=#= End test: Recursively check locations and constraints for prim10 - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim10
+=#=#=#= Begin test: Check locations and constraints for prim10 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -a -r prim10 --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim10-prim4-INFINITY" rsc="prim10" with-rsc="prim4" score="INFINITY"/>
+ <rsc_location node="cluster02" rsc="prim4" id="prim4-on-cluster2" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Check locations and constraints for prim10 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim10 in XML
+=#=#=#= Begin test: Recursively check locations and constraints for prim10 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -A -r prim10 --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim10-prim4-INFINITY" rsc="prim10" with-rsc="prim4" score="INFINITY"/>
+ <rsc_location node="cluster02" rsc="prim4" id="prim4-on-cluster2" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim4-prim5-INFINITY" rsc="prim4" with-rsc="prim5" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Recursively check locations and constraints for prim10 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim10 in XML
+=#=#=#= Begin test: Check locations and constraints for prim11 =#=#=#=
+Resources colocated with prim11:
+ * prim13 (score=INFINITY, id=colocation-prim13-prim11-INFINITY)
+Resources prim11 is colocated with:
+ * prim12 (score=INFINITY, id=colocation-prim11-prim12-INFINITY)
+=#=#=#= End test: Check locations and constraints for prim11 - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim11
+=#=#=#= Begin test: Recursively check locations and constraints for prim11 =#=#=#=
+Resources colocated with prim11:
+ * prim13 (score=INFINITY, id=colocation-prim13-prim11-INFINITY)
+ * Resources colocated with prim13:
+ * prim12 (score=INFINITY, id=colocation-prim12-prim13-INFINITY)
+ * Resources colocated with prim12:
+ * prim11 (id=colocation-prim11-prim12-INFINITY - loop)
+Resources prim11 is colocated with:
+ * prim12 (score=INFINITY, id=colocation-prim11-prim12-INFINITY)
+ * Resources prim12 is colocated with:
+ * prim13 (score=INFINITY, id=colocation-prim12-prim13-INFINITY)
+ * Resources prim13 is colocated with:
+ * prim11 (id=colocation-prim13-prim11-INFINITY - loop)
+=#=#=#= End test: Recursively check locations and constraints for prim11 - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim11
+=#=#=#= Begin test: Check locations and constraints for prim11 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -a -r prim11 --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim13-prim11-INFINITY" rsc="prim13" with-rsc="prim11" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim11-prim12-INFINITY" rsc="prim11" with-rsc="prim12" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Check locations and constraints for prim11 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim11 in XML
+=#=#=#= Begin test: Recursively check locations and constraints for prim11 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -A -r prim11 --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim13-prim11-INFINITY" rsc="prim13" with-rsc="prim11" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim12-prim13-INFINITY" rsc="prim12" with-rsc="prim13" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim11-prim12-INFINITY" rsc="prim11" with-rsc="prim12" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim11-prim12-INFINITY" rsc="prim11" with-rsc="prim12" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim12-prim13-INFINITY" rsc="prim12" with-rsc="prim13" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim13-prim11-INFINITY" rsc="prim13" with-rsc="prim11" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Recursively check locations and constraints for prim11 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim11 in XML
+=#=#=#= Begin test: Check locations and constraints for prim12 =#=#=#=
+Resources colocated with prim12:
+ * prim11 (score=INFINITY, id=colocation-prim11-prim12-INFINITY)
+Resources prim12 is colocated with:
+ * prim13 (score=INFINITY, id=colocation-prim12-prim13-INFINITY)
+=#=#=#= End test: Check locations and constraints for prim12 - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim12
+=#=#=#= Begin test: Recursively check locations and constraints for prim12 =#=#=#=
+Resources colocated with prim12:
+ * prim11 (score=INFINITY, id=colocation-prim11-prim12-INFINITY)
+ * Resources colocated with prim11:
+ * prim13 (score=INFINITY, id=colocation-prim13-prim11-INFINITY)
+ * Resources colocated with prim13:
+ * prim12 (id=colocation-prim12-prim13-INFINITY - loop)
+Resources prim12 is colocated with:
+ * prim13 (score=INFINITY, id=colocation-prim12-prim13-INFINITY)
+ * Resources prim13 is colocated with:
+ * prim11 (score=INFINITY, id=colocation-prim13-prim11-INFINITY)
+ * Resources prim11 is colocated with:
+ * prim12 (id=colocation-prim11-prim12-INFINITY - loop)
+=#=#=#= End test: Recursively check locations and constraints for prim12 - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim12
+=#=#=#= Begin test: Check locations and constraints for prim12 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -a -r prim12 --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim11-prim12-INFINITY" rsc="prim11" with-rsc="prim12" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim12-prim13-INFINITY" rsc="prim12" with-rsc="prim13" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Check locations and constraints for prim12 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim12 in XML
+=#=#=#= Begin test: Recursively check locations and constraints for prim12 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -A -r prim12 --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim11-prim12-INFINITY" rsc="prim11" with-rsc="prim12" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim13-prim11-INFINITY" rsc="prim13" with-rsc="prim11" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim12-prim13-INFINITY" rsc="prim12" with-rsc="prim13" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim12-prim13-INFINITY" rsc="prim12" with-rsc="prim13" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim13-prim11-INFINITY" rsc="prim13" with-rsc="prim11" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim11-prim12-INFINITY" rsc="prim11" with-rsc="prim12" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Recursively check locations and constraints for prim12 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim12 in XML
+=#=#=#= Begin test: Check locations and constraints for prim13 =#=#=#=
+Resources colocated with prim13:
+ * prim12 (score=INFINITY, id=colocation-prim12-prim13-INFINITY)
+Resources prim13 is colocated with:
+ * prim11 (score=INFINITY, id=colocation-prim13-prim11-INFINITY)
+=#=#=#= End test: Check locations and constraints for prim13 - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim13
+=#=#=#= Begin test: Recursively check locations and constraints for prim13 =#=#=#=
+Resources colocated with prim13:
+ * prim12 (score=INFINITY, id=colocation-prim12-prim13-INFINITY)
+ * Resources colocated with prim12:
+ * prim11 (score=INFINITY, id=colocation-prim11-prim12-INFINITY)
+ * Resources colocated with prim11:
+ * prim13 (id=colocation-prim13-prim11-INFINITY - loop)
+Resources prim13 is colocated with:
+ * prim11 (score=INFINITY, id=colocation-prim13-prim11-INFINITY)
+ * Resources prim11 is colocated with:
+ * prim12 (score=INFINITY, id=colocation-prim11-prim12-INFINITY)
+ * Resources prim12 is colocated with:
+ * prim13 (id=colocation-prim12-prim13-INFINITY - loop)
+=#=#=#= End test: Recursively check locations and constraints for prim13 - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim13
+=#=#=#= Begin test: Check locations and constraints for prim13 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -a -r prim13 --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim12-prim13-INFINITY" rsc="prim12" with-rsc="prim13" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim13-prim11-INFINITY" rsc="prim13" with-rsc="prim11" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Check locations and constraints for prim13 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for prim13 in XML
+=#=#=#= Begin test: Recursively check locations and constraints for prim13 in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -A -r prim13 --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim12-prim13-INFINITY" rsc="prim12" with-rsc="prim13" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim11-prim12-INFINITY" rsc="prim11" with-rsc="prim12" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim13-prim11-INFINITY" rsc="prim13" with-rsc="prim11" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim13-prim11-INFINITY" rsc="prim13" with-rsc="prim11" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim11-prim12-INFINITY" rsc="prim11" with-rsc="prim12" score="INFINITY"/>
+ <rsc_colocation id="colocation-prim12-prim13-INFINITY" rsc="prim12" with-rsc="prim13" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Recursively check locations and constraints for prim13 in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for prim13 in XML
+=#=#=#= Begin test: Check locations and constraints for group =#=#=#=
+Resources colocated with group:
+ * prim7 (score=INFINITY, id=colocation-prim7-group-INFINITY)
+=#=#=#= End test: Check locations and constraints for group - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for group
+=#=#=#= Begin test: Recursively check locations and constraints for group =#=#=#=
+Resources colocated with group:
+ * prim7 (score=INFINITY, id=colocation-prim7-group-INFINITY)
+=#=#=#= End test: Recursively check locations and constraints for group - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for group
+=#=#=#= Begin test: Check locations and constraints for group in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -a -r group --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim7-group-INFINITY" rsc="prim7" with-rsc="group" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Check locations and constraints for group in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for group in XML
+=#=#=#= Begin test: Recursively check locations and constraints for group in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -A -r group --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim7-group-INFINITY" rsc="prim7" with-rsc="group" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Recursively check locations and constraints for group in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for group in XML
+=#=#=#= Begin test: Check locations and constraints for clone =#=#=#=
+Resources colocated with clone:
+ * prim9 (score=INFINITY, id=colocation-prim9-clone-INFINITY)
+=#=#=#= End test: Check locations and constraints for clone - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for clone
+=#=#=#= Begin test: Recursively check locations and constraints for clone =#=#=#=
+Resources colocated with clone:
+ * prim9 (score=INFINITY, id=colocation-prim9-clone-INFINITY)
+=#=#=#= End test: Recursively check locations and constraints for clone - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for clone
+=#=#=#= Begin test: Check locations and constraints for clone in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -a -r clone --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim9-clone-INFINITY" rsc="prim9" with-rsc="clone" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Check locations and constraints for clone in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for clone in XML
+=#=#=#= Begin test: Recursively check locations and constraints for clone in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource -A -r clone --output-as=xml">
+ <constraints>
+ <rsc_colocation id="colocation-prim9-clone-INFINITY" rsc="prim9" with-rsc="clone" score="INFINITY"/>
+ </constraints>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Recursively check locations and constraints for clone in XML - OK (0) =#=#=#=
+* Passed: crm_resource - Recursively check locations and constraints for clone in XML
+=#=#=#= Begin test: Check locations and constraints for group member (referring to group) =#=#=#=
+Resources colocated with group:
+ * prim7 (score=INFINITY, id=colocation-prim7-group-INFINITY)
+=#=#=#= End test: Check locations and constraints for group member (referring to group) - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for group member (referring to group)
+=#=#=#= Begin test: Check locations and constraints for group member (without referring to group) =#=#=#=
+Resources colocated with gr2:
+ * prim8 (score=INFINITY, id=colocation-prim8-gr2-INFINITY)
+=#=#=#= End test: Check locations and constraints for group member (without referring to group) - OK (0) =#=#=#=
+* Passed: crm_resource - Check locations and constraints for group member (without referring to group)
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= Begin test: Set a meta-attribute for primitive and resources colocated with it =#=#=#=
+Set 'prim5' option: id=prim5-meta_attributes-target-role set=prim5-meta_attributes name=target-role value=Stopped
+Set 'prim4' option: id=prim4-meta_attributes-target-role set=prim4-meta_attributes name=target-role value=Stopped
+Set 'prim10' option: id=prim10-meta_attributes-target-role set=prim10-meta_attributes name=target-role value=Stopped
+Set 'prim3' option: id=prim3-meta_attributes-target-role set=prim3-meta_attributes name=target-role value=Stopped
+Set 'prim2' option: id=prim2-meta_attributes-target-role set=prim2-meta_attributes name=target-role value=Stopped
+=#=#=#= End test: Set a meta-attribute for primitive and resources colocated with it - OK (0) =#=#=#=
+* Passed: crm_resource - Set a meta-attribute for primitive and resources colocated with it
+=#=#=#= Begin test: Set a meta-attribute for group and resource colocated with it =#=#=#=
+Set 'group' option: id=group-meta_attributes-target-role set=group-meta_attributes name=target-role value=Stopped
+Set 'prim7' option: id=prim7-meta_attributes-target-role set=prim7-meta_attributes name=target-role value=Stopped
+=#=#=#= End test: Set a meta-attribute for group and resource colocated with it - OK (0) =#=#=#=
+* Passed: crm_resource - Set a meta-attribute for group and resource colocated with it
+=#=#=#= Begin test: Set a meta-attribute for clone and resource colocated with it =#=#=#=
+Set 'clone' option: id=clone-meta_attributes-target-role set=clone-meta_attributes name=target-role value=Stopped
+Set 'prim9' option: id=prim9-meta_attributes-target-role set=prim9-meta_attributes name=target-role value=Stopped
+=#=#=#= End test: Set a meta-attribute for clone and resource colocated with it - OK (0) =#=#=#=
+* Passed: crm_resource - Set a meta-attribute for clone and resource colocated with it
+=#=#=#= Begin test: Show resource digests =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource --digests -r rsc1 -N node1 --output-as=xml">
+ <digests resource="rsc1" node="node1" task="start" interval="0ms">
+ <digest type="all" hash="3acdbe4c12734ebeb1251a59545af936">
+ <parameters passwd="secret" fake="0"/>
+ </digest>
+ <digest type="nonprivate" hash="279c477dbc38c621904a00ab9e599b2f">
+ <parameters fake="0"/>
+ </digest>
+ <digest type="nonreloadable" hash="5de1fd72a2e7762ed41543231034f6d7">
+ <parameters passwd="secret"/>
+ </digest>
+ </digests>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Show resource digests - OK (0) =#=#=#=
+* Passed: crm_resource - Show resource digests
+=#=#=#= Begin test: Show resource digests with overrides =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource --digests -r rsc1 -N node1 --output-as=xml CRM_meta_interval=10000 CRM_meta_timeout=20000">
+ <digests resource="rsc1" node="node1" task="start" interval="10000ms">
+ <digest type="all" hash="720718e8d715d5d3be1403cbbcb953bc">
+ <parameters passwd="secret" fake="0" CRM_meta_timeout="20000"/>
+ </digest>
+ <digest type="nonprivate" hash="279c477dbc38c621904a00ab9e599b2f">
+ <parameters fake="0"/>
+ </digest>
+ <digest type="nonreloadable" hash="5de1fd72a2e7762ed41543231034f6d7">
+ <parameters passwd="secret"/>
+ </digest>
+ </digests>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Show resource digests with overrides - OK (0) =#=#=#=
+* Passed: crm_resource - Show resource digests with overrides
+=#=#=#= Begin test: Show resource operations =#=#=#=
+rsc1 (ocf:pacemaker:Dummy): Started: rsc1_monitor_0 (node=node4, call=136, rc=7, exec=28ms): complete
+Fencing (stonith:fence_xvm): Started: Fencing_monitor_0 (node=node4, call=5, rc=7, exec=2ms): complete
+rsc1 (ocf:pacemaker:Dummy): Started: rsc1_monitor_0 (node=node2, call=101, rc=7, exec=45ms): complete
+Fencing (stonith:fence_xvm): Started: Fencing_monitor_0 (node=node2, call=5, rc=7, exec=4ms): complete
+Fencing (stonith:fence_xvm): Started: Fencing_monitor_0 (node=node3, call=5, rc=7, exec=24ms): complete
+rsc1 (ocf:pacemaker:Dummy): Started: rsc1_monitor_0 (node=node5, call=99, rc=193, exec=27ms): pending
+Fencing (stonith:fence_xvm): Started: Fencing_monitor_0 (node=node5, call=5, rc=7, exec=14ms): complete
+rsc1 (ocf:pacemaker:Dummy): Started: rsc1_start_0 (node=node1, call=104, rc=0, exec=22ms): complete
+rsc1 (ocf:pacemaker:Dummy): Started: rsc1_monitor_10000 (node=node1, call=106, rc=0, exec=20ms): complete
+Fencing (stonith:fence_xvm): Started: Fencing_start_0 (node=node1, call=10, rc=0, exec=59ms): complete
+Fencing (stonith:fence_xvm): Started: Fencing_monitor_120000 (node=node1, call=12, rc=0, exec=70ms): complete
+=#=#=#= End test: Show resource operations - OK (0) =#=#=#=
+* Passed: crm_resource - Show resource operations
+=#=#=#= Begin test: Show resource operations (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource --list-operations --output-as=xml">
+ <operations>
+ <operation op="rsc1_monitor_0" node="node4" call="136" rc="7" status="complete" rsc="rsc1" agent="ocf:pacemaker:Dummy" exec-time="28"/>
+ <operation op="Fencing_monitor_0" node="node4" call="5" rc="7" status="complete" rsc="Fencing" agent="stonith::fence_xvm" exec-time="2"/>
+ <operation op="rsc1_monitor_0" node="node2" call="101" rc="7" status="complete" rsc="rsc1" agent="ocf:pacemaker:Dummy" exec-time="45"/>
+ <operation op="Fencing_monitor_0" node="node2" call="5" rc="7" status="complete" rsc="Fencing" agent="stonith::fence_xvm" exec-time="4"/>
+ <operation op="Fencing_monitor_0" node="node3" call="5" rc="7" status="complete" rsc="Fencing" agent="stonith::fence_xvm" exec-time="24"/>
+ <operation op="rsc1_monitor_0" node="node5" call="99" rc="193" status="pending" rsc="rsc1" agent="ocf:pacemaker:Dummy" exec-time="27"/>
+ <operation op="Fencing_monitor_0" node="node5" call="5" rc="7" status="complete" rsc="Fencing" agent="stonith::fence_xvm" exec-time="14"/>
+ <operation op="rsc1_start_0" node="node1" call="104" rc="0" status="complete" rsc="rsc1" agent="ocf:pacemaker:Dummy" exec-time="22"/>
+ <operation op="rsc1_monitor_10000" node="node1" call="106" rc="0" status="complete" rsc="rsc1" agent="ocf:pacemaker:Dummy" exec-time="20"/>
+ <operation op="Fencing_start_0" node="node1" call="10" rc="0" status="complete" rsc="Fencing" agent="stonith::fence_xvm" exec-time="59"/>
+ <operation op="Fencing_monitor_120000" node="node1" call="12" rc="0" status="complete" rsc="Fencing" agent="stonith::fence_xvm" exec-time="70"/>
+ </operations>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Show resource operations (XML) - OK (0) =#=#=#=
+* Passed: crm_resource - Show resource operations (XML)
+=#=#=#= Begin test: List all nodes =#=#=#=
+cluster node: overcloud-controller-0 (1)
+cluster node: overcloud-controller-1 (2)
+cluster node: overcloud-controller-2 (3)
+cluster node: overcloud-galera-0 (4)
+cluster node: overcloud-galera-1 (5)
+cluster node: overcloud-galera-2 (6)
+guest node: lxc1 (lxc1)
+guest node: lxc2 (lxc2)
+remote node: overcloud-rabbit-0 (overcloud-rabbit-0)
+remote node: overcloud-rabbit-1 (overcloud-rabbit-1)
+remote node: overcloud-rabbit-2 (overcloud-rabbit-2)
+=#=#=#= End test: List all nodes - OK (0) =#=#=#=
+* Passed: crmadmin - List all nodes
+=#=#=#= Begin test: Minimally list all nodes =#=#=#=
+overcloud-controller-0
+overcloud-controller-1
+overcloud-controller-2
+overcloud-galera-0
+overcloud-galera-1
+overcloud-galera-2
+lxc1
+lxc2
+overcloud-rabbit-0
+overcloud-rabbit-1
+overcloud-rabbit-2
+=#=#=#= End test: Minimally list all nodes - OK (0) =#=#=#=
+* Passed: crmadmin - Minimally list all nodes
+=#=#=#= Begin test: List all nodes as bash exports =#=#=#=
+export overcloud-controller-0=1
+export overcloud-controller-1=2
+export overcloud-controller-2=3
+export overcloud-galera-0=4
+export overcloud-galera-1=5
+export overcloud-galera-2=6
+export lxc1=lxc1
+export lxc2=lxc2
+export overcloud-rabbit-0=overcloud-rabbit-0
+export overcloud-rabbit-1=overcloud-rabbit-1
+export overcloud-rabbit-2=overcloud-rabbit-2
+=#=#=#= End test: List all nodes as bash exports - OK (0) =#=#=#=
+* Passed: crmadmin - List all nodes as bash exports
+=#=#=#= Begin test: List cluster nodes =#=#=#=
+6
+=#=#=#= End test: List cluster nodes - OK (0) =#=#=#=
+* Passed: crmadmin - List cluster nodes
+=#=#=#= Begin test: List guest nodes =#=#=#=
+2
+=#=#=#= End test: List guest nodes - OK (0) =#=#=#=
+* Passed: crmadmin - List guest nodes
+=#=#=#= Begin test: List remote nodes =#=#=#=
+3
+=#=#=#= End test: List remote nodes - OK (0) =#=#=#=
+* Passed: crmadmin - List remote nodes
+=#=#=#= Begin test: List cluster,remote nodes =#=#=#=
+9
+=#=#=#= End test: List cluster,remote nodes - OK (0) =#=#=#=
+* Passed: crmadmin - List cluster,remote nodes
+=#=#=#= Begin test: List guest,remote nodes =#=#=#=
+5
+=#=#=#= End test: List guest,remote nodes - OK (0) =#=#=#=
+* Passed: crmadmin - List guest,remote nodes
+=#=#=#= Begin test: Show allocation scores with crm_simulate =#=#=#=
+<pacemaker-result api-version="X" request="crm_mon.xml --show-scores --output-as=xml">
+ <cluster_status>
+ <nodes>
+ <node name="cluster01" id="1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="false" resources_running="7" type="member"/>
+ <node name="cluster02" id="2" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" feature_set="&lt;3.15.1" shutdown="false" expected_up="true" is_dc="true" resources_running="9" type="member"/>
+ <node name="httpd-bundle-0" id="httpd-bundle-0" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-0"/>
+ <node name="httpd-bundle-1" id="httpd-bundle-1" online="true" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="1" type="remote" id_as_resource="httpd-bundle-docker-1"/>
+ <node name="httpd-bundle-2" id="httpd-bundle-2" online="false" standby="false" standby_onfail="false" maintenance="false" pending="false" unclean="false" health="green" shutdown="false" expected_up="false" is_dc="false" resources_running="0" type="remote" id_as_resource="httpd-bundle-docker-2"/>
+ </nodes>
+ <resources>
+ <clone id="ping-clone" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="ping" resource_agent="ocf:pacemaker:ping" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </clone>
+ <resource id="Fencing" resource_agent="stonith:fence_xvm" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="dummy" resource_agent="ocf:pacemaker:Dummy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <clone id="inactive-clone" multi_state="false" unique="false" maintenance="false" managed="true" disabled="true" failed="false" failure_ignored="false" target_role="stopped">
+ <resource id="inactive-dhcpd" resource_agent="lsb:dhcpd" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="inactive-dhcpd" resource_agent="lsb:dhcpd" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </clone>
+ <group id="inactive-group" number_resources="2" maintenance="false" managed="true" disabled="true">
+ <resource id="inactive-dummy-1" resource_agent="ocf:pacemaker:Dummy" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="inactive-dummy-2" resource_agent="ocf:pacemaker:Dummy" role="Stopped" target_role="stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <bundle id="httpd-bundle" type="docker" image="pcmk:http" unique="false" maintenance="false" managed="true" failed="false">
+ <replica id="0">
+ <resource id="httpd-bundle-ip-192.168.122.131" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-0" id="httpd-bundle-0" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-0" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-0" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </replica>
+ <replica id="1">
+ <resource id="httpd-bundle-ip-192.168.122.132" resource_agent="ocf:heartbeat:IPaddr2" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="httpd-bundle-1" id="httpd-bundle-1" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-docker-1" resource_agent="ocf:heartbeat:docker" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="httpd-bundle-1" resource_agent="ocf:pacemaker:remote" role="Started" target_role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </replica>
+ <replica id="2">
+ <resource id="httpd-bundle-ip-192.168.122.133" resource_agent="ocf:heartbeat:IPaddr2" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd" resource_agent="ocf:heartbeat:apache" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd-bundle-docker-2" resource_agent="ocf:heartbeat:docker" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="httpd-bundle-2" resource_agent="ocf:pacemaker:remote" role="Stopped" target_role="Started" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </replica>
+ </bundle>
+ <group id="exim-group" number_resources="2" maintenance="false" managed="true" disabled="false">
+ <resource id="Public-IP" resource_agent="ocf:heartbeat:IPaddr" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="Email" resource_agent="lsb:exim" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </group>
+ <clone id="mysql-clone-group" multi_state="false" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <group id="mysql-group:0" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:1" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Started" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ </group>
+ <group id="mysql-group:2" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:3" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ <group id="mysql-group:4" number_resources="1" maintenance="false" managed="true" disabled="false">
+ <resource id="mysql-proxy" resource_agent="lsb:mysql-proxy" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </group>
+ </clone>
+ <clone id="promotable-clone" multi_state="true" unique="false" maintenance="false" managed="true" disabled="false" failed="false" failure_ignored="false">
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Promoted" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster02" id="2" cached="true"/>
+ </resource>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Unpromoted" active="true" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="1">
+ <node name="cluster01" id="1" cached="true"/>
+ </resource>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ <resource id="promotable-rsc" resource_agent="ocf:pacemaker:Stateful" role="Stopped" active="false" orphaned="false" blocked="false" maintenance="false" managed="true" failed="false" failure_ignored="false" nodes_running_on="0"/>
+ </clone>
+ </resources>
+ </cluster_status>
+ <allocations>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="0" id="ping-clone"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="0" id="ping-clone"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="0" id="ping:0"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="1" id="ping:0"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="1" id="ping:1"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="0" id="ping:1"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="0" id="ping:0"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="1" id="ping:0"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="1" id="ping:1"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="-INFINITY" id="ping:1"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="0" id="Fencing"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="0" id="Fencing"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="-INFINITY" id="dummy"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="0" id="dummy"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="0" id="inactive-clone"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="0" id="inactive-clone"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="0" id="inactive-dhcpd:0"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="0" id="inactive-dhcpd:0"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="0" id="inactive-dhcpd:1"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="0" id="inactive-dhcpd:1"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="-INFINITY" id="inactive-dhcpd:0"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="-INFINITY" id="inactive-dhcpd:0"/>
+ <node_weight function="pcmk__primitive_assign" node="httpd-bundle-0" score="-INFINITY" id="inactive-dhcpd:0"/>
+ <node_weight function="pcmk__primitive_assign" node="httpd-bundle-1" score="-INFINITY" id="inactive-dhcpd:0"/>
+ <node_weight function="pcmk__primitive_assign" node="httpd-bundle-2" score="-INFINITY" id="inactive-dhcpd:0"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="-INFINITY" id="inactive-dhcpd:1"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="-INFINITY" id="inactive-dhcpd:1"/>
+ <node_weight function="pcmk__primitive_assign" node="httpd-bundle-0" score="-INFINITY" id="inactive-dhcpd:1"/>
+ <node_weight function="pcmk__primitive_assign" node="httpd-bundle-1" score="-INFINITY" id="inactive-dhcpd:1"/>
+ <node_weight function="pcmk__primitive_assign" node="httpd-bundle-2" score="-INFINITY" id="inactive-dhcpd:1"/>
+ <node_weight function="pcmk__group_assign" node="cluster01" score="0" id="inactive-group"/>
+ <node_weight function="pcmk__group_assign" node="cluster02" score="0" id="inactive-group"/>
+ <node_weight function="pcmk__group_assign" node="cluster01" score="0" id="inactive-dummy-1"/>
+ <node_weight function="pcmk__group_assign" node="cluster02" score="0" id="inactive-dummy-1"/>
+ <node_weight function="pcmk__group_assign" node="cluster01" score="0" id="inactive-dummy-2"/>
+ <node_weight function="pcmk__group_assign" node="cluster02" score="0" id="inactive-dummy-2"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="-INFINITY" id="inactive-dummy-1"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="-INFINITY" id="inactive-dummy-1"/>
+ <node_weight function="pcmk__primitive_assign" node="httpd-bundle-0" score="-INFINITY" id="inactive-dummy-1"/>
+ <node_weight function="pcmk__primitive_assign" node="httpd-bundle-1" score="-INFINITY" id="inactive-dummy-1"/>
+ <node_weight function="pcmk__primitive_assign" node="httpd-bundle-2" score="-INFINITY" id="inactive-dummy-1"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="-INFINITY" id="inactive-dummy-2"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="-INFINITY" id="inactive-dummy-2"/>
+ <node_weight function="pcmk__primitive_assign" node="httpd-bundle-0" score="-INFINITY" id="inactive-dummy-2"/>
+ <node_weight function="pcmk__primitive_assign" node="httpd-bundle-1" score="-INFINITY" id="inactive-dummy-2"/>
+ <node_weight function="pcmk__primitive_assign" node="httpd-bundle-2" score="-INFINITY" id="inactive-dummy-2"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster01" score="0" id="httpd-bundle"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster02" score="0" id="httpd-bundle"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster01" score="0" id="httpd-bundle-docker-0"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster02" score="0" id="httpd-bundle-docker-0"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster01" score="0" id="httpd-bundle-ip-192.168.122.131"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster02" score="0" id="httpd-bundle-ip-192.168.122.131"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster01" score="0" id="httpd-bundle-0"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster02" score="0" id="httpd-bundle-0"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster01" score="0" id="httpd-bundle-docker-1"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster02" score="0" id="httpd-bundle-docker-1"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster01" score="0" id="httpd-bundle-ip-192.168.122.132"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster02" score="0" id="httpd-bundle-ip-192.168.122.132"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster01" score="0" id="httpd-bundle-1"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster02" score="0" id="httpd-bundle-1"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster01" score="0" id="httpd-bundle-docker-2"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster02" score="0" id="httpd-bundle-docker-2"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster01" score="0" id="httpd-bundle-ip-192.168.122.133"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster02" score="0" id="httpd-bundle-ip-192.168.122.133"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster01" score="0" id="httpd-bundle-2"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster02" score="0" id="httpd-bundle-2"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster01" score="0" id="httpd-bundle-clone"/>
+ <node_weight function="pcmk__bundle_allocate" node="cluster02" score="0" id="httpd-bundle-clone"/>
+ <node_weight function="pcmk__bundle_allocate" node="httpd-bundle-0" score="-INFINITY" id="httpd-bundle-clone"/>
+ <node_weight function="pcmk__bundle_allocate" node="httpd-bundle-1" score="-INFINITY" id="httpd-bundle-clone"/>
+ <node_weight function="pcmk__bundle_allocate" node="httpd-bundle-2" score="-INFINITY" id="httpd-bundle-clone"/>
+ <node_weight function="pcmk__bundle_allocate" node="httpd-bundle-0" score="501" id="httpd:0"/>
+ <node_weight function="pcmk__bundle_allocate" node="httpd-bundle-1" score="501" id="httpd:1"/>
+ <node_weight function="pcmk__bundle_allocate" node="httpd-bundle-2" score="500" id="httpd:2"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="0" id="httpd-bundle-docker-0"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="0" id="httpd-bundle-docker-0"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="-INFINITY" id="httpd-bundle-docker-1"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="0" id="httpd-bundle-docker-1"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="-INFINITY" id="httpd-bundle-docker-2"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="-INFINITY" id="httpd-bundle-docker-2"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="0" id="httpd-bundle-ip-192.168.122.131"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="-INFINITY" id="httpd-bundle-ip-192.168.122.131"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="10000" id="httpd-bundle-0"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="0" id="httpd-bundle-0"/>
+ <node_weight function="pcmk__primitive_assign" node="httpd-bundle-0" score="INFINITY" id="httpd:0"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="-INFINITY" id="httpd-bundle-ip-192.168.122.132"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="0" id="httpd-bundle-ip-192.168.122.132"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="0" id="httpd-bundle-1"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="10000" id="httpd-bundle-1"/>
+ <node_weight function="pcmk__primitive_assign" node="httpd-bundle-1" score="INFINITY" id="httpd:1"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="-INFINITY" id="httpd-bundle-ip-192.168.122.133"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="-INFINITY" id="httpd-bundle-ip-192.168.122.133"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="0" id="httpd-bundle-2"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="0" id="httpd-bundle-2"/>
+ <node_weight function="pcmk__primitive_assign" node="httpd-bundle-2" score="INFINITY" id="httpd:2"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="-INFINITY" id="httpd-bundle-clone"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="-INFINITY" id="httpd-bundle-clone"/>
+ <node_weight function="pcmk__clone_assign" node="httpd-bundle-0" score="0" id="httpd-bundle-clone"/>
+ <node_weight function="pcmk__clone_assign" node="httpd-bundle-1" score="0" id="httpd-bundle-clone"/>
+ <node_weight function="pcmk__clone_assign" node="httpd-bundle-2" score="0" id="httpd-bundle-clone"/>
+ <node_weight function="pcmk__clone_assign" node="httpd-bundle-0" score="INFINITY" id="httpd:0"/>
+ <node_weight function="pcmk__clone_assign" node="httpd-bundle-1" score="INFINITY" id="httpd:1"/>
+ <node_weight function="pcmk__clone_assign" node="httpd-bundle-2" score="INFINITY" id="httpd:2"/>
+ <node_weight function="pcmk__group_assign" node="cluster01" score="0" id="exim-group"/>
+ <node_weight function="pcmk__group_assign" node="cluster02" score="0" id="exim-group"/>
+ <node_weight function="pcmk__group_assign" node="cluster01" score="0" id="Public-IP"/>
+ <node_weight function="pcmk__group_assign" node="cluster02" score="0" id="Public-IP"/>
+ <node_weight function="pcmk__group_assign" node="cluster01" score="0" id="Email"/>
+ <node_weight function="pcmk__group_assign" node="cluster02" score="0" id="Email"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="0" id="Public-IP"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="0" id="Public-IP"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="-INFINITY" id="Email"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="0" id="Email"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="0" id="mysql-clone-group"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="0" id="mysql-clone-group"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="0" id="mysql-group:0"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="0" id="mysql-group:0"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="0" id="mysql-proxy:0"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="1" id="mysql-proxy:0"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="0" id="mysql-group:1"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="0" id="mysql-group:1"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="1" id="mysql-proxy:1"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="0" id="mysql-proxy:1"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="0" id="mysql-group:2"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="0" id="mysql-group:2"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="0" id="mysql-proxy:2"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="0" id="mysql-proxy:2"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="0" id="mysql-group:3"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="0" id="mysql-group:3"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="0" id="mysql-proxy:3"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="0" id="mysql-proxy:3"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="0" id="mysql-group:4"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="0" id="mysql-group:4"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="0" id="mysql-proxy:4"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="0" id="mysql-proxy:4"/>
+ <node_weight function="pcmk__group_assign" node="cluster01" score="0" id="mysql-group:0"/>
+ <node_weight function="pcmk__group_assign" node="cluster02" score="0" id="mysql-group:0"/>
+ <node_weight function="pcmk__group_assign" node="cluster01" score="0" id="mysql-proxy:0"/>
+ <node_weight function="pcmk__group_assign" node="cluster02" score="1" id="mysql-proxy:0"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="0" id="mysql-proxy:0"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="1" id="mysql-proxy:0"/>
+ <node_weight function="pcmk__group_assign" node="cluster01" score="0" id="mysql-group:1"/>
+ <node_weight function="pcmk__group_assign" node="cluster02" score="-INFINITY" id="mysql-group:1"/>
+ <node_weight function="pcmk__group_assign" node="cluster01" score="1" id="mysql-proxy:1"/>
+ <node_weight function="pcmk__group_assign" node="cluster02" score="-INFINITY" id="mysql-proxy:1"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="1" id="mysql-proxy:1"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="-INFINITY" id="mysql-proxy:1"/>
+ <node_weight function="pcmk__group_assign" node="cluster01" score="-INFINITY" id="mysql-group:2"/>
+ <node_weight function="pcmk__group_assign" node="cluster02" score="-INFINITY" id="mysql-group:2"/>
+ <node_weight function="pcmk__group_assign" node="cluster01" score="-INFINITY" id="mysql-proxy:2"/>
+ <node_weight function="pcmk__group_assign" node="cluster02" score="-INFINITY" id="mysql-proxy:2"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="-INFINITY" id="mysql-proxy:2"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="-INFINITY" id="mysql-proxy:2"/>
+ <node_weight function="pcmk__group_assign" node="cluster01" score="-INFINITY" id="mysql-group:3"/>
+ <node_weight function="pcmk__group_assign" node="cluster02" score="-INFINITY" id="mysql-group:3"/>
+ <node_weight function="pcmk__group_assign" node="cluster01" score="-INFINITY" id="mysql-proxy:3"/>
+ <node_weight function="pcmk__group_assign" node="cluster02" score="-INFINITY" id="mysql-proxy:3"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="-INFINITY" id="mysql-proxy:3"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="-INFINITY" id="mysql-proxy:3"/>
+ <node_weight function="pcmk__group_assign" node="cluster01" score="-INFINITY" id="mysql-group:4"/>
+ <node_weight function="pcmk__group_assign" node="cluster02" score="-INFINITY" id="mysql-group:4"/>
+ <node_weight function="pcmk__group_assign" node="cluster01" score="-INFINITY" id="mysql-proxy:4"/>
+ <node_weight function="pcmk__group_assign" node="cluster02" score="-INFINITY" id="mysql-proxy:4"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="-INFINITY" id="mysql-proxy:4"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="-INFINITY" id="mysql-proxy:4"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="0" id="promotable-clone"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="0" id="promotable-clone"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="0" id="promotable-rsc:0"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="1" id="promotable-rsc:0"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="1" id="promotable-rsc:1"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="0" id="promotable-rsc:1"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="0" id="promotable-rsc:2"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="0" id="promotable-rsc:2"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="0" id="promotable-rsc:3"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="0" id="promotable-rsc:3"/>
+ <node_weight function="pcmk__clone_assign" node="cluster01" score="0" id="promotable-rsc:4"/>
+ <node_weight function="pcmk__clone_assign" node="cluster02" score="0" id="promotable-rsc:4"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="0" id="promotable-rsc:0"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="1" id="promotable-rsc:0"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="1" id="promotable-rsc:1"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="-INFINITY" id="promotable-rsc:1"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="-INFINITY" id="promotable-rsc:2"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="-INFINITY" id="promotable-rsc:2"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="-INFINITY" id="promotable-rsc:3"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="-INFINITY" id="promotable-rsc:3"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster01" score="-INFINITY" id="promotable-rsc:4"/>
+ <node_weight function="pcmk__primitive_assign" node="cluster02" score="-INFINITY" id="promotable-rsc:4"/>
+ <promotion_score id="promotable-rsc:0" score="9" node="cluster02"/>
+ <promotion_score id="promotable-rsc:2" score="0"/>
+ <promotion_score id="promotable-rsc:3" score="0"/>
+ <promotion_score id="promotable-rsc:4" score="0"/>
+ <promotion_score id="promotable-rsc:1" score="-1" node="cluster01"/>
+ </allocations>
+ <actions>
+ <rsc_action action="start" resource="httpd-bundle-2" node="cluster01" reason="unrunnable httpd-bundle-docker-2 start" blocked="true"/>
+ <rsc_action action="start" resource="httpd:2" node="httpd-bundle-2" reason="unrunnable httpd-bundle-docker-2 start" blocked="true"/>
+ </actions>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Show allocation scores with crm_simulate - OK (0) =#=#=#=
+* Passed: crm_simulate - Show allocation scores with crm_simulate
+=#=#=#= Begin test: Show utilization with crm_simulate =#=#=#=
+4 of 32 resource instances DISABLED and 0 BLOCKED from further action due to failure
+
+[ cluster01 cluster02 ]
+[ httpd-bundle-0 httpd-bundle-1 ]
+
+Started: [ cluster01 cluster02 ]
+Fencing (stonith:fence_xvm): Started cluster01
+dummy (ocf:pacemaker:Dummy): Started cluster02
+Stopped (disabled): [ cluster01 cluster02 ]
+inactive-dummy-1 (ocf:pacemaker:Dummy): Stopped (disabled)
+inactive-dummy-2 (ocf:pacemaker:Dummy): Stopped (disabled)
+httpd-bundle-0 (192.168.122.131) (ocf:heartbeat:apache): Started cluster01
+httpd-bundle-1 (192.168.122.132) (ocf:heartbeat:apache): Started cluster02
+httpd-bundle-2 (192.168.122.133) (ocf:heartbeat:apache): Stopped
+Public-IP (ocf:heartbeat:IPaddr): Started cluster02
+Email (lsb:exim): Started cluster02
+Started: [ cluster01 cluster02 ]
+Promoted: [ cluster02 ]
+Unpromoted: [ cluster01 ]
+
+Only 'private' parameters to 60s-interval monitor for dummy on cluster02 changed: 0:0;16:2:0:4a9e64d6-e1dd-4395-917c-1596312eafe4
+Original: cluster01 capacity:
+Original: cluster02 capacity:
+Original: httpd-bundle-0 capacity:
+Original: httpd-bundle-1 capacity:
+Original: httpd-bundle-2 capacity:
+pcmk__finalize_assignment: ping:0 utilization on cluster02:
+pcmk__finalize_assignment: ping:1 utilization on cluster01:
+pcmk__finalize_assignment: Fencing utilization on cluster01:
+pcmk__finalize_assignment: dummy utilization on cluster02:
+pcmk__finalize_assignment: httpd-bundle-docker-0 utilization on cluster01:
+pcmk__finalize_assignment: httpd-bundle-docker-1 utilization on cluster02:
+pcmk__finalize_assignment: httpd-bundle-ip-192.168.122.131 utilization on cluster01:
+pcmk__finalize_assignment: httpd-bundle-0 utilization on cluster01:
+pcmk__finalize_assignment: httpd:0 utilization on httpd-bundle-0:
+pcmk__finalize_assignment: httpd-bundle-ip-192.168.122.132 utilization on cluster02:
+pcmk__finalize_assignment: httpd-bundle-1 utilization on cluster02:
+pcmk__finalize_assignment: httpd:1 utilization on httpd-bundle-1:
+pcmk__finalize_assignment: httpd-bundle-2 utilization on cluster01:
+pcmk__finalize_assignment: httpd:2 utilization on httpd-bundle-2:
+pcmk__finalize_assignment: Public-IP utilization on cluster02:
+pcmk__finalize_assignment: Email utilization on cluster02:
+pcmk__finalize_assignment: mysql-proxy:0 utilization on cluster02:
+pcmk__finalize_assignment: mysql-proxy:1 utilization on cluster01:
+pcmk__finalize_assignment: promotable-rsc:0 utilization on cluster02:
+pcmk__finalize_assignment: promotable-rsc:1 utilization on cluster01:
+Remaining: cluster01 capacity:
+Remaining: cluster02 capacity:
+Remaining: httpd-bundle-0 capacity:
+Remaining: httpd-bundle-1 capacity:
+Remaining: httpd-bundle-2 capacity:
+
+Start httpd-bundle-2 ( cluster01 ) due to unrunnable httpd-bundle-docker-2 start (blocked)
+Start httpd:2 ( httpd-bundle-2 ) due to unrunnable httpd-bundle-docker-2 start (blocked)
+=#=#=#= End test: Show utilization with crm_simulate - OK (0) =#=#=#=
+* Passed: crm_simulate - Show utilization with crm_simulate
+=#=#=#= Begin test: Simulate injecting a failure =#=#=#=
+4 of 32 resource instances DISABLED and 0 BLOCKED from further action due to failure
+
+Current cluster status:
+ * Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+ * Full List of Resources:
+ * Clone Set: ping-clone [ping]:
+ * Started: [ cluster01 cluster02 ]
+ * Fencing (stonith:fence_xvm): Started cluster01
+ * dummy (ocf:pacemaker:Dummy): Started cluster02
+ * Clone Set: inactive-clone [inactive-dhcpd] (disabled):
+ * Stopped (disabled): [ cluster01 cluster02 ]
+ * Resource Group: inactive-group (disabled):
+ * inactive-dummy-1 (ocf:pacemaker:Dummy): Stopped (disabled)
+ * inactive-dummy-2 (ocf:pacemaker:Dummy): Stopped (disabled)
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * httpd-bundle-0 (192.168.122.131) (ocf:heartbeat:apache): Started cluster01
+ * httpd-bundle-1 (192.168.122.132) (ocf:heartbeat:apache): Started cluster02
+ * httpd-bundle-2 (192.168.122.133) (ocf:heartbeat:apache): Stopped
+ * Resource Group: exim-group:
+ * Public-IP (ocf:heartbeat:IPaddr): Started cluster02
+ * Email (lsb:exim): Started cluster02
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Started: [ cluster01 cluster02 ]
+ * Clone Set: promotable-clone [promotable-rsc] (promotable):
+ * Promoted: [ cluster02 ]
+ * Unpromoted: [ cluster01 ]
+
+Performing Requested Modifications:
+ * Injecting ping_monitor_10000@cluster02=1 into the configuration
+ * Injecting attribute fail-count-ping#monitor_10000=value++ into /node_state '2'
+ * Injecting attribute last-failure-ping#monitor_10000= into /node_state '2'
+
+Transition Summary:
+ * Recover ping:0 ( cluster02 )
+ * Start httpd-bundle-2 ( cluster01 ) due to unrunnable httpd-bundle-docker-2 start (blocked)
+ * Start httpd:2 ( httpd-bundle-2 ) due to unrunnable httpd-bundle-docker-2 start (blocked)
+
+Executing Cluster Transition:
+ * Cluster action: clear_failcount for ping on cluster02
+ * Pseudo action: ping-clone_stop_0
+ * Pseudo action: httpd-bundle_start_0
+ * Resource action: ping stop on cluster02
+ * Pseudo action: ping-clone_stopped_0
+ * Pseudo action: ping-clone_start_0
+ * Pseudo action: httpd-bundle-clone_start_0
+ * Resource action: ping start on cluster02
+ * Resource action: ping monitor=10000 on cluster02
+ * Pseudo action: ping-clone_running_0
+ * Pseudo action: httpd-bundle-clone_running_0
+ * Pseudo action: httpd-bundle_running_0
+
+Revised Cluster Status:
+ * Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+ * Full List of Resources:
+ * Clone Set: ping-clone [ping]:
+ * Started: [ cluster01 cluster02 ]
+ * Fencing (stonith:fence_xvm): Started cluster01
+ * dummy (ocf:pacemaker:Dummy): Started cluster02
+ * Clone Set: inactive-clone [inactive-dhcpd] (disabled):
+ * Stopped (disabled): [ cluster01 cluster02 ]
+ * Resource Group: inactive-group (disabled):
+ * inactive-dummy-1 (ocf:pacemaker:Dummy): Stopped (disabled)
+ * inactive-dummy-2 (ocf:pacemaker:Dummy): Stopped (disabled)
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * httpd-bundle-0 (192.168.122.131) (ocf:heartbeat:apache): Started cluster01
+ * httpd-bundle-1 (192.168.122.132) (ocf:heartbeat:apache): Started cluster02
+ * httpd-bundle-2 (192.168.122.133) (ocf:heartbeat:apache): Stopped
+ * Resource Group: exim-group:
+ * Public-IP (ocf:heartbeat:IPaddr): Started cluster02
+ * Email (lsb:exim): Started cluster02
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Started: [ cluster01 cluster02 ]
+ * Clone Set: promotable-clone [promotable-rsc] (promotable):
+ * Promoted: [ cluster02 ]
+ * Unpromoted: [ cluster01 ]
+=#=#=#= End test: Simulate injecting a failure - OK (0) =#=#=#=
+* Passed: crm_simulate - Simulate injecting a failure
+=#=#=#= Begin test: Simulate bringing a node down =#=#=#=
+4 of 32 resource instances DISABLED and 0 BLOCKED from further action due to failure
+
+Current cluster status:
+ * Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+ * Full List of Resources:
+ * Clone Set: ping-clone [ping]:
+ * Started: [ cluster01 cluster02 ]
+ * Fencing (stonith:fence_xvm): Started cluster01
+ * dummy (ocf:pacemaker:Dummy): Started cluster02
+ * Clone Set: inactive-clone [inactive-dhcpd] (disabled):
+ * Stopped (disabled): [ cluster01 cluster02 ]
+ * Resource Group: inactive-group (disabled):
+ * inactive-dummy-1 (ocf:pacemaker:Dummy): Stopped (disabled)
+ * inactive-dummy-2 (ocf:pacemaker:Dummy): Stopped (disabled)
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * httpd-bundle-0 (192.168.122.131) (ocf:heartbeat:apache): Started cluster01
+ * httpd-bundle-1 (192.168.122.132) (ocf:heartbeat:apache): Started cluster02
+ * httpd-bundle-2 (192.168.122.133) (ocf:heartbeat:apache): Stopped
+ * Resource Group: exim-group:
+ * Public-IP (ocf:heartbeat:IPaddr): Started cluster02
+ * Email (lsb:exim): Started cluster02
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Started: [ cluster01 cluster02 ]
+ * Clone Set: promotable-clone [promotable-rsc] (promotable):
+ * Promoted: [ cluster02 ]
+ * Unpromoted: [ cluster01 ]
+
+Performing Requested Modifications:
+ * Taking node cluster01 offline
+
+Transition Summary:
+ * Fence (off) httpd-bundle-0 (resource: httpd-bundle-docker-0) 'guest is unclean'
+ * Start Fencing ( cluster02 )
+ * Start httpd-bundle-0 ( cluster02 ) due to unrunnable httpd-bundle-docker-0 start (blocked)
+ * Stop httpd:0 ( httpd-bundle-0 ) due to unrunnable httpd-bundle-docker-0 start
+ * Start httpd-bundle-2 ( cluster02 ) due to unrunnable httpd-bundle-docker-2 start (blocked)
+ * Start httpd:2 ( httpd-bundle-2 ) due to unrunnable httpd-bundle-docker-2 start (blocked)
+
+Executing Cluster Transition:
+ * Resource action: Fencing start on cluster02
+ * Pseudo action: stonith-httpd-bundle-0-off on httpd-bundle-0
+ * Pseudo action: httpd-bundle_stop_0
+ * Pseudo action: httpd-bundle_start_0
+ * Resource action: Fencing monitor=60000 on cluster02
+ * Pseudo action: httpd-bundle-clone_stop_0
+ * Pseudo action: httpd_stop_0
+ * Pseudo action: httpd-bundle-clone_stopped_0
+ * Pseudo action: httpd-bundle-clone_start_0
+ * Pseudo action: httpd-bundle_stopped_0
+ * Pseudo action: httpd-bundle-clone_running_0
+ * Pseudo action: httpd-bundle_running_0
+
+Revised Cluster Status:
+ * Node List:
+ * Online: [ cluster02 ]
+ * OFFLINE: [ cluster01 ]
+ * GuestOnline: [ httpd-bundle-1 ]
+
+ * Full List of Resources:
+ * Clone Set: ping-clone [ping]:
+ * Started: [ cluster02 ]
+ * Stopped: [ cluster01 ]
+ * Fencing (stonith:fence_xvm): Started cluster02
+ * dummy (ocf:pacemaker:Dummy): Started cluster02
+ * Clone Set: inactive-clone [inactive-dhcpd] (disabled):
+ * Stopped (disabled): [ cluster01 cluster02 ]
+ * Resource Group: inactive-group (disabled):
+ * inactive-dummy-1 (ocf:pacemaker:Dummy): Stopped (disabled)
+ * inactive-dummy-2 (ocf:pacemaker:Dummy): Stopped (disabled)
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * httpd-bundle-0 (192.168.122.131) (ocf:heartbeat:apache): FAILED
+ * httpd-bundle-1 (192.168.122.132) (ocf:heartbeat:apache): Started cluster02
+ * httpd-bundle-2 (192.168.122.133) (ocf:heartbeat:apache): Stopped
+ * Resource Group: exim-group:
+ * Public-IP (ocf:heartbeat:IPaddr): Started cluster02
+ * Email (lsb:exim): Started cluster02
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Started: [ cluster02 ]
+ * Stopped: [ cluster01 ]
+ * Clone Set: promotable-clone [promotable-rsc] (promotable):
+ * Promoted: [ cluster02 ]
+ * Stopped: [ cluster01 ]
+=#=#=#= End test: Simulate bringing a node down - OK (0) =#=#=#=
+* Passed: crm_simulate - Simulate bringing a node down
+=#=#=#= Begin test: Simulate a node failing =#=#=#=
+4 of 32 resource instances DISABLED and 0 BLOCKED from further action due to failure
+
+Current cluster status:
+ * Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+ * Full List of Resources:
+ * Clone Set: ping-clone [ping]:
+ * Started: [ cluster01 cluster02 ]
+ * Fencing (stonith:fence_xvm): Started cluster01
+ * dummy (ocf:pacemaker:Dummy): Started cluster02
+ * Clone Set: inactive-clone [inactive-dhcpd] (disabled):
+ * Stopped (disabled): [ cluster01 cluster02 ]
+ * Resource Group: inactive-group (disabled):
+ * inactive-dummy-1 (ocf:pacemaker:Dummy): Stopped (disabled)
+ * inactive-dummy-2 (ocf:pacemaker:Dummy): Stopped (disabled)
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * httpd-bundle-0 (192.168.122.131) (ocf:heartbeat:apache): Started cluster01
+ * httpd-bundle-1 (192.168.122.132) (ocf:heartbeat:apache): Started cluster02
+ * httpd-bundle-2 (192.168.122.133) (ocf:heartbeat:apache): Stopped
+ * Resource Group: exim-group:
+ * Public-IP (ocf:heartbeat:IPaddr): Started cluster02
+ * Email (lsb:exim): Started cluster02
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Started: [ cluster01 cluster02 ]
+ * Clone Set: promotable-clone [promotable-rsc] (promotable):
+ * Promoted: [ cluster02 ]
+ * Unpromoted: [ cluster01 ]
+
+Performing Requested Modifications:
+ * Failing node cluster02
+
+Transition Summary:
+ * Fence (off) httpd-bundle-1 (resource: httpd-bundle-docker-1) 'guest is unclean'
+ * Fence (reboot) cluster02 'peer is no longer part of the cluster'
+ * Stop ping:0 ( cluster02 ) due to node availability
+ * Stop dummy ( cluster02 ) due to node availability
+ * Stop httpd-bundle-ip-192.168.122.132 ( cluster02 ) due to node availability
+ * Stop httpd-bundle-docker-1 ( cluster02 ) due to node availability
+ * Stop httpd-bundle-1 ( cluster02 ) due to unrunnable httpd-bundle-docker-1 start
+ * Stop httpd:1 ( httpd-bundle-1 ) due to unrunnable httpd-bundle-docker-1 start
+ * Start httpd-bundle-2 ( cluster01 ) due to unrunnable httpd-bundle-docker-2 start (blocked)
+ * Start httpd:2 ( httpd-bundle-2 ) due to unrunnable httpd-bundle-docker-2 start (blocked)
+ * Move Public-IP ( cluster02 -> cluster01 )
+ * Move Email ( cluster02 -> cluster01 )
+ * Stop mysql-proxy:0 ( cluster02 ) due to node availability
+ * Stop promotable-rsc:0 ( Promoted cluster02 ) due to node availability
+
+Executing Cluster Transition:
+ * Pseudo action: httpd-bundle-1_stop_0
+ * Pseudo action: promotable-clone_demote_0
+ * Pseudo action: httpd-bundle_stop_0
+ * Pseudo action: httpd-bundle_start_0
+ * Fencing cluster02 (reboot)
+ * Pseudo action: ping-clone_stop_0
+ * Pseudo action: dummy_stop_0
+ * Pseudo action: httpd-bundle-docker-1_stop_0
+ * Pseudo action: exim-group_stop_0
+ * Pseudo action: Email_stop_0
+ * Pseudo action: mysql-clone-group_stop_0
+ * Pseudo action: promotable-rsc_demote_0
+ * Pseudo action: promotable-clone_demoted_0
+ * Pseudo action: promotable-clone_stop_0
+ * Pseudo action: stonith-httpd-bundle-1-off on httpd-bundle-1
+ * Pseudo action: ping_stop_0
+ * Pseudo action: ping-clone_stopped_0
+ * Pseudo action: httpd-bundle-clone_stop_0
+ * Pseudo action: httpd-bundle-ip-192.168.122.132_stop_0
+ * Pseudo action: Public-IP_stop_0
+ * Pseudo action: mysql-group:0_stop_0
+ * Pseudo action: mysql-proxy_stop_0
+ * Pseudo action: promotable-rsc_stop_0
+ * Pseudo action: promotable-clone_stopped_0
+ * Pseudo action: httpd_stop_0
+ * Pseudo action: httpd-bundle-clone_stopped_0
+ * Pseudo action: httpd-bundle-clone_start_0
+ * Pseudo action: exim-group_stopped_0
+ * Pseudo action: exim-group_start_0
+ * Resource action: Public-IP start on cluster01
+ * Resource action: Email start on cluster01
+ * Pseudo action: mysql-group:0_stopped_0
+ * Pseudo action: mysql-clone-group_stopped_0
+ * Pseudo action: httpd-bundle_stopped_0
+ * Pseudo action: httpd-bundle-clone_running_0
+ * Pseudo action: exim-group_running_0
+ * Pseudo action: httpd-bundle_running_0
+
+Revised Cluster Status:
+ * Node List:
+ * Online: [ cluster01 ]
+ * OFFLINE: [ cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 ]
+
+ * Full List of Resources:
+ * Clone Set: ping-clone [ping]:
+ * Started: [ cluster01 ]
+ * Stopped: [ cluster02 ]
+ * Fencing (stonith:fence_xvm): Started cluster01
+ * dummy (ocf:pacemaker:Dummy): Stopped
+ * Clone Set: inactive-clone [inactive-dhcpd] (disabled):
+ * Stopped (disabled): [ cluster01 cluster02 ]
+ * Resource Group: inactive-group (disabled):
+ * inactive-dummy-1 (ocf:pacemaker:Dummy): Stopped (disabled)
+ * inactive-dummy-2 (ocf:pacemaker:Dummy): Stopped (disabled)
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * httpd-bundle-0 (192.168.122.131) (ocf:heartbeat:apache): Started cluster01
+ * httpd-bundle-1 (192.168.122.132) (ocf:heartbeat:apache): FAILED
+ * httpd-bundle-2 (192.168.122.133) (ocf:heartbeat:apache): Stopped
+ * Resource Group: exim-group:
+ * Public-IP (ocf:heartbeat:IPaddr): Started cluster01
+ * Email (lsb:exim): Started cluster01
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Started: [ cluster01 ]
+ * Stopped: [ cluster02 ]
+ * Clone Set: promotable-clone [promotable-rsc] (promotable):
+ * Unpromoted: [ cluster01 ]
+ * Stopped: [ cluster02 ]
+=#=#=#= End test: Simulate a node failing - OK (0) =#=#=#=
+* Passed: crm_simulate - Simulate a node failing
+=#=#=#= Begin test: List a promotable clone resource =#=#=#=
+resource promotable-clone is running on: cluster01
+resource promotable-clone is running on: cluster02 Promoted
+=#=#=#= End test: List a promotable clone resource - OK (0) =#=#=#=
+* Passed: crm_resource - List a promotable clone resource
+=#=#=#= Begin test: List the primitive of a promotable clone resource =#=#=#=
+resource promotable-rsc is running on: cluster01
+resource promotable-rsc is running on: cluster02 Promoted
+=#=#=#= End test: List the primitive of a promotable clone resource - OK (0) =#=#=#=
+* Passed: crm_resource - List the primitive of a promotable clone resource
+=#=#=#= Begin test: List a single instance of a promotable clone resource =#=#=#=
+resource promotable-rsc:0 is running on: cluster02 Promoted
+=#=#=#= End test: List a single instance of a promotable clone resource - OK (0) =#=#=#=
+* Passed: crm_resource - List a single instance of a promotable clone resource
+=#=#=#= Begin test: List another instance of a promotable clone resource =#=#=#=
+resource promotable-rsc:1 is running on: cluster01
+=#=#=#= End test: List another instance of a promotable clone resource - OK (0) =#=#=#=
+* Passed: crm_resource - List another instance of a promotable clone resource
+=#=#=#= Begin test: List a promotable clone resource in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource --locate -r promotable-clone --output-as=xml">
+ <nodes resource="promotable-clone">
+ <node>cluster01</node>
+ <node state="promoted">cluster02</node>
+ </nodes>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: List a promotable clone resource in XML - OK (0) =#=#=#=
+* Passed: crm_resource - List a promotable clone resource in XML
+=#=#=#= Begin test: List the primitive of a promotable clone resource in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource --locate -r promotable-rsc --output-as=xml">
+ <nodes resource="promotable-rsc">
+ <node>cluster01</node>
+ <node state="promoted">cluster02</node>
+ </nodes>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: List the primitive of a promotable clone resource in XML - OK (0) =#=#=#=
+* Passed: crm_resource - List the primitive of a promotable clone resource in XML
+=#=#=#= Begin test: List a single instance of a promotable clone resource in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource --locate -r promotable-rsc:0 --output-as=xml">
+ <nodes resource="promotable-rsc:0">
+ <node state="promoted">cluster02</node>
+ </nodes>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: List a single instance of a promotable clone resource in XML - OK (0) =#=#=#=
+* Passed: crm_resource - List a single instance of a promotable clone resource in XML
+=#=#=#= Begin test: List another instance of a promotable clone resource in XML =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource --locate -r promotable-rsc:1 --output-as=xml">
+ <nodes resource="promotable-rsc:1">
+ <node>cluster01</node>
+ </nodes>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: List another instance of a promotable clone resource in XML - OK (0) =#=#=#=
+* Passed: crm_resource - List another instance of a promotable clone resource in XML
+=#=#=#= Begin test: Try to move an instance of a cloned resource =#=#=#=
+crm_resource: Cannot operate on clone resource instance 'promotable-rsc:0'
+Error performing operation: Invalid parameter
+=#=#=#= End test: Try to move an instance of a cloned resource - Invalid parameter (2) =#=#=#=
+* Passed: crm_resource - Try to move an instance of a cloned resource
+=#=#=#= Begin test: Query a nonexistent promotable score attribute =#=#=#=
+crm_attribute: Error performing operation: No such device or address
+=#=#=#= End test: Query a nonexistent promotable score attribute - No such object (105) =#=#=#=
+* Passed: crm_attribute - Query a nonexistent promotable score attribute
+=#=#=#= Begin test: Query a nonexistent promotable score attribute (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_attribute -N cluster01 -p promotable-rsc -G --output-as=xml">
+ <status code="105" message="No such object">
+ <errors>
+ <error>crm_attribute: Error performing operation: No such device or address</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Query a nonexistent promotable score attribute (XML) - No such object (105) =#=#=#=
+* Passed: crm_attribute - Query a nonexistent promotable score attribute (XML)
+=#=#=#= Begin test: Delete a nonexistent promotable score attribute =#=#=#=
+=#=#=#= End test: Delete a nonexistent promotable score attribute - OK (0) =#=#=#=
+* Passed: crm_attribute - Delete a nonexistent promotable score attribute
+=#=#=#= Begin test: Delete a nonexistent promotable score attribute (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_attribute -N cluster01 -p promotable-rsc -D --output-as=xml">
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Delete a nonexistent promotable score attribute (XML) - OK (0) =#=#=#=
+* Passed: crm_attribute - Delete a nonexistent promotable score attribute (XML)
+=#=#=#= Begin test: Query after deleting a nonexistent promotable score attribute =#=#=#=
+crm_attribute: Error performing operation: No such device or address
+=#=#=#= End test: Query after deleting a nonexistent promotable score attribute - No such object (105) =#=#=#=
+* Passed: crm_attribute - Query after deleting a nonexistent promotable score attribute
+=#=#=#= Begin test: Query after deleting a nonexistent promotable score attribute (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_attribute -N cluster01 -p promotable-rsc -G --output-as=xml">
+ <status code="105" message="No such object">
+ <errors>
+ <error>crm_attribute: Error performing operation: No such device or address</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Query after deleting a nonexistent promotable score attribute (XML) - No such object (105) =#=#=#=
+* Passed: crm_attribute - Query after deleting a nonexistent promotable score attribute (XML)
+=#=#=#= Begin test: Update a nonexistent promotable score attribute =#=#=#=
+=#=#=#= End test: Update a nonexistent promotable score attribute - OK (0) =#=#=#=
+* Passed: crm_attribute - Update a nonexistent promotable score attribute
+=#=#=#= Begin test: Update a nonexistent promotable score attribute (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_attribute -N cluster01 -p promotable-rsc -v 1 --output-as=xml">
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Update a nonexistent promotable score attribute (XML) - OK (0) =#=#=#=
+* Passed: crm_attribute - Update a nonexistent promotable score attribute (XML)
+=#=#=#= Begin test: Query after updating a nonexistent promotable score attribute =#=#=#=
+scope=status name=master-promotable-rsc value=1
+=#=#=#= End test: Query after updating a nonexistent promotable score attribute - OK (0) =#=#=#=
+* Passed: crm_attribute - Query after updating a nonexistent promotable score attribute
+=#=#=#= Begin test: Query after updating a nonexistent promotable score attribute (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_attribute -N cluster01 -p promotable-rsc -G --output-as=xml">
+ <attribute name="master-promotable-rsc" value="1" scope="status"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Query after updating a nonexistent promotable score attribute (XML) - OK (0) =#=#=#=
+* Passed: crm_attribute - Query after updating a nonexistent promotable score attribute (XML)
+=#=#=#= Begin test: Update an existing promotable score attribute =#=#=#=
+=#=#=#= End test: Update an existing promotable score attribute - OK (0) =#=#=#=
+* Passed: crm_attribute - Update an existing promotable score attribute
+=#=#=#= Begin test: Update an existing promotable score attribute (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_attribute -N cluster01 -p promotable-rsc -v 5 --output-as=xml">
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Update an existing promotable score attribute (XML) - OK (0) =#=#=#=
+* Passed: crm_attribute - Update an existing promotable score attribute (XML)
+=#=#=#= Begin test: Query after updating an existing promotable score attribute =#=#=#=
+scope=status name=master-promotable-rsc value=5
+=#=#=#= End test: Query after updating an existing promotable score attribute - OK (0) =#=#=#=
+* Passed: crm_attribute - Query after updating an existing promotable score attribute
+=#=#=#= Begin test: Query after updating an existing promotable score attribute (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_attribute -N cluster01 -p promotable-rsc -G --output-as=xml">
+ <attribute name="master-promotable-rsc" value="5" scope="status"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Query after updating an existing promotable score attribute (XML) - OK (0) =#=#=#=
+* Passed: crm_attribute - Query after updating an existing promotable score attribute (XML)
+=#=#=#= Begin test: Delete an existing promotable score attribute =#=#=#=
+Deleted status attribute: id=status-1-master-promotable-rsc name=master-promotable-rsc
+=#=#=#= End test: Delete an existing promotable score attribute - OK (0) =#=#=#=
+* Passed: crm_attribute - Delete an existing promotable score attribute
+=#=#=#= Begin test: Delete an existing promotable score attribute (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_attribute -N cluster01 -p promotable-rsc -D --output-as=xml">
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Delete an existing promotable score attribute (XML) - OK (0) =#=#=#=
+* Passed: crm_attribute - Delete an existing promotable score attribute (XML)
+=#=#=#= Begin test: Query after deleting an existing promotable score attribute =#=#=#=
+crm_attribute: Error performing operation: No such device or address
+=#=#=#= End test: Query after deleting an existing promotable score attribute - No such object (105) =#=#=#=
+* Passed: crm_attribute - Query after deleting an existing promotable score attribute
+=#=#=#= Begin test: Query after deleting an existing promotable score attribute (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_attribute -N cluster01 -p promotable-rsc -G --output-as=xml">
+ <status code="105" message="No such object">
+ <errors>
+ <error>crm_attribute: Error performing operation: No such device or address</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Query after deleting an existing promotable score attribute (XML) - No such object (105) =#=#=#=
+* Passed: crm_attribute - Query after deleting an existing promotable score attribute (XML)
+=#=#=#= Begin test: Update a promotable score attribute to -INFINITY =#=#=#=
+=#=#=#= End test: Update a promotable score attribute to -INFINITY - OK (0) =#=#=#=
+* Passed: crm_attribute - Update a promotable score attribute to -INFINITY
+=#=#=#= Begin test: Update a promotable score attribute to -INFINITY (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_attribute -N cluster01 -p -v -INFINITY --output-as=xml">
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Update a promotable score attribute to -INFINITY (XML) - OK (0) =#=#=#=
+* Passed: crm_attribute - Update a promotable score attribute to -INFINITY (XML)
+=#=#=#= Begin test: Query after updating a promotable score attribute to -INFINITY =#=#=#=
+scope=status name=master-promotable-rsc value=-INFINITY
+=#=#=#= End test: Query after updating a promotable score attribute to -INFINITY - OK (0) =#=#=#=
+* Passed: crm_attribute - Query after updating a promotable score attribute to -INFINITY
+=#=#=#= Begin test: Query after updating a promotable score attribute to -INFINITY (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_attribute -N cluster01 -p -G --output-as=xml">
+ <attribute name="master-promotable-rsc" value="-INFINITY" scope="status"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Query after updating a promotable score attribute to -INFINITY (XML) - OK (0) =#=#=#=
+* Passed: crm_attribute - Query after updating a promotable score attribute to -INFINITY (XML)
+=#=#=#= Begin test: Try OCF_RESOURCE_INSTANCE if -p is specified with an empty string =#=#=#=
+scope=status name=master-promotable-rsc value=-INFINITY
+=#=#=#= End test: Try OCF_RESOURCE_INSTANCE if -p is specified with an empty string - OK (0) =#=#=#=
+* Passed: crm_attribute - Try OCF_RESOURCE_INSTANCE if -p is specified with an empty string
+=#=#=#= Begin test: Return usage error if both -p and OCF_RESOURCE_INSTANCE are empty strings =#=#=#=
+crm_attribute: -p/--promotion must be called from an OCF resource agent or with a resource ID specified
+=#=#=#= End test: Return usage error if both -p and OCF_RESOURCE_INSTANCE are empty strings - Incorrect usage (64) =#=#=#=
+* Passed: crm_attribute - Return usage error if both -p and OCF_RESOURCE_INSTANCE are empty strings
+=#=#=#= Begin test: Check that CIB_file="-" works - crm_mon =#=#=#=
+Cluster Summary:
+ * Stack: corosync
+ * Current DC: cluster02 (version) - partition with quorum
+ * Last updated:
+ * Last change:
+ * 5 nodes configured
+ * 32 resource instances configured (4 DISABLED)
+
+Node List:
+ * Online: [ cluster01 cluster02 ]
+ * GuestOnline: [ httpd-bundle-0 httpd-bundle-1 ]
+
+Active Resources:
+ * Clone Set: ping-clone [ping]:
+ * Started: [ cluster01 cluster02 ]
+ * Fencing (stonith:fence_xvm): Started cluster01
+ * dummy (ocf:pacemaker:Dummy): Started cluster02
+ * Container bundle set: httpd-bundle [pcmk:http]:
+ * httpd-bundle-0 (192.168.122.131) (ocf:heartbeat:apache): Started cluster01
+ * httpd-bundle-1 (192.168.122.132) (ocf:heartbeat:apache): Started cluster02
+ * httpd-bundle-2 (192.168.122.133) (ocf:heartbeat:apache): Stopped
+ * Resource Group: exim-group:
+ * Public-IP (ocf:heartbeat:IPaddr): Started cluster02
+ * Email (lsb:exim): Started cluster02
+ * Clone Set: mysql-clone-group [mysql-group]:
+ * Started: [ cluster01 cluster02 ]
+ * Clone Set: promotable-clone [promotable-rsc] (promotable):
+ * Promoted: [ cluster02 ]
+ * Unpromoted: [ cluster01 ]
+=#=#=#= End test: Check that CIB_file="-" works - crm_mon - OK (0) =#=#=#=
+* Passed: cat - Check that CIB_file="-" works - crm_mon
+=#=#=#= Begin test: Check that CIB_file="-" works - crm_resource =#=#=#=
+<pacemaker-result api-version="X" request="crm_resource --digests -r rsc1 -N node1 --output-as=xml">
+ <digests resource="rsc1" node="node1" task="start" interval="0ms">
+ <digest type="all" hash="3acdbe4c12734ebeb1251a59545af936">
+ <parameters passwd="secret" fake="0"/>
+ </digest>
+ <digest type="nonprivate" hash="279c477dbc38c621904a00ab9e599b2f">
+ <parameters fake="0"/>
+ </digest>
+ <digest type="nonreloadable" hash="5de1fd72a2e7762ed41543231034f6d7">
+ <parameters passwd="secret"/>
+ </digest>
+ </digests>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Check that CIB_file="-" works - crm_resource - OK (0) =#=#=#=
+* Passed: cat - Check that CIB_file="-" works - crm_resource
+=#=#=#= Begin test: Check that CIB_file="-" works - crmadmin =#=#=#=
+11
+=#=#=#= End test: Check that CIB_file="-" works - crmadmin - OK (0) =#=#=#=
+* Passed: cat - Check that CIB_file="-" works - crmadmin
+=#=#=#= Begin test: Get active shadow instance (no active instance) =#=#=#=
+crm_shadow: No active shadow configuration defined
+=#=#=#= End test: Get active shadow instance (no active instance) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance (no active instance)
+=#=#=#= Begin test: Get active shadow instance (no active instance) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --which --output-as=xml">
+ <status code="105" message="No such object">
+ <errors>
+ <error>crm_shadow: No active shadow configuration defined</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Get active shadow instance (no active instance) (XML) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance (no active instance) (XML)
+=#=#=#= Begin test: Get active shadow instance's file name (no active instance) =#=#=#=
+crm_shadow: No active shadow configuration defined
+=#=#=#= End test: Get active shadow instance's file name (no active instance) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's file name (no active instance)
+=#=#=#= Begin test: Get active shadow instance's file name (no active instance) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --file --output-as=xml">
+ <status code="105" message="No such object">
+ <errors>
+ <error>crm_shadow: No active shadow configuration defined</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Get active shadow instance's file name (no active instance) (XML) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's file name (no active instance) (XML)
+=#=#=#= Begin test: Get active shadow instance's contents (no active instance) =#=#=#=
+crm_shadow: No active shadow configuration defined
+=#=#=#= End test: Get active shadow instance's contents (no active instance) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's contents (no active instance)
+=#=#=#= Begin test: Get active shadow instance's contents (no active instance) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --display --output-as=xml">
+ <status code="105" message="No such object">
+ <errors>
+ <error>crm_shadow: No active shadow configuration defined</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Get active shadow instance's contents (no active instance) (XML) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's contents (no active instance) (XML)
+=#=#=#= Begin test: Get active shadow instance's diff (no active instance) =#=#=#=
+crm_shadow: No active shadow configuration defined
+=#=#=#= End test: Get active shadow instance's diff (no active instance) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's diff (no active instance)
+=#=#=#= Begin test: Get active shadow instance's diff (no active instance) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --diff --output-as=xml">
+ <status code="105" message="No such object">
+ <errors>
+ <error>crm_shadow: No active shadow configuration defined</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Get active shadow instance's diff (no active instance) (XML) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's diff (no active instance) (XML)
+=#=#=#= Begin test: Create copied shadow instance =#=#=#=
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= End test: Create copied shadow instance - OK (0) =#=#=#=
+* Passed: crm_shadow - Create copied shadow instance
+=#=#=#= Begin test: Create copied shadow instance (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --create cts-cli --batch --output-as=xml">
+ <instruction>A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli</instruction>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Create copied shadow instance (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Create copied shadow instance (XML)
+=#=#=#= Begin test: Get active shadow instance (copied) =#=#=#=
+cts-cli
+=#=#=#= End test: Get active shadow instance (copied) - OK (0) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance (copied)
+=#=#=#= Begin test: Get active shadow instance (copied) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --which --output-as=xml">
+ <shadow instance="cts-cli"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Get active shadow instance (copied) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance (copied) (XML)
+=#=#=#= Begin test: Get active shadow instance's file name (copied) =#=#=#=
+/tmp/cts-cli.shadow/shadow.cts-cli
+=#=#=#= End test: Get active shadow instance's file name (copied) - OK (0) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's file name (copied)
+=#=#=#= Begin test: Get active shadow instance's file name (copied) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --file --output-as=xml">
+ <shadow instance="cts-cli" file="/tmp/cts-cli.shadow/shadow.cts-cli"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Get active shadow instance's file name (copied) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's file name (copied) (XML)
+=#=#=#= Begin test: Get active shadow instance's contents (copied) =#=#=#=
+<cib epoch="1" num_updates="173" admin_epoch="1">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+ <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="2.0.4-1.e97f9675f.git.el7-e97f9675f"/>
+ <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
+ <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="test-cluster"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ <nvpair id="cib-bootstrap-options-maintenance-mode" name="maintenance-mode" value="false"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="1" uname="cluster01">
+ <instance_attributes id="nodes-1">
+ <nvpair id="nodes-1-location" name="location" value="office"/>
+ </instance_attributes>
+ </node>
+ <node id="2" uname="cluster02"/>
+ </nodes>
+ <resources>
+ <clone id="ping-clone">
+ <primitive class="ocf" id="ping" provider="pacemaker" type="ping">
+ <instance_attributes id="ping-instance_attributes">
+ <nvpair id="ping-instance_attributes-dampen" name="dampen" value="5s"/>
+ <nvpair id="ping-instance_attributes-host_list" name="host_list" value="192.168.122.1"/>
+ <nvpair id="ping-instance_attributes-multiplier" name="multiplier" value="1000"/>
+ </instance_attributes>
+ <operations>
+ <op id="ping-monitor-interval-10s" interval="10s" name="monitor" timeout="60s"/>
+ <op id="ping-start-interval-0s" interval="0s" name="start" timeout="60s"/>
+ <op id="ping-stop-interval-0s" interval="0s" name="stop" timeout="20s"/>
+ </operations>
+ </primitive>
+ </clone>
+ <primitive class="stonith" id="Fencing" type="fence_xvm">
+ <instance_attributes id="Fencing-instance_attributes">
+ <nvpair id="Fencing-instance_attributes-ip_family" name="ip_family" value="ipv4"/>
+ </instance_attributes>
+ <operations>
+ <op id="Fencing-monitor-interval-60s" interval="60s" name="monitor"/>
+ </operations>
+ </primitive>
+ <primitive class="ocf" id="dummy" provider="pacemaker" type="Dummy">
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-op_sleep" name="op_sleep" value="6"/>
+ </instance_attributes>
+ <operations>
+ <op id="dummy-migrate_from-interval-0s" interval="0s" name="migrate_from" timeout="20s"/>
+ <op id="dummy-migrate_to-interval-0s" interval="0s" name="migrate_to" timeout="20s"/>
+ <op id="dummy-monitor-interval-60s" interval="60s" name="monitor" on-fail="stop"/>
+ <op id="dummy-reload-interval-0s" interval="0s" name="reload" timeout="20s"/>
+ <op id="dummy-start-interval-0s" interval="0s" name="start" timeout="20s"/>
+ <op id="dummy-stop-interval-0s" interval="0s" name="stop" timeout="20s"/>
+ </operations>
+ </primitive>
+ <clone id="inactive-clone">
+ <meta_attributes id="inactive-clone-meta_attributes">
+ <nvpair id="inactive-clone-meta_attributes-target-role" name="target-role" value="stopped"/>
+ </meta_attributes>
+ <primitive id="inactive-dhcpd" class="lsb" type="dhcpd"/>
+ </clone>
+ <group id="inactive-group">
+ <meta_attributes id="inactive-group-meta_attributes">
+ <nvpair id="inactive-group-meta_attributes-target-role" name="target-role" value="stopped"/>
+ </meta_attributes>
+ <primitive class="ocf" id="inactive-dummy-1" provider="pacemaker" type="Dummy"/>
+ <primitive class="ocf" id="inactive-dummy-2" provider="pacemaker" type="Dummy"/>
+ </group>
+ <bundle id="httpd-bundle">
+ <docker image="pcmk:http" replicas="3"/>
+ <network ip-range-start="192.168.122.131" host-netmask="24" host-interface="eth0">
+ <port-mapping id="httpd-port" port="80"/>
+ </network>
+ <storage>
+ <storage-mapping id="httpd-syslog" source-dir="/dev/log" target-dir="/dev/log" options="rw"/>
+ <storage-mapping id="httpd-root" source-dir="/srv/html" target-dir="/var/www/html" options="rw"/>
+ <storage-mapping id="httpd-logs" source-dir-root="/var/log/pacemaker/bundles" target-dir="/etc/httpd/logs" options="rw"/>
+ </storage>
+ <primitive class="ocf" id="httpd" provider="heartbeat" type="apache"/>
+ <meta_attributes id="bundle-meta_attributes">
+ <nvpair id="bundle-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </bundle>
+ <group id="exim-group">
+ <primitive id="Public-IP" class="ocf" type="IPaddr" provider="heartbeat">
+ <instance_attributes id="params-public-ip">
+ <nvpair id="public-ip-addr" name="ip" value="192.168.1.1"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Email" class="lsb" type="exim"/>
+ </group>
+ <clone id="mysql-clone-group">
+ <group id="mysql-group">
+ <primitive id="mysql-proxy" class="lsb" type="mysql-proxy">
+ <operations>
+ <op name="monitor" interval="10s" id="mysql-proxy_mon" timeout="20s"/>
+ </operations>
+ </primitive>
+ </group>
+ </clone>
+ <clone id="promotable-clone">
+ <meta_attributes id="promotable-clone-meta_attributes">
+ <nvpair id="promotable-clone-meta_attributes-promotable" name="promotable" value="true"/>
+ </meta_attributes>
+ <primitive id="promotable-rsc" class="ocf" provider="pacemaker" type="Stateful" description="test_description">
+ <operations id="promotable-rsc-operations">
+ <op id="promotable-rsc-monitor-promoted-5" name="monitor" interval="5" role="Promoted"/>
+ <op id="promotable-rsc-monitor-unpromoted-10" name="monitor" interval="10" role="Unpromoted"/>
+ </operations>
+ </primitive>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="not-on-cluster1" rsc="dummy" node="cluster01" score="-INFINITY"/>
+ <rsc_location id="loc-promotable-clone" rsc="promotable-clone">
+ <rule id="loc-promotable-clone-rule" role="Promoted" score="10">
+ <expression attribute="#uname" id="loc-promotable-clone-expression" operation="eq" value="cluster02"/>
+ </rule>
+ </rsc_location>
+ </constraints>
+ <tags>
+ <tag id="all-nodes">
+ <obj_ref id="1"/>
+ <obj_ref id="2"/>
+ </tag>
+ <tag id="even-nodes">
+ <obj_ref id="2"/>
+ </tag>
+ <tag id="odd-nodes">
+ <obj_ref id="1"/>
+ </tag>
+ <tag id="inactive-rscs">
+ <obj_ref id="inactive-group"/>
+ <obj_ref id="inactive-clone"/>
+ </tag>
+ <tag id="fencing-rscs">
+ <obj_ref id="Fencing"/>
+ </tag>
+ </tags>
+ <op_defaults>
+ <meta_attributes id="op_defaults-options">
+ <nvpair id="op_defaults-options-timeout" name="timeout" value="5s"/>
+ </meta_attributes>
+ </op_defaults>
+ </configuration>
+ <status>
+ <node_state id="2" uname="cluster02" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+ <lrm id="2">
+ <lrm_resources>
+ <lrm_resource id="ping" type="ping" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="ping_last_0" operation_key="ping_start_0" operation="start" crm-debug-origin="do_update_resource" transition-key="9:0:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;9:0:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster02" call-id="11" rc-code="0" op-status="0" interval="0" exec-time="2044" queue-time="0" op-digest="769dd6f95f1494d416ae9dc690960e17"/>
+ <lrm_rsc_op id="ping_monitor_10000" operation_key="ping_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" transition-key="10:0:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;10:0:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster02" call-id="12" rc-code="0" op-status="0" interval="10000" exec-time="2031" queue-time="0" op-digest="7beffd8be749b787fabea4aef5df21c9"/>
+ </lrm_resource>
+ <lrm_resource id="Fencing" type="fence_xvm" class="stonith">
+ <lrm_rsc_op id="Fencing_last_0" operation_key="Fencing_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" transition-key="5:0:7:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:7;5:0:7:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster02" call-id="10" rc-code="7" op-status="0" interval="0" exec-time="3" queue-time="0" op-digest="7da16842ab2328e41f737cab5e5fc89c"/>
+ </lrm_resource>
+ <lrm_resource id="dummy" type="Dummy" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="do_update_resource" transition-key="14:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;14:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster02" call-id="18" rc-code="0" op-status="0" interval="0" exec-time="6020" queue-time="0" op-digest="aa0f9b7caf28600646551adb55bd9b95" op-force-restart=" envfile op_sleep passwd state " op-restart-digest="aa0f9b7caf28600646551adb55bd9b95" op-secure-params=" passwd " op-secure-digest="aa0f9b7caf28600646551adb55bd9b95"/>
+ <lrm_rsc_op id="dummy_monitor_60000" operation_key="dummy_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" transition-key="16:2:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;16:2:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster02" call-id="19" rc-code="0" op-status="0" interval="60000" exec-time="6015" queue-time="0" op-digest="ccfee4afbb0618907016c9bef210b8b6" op-secure-params=" passwd " op-secure-digest="aa0f9b7caf28600646551adb55bd9b95"/>
+ </lrm_resource>
+ <lrm_resource id="Public-IP" class="ocf" provider="heartbeat" type="IPaddr">
+ <lrm_rsc_op id="Public-IP_last_0" operation_key="Public-IP_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="3bb21cd55b79809a3ae69333a8981fd4"/>
+ </lrm_resource>
+ <lrm_resource id="Email" class="lsb" type="exim">
+ <lrm_rsc_op id="Email_last_0" operation_key="Email_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="mysql-proxy" class="lsb" type="mysql-proxy">
+ <lrm_rsc_op id="mysql-proxy_last_0" operation_key="mysql-proxy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="mysql-proxy_monitor_10000" operation_key="mysql-proxy_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="10000" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+ </lrm_resource>
+ <lrm_resource id="promotable-rsc" class="ocf" provider="pacemaker" type="Stateful">
+ <lrm_rsc_op id="promotable-rsc_last_0" operation_key="promotable-rsc_promote_0" operation="promote" crm-debug-origin="crm_simulate" transition-key="6:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;6:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="6" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="promotable-rsc_post_notify_start_0" operation_key="promotable-rsc_notify_0" operation="notify" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="promotable-rsc_monitor_10000" operation_key="promotable-rsc_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="4" rc-code="0" op-status="0" interval="10000" exec-time="0" queue-time="0" op-digest="79643b49fcd2a15282788271c56eddb4"/>
+ <lrm_rsc_op id="promotable-rsc_cancel_10000" operation_key="promotable-rsc_cancel_10000" operation="cancel" crm-debug-origin="crm_simulate" transition-key="5:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;5:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="5" rc-code="0" op-status="0" interval="10000" exec-time="0" queue-time="0" op-digest="79643b49fcd2a15282788271c56eddb4"/>
+ <lrm_rsc_op id="promotable-rsc_monitor_5000" operation_key="promotable-rsc_monitor_5000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="7:-1:8:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:8;7:-1:8:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="7" rc-code="8" op-status="0" interval="5000" exec-time="0" queue-time="0" op-digest="79643b49fcd2a15282788271c56eddb4"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dhcpd" class="lsb" type="dhcpd">
+ <lrm_rsc_op id="inactive-dhcpd_last_0" operation_key="inactive-dhcpd_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dummy-1" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="inactive-dummy-1_last_0" operation_key="inactive-dummy-1_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dummy-2" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="inactive-dummy-2_last_0" operation_key="inactive-dummy-2_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.131" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.131_last_0" operation_key="httpd-bundle-ip-192.168.122.131_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="8656419d4ed26465c724189832393477"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-0" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-0_last_0" operation_key="httpd-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="02a1a0b2dfa1cade1893713b56939c55"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.132" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.132_last_0" operation_key="httpd-bundle-ip-192.168.122.132_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="c3d96a2922c2946905f760df9a177cd1"/>
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.132_monitor_60000" operation_key="httpd-bundle-ip-192.168.122.132_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="60000" exec-time="0" queue-time="0" op-digest="547dff7d7a9d7448dd07cde35966f08a"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-1" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-1_last_0" operation_key="httpd-bundle-docker-1_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="2edb33b196e2261c6b3e30ce579e0590"/>
+ <lrm_rsc_op id="httpd-bundle-docker-1_monitor_60000" operation_key="httpd-bundle-docker-1_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="60000" exec-time="0" queue-time="0" op-digest="1ed1cced876b80101858caac9836e113"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.133" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.133_last_0" operation_key="httpd-bundle-ip-192.168.122.133_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f318115a675fd430c293a0dc2705f398"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-2" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-2_last_0" operation_key="httpd-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="6680384ac1363763d9d5cca296be0b2d"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-0" class="ocf" provider="pacemaker" type="remote">
+ <lrm_rsc_op id="httpd-bundle-0_last_0" operation_key="httpd-bundle-0_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="c535429017a9ee0785106fbef2858a41"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-1" class="ocf" provider="pacemaker" type="remote">
+ <lrm_rsc_op id="httpd-bundle-1_last_0" operation_key="httpd-bundle-1_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="791bcda8f6693465cc318cba5302a8df"/>
+ <lrm_rsc_op id="httpd-bundle-1_monitor_30000" operation_key="httpd-bundle-1_monitor_30000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="30000" exec-time="0" queue-time="0" op-digest="7592cb10fa1499772a031adfd385f558"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ <transient_attributes id="2">
+ <instance_attributes id="status-2">
+ <nvpair id="status-2-pingd" name="pingd" value="1000"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="1" uname="cluster01" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+ <lrm id="1">
+ <lrm_resources>
+ <lrm_resource id="ping" type="ping" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="ping_last_0" operation_key="ping_start_0" operation="start" crm-debug-origin="do_update_resource" transition-key="6:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;6:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster01" call-id="17" rc-code="0" op-status="0" interval="0" exec-time="2038" queue-time="0" op-digest="769dd6f95f1494d416ae9dc690960e17"/>
+ <lrm_rsc_op id="ping_monitor_10000" operation_key="ping_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" transition-key="7:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;7:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster01" call-id="18" rc-code="0" op-status="0" interval="10000" exec-time="2034" queue-time="0" op-digest="7beffd8be749b787fabea4aef5df21c9"/>
+ </lrm_resource>
+ <lrm_resource id="Fencing" type="fence_xvm" class="stonith">
+ <lrm_rsc_op id="Fencing_last_0" operation_key="Fencing_start_0" operation="start" crm-debug-origin="do_update_resource" transition-key="12:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;12:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster01" call-id="15" rc-code="0" op-status="0" interval="0" exec-time="36" queue-time="0" op-digest="7da16842ab2328e41f737cab5e5fc89c"/>
+ <lrm_rsc_op id="Fencing_monitor_60000" operation_key="Fencing_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="20:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;20:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" on_node="cluster01" call-id="20" rc-code="0" op-status="0" interval="60000" exec-time="0" queue-time="0" op-digest="d4ee02dc1c7ce16eb0f72e06c2cc9193"/>
+ </lrm_resource>
+ <lrm_resource id="dummy" type="Dummy" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_stop_0" operation="stop" crm-debug-origin="do_update_resource" transition-key="3:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;3:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster01" call-id="16" rc-code="0" op-status="0" interval="0" exec-time="6048" queue-time="0" op-digest="aa0f9b7caf28600646551adb55bd9b95" op-force-restart=" envfile op_sleep passwd state " op-restart-digest="aa0f9b7caf28600646551adb55bd9b95" op-secure-params=" passwd " op-secure-digest="aa0f9b7caf28600646551adb55bd9b95"/>
+ </lrm_resource>
+ <lrm_resource id="Public-IP" class="ocf" provider="heartbeat" type="IPaddr">
+ <lrm_rsc_op id="Public-IP_last_0" operation_key="Public-IP_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="3bb21cd55b79809a3ae69333a8981fd4"/>
+ </lrm_resource>
+ <lrm_resource id="Email" class="lsb" type="exim">
+ <lrm_rsc_op id="Email_last_0" operation_key="Email_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="mysql-proxy" class="lsb" type="mysql-proxy">
+ <lrm_rsc_op id="mysql-proxy_last_0" operation_key="mysql-proxy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="mysql-proxy_monitor_10000" operation_key="mysql-proxy_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="10000" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+ </lrm_resource>
+ <lrm_resource id="promotable-rsc" class="ocf" provider="pacemaker" type="Stateful">
+ <lrm_rsc_op id="promotable-rsc_last_0" operation_key="promotable-rsc_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="promotable-rsc_post_notify_start_0" operation_key="promotable-rsc_notify_0" operation="notify" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="promotable-rsc_monitor_10000" operation_key="promotable-rsc_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="4" rc-code="0" op-status="0" interval="10000" exec-time="0" queue-time="0" op-digest="79643b49fcd2a15282788271c56eddb4"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dhcpd" class="lsb" type="dhcpd">
+ <lrm_rsc_op id="inactive-dhcpd_last_0" operation_key="inactive-dhcpd_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dummy-1" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="inactive-dummy-1_last_0" operation_key="inactive-dummy-1_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dummy-2" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="inactive-dummy-2_last_0" operation_key="inactive-dummy-2_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.131" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.131_last_0" operation_key="httpd-bundle-ip-192.168.122.131_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="8656419d4ed26465c724189832393477"/>
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.131_monitor_60000" operation_key="httpd-bundle-ip-192.168.122.131_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="60000" exec-time="0" queue-time="0" op-digest="dfb531456299aa7b527d4e57805703da"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-0" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-0_last_0" operation_key="httpd-bundle-docker-0_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="02a1a0b2dfa1cade1893713b56939c55"/>
+ <lrm_rsc_op id="httpd-bundle-docker-0_monitor_60000" operation_key="httpd-bundle-docker-0_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="60000" exec-time="0" queue-time="0" op-digest="377a66c466df6e6edf98a6e83cff9c22"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.132" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.132_last_0" operation_key="httpd-bundle-ip-192.168.122.132_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="c3d96a2922c2946905f760df9a177cd1"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-1" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-1_last_0" operation_key="httpd-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="2edb33b196e2261c6b3e30ce579e0590"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.133" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.133_last_0" operation_key="httpd-bundle-ip-192.168.122.133_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f318115a675fd430c293a0dc2705f398"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-2" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-2_last_0" operation_key="httpd-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="6680384ac1363763d9d5cca296be0b2d"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-0" class="ocf" provider="pacemaker" type="remote">
+ <lrm_rsc_op id="httpd-bundle-0_last_0" operation_key="httpd-bundle-0_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="c535429017a9ee0785106fbef2858a41"/>
+ <lrm_rsc_op id="httpd-bundle-0_monitor_30000" operation_key="httpd-bundle-0_monitor_30000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="30000" exec-time="0" queue-time="0" op-digest="6d63e20548871f169e287d33f3711637"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-1" class="ocf" provider="pacemaker" type="remote">
+ <lrm_rsc_op id="httpd-bundle-1_last_0" operation_key="httpd-bundle-1_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="791bcda8f6693465cc318cba5302a8df"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ <transient_attributes id="1">
+ <instance_attributes id="status-1">
+ <nvpair id="status-1-pingd" name="pingd" value="1000"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="httpd-bundle-0" uname="httpd-bundle-0">
+ <lrm id="httpd-bundle-0">
+ <lrm_resources>
+ <lrm_resource id="httpd" class="ocf" provider="heartbeat" type="apache">
+ <lrm_rsc_op id="httpd_last_0" operation_key="httpd_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="1:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;1:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <node_state id="httpd-bundle-1" uname="httpd-bundle-1">
+ <lrm id="httpd-bundle-1">
+ <lrm_resources>
+ <lrm_resource id="httpd" class="ocf" provider="heartbeat" type="apache">
+ <lrm_rsc_op id="httpd_last_0" operation_key="httpd_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="1:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;1:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ </status>
+</cib>
+=#=#=#= End test: Get active shadow instance's contents (copied) - OK (0) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's contents (copied)
+=#=#=#= Begin test: Get active shadow instance's contents (copied) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --display --output-as=xml">
+ <shadow instance="cts-cli">
+ <content><![CDATA[<cib epoch="1" num_updates="173" admin_epoch="1">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
+ <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="2.0.4-1.e97f9675f.git.el7-e97f9675f"/>
+ <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
+ <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="test-cluster"/>
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="true"/>
+ <nvpair id="cib-bootstrap-options-maintenance-mode" name="maintenance-mode" value="false"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes>
+ <node id="1" uname="cluster01">
+ <instance_attributes id="nodes-1">
+ <nvpair id="nodes-1-location" name="location" value="office"/>
+ </instance_attributes>
+ </node>
+ <node id="2" uname="cluster02"/>
+ </nodes>
+ <resources>
+ <clone id="ping-clone">
+ <primitive class="ocf" id="ping" provider="pacemaker" type="ping">
+ <instance_attributes id="ping-instance_attributes">
+ <nvpair id="ping-instance_attributes-dampen" name="dampen" value="5s"/>
+ <nvpair id="ping-instance_attributes-host_list" name="host_list" value="192.168.122.1"/>
+ <nvpair id="ping-instance_attributes-multiplier" name="multiplier" value="1000"/>
+ </instance_attributes>
+ <operations>
+ <op id="ping-monitor-interval-10s" interval="10s" name="monitor" timeout="60s"/>
+ <op id="ping-start-interval-0s" interval="0s" name="start" timeout="60s"/>
+ <op id="ping-stop-interval-0s" interval="0s" name="stop" timeout="20s"/>
+ </operations>
+ </primitive>
+ </clone>
+ <primitive class="stonith" id="Fencing" type="fence_xvm">
+ <instance_attributes id="Fencing-instance_attributes">
+ <nvpair id="Fencing-instance_attributes-ip_family" name="ip_family" value="ipv4"/>
+ </instance_attributes>
+ <operations>
+ <op id="Fencing-monitor-interval-60s" interval="60s" name="monitor"/>
+ </operations>
+ </primitive>
+ <primitive class="ocf" id="dummy" provider="pacemaker" type="Dummy">
+ <instance_attributes id="dummy-instance_attributes">
+ <nvpair id="dummy-instance_attributes-op_sleep" name="op_sleep" value="6"/>
+ </instance_attributes>
+ <operations>
+ <op id="dummy-migrate_from-interval-0s" interval="0s" name="migrate_from" timeout="20s"/>
+ <op id="dummy-migrate_to-interval-0s" interval="0s" name="migrate_to" timeout="20s"/>
+ <op id="dummy-monitor-interval-60s" interval="60s" name="monitor" on-fail="stop"/>
+ <op id="dummy-reload-interval-0s" interval="0s" name="reload" timeout="20s"/>
+ <op id="dummy-start-interval-0s" interval="0s" name="start" timeout="20s"/>
+ <op id="dummy-stop-interval-0s" interval="0s" name="stop" timeout="20s"/>
+ </operations>
+ </primitive>
+ <clone id="inactive-clone">
+ <meta_attributes id="inactive-clone-meta_attributes">
+ <nvpair id="inactive-clone-meta_attributes-target-role" name="target-role" value="stopped"/>
+ </meta_attributes>
+ <primitive id="inactive-dhcpd" class="lsb" type="dhcpd"/>
+ </clone>
+ <group id="inactive-group">
+ <meta_attributes id="inactive-group-meta_attributes">
+ <nvpair id="inactive-group-meta_attributes-target-role" name="target-role" value="stopped"/>
+ </meta_attributes>
+ <primitive class="ocf" id="inactive-dummy-1" provider="pacemaker" type="Dummy"/>
+ <primitive class="ocf" id="inactive-dummy-2" provider="pacemaker" type="Dummy"/>
+ </group>
+ <bundle id="httpd-bundle">
+ <docker image="pcmk:http" replicas="3"/>
+ <network ip-range-start="192.168.122.131" host-netmask="24" host-interface="eth0">
+ <port-mapping id="httpd-port" port="80"/>
+ </network>
+ <storage>
+ <storage-mapping id="httpd-syslog" source-dir="/dev/log" target-dir="/dev/log" options="rw"/>
+ <storage-mapping id="httpd-root" source-dir="/srv/html" target-dir="/var/www/html" options="rw"/>
+ <storage-mapping id="httpd-logs" source-dir-root="/var/log/pacemaker/bundles" target-dir="/etc/httpd/logs" options="rw"/>
+ </storage>
+ <primitive class="ocf" id="httpd" provider="heartbeat" type="apache"/>
+ <meta_attributes id="bundle-meta_attributes">
+ <nvpair id="bundle-meta_attributes-target-role" name="target-role" value="Started"/>
+ </meta_attributes>
+ </bundle>
+ <group id="exim-group">
+ <primitive id="Public-IP" class="ocf" type="IPaddr" provider="heartbeat">
+ <instance_attributes id="params-public-ip">
+ <nvpair id="public-ip-addr" name="ip" value="192.168.1.1"/>
+ </instance_attributes>
+ </primitive>
+ <primitive id="Email" class="lsb" type="exim"/>
+ </group>
+ <clone id="mysql-clone-group">
+ <group id="mysql-group">
+ <primitive id="mysql-proxy" class="lsb" type="mysql-proxy">
+ <operations>
+ <op name="monitor" interval="10s" id="mysql-proxy_mon" timeout="20s"/>
+ </operations>
+ </primitive>
+ </group>
+ </clone>
+ <clone id="promotable-clone">
+ <meta_attributes id="promotable-clone-meta_attributes">
+ <nvpair id="promotable-clone-meta_attributes-promotable" name="promotable" value="true"/>
+ </meta_attributes>
+ <primitive id="promotable-rsc" class="ocf" provider="pacemaker" type="Stateful" description="test_description">
+ <operations id="promotable-rsc-operations">
+ <op id="promotable-rsc-monitor-promoted-5" name="monitor" interval="5" role="Promoted"/>
+ <op id="promotable-rsc-monitor-unpromoted-10" name="monitor" interval="10" role="Unpromoted"/>
+ </operations>
+ </primitive>
+ </clone>
+ </resources>
+ <constraints>
+ <rsc_location id="not-on-cluster1" rsc="dummy" node="cluster01" score="-INFINITY"/>
+ <rsc_location id="loc-promotable-clone" rsc="promotable-clone">
+ <rule id="loc-promotable-clone-rule" role="Promoted" score="10">
+ <expression attribute="#uname" id="loc-promotable-clone-expression" operation="eq" value="cluster02"/>
+ </rule>
+ </rsc_location>
+ </constraints>
+ <tags>
+ <tag id="all-nodes">
+ <obj_ref id="1"/>
+ <obj_ref id="2"/>
+ </tag>
+ <tag id="even-nodes">
+ <obj_ref id="2"/>
+ </tag>
+ <tag id="odd-nodes">
+ <obj_ref id="1"/>
+ </tag>
+ <tag id="inactive-rscs">
+ <obj_ref id="inactive-group"/>
+ <obj_ref id="inactive-clone"/>
+ </tag>
+ <tag id="fencing-rscs">
+ <obj_ref id="Fencing"/>
+ </tag>
+ </tags>
+ <op_defaults>
+ <meta_attributes id="op_defaults-options">
+ <nvpair id="op_defaults-options-timeout" name="timeout" value="5s"/>
+ </meta_attributes>
+ </op_defaults>
+ </configuration>
+ <status>
+ <node_state id="2" uname="cluster02" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+ <lrm id="2">
+ <lrm_resources>
+ <lrm_resource id="ping" type="ping" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="ping_last_0" operation_key="ping_start_0" operation="start" crm-debug-origin="do_update_resource" transition-key="9:0:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;9:0:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster02" call-id="11" rc-code="0" op-status="0" interval="0" exec-time="2044" queue-time="0" op-digest="769dd6f95f1494d416ae9dc690960e17"/>
+ <lrm_rsc_op id="ping_monitor_10000" operation_key="ping_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" transition-key="10:0:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;10:0:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster02" call-id="12" rc-code="0" op-status="0" interval="10000" exec-time="2031" queue-time="0" op-digest="7beffd8be749b787fabea4aef5df21c9"/>
+ </lrm_resource>
+ <lrm_resource id="Fencing" type="fence_xvm" class="stonith">
+ <lrm_rsc_op id="Fencing_last_0" operation_key="Fencing_monitor_0" operation="monitor" crm-debug-origin="do_update_resource" transition-key="5:0:7:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:7;5:0:7:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster02" call-id="10" rc-code="7" op-status="0" interval="0" exec-time="3" queue-time="0" op-digest="7da16842ab2328e41f737cab5e5fc89c"/>
+ </lrm_resource>
+ <lrm_resource id="dummy" type="Dummy" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_start_0" operation="start" crm-debug-origin="do_update_resource" transition-key="14:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;14:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster02" call-id="18" rc-code="0" op-status="0" interval="0" exec-time="6020" queue-time="0" op-digest="aa0f9b7caf28600646551adb55bd9b95" op-force-restart=" envfile op_sleep passwd state " op-restart-digest="aa0f9b7caf28600646551adb55bd9b95" op-secure-params=" passwd " op-secure-digest="aa0f9b7caf28600646551adb55bd9b95"/>
+ <lrm_rsc_op id="dummy_monitor_60000" operation_key="dummy_monitor_60000" operation="monitor" crm-debug-origin="do_update_resource" transition-key="16:2:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;16:2:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster02" call-id="19" rc-code="0" op-status="0" interval="60000" exec-time="6015" queue-time="0" op-digest="ccfee4afbb0618907016c9bef210b8b6" op-secure-params=" passwd " op-secure-digest="aa0f9b7caf28600646551adb55bd9b95"/>
+ </lrm_resource>
+ <lrm_resource id="Public-IP" class="ocf" provider="heartbeat" type="IPaddr">
+ <lrm_rsc_op id="Public-IP_last_0" operation_key="Public-IP_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="3bb21cd55b79809a3ae69333a8981fd4"/>
+ </lrm_resource>
+ <lrm_resource id="Email" class="lsb" type="exim">
+ <lrm_rsc_op id="Email_last_0" operation_key="Email_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="mysql-proxy" class="lsb" type="mysql-proxy">
+ <lrm_rsc_op id="mysql-proxy_last_0" operation_key="mysql-proxy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="mysql-proxy_monitor_10000" operation_key="mysql-proxy_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="10000" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+ </lrm_resource>
+ <lrm_resource id="promotable-rsc" class="ocf" provider="pacemaker" type="Stateful">
+ <lrm_rsc_op id="promotable-rsc_last_0" operation_key="promotable-rsc_promote_0" operation="promote" crm-debug-origin="crm_simulate" transition-key="6:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;6:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="6" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="promotable-rsc_post_notify_start_0" operation_key="promotable-rsc_notify_0" operation="notify" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="promotable-rsc_monitor_10000" operation_key="promotable-rsc_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="4" rc-code="0" op-status="0" interval="10000" exec-time="0" queue-time="0" op-digest="79643b49fcd2a15282788271c56eddb4"/>
+ <lrm_rsc_op id="promotable-rsc_cancel_10000" operation_key="promotable-rsc_cancel_10000" operation="cancel" crm-debug-origin="crm_simulate" transition-key="5:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;5:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="5" rc-code="0" op-status="0" interval="10000" exec-time="0" queue-time="0" op-digest="79643b49fcd2a15282788271c56eddb4"/>
+ <lrm_rsc_op id="promotable-rsc_monitor_5000" operation_key="promotable-rsc_monitor_5000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="7:-1:8:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:8;7:-1:8:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="7" rc-code="8" op-status="0" interval="5000" exec-time="0" queue-time="0" op-digest="79643b49fcd2a15282788271c56eddb4"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dhcpd" class="lsb" type="dhcpd">
+ <lrm_rsc_op id="inactive-dhcpd_last_0" operation_key="inactive-dhcpd_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dummy-1" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="inactive-dummy-1_last_0" operation_key="inactive-dummy-1_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dummy-2" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="inactive-dummy-2_last_0" operation_key="inactive-dummy-2_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.131" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.131_last_0" operation_key="httpd-bundle-ip-192.168.122.131_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="8656419d4ed26465c724189832393477"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-0" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-0_last_0" operation_key="httpd-bundle-docker-0_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="02a1a0b2dfa1cade1893713b56939c55"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.132" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.132_last_0" operation_key="httpd-bundle-ip-192.168.122.132_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="c3d96a2922c2946905f760df9a177cd1"/>
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.132_monitor_60000" operation_key="httpd-bundle-ip-192.168.122.132_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="60000" exec-time="0" queue-time="0" op-digest="547dff7d7a9d7448dd07cde35966f08a"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-1" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-1_last_0" operation_key="httpd-bundle-docker-1_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="2edb33b196e2261c6b3e30ce579e0590"/>
+ <lrm_rsc_op id="httpd-bundle-docker-1_monitor_60000" operation_key="httpd-bundle-docker-1_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="60000" exec-time="0" queue-time="0" op-digest="1ed1cced876b80101858caac9836e113"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.133" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.133_last_0" operation_key="httpd-bundle-ip-192.168.122.133_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f318115a675fd430c293a0dc2705f398"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-2" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-2_last_0" operation_key="httpd-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="6680384ac1363763d9d5cca296be0b2d"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-0" class="ocf" provider="pacemaker" type="remote">
+ <lrm_rsc_op id="httpd-bundle-0_last_0" operation_key="httpd-bundle-0_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="c535429017a9ee0785106fbef2858a41"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-1" class="ocf" provider="pacemaker" type="remote">
+ <lrm_rsc_op id="httpd-bundle-1_last_0" operation_key="httpd-bundle-1_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="791bcda8f6693465cc318cba5302a8df"/>
+ <lrm_rsc_op id="httpd-bundle-1_monitor_30000" operation_key="httpd-bundle-1_monitor_30000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="30000" exec-time="0" queue-time="0" op-digest="7592cb10fa1499772a031adfd385f558"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ <transient_attributes id="2">
+ <instance_attributes id="status-2">
+ <nvpair id="status-2-pingd" name="pingd" value="1000"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="1" uname="cluster01" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member">
+ <lrm id="1">
+ <lrm_resources>
+ <lrm_resource id="ping" type="ping" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="ping_last_0" operation_key="ping_start_0" operation="start" crm-debug-origin="do_update_resource" transition-key="6:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;6:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster01" call-id="17" rc-code="0" op-status="0" interval="0" exec-time="2038" queue-time="0" op-digest="769dd6f95f1494d416ae9dc690960e17"/>
+ <lrm_rsc_op id="ping_monitor_10000" operation_key="ping_monitor_10000" operation="monitor" crm-debug-origin="do_update_resource" transition-key="7:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;7:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster01" call-id="18" rc-code="0" op-status="0" interval="10000" exec-time="2034" queue-time="0" op-digest="7beffd8be749b787fabea4aef5df21c9"/>
+ </lrm_resource>
+ <lrm_resource id="Fencing" type="fence_xvm" class="stonith">
+ <lrm_rsc_op id="Fencing_last_0" operation_key="Fencing_start_0" operation="start" crm-debug-origin="do_update_resource" transition-key="12:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;12:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster01" call-id="15" rc-code="0" op-status="0" interval="0" exec-time="36" queue-time="0" op-digest="7da16842ab2328e41f737cab5e5fc89c"/>
+ <lrm_rsc_op id="Fencing_monitor_60000" operation_key="Fencing_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="20:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;20:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" on_node="cluster01" call-id="20" rc-code="0" op-status="0" interval="60000" exec-time="0" queue-time="0" op-digest="d4ee02dc1c7ce16eb0f72e06c2cc9193"/>
+ </lrm_resource>
+ <lrm_resource id="dummy" type="Dummy" class="ocf" provider="pacemaker">
+ <lrm_rsc_op id="dummy_last_0" operation_key="dummy_stop_0" operation="stop" crm-debug-origin="do_update_resource" transition-key="3:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" transition-magic="0:0;3:1:0:4a9e64d6-e1dd-4395-917c-1596312eafe4" exit-reason="" on_node="cluster01" call-id="16" rc-code="0" op-status="0" interval="0" exec-time="6048" queue-time="0" op-digest="aa0f9b7caf28600646551adb55bd9b95" op-force-restart=" envfile op_sleep passwd state " op-restart-digest="aa0f9b7caf28600646551adb55bd9b95" op-secure-params=" passwd " op-secure-digest="aa0f9b7caf28600646551adb55bd9b95"/>
+ </lrm_resource>
+ <lrm_resource id="Public-IP" class="ocf" provider="heartbeat" type="IPaddr">
+ <lrm_rsc_op id="Public-IP_last_0" operation_key="Public-IP_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="3bb21cd55b79809a3ae69333a8981fd4"/>
+ </lrm_resource>
+ <lrm_resource id="Email" class="lsb" type="exim">
+ <lrm_rsc_op id="Email_last_0" operation_key="Email_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="mysql-proxy" class="lsb" type="mysql-proxy">
+ <lrm_rsc_op id="mysql-proxy_last_0" operation_key="mysql-proxy_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="mysql-proxy_monitor_10000" operation_key="mysql-proxy_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="10000" exec-time="0" queue-time="0" op-digest="4811cef7f7f94e3a35a70be7916cb2fd"/>
+ </lrm_resource>
+ <lrm_resource id="promotable-rsc" class="ocf" provider="pacemaker" type="Stateful">
+ <lrm_rsc_op id="promotable-rsc_last_0" operation_key="promotable-rsc_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="promotable-rsc_post_notify_start_0" operation_key="promotable-rsc_notify_0" operation="notify" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ <lrm_rsc_op id="promotable-rsc_monitor_10000" operation_key="promotable-rsc_monitor_10000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;4:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="4" rc-code="0" op-status="0" interval="10000" exec-time="0" queue-time="0" op-digest="79643b49fcd2a15282788271c56eddb4"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dhcpd" class="lsb" type="dhcpd">
+ <lrm_rsc_op id="inactive-dhcpd_last_0" operation_key="inactive-dhcpd_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dummy-1" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="inactive-dummy-1_last_0" operation_key="inactive-dummy-1_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="inactive-dummy-2" class="ocf" provider="pacemaker" type="Dummy">
+ <lrm_rsc_op id="inactive-dummy-2_last_0" operation_key="inactive-dummy-2_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.131" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.131_last_0" operation_key="httpd-bundle-ip-192.168.122.131_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="8656419d4ed26465c724189832393477"/>
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.131_monitor_60000" operation_key="httpd-bundle-ip-192.168.122.131_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="60000" exec-time="0" queue-time="0" op-digest="dfb531456299aa7b527d4e57805703da"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-0" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-0_last_0" operation_key="httpd-bundle-docker-0_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="02a1a0b2dfa1cade1893713b56939c55"/>
+ <lrm_rsc_op id="httpd-bundle-docker-0_monitor_60000" operation_key="httpd-bundle-docker-0_monitor_60000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="60000" exec-time="0" queue-time="0" op-digest="377a66c466df6e6edf98a6e83cff9c22"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.132" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.132_last_0" operation_key="httpd-bundle-ip-192.168.122.132_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="c3d96a2922c2946905f760df9a177cd1"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-1" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-1_last_0" operation_key="httpd-bundle-docker-1_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="2edb33b196e2261c6b3e30ce579e0590"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-ip-192.168.122.133" class="ocf" provider="heartbeat" type="IPaddr2">
+ <lrm_rsc_op id="httpd-bundle-ip-192.168.122.133_last_0" operation_key="httpd-bundle-ip-192.168.122.133_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f318115a675fd430c293a0dc2705f398"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-docker-2" class="ocf" provider="heartbeat" type="docker">
+ <lrm_rsc_op id="httpd-bundle-docker-2_last_0" operation_key="httpd-bundle-docker-2_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="6680384ac1363763d9d5cca296be0b2d"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-0" class="ocf" provider="pacemaker" type="remote">
+ <lrm_rsc_op id="httpd-bundle-0_last_0" operation_key="httpd-bundle-0_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;2:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="2" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="c535429017a9ee0785106fbef2858a41"/>
+ <lrm_rsc_op id="httpd-bundle-0_monitor_30000" operation_key="httpd-bundle-0_monitor_30000" operation="monitor" crm-debug-origin="crm_simulate" transition-key="3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;3:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="3" rc-code="0" op-status="0" interval="30000" exec-time="0" queue-time="0" op-digest="6d63e20548871f169e287d33f3711637"/>
+ </lrm_resource>
+ <lrm_resource id="httpd-bundle-1" class="ocf" provider="pacemaker" type="remote">
+ <lrm_rsc_op id="httpd-bundle-1_last_0" operation_key="httpd-bundle-1_monitor_0" operation="monitor" crm-debug-origin="crm_simulate" transition-key="1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:7;1:-1:7:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="7" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="791bcda8f6693465cc318cba5302a8df"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ <transient_attributes id="1">
+ <instance_attributes id="status-1">
+ <nvpair id="status-1-pingd" name="pingd" value="1000"/>
+ </instance_attributes>
+ </transient_attributes>
+ </node_state>
+ <node_state id="httpd-bundle-0" uname="httpd-bundle-0">
+ <lrm id="httpd-bundle-0">
+ <lrm_resources>
+ <lrm_resource id="httpd" class="ocf" provider="heartbeat" type="apache">
+ <lrm_rsc_op id="httpd_last_0" operation_key="httpd_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="1:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;1:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ <node_state id="httpd-bundle-1" uname="httpd-bundle-1">
+ <lrm id="httpd-bundle-1">
+ <lrm_resources>
+ <lrm_resource id="httpd" class="ocf" provider="heartbeat" type="apache">
+ <lrm_rsc_op id="httpd_last_0" operation_key="httpd_start_0" operation="start" crm-debug-origin="crm_simulate" transition-key="1:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" transition-magic="0:0;1:-1:0:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" exit-reason="" call-id="1" rc-code="0" op-status="0" interval="0" exec-time="0" queue-time="0" op-digest="f2317cad3d54cec5d7d7aa7d0bf35cf8"/>
+ </lrm_resource>
+ </lrm_resources>
+ </lrm>
+ </node_state>
+ </status>
+</cib>
+]]></content>
+ </shadow>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Get active shadow instance's contents (copied) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's contents (copied) (XML)
+=#=#=#= Begin test: Get active shadow instance's diff (copied) =#=#=#=
+=#=#=#= End test: Get active shadow instance's diff (copied) - OK (0) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's diff (copied)
+=#=#=#= Begin test: Get active shadow instance's diff (copied) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --diff --output-as=xml">
+ <shadow instance="cts-cli"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Get active shadow instance's diff (copied) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's diff (copied) (XML)
+=#=#=#= Begin test: Get active shadow instance's diff (after changes) =#=#=#=
+Diff: --- 1.1.173 2
+Diff: +++ 1.4.1 (null)
+-- /cib/configuration/op_defaults
++ /cib: @epoch=4, @num_updates=1
++ /cib/configuration/resources/primitive[@id='dummy']: @description=desc
+++ /cib/configuration/resources: <primitive id="dummy1" class="ocf" provider="pacemaker" type="Dummy"/>
+++ /cib/status: <node_state id="3" uname="cluster03" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member"/>
+=#=#=#= End test: Get active shadow instance's diff (after changes) - Error occurred (1) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's diff (after changes)
+=#=#=#= Begin test: Get active shadow instance's diff (after changes) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --diff --output-as=xml">
+ <shadow instance="cts-cli">
+ <xml-patchset><![CDATA[<diff format="2">
+ <version>
+ <source admin_epoch="1" epoch="1" num_updates="173"/>
+ <target admin_epoch="1" epoch="4" num_updates="1"/>
+ </version>
+ <change operation="delete" path="/cib/configuration/op_defaults"/>
+ <change operation="modify" path="/cib">
+ <change-list>
+ <change-attr name="epoch" operation="set" value="4"/>
+ <change-attr name="num_updates" operation="set" value="1"/>
+ </change-list>
+ <change-result>
+ <cib epoch="4" num_updates="1" admin_epoch="1"/>
+ </change-result>
+ </change>
+ <change operation="modify" path="/cib/configuration/resources/primitive[@id='dummy']">
+ <change-list>
+ <change-attr name="description" operation="set" value="desc"/>
+ </change-list>
+ <change-result>
+ <primitive class="ocf" id="dummy" provider="pacemaker" type="Dummy" description="desc"/>
+ </change-result>
+ </change>
+ <change operation="create" path="/cib/configuration/resources" position="9">
+ <primitive id="dummy1" class="ocf" provider="pacemaker" type="Dummy"/>
+ </change>
+ <change operation="create" path="/cib/status" position="4">
+ <node_state id="3" uname="cluster03" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member"/>
+ </change>
+</diff>
+]]></xml-patchset>
+ </shadow>
+ <status code="1" message="Error occurred"/>
+</pacemaker-result>
+=#=#=#= End test: Get active shadow instance's diff (after changes) (XML) - Error occurred (1) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's diff (after changes) (XML)
+=#=#=#= Begin test: Commit shadow instance =#=#=#=
+crm_shadow: The commit command overwrites the active cluster configuration.
+To prevent accidental destruction of the cluster, the --force flag is required in order to proceed.
+=#=#=#= End test: Commit shadow instance - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance
+=#=#=#= Begin test: Commit shadow instance (force) =#=#=#=
+=#=#=#= End test: Commit shadow instance (force) - OK (0) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance (force)
+=#=#=#= Begin test: Get active shadow instance's diff (after commit) =#=#=#=
+Diff: --- 1.2.0 2
+Diff: +++ 1.4.1 (null)
++ /cib: @epoch=4, @num_updates=1
+++ /cib/status: <node_state id="3" uname="cluster03" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member"/>
+=#=#=#= End test: Get active shadow instance's diff (after commit) - Error occurred (1) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's diff (after commit)
+=#=#=#= Begin test: Commit shadow instance (force) (all) =#=#=#=
+=#=#=#= End test: Commit shadow instance (force) (all) - OK (0) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance (force) (all)
+=#=#=#= Begin test: Get active shadow instance's diff (after commit all) =#=#=#=
+Diff: --- 1.4.2 2
+Diff: +++ 1.4.1 (null)
++ /cib: @num_updates=1
+=#=#=#= End test: Get active shadow instance's diff (after commit all) - Error occurred (1) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's diff (after commit all)
+=#=#=#= Begin test: Commit shadow instance (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --commit cts-cli --output-as=xml">
+ <status code="64" message="Incorrect usage">
+ <errors>
+ <error>crm_shadow: The commit command overwrites the active cluster configuration.
+To prevent accidental destruction of the cluster, the --force flag is required in order to proceed.</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Commit shadow instance (XML) - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance (XML)
+=#=#=#= Begin test: Commit shadow instance (force) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --commit cts-cli --force --output-as=xml">
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Commit shadow instance (force) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance (force) (XML)
+=#=#=#= Begin test: Get active shadow instance's diff (after commit) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --diff --output-as=xml">
+ <shadow instance="cts-cli">
+ <xml-patchset><![CDATA[<diff format="2">
+ <version>
+ <source admin_epoch="1" epoch="2" num_updates="0"/>
+ <target admin_epoch="1" epoch="4" num_updates="1"/>
+ </version>
+ <change operation="modify" path="/cib">
+ <change-list>
+ <change-attr name="epoch" operation="set" value="4"/>
+ <change-attr name="num_updates" operation="set" value="1"/>
+ </change-list>
+ <change-result>
+ <cib epoch="4" num_updates="1" admin_epoch="1"/>
+ </change-result>
+ </change>
+ <change operation="create" path="/cib/status" position="4">
+ <node_state id="3" uname="cluster03" in_ccm="true" crmd="online" crm-debug-origin="do_update_resource" join="member" expected="member"/>
+ </change>
+</diff>
+]]></xml-patchset>
+ </shadow>
+ <status code="1" message="Error occurred"/>
+</pacemaker-result>
+=#=#=#= End test: Get active shadow instance's diff (after commit) (XML) - Error occurred (1) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's diff (after commit) (XML)
+=#=#=#= Begin test: Commit shadow instance (force) (all) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --commit cts-cli --force --all --output-as=xml">
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Commit shadow instance (force) (all) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance (force) (all) (XML)
+=#=#=#= Begin test: Get active shadow instance's diff (after commit all) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --diff --output-as=xml">
+ <shadow instance="cts-cli">
+ <xml-patchset><![CDATA[<diff format="2">
+ <version>
+ <source admin_epoch="1" epoch="4" num_updates="2"/>
+ <target admin_epoch="1" epoch="4" num_updates="1"/>
+ </version>
+ <change operation="modify" path="/cib">
+ <change-list>
+ <change-attr name="num_updates" operation="set" value="1"/>
+ </change-list>
+ <change-result>
+ <cib epoch="4" num_updates="1" admin_epoch="1"/>
+ </change-result>
+ </change>
+</diff>
+]]></xml-patchset>
+ </shadow>
+ <status code="1" message="Error occurred"/>
+</pacemaker-result>
+=#=#=#= End test: Get active shadow instance's diff (after commit all) (XML) - Error occurred (1) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's diff (after commit all) (XML)
+=#=#=#= Begin test: Commit shadow instance (no active instance) =#=#=#=
+crm_shadow: The commit command overwrites the active cluster configuration.
+To prevent accidental destruction of the cluster, the --force flag is required in order to proceed.
+=#=#=#= End test: Commit shadow instance (no active instance) - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance (no active instance)
+=#=#=#= Begin test: Commit shadow instance (no active instance) (force) =#=#=#=
+=#=#=#= End test: Commit shadow instance (no active instance) (force) - OK (0) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance (no active instance) (force)
+=#=#=#= Begin test: Commit shadow instance (no active instance) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --commit cts-cli --output-as=xml">
+ <status code="64" message="Incorrect usage">
+ <errors>
+ <error>crm_shadow: The commit command overwrites the active cluster configuration.
+To prevent accidental destruction of the cluster, the --force flag is required in order to proceed.</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Commit shadow instance (no active instance) (XML) - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance (no active instance) (XML)
+=#=#=#= Begin test: Commit shadow instance (no active instance) (force) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --commit cts-cli --force --output-as=xml">
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Commit shadow instance (no active instance) (force) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance (no active instance) (force) (XML)
+=#=#=#= Begin test: Commit shadow instance (mismatch) =#=#=#=
+crm_shadow: The commit command overwrites the active cluster configuration.
+Additionally, the supplied shadow instance (cts-cli) is not the same as the active one (nonexistent_shadow).
+To prevent accidental destruction of the cluster, the --force flag is required in order to proceed.
+=#=#=#= End test: Commit shadow instance (mismatch) - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance (mismatch)
+=#=#=#= Begin test: Commit shadow instance (mismatch) (force) =#=#=#=
+=#=#=#= End test: Commit shadow instance (mismatch) (force) - OK (0) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance (mismatch) (force)
+=#=#=#= Begin test: Commit shadow instance (mismatch) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --commit cts-cli --output-as=xml">
+ <status code="64" message="Incorrect usage">
+ <errors>
+ <error>crm_shadow: The commit command overwrites the active cluster configuration.
+Additionally, the supplied shadow instance (cts-cli) is not the same as the active one (nonexistent_shadow).
+To prevent accidental destruction of the cluster, the --force flag is required in order to proceed.</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Commit shadow instance (mismatch) (XML) - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance (mismatch) (XML)
+=#=#=#= Begin test: Commit shadow instance (mismatch) (force) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --commit cts-cli --force --output-as=xml">
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Commit shadow instance (mismatch) (force) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance (mismatch) (force) (XML)
+=#=#=#= Begin test: Commit shadow instance (nonexistent shadow file) =#=#=#=
+crm_shadow: The commit command overwrites the active cluster configuration.
+To prevent accidental destruction of the cluster, the --force flag is required in order to proceed.
+=#=#=#= End test: Commit shadow instance (nonexistent shadow file) - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance (nonexistent shadow file)
+=#=#=#= Begin test: Commit shadow instance (nonexistent shadow file) (force) =#=#=#=
+crm_shadow: Could not access shadow instance 'nonexistent_shadow': No such file or directory
+=#=#=#= End test: Commit shadow instance (nonexistent shadow file) (force) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance (nonexistent shadow file) (force)
+=#=#=#= Begin test: Get active shadow instance's diff (nonexistent shadow file) =#=#=#=
+crm_shadow: Could not access shadow instance 'nonexistent_shadow': No such file or directory
+=#=#=#= End test: Get active shadow instance's diff (nonexistent shadow file) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's diff (nonexistent shadow file)
+=#=#=#= Begin test: Commit shadow instance (nonexistent shadow file) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --commit nonexistent_shadow --output-as=xml">
+ <status code="64" message="Incorrect usage">
+ <errors>
+ <error>crm_shadow: The commit command overwrites the active cluster configuration.
+To prevent accidental destruction of the cluster, the --force flag is required in order to proceed.</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Commit shadow instance (nonexistent shadow file) (XML) - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance (nonexistent shadow file) (XML)
+=#=#=#= Begin test: Commit shadow instance (nonexistent shadow file) (force) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --commit nonexistent_shadow --force --output-as=xml">
+ <status code="105" message="No such object">
+ <errors>
+ <error>crm_shadow: Could not access shadow instance 'nonexistent_shadow': No such file or directory</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Commit shadow instance (nonexistent shadow file) (force) (XML) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance (nonexistent shadow file) (force) (XML)
+=#=#=#= Begin test: Get active shadow instance's diff (nonexistent shadow file) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --diff --output-as=xml">
+ <status code="105" message="No such object">
+ <errors>
+ <error>crm_shadow: Could not access shadow instance 'nonexistent_shadow': No such file or directory</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Get active shadow instance's diff (nonexistent shadow file) (XML) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's diff (nonexistent shadow file) (XML)
+=#=#=#= Begin test: Commit shadow instance (nonexistent CIB file) =#=#=#=
+crm_shadow: The commit command overwrites the active cluster configuration.
+To prevent accidental destruction of the cluster, the --force flag is required in order to proceed.
+=#=#=#= End test: Commit shadow instance (nonexistent CIB file) - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance (nonexistent CIB file)
+=#=#=#= Begin test: Commit shadow instance (nonexistent CIB file) (force) =#=#=#=
+crm_shadow: Could not connect to CIB: No such device or address
+=#=#=#= End test: Commit shadow instance (nonexistent CIB file) (force) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance (nonexistent CIB file) (force)
+=#=#=#= Begin test: Get active shadow instance's diff (nonexistent CIB file) =#=#=#=
+crm_shadow: Could not connect to CIB: No such device or address
+=#=#=#= End test: Get active shadow instance's diff (nonexistent CIB file) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's diff (nonexistent CIB file)
+=#=#=#= Begin test: Commit shadow instance (nonexistent CIB file) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --commit cts-cli --output-as=xml">
+ <status code="64" message="Incorrect usage">
+ <errors>
+ <error>crm_shadow: The commit command overwrites the active cluster configuration.
+To prevent accidental destruction of the cluster, the --force flag is required in order to proceed.</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Commit shadow instance (nonexistent CIB file) (XML) - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance (nonexistent CIB file) (XML)
+=#=#=#= Begin test: Commit shadow instance (nonexistent CIB file) (force) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --commit cts-cli --force --output-as=xml">
+ <status code="105" message="No such object">
+ <errors>
+ <error>crm_shadow: Could not connect to CIB: No such device or address</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Commit shadow instance (nonexistent CIB file) (force) (XML) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Commit shadow instance (nonexistent CIB file) (force) (XML)
+=#=#=#= Begin test: Get active shadow instance's diff (nonexistent CIB file) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --diff --output-as=xml">
+ <status code="105" message="No such object">
+ <errors>
+ <error>crm_shadow: Could not connect to CIB: No such device or address</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Get active shadow instance's diff (nonexistent CIB file) (XML) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's diff (nonexistent CIB file) (XML)
+=#=#=#= Begin test: Delete shadow instance =#=#=#=
+crm_shadow: The delete command removes the specified shadow file.
+To prevent accidental destruction of the shadow file, the --force flag is required in order to proceed.
+=#=#=#= End test: Delete shadow instance - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Delete shadow instance
+=#=#=#= Begin test: Delete shadow instance (force) =#=#=#=
+Remember to unset the CIB_shadow variable by entering the following into your shell:
+ unset CIB_shadow
+=#=#=#= End test: Delete shadow instance (force) - OK (0) =#=#=#=
+* Passed: crm_shadow - Delete shadow instance (force)
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= Begin test: Delete shadow instance (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --delete cts-cli --output-as=xml">
+ <status code="64" message="Incorrect usage">
+ <errors>
+ <error>crm_shadow: The delete command removes the specified shadow file.
+To prevent accidental destruction of the shadow file, the --force flag is required in order to proceed.</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Delete shadow instance (XML) - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Delete shadow instance (XML)
+=#=#=#= Begin test: Delete shadow instance (force) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --delete cts-cli --force --output-as=xml">
+ <instruction>Remember to unset the CIB_shadow variable by entering the following into your shell:
+ unset CIB_shadow</instruction>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Delete shadow instance (force) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Delete shadow instance (force) (XML)
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= Begin test: Delete shadow instance (no active instance) =#=#=#=
+crm_shadow: The delete command removes the specified shadow file.
+To prevent accidental destruction of the shadow file, the --force flag is required in order to proceed.
+=#=#=#= End test: Delete shadow instance (no active instance) - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Delete shadow instance (no active instance)
+=#=#=#= Begin test: Delete shadow instance (no active instance) (force) =#=#=#=
+=#=#=#= End test: Delete shadow instance (no active instance) (force) - OK (0) =#=#=#=
+* Passed: crm_shadow - Delete shadow instance (no active instance) (force)
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= Begin test: Delete shadow instance (no active instance) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --delete cts-cli --output-as=xml">
+ <status code="64" message="Incorrect usage">
+ <errors>
+ <error>crm_shadow: The delete command removes the specified shadow file.
+To prevent accidental destruction of the shadow file, the --force flag is required in order to proceed.</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Delete shadow instance (no active instance) (XML) - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Delete shadow instance (no active instance) (XML)
+=#=#=#= Begin test: Delete shadow instance (no active instance) (force) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --delete cts-cli --force --output-as=xml">
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Delete shadow instance (no active instance) (force) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Delete shadow instance (no active instance) (force) (XML)
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= Begin test: Delete shadow instance (mismatch) =#=#=#=
+crm_shadow: The delete command removes the specified shadow file.
+Additionally, the supplied shadow instance (cts-cli) is not the same as the active one (nonexistent_shadow).
+To prevent accidental destruction of the shadow file, the --force flag is required in order to proceed.
+=#=#=#= End test: Delete shadow instance (mismatch) - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Delete shadow instance (mismatch)
+=#=#=#= Begin test: Delete shadow instance (mismatch) (force) =#=#=#=
+=#=#=#= End test: Delete shadow instance (mismatch) (force) - OK (0) =#=#=#=
+* Passed: crm_shadow - Delete shadow instance (mismatch) (force)
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= Begin test: Delete shadow instance (mismatch) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --delete cts-cli --output-as=xml">
+ <status code="64" message="Incorrect usage">
+ <errors>
+ <error>crm_shadow: The delete command removes the specified shadow file.
+Additionally, the supplied shadow instance (cts-cli) is not the same as the active one (nonexistent_shadow).
+To prevent accidental destruction of the shadow file, the --force flag is required in order to proceed.</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Delete shadow instance (mismatch) (XML) - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Delete shadow instance (mismatch) (XML)
+=#=#=#= Begin test: Delete shadow instance (mismatch) (force) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --delete cts-cli --force --output-as=xml">
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Delete shadow instance (mismatch) (force) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Delete shadow instance (mismatch) (force) (XML)
+=#=#=#= Begin test: Delete shadow instance (nonexistent shadow file) =#=#=#=
+crm_shadow: The delete command removes the specified shadow file.
+To prevent accidental destruction of the shadow file, the --force flag is required in order to proceed.
+=#=#=#= End test: Delete shadow instance (nonexistent shadow file) - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Delete shadow instance (nonexistent shadow file)
+=#=#=#= Begin test: Delete shadow instance (nonexistent shadow file) (force) =#=#=#=
+Remember to unset the CIB_shadow variable by entering the following into your shell:
+ unset CIB_shadow
+=#=#=#= End test: Delete shadow instance (nonexistent shadow file) (force) - OK (0) =#=#=#=
+* Passed: crm_shadow - Delete shadow instance (nonexistent shadow file) (force)
+=#=#=#= Begin test: Delete shadow instance (nonexistent shadow file) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --delete nonexistent_shadow --output-as=xml">
+ <status code="64" message="Incorrect usage">
+ <errors>
+ <error>crm_shadow: The delete command removes the specified shadow file.
+To prevent accidental destruction of the shadow file, the --force flag is required in order to proceed.</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Delete shadow instance (nonexistent shadow file) (XML) - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Delete shadow instance (nonexistent shadow file) (XML)
+=#=#=#= Begin test: Delete shadow instance (nonexistent shadow file) (force) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --delete nonexistent_shadow --force --output-as=xml">
+ <instruction>Remember to unset the CIB_shadow variable by entering the following into your shell:
+ unset CIB_shadow</instruction>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Delete shadow instance (nonexistent shadow file) (force) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Delete shadow instance (nonexistent shadow file) (force) (XML)
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= Begin test: Delete shadow instance (nonexistent CIB file) =#=#=#=
+crm_shadow: The delete command removes the specified shadow file.
+To prevent accidental destruction of the shadow file, the --force flag is required in order to proceed.
+=#=#=#= End test: Delete shadow instance (nonexistent CIB file) - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Delete shadow instance (nonexistent CIB file)
+=#=#=#= Begin test: Delete shadow instance (nonexistent CIB file) (force) =#=#=#=
+Remember to unset the CIB_shadow variable by entering the following into your shell:
+ unset CIB_shadow
+=#=#=#= End test: Delete shadow instance (nonexistent CIB file) (force) - OK (0) =#=#=#=
+* Passed: crm_shadow - Delete shadow instance (nonexistent CIB file) (force)
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= Begin test: Delete shadow instance (nonexistent CIB file) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --delete cts-cli --output-as=xml">
+ <status code="64" message="Incorrect usage">
+ <errors>
+ <error>crm_shadow: The delete command removes the specified shadow file.
+To prevent accidental destruction of the shadow file, the --force flag is required in order to proceed.</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Delete shadow instance (nonexistent CIB file) (XML) - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Delete shadow instance (nonexistent CIB file) (XML)
+=#=#=#= Begin test: Delete shadow instance (nonexistent CIB file) (force) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --delete cts-cli --force --output-as=xml">
+ <instruction>Remember to unset the CIB_shadow variable by entering the following into your shell:
+ unset CIB_shadow</instruction>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Delete shadow instance (nonexistent CIB file) (force) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Delete shadow instance (nonexistent CIB file) (force) (XML)
+=#=#=#= Begin test: Create copied shadow instance (no active instance) =#=#=#=
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= End test: Create copied shadow instance (no active instance) - OK (0) =#=#=#=
+* Passed: crm_shadow - Create copied shadow instance (no active instance)
+=#=#=#= Begin test: Create copied shadow instance (no active instance) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --create cts-cli --batch --output-as=xml">
+ <instruction>A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli</instruction>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Create copied shadow instance (no active instance) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Create copied shadow instance (no active instance) (XML)
+=#=#=#= Begin test: Create copied shadow instance (mismatch) =#=#=#=
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= End test: Create copied shadow instance (mismatch) - OK (0) =#=#=#=
+* Passed: crm_shadow - Create copied shadow instance (mismatch)
+=#=#=#= Begin test: Create copied shadow instance (mismatch) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --create cts-cli --batch --output-as=xml">
+ <instruction>A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli</instruction>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Create copied shadow instance (mismatch) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Create copied shadow instance (mismatch) (XML)
+=#=#=#= Begin test: Create copied shadow instance (file already exists) =#=#=#=
+crm_shadow: A shadow instance 'cts-cli' already exists.
+To prevent accidental destruction of the shadow file, the --force flag is required in order to proceed.
+=#=#=#= End test: Create copied shadow instance (file already exists) - Cannot create output file (73) =#=#=#=
+* Passed: crm_shadow - Create copied shadow instance (file already exists)
+=#=#=#= Begin test: Create copied shadow instance (file already exists) (force) =#=#=#=
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= End test: Create copied shadow instance (file already exists) (force) - OK (0) =#=#=#=
+* Passed: crm_shadow - Create copied shadow instance (file already exists) (force)
+=#=#=#= Begin test: Create copied shadow instance (file already exists) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --create cts-cli --batch --output-as=xml">
+ <status code="73" message="Cannot create output file">
+ <errors>
+ <error>crm_shadow: A shadow instance 'cts-cli' already exists.
+To prevent accidental destruction of the shadow file, the --force flag is required in order to proceed.</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Create copied shadow instance (file already exists) (XML) - Cannot create output file (73) =#=#=#=
+* Passed: crm_shadow - Create copied shadow instance (file already exists) (XML)
+=#=#=#= Begin test: Create copied shadow instance (file already exists) (force) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --create cts-cli --batch --force --output-as=xml">
+ <instruction>A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli</instruction>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Create copied shadow instance (file already exists) (force) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Create copied shadow instance (file already exists) (force) (XML)
+=#=#=#= Begin test: Create copied shadow instance (nonexistent CIB file) (force) =#=#=#=
+crm_shadow: Could not connect to CIB: No such device or address
+=#=#=#= End test: Create copied shadow instance (nonexistent CIB file) (force) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Create copied shadow instance (nonexistent CIB file) (force)
+=#=#=#= Begin test: Create copied shadow instance (nonexistent CIB file) (force) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --create cts-cli --batch --force --output-as=xml">
+ <status code="105" message="No such object">
+ <errors>
+ <error>crm_shadow: Could not connect to CIB: No such device or address</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Create copied shadow instance (nonexistent CIB file) (force) (XML) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Create copied shadow instance (nonexistent CIB file) (force) (XML)
+=#=#=#= Begin test: Create empty shadow instance =#=#=#=
+Created new pacemaker configuration
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= End test: Create empty shadow instance - OK (0) =#=#=#=
+* Passed: crm_shadow - Create empty shadow instance
+=#=#=#= Begin test: Create empty shadow instance (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --create-empty cts-cli --batch --output-as=xml">
+ <instruction>A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli</instruction>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Create empty shadow instance (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Create empty shadow instance (XML)
+=#=#=#= Begin test: Create empty shadow instance (no active instance) =#=#=#=
+Created new pacemaker configuration
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= End test: Create empty shadow instance (no active instance) - OK (0) =#=#=#=
+* Passed: crm_shadow - Create empty shadow instance (no active instance)
+=#=#=#= Begin test: Create empty shadow instance (no active instance) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --create-empty cts-cli --batch --output-as=xml">
+ <instruction>A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli</instruction>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Create empty shadow instance (no active instance) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Create empty shadow instance (no active instance) (XML)
+=#=#=#= Begin test: Create empty shadow instance (mismatch) =#=#=#=
+Created new pacemaker configuration
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= End test: Create empty shadow instance (mismatch) - OK (0) =#=#=#=
+* Passed: crm_shadow - Create empty shadow instance (mismatch)
+=#=#=#= Begin test: Create empty shadow instance (mismatch) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --create-empty cts-cli --batch --output-as=xml">
+ <instruction>A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli</instruction>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Create empty shadow instance (mismatch) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Create empty shadow instance (mismatch) (XML)
+=#=#=#= Begin test: Create empty shadow instance (nonexistent CIB file) =#=#=#=
+Created new pacemaker configuration
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= End test: Create empty shadow instance (nonexistent CIB file) - OK (0) =#=#=#=
+* Passed: crm_shadow - Create empty shadow instance (nonexistent CIB file)
+=#=#=#= Begin test: Create empty shadow instance (nonexistent CIB file) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --create-empty cts-cli --batch --force --output-as=xml">
+ <instruction>A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli</instruction>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Create empty shadow instance (nonexistent CIB file) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Create empty shadow instance (nonexistent CIB file) (XML)
+=#=#=#= Begin test: Create empty shadow instance (file already exists) =#=#=#=
+crm_shadow: A shadow instance 'cts-cli' already exists.
+To prevent accidental destruction of the shadow file, the --force flag is required in order to proceed.
+=#=#=#= End test: Create empty shadow instance (file already exists) - Cannot create output file (73) =#=#=#=
+* Passed: crm_shadow - Create empty shadow instance (file already exists)
+=#=#=#= Begin test: Create empty shadow instance (file already exists) (force) =#=#=#=
+Created new pacemaker configuration
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= End test: Create empty shadow instance (file already exists) (force) - OK (0) =#=#=#=
+* Passed: crm_shadow - Create empty shadow instance (file already exists) (force)
+=#=#=#= Begin test: Create empty shadow instance (file already exists) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --create-empty cts-cli --batch --output-as=xml">
+ <status code="73" message="Cannot create output file">
+ <errors>
+ <error>crm_shadow: A shadow instance 'cts-cli' already exists.
+To prevent accidental destruction of the shadow file, the --force flag is required in order to proceed.</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Create empty shadow instance (file already exists) (XML) - Cannot create output file (73) =#=#=#=
+* Passed: crm_shadow - Create empty shadow instance (file already exists) (XML)
+=#=#=#= Begin test: Create empty shadow instance (file already exists) (force) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --create-empty cts-cli --batch --force --output-as=xml">
+ <instruction>A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli</instruction>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Create empty shadow instance (file already exists) (force) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Create empty shadow instance (file already exists) (force) (XML)
+=#=#=#= Begin test: Get active shadow instance's contents (empty CIB) =#=#=#=
+<cib epoch="1" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config/>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Get active shadow instance's contents (empty CIB) - OK (0) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's contents (empty CIB)
+=#=#=#= Begin test: Get active shadow instance's contents (empty CIB) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --display --output-as=xml">
+ <shadow instance="cts-cli">
+ <content><![CDATA[<cib epoch="1" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config/>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+]]></content>
+ </shadow>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Get active shadow instance's contents (empty CIB) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's contents (empty CIB) (XML)
+=#=#=#= Begin test: Get active shadow instance's diff (empty CIB) =#=#=#=
+Diff: --- 1.1.173 2
+Diff: +++ 0.1.0 (null)
+-- /cib/configuration/crm_config/cluster_property_set[@id='cib-bootstrap-options']
+-- /cib/configuration/nodes/node[@id='1']
+-- /cib/configuration/nodes/node[@id='2']
+-- /cib/configuration/resources/clone[@id='ping-clone']
+-- /cib/configuration/resources/primitive[@id='Fencing']
+-- /cib/configuration/resources/primitive[@id='dummy']
+-- /cib/configuration/resources/clone[@id='inactive-clone']
+-- /cib/configuration/resources/group[@id='inactive-group']
+-- /cib/configuration/resources/bundle[@id='httpd-bundle']
+-- /cib/configuration/resources/group[@id='exim-group']
+-- /cib/configuration/resources/clone[@id='mysql-clone-group']
+-- /cib/configuration/resources/clone[@id='promotable-clone']
+-- /cib/configuration/constraints/rsc_location[@id='not-on-cluster1']
+-- /cib/configuration/constraints/rsc_location[@id='loc-promotable-clone']
+-- /cib/configuration/tags
+-- /cib/configuration/op_defaults
+-- /cib/status/node_state[@id='2']
+-- /cib/status/node_state[@id='1']
+-- /cib/status/node_state[@id='httpd-bundle-0']
+-- /cib/status/node_state[@id='httpd-bundle-1']
++ /cib: @crm_feature_set=3.17.4, @num_updates=0, @admin_epoch=0
+-- /cib: @cib-last-written, @update-origin, @update-client, @update-user, @have-quorum, @dc-uuid
+=#=#=#= End test: Get active shadow instance's diff (empty CIB) - Error occurred (1) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's diff (empty CIB)
+=#=#=#= Begin test: Get active shadow instance's diff (empty CIB) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --diff --output-as=xml">
+ <shadow instance="cts-cli">
+ <xml-patchset><![CDATA[<diff format="2">
+ <version>
+ <source admin_epoch="1" epoch="1" num_updates="173"/>
+ <target admin_epoch="0" epoch="1" num_updates="0"/>
+ </version>
+ <change operation="delete" path="/cib/configuration/crm_config/cluster_property_set[@id='cib-bootstrap-options']"/>
+ <change operation="delete" path="/cib/configuration/nodes/node[@id='1']"/>
+ <change operation="delete" path="/cib/configuration/nodes/node[@id='2']"/>
+ <change operation="delete" path="/cib/configuration/resources/clone[@id='ping-clone']"/>
+ <change operation="delete" path="/cib/configuration/resources/primitive[@id='Fencing']"/>
+ <change operation="delete" path="/cib/configuration/resources/primitive[@id='dummy']"/>
+ <change operation="delete" path="/cib/configuration/resources/clone[@id='inactive-clone']"/>
+ <change operation="delete" path="/cib/configuration/resources/group[@id='inactive-group']"/>
+ <change operation="delete" path="/cib/configuration/resources/bundle[@id='httpd-bundle']"/>
+ <change operation="delete" path="/cib/configuration/resources/group[@id='exim-group']"/>
+ <change operation="delete" path="/cib/configuration/resources/clone[@id='mysql-clone-group']"/>
+ <change operation="delete" path="/cib/configuration/resources/clone[@id='promotable-clone']"/>
+ <change operation="delete" path="/cib/configuration/constraints/rsc_location[@id='not-on-cluster1']"/>
+ <change operation="delete" path="/cib/configuration/constraints/rsc_location[@id='loc-promotable-clone']"/>
+ <change operation="delete" path="/cib/configuration/tags"/>
+ <change operation="delete" path="/cib/configuration/op_defaults"/>
+ <change operation="delete" path="/cib/status/node_state[@id='2']"/>
+ <change operation="delete" path="/cib/status/node_state[@id='1']"/>
+ <change operation="delete" path="/cib/status/node_state[@id='httpd-bundle-0']"/>
+ <change operation="delete" path="/cib/status/node_state[@id='httpd-bundle-1']"/>
+ <change operation="modify" path="/cib">
+ <change-list>
+ <change-attr name="crm_feature_set" operation="set" value="3.17.4"/>
+ <change-attr name="num_updates" operation="set" value="0"/>
+ <change-attr name="admin_epoch" operation="set" value="0"/>
+ <change-attr name="cib-last-written" operation="unset"/>
+ <change-attr name="update-origin" operation="unset"/>
+ <change-attr name="update-client" operation="unset"/>
+ <change-attr name="update-user" operation="unset"/>
+ <change-attr name="have-quorum" operation="unset"/>
+ <change-attr name="dc-uuid" operation="unset"/>
+ </change-list>
+ <change-result>
+ <cib epoch="1" num_updates="0" admin_epoch="0"/>
+ </change-result>
+ </change>
+</diff>
+]]></xml-patchset>
+ </shadow>
+ <status code="1" message="Error occurred"/>
+</pacemaker-result>
+=#=#=#= End test: Get active shadow instance's diff (empty CIB) (XML) - Error occurred (1) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's diff (empty CIB) (XML)
+=#=#=#= Begin test: Reset shadow instance =#=#=#=
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= End test: Reset shadow instance - OK (0) =#=#=#=
+* Passed: crm_shadow - Reset shadow instance
+=#=#=#= Begin test: Get active shadow instance's diff (after reset) =#=#=#=
+=#=#=#= End test: Get active shadow instance's diff (after reset) - OK (0) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's diff (after reset)
+Created new pacemaker configuration
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= Begin test: Reset shadow instance (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --reset cts-cli --batch --output-as=xml">
+ <instruction>A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli</instruction>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Reset shadow instance (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Reset shadow instance (XML)
+=#=#=#= Begin test: Get active shadow instance's diff (after reset) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --diff --output-as=xml">
+ <shadow instance="cts-cli"/>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Get active shadow instance's diff (after reset) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Get active shadow instance's diff (after reset) (XML)
+=#=#=#= Begin test: Reset shadow instance (no active instance) =#=#=#=
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= End test: Reset shadow instance (no active instance) - OK (0) =#=#=#=
+* Passed: crm_shadow - Reset shadow instance (no active instance)
+Created new pacemaker configuration
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= Begin test: Reset shadow instance (no active instance) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --reset cts-cli --batch --output-as=xml">
+ <instruction>A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli</instruction>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Reset shadow instance (no active instance) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Reset shadow instance (no active instance) (XML)
+=#=#=#= Begin test: Reset shadow instance (mismatch) =#=#=#=
+crm_shadow: The supplied shadow instance (cts-cli) is not the same as the active one (nonexistent_shadow).
+To prevent accidental destruction of the shadow file, the --force flag is required in order to proceed.
+=#=#=#= End test: Reset shadow instance (mismatch) - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Reset shadow instance (mismatch)
+=#=#=#= Begin test: Reset shadow instance (mismatch) (force) =#=#=#=
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= End test: Reset shadow instance (mismatch) (force) - OK (0) =#=#=#=
+* Passed: crm_shadow - Reset shadow instance (mismatch) (force)
+Created new pacemaker configuration
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= Begin test: Reset shadow instance (mismatch) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --reset cts-cli --batch --output-as=xml">
+ <status code="64" message="Incorrect usage">
+ <errors>
+ <error>crm_shadow: The supplied shadow instance (cts-cli) is not the same as the active one (nonexistent_shadow).
+To prevent accidental destruction of the shadow file, the --force flag is required in order to proceed.</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Reset shadow instance (mismatch) (XML) - Incorrect usage (64) =#=#=#=
+* Passed: crm_shadow - Reset shadow instance (mismatch) (XML)
+=#=#=#= Begin test: Reset shadow instance (mismatch) (force) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --reset cts-cli --batch --force --output-as=xml">
+ <instruction>A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli</instruction>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Reset shadow instance (mismatch) (force) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Reset shadow instance (mismatch) (force) (XML)
+Created new pacemaker configuration
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= Begin test: Reset shadow instance (nonexistent CIB file) =#=#=#=
+crm_shadow: Could not connect to CIB: No such device or address
+=#=#=#= End test: Reset shadow instance (nonexistent CIB file) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Reset shadow instance (nonexistent CIB file)
+=#=#=#= Begin test: Reset shadow instance (nonexistent CIB file) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --reset cts-cli --batch --output-as=xml">
+ <status code="105" message="No such object">
+ <errors>
+ <error>crm_shadow: Could not connect to CIB: No such device or address</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Reset shadow instance (nonexistent CIB file) (XML) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Reset shadow instance (nonexistent CIB file) (XML)
+=#=#=#= Begin test: Reset shadow instance (nonexistent CIB file) (force) =#=#=#=
+crm_shadow: Could not connect to CIB: No such device or address
+=#=#=#= End test: Reset shadow instance (nonexistent CIB file) (force) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Reset shadow instance (nonexistent CIB file) (force)
+=#=#=#= Begin test: Reset shadow instance (nonexistent CIB file) (force) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --reset cts-cli --batch --force --output-as=xml">
+ <status code="105" message="No such object">
+ <errors>
+ <error>crm_shadow: Could not connect to CIB: No such device or address</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Reset shadow instance (nonexistent CIB file) (force) (XML) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Reset shadow instance (nonexistent CIB file) (force) (XML)
+=#=#=#= Begin test: Reset shadow instance (nonexistent shadow file) =#=#=#=
+crm_shadow: Could not access shadow instance 'cts-cli': No such file or directory
+=#=#=#= End test: Reset shadow instance (nonexistent shadow file) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Reset shadow instance (nonexistent shadow file)
+=#=#=#= Begin test: Reset shadow instance (nonexistent shadow file) (force) =#=#=#=
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= End test: Reset shadow instance (nonexistent shadow file) (force) - OK (0) =#=#=#=
+* Passed: crm_shadow - Reset shadow instance (nonexistent shadow file) (force)
+=#=#=#= Begin test: Reset shadow instance (nonexistent shadow file) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --reset cts-cli --batch --output-as=xml">
+ <status code="105" message="No such object">
+ <errors>
+ <error>crm_shadow: Could not access shadow instance 'cts-cli': No such file or directory</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Reset shadow instance (nonexistent shadow file) (XML) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Reset shadow instance (nonexistent shadow file) (XML)
+=#=#=#= Begin test: Reset shadow instance (nonexistent shadow file) (force) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --reset cts-cli --batch --force --output-as=xml">
+ <instruction>A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli</instruction>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Reset shadow instance (nonexistent shadow file) (force) (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Reset shadow instance (nonexistent shadow file) (force) (XML)
+Created new pacemaker configuration
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= Begin test: Switch to new shadow instance =#=#=#=
+To switch to the named shadow instance, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= End test: Switch to new shadow instance - OK (0) =#=#=#=
+* Passed: crm_shadow - Switch to new shadow instance
+=#=#=#= Begin test: Switch to new shadow instance (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --switch cts-cli --batch --output-as=xml">
+ <instruction>To switch to the named shadow instance, enter the following into your shell:
+ export CIB_shadow=cts-cli</instruction>
+ <status code="0" message="OK"/>
+</pacemaker-result>
+=#=#=#= End test: Switch to new shadow instance (XML) - OK (0) =#=#=#=
+* Passed: crm_shadow - Switch to new shadow instance (XML)
+=#=#=#= Begin test: Switch to nonexistent shadow instance =#=#=#=
+crm_shadow: Could not access shadow instance 'cts-cli': No such file or directory
+=#=#=#= End test: Switch to nonexistent shadow instance - No such object (105) =#=#=#=
+* Passed: crm_shadow - Switch to nonexistent shadow instance
+=#=#=#= Begin test: Switch to nonexistent shadow instance (force) =#=#=#=
+crm_shadow: Could not access shadow instance 'cts-cli': No such file or directory
+=#=#=#= End test: Switch to nonexistent shadow instance (force) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Switch to nonexistent shadow instance (force)
+=#=#=#= Begin test: Switch to nonexistent shadow instance (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --switch cts-cli --batch --output-as=xml">
+ <status code="105" message="No such object">
+ <errors>
+ <error>crm_shadow: Could not access shadow instance 'cts-cli': No such file or directory</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Switch to nonexistent shadow instance (XML) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Switch to nonexistent shadow instance (XML)
+=#=#=#= Begin test: Switch to nonexistent shadow instance (force) (XML) =#=#=#=
+<pacemaker-result api-version="X" request="crm_shadow --switch cts-cli --batch --force --output-as=xml">
+ <status code="105" message="No such object">
+ <errors>
+ <error>crm_shadow: Could not access shadow instance 'cts-cli': No such file or directory</error>
+ </errors>
+ </status>
+</pacemaker-result>
+=#=#=#= End test: Switch to nonexistent shadow instance (force) (XML) - No such object (105) =#=#=#=
+* Passed: crm_shadow - Switch to nonexistent shadow instance (force) (XML)
diff --git a/cts/cli/regression.upgrade.exp b/cts/cli/regression.upgrade.exp
new file mode 100644
index 0000000..d1aeeb5
--- /dev/null
+++ b/cts/cli/regression.upgrade.exp
@@ -0,0 +1,164 @@
+Created new pacemaker configuration
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= Begin test: Set stonith-enabled=false =#=#=#=
+=#=#=#= Current cib after: Set stonith-enabled=false =#=#=#=
+<cib epoch="2" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources/>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Set stonith-enabled=false - OK (0) =#=#=#=
+* Passed: crm_attribute - Set stonith-enabled=false
+=#=#=#= Begin test: Configure the initial resource =#=#=#=
+=#=#=#= Current cib after: Configure the initial resource =#=#=#=
+<cib epoch="3" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="mySmartFuse" class="ocf" provider="experiment" type="SmartFuse">
+ <operations>
+ <op id="mySmartFuse-start" name="start" interval="0" timeout="40s"/>
+ <op id="mySmartFuse-monitor-inputpower" name="monitor" interval="30s">
+ <instance_attributes id="mySmartFuse-inputpower-instanceparams">
+ <nvpair id="mySmartFuse-inputpower-requires" name="requires" value="inputpower"/>
+ </instance_attributes>
+ </op>
+ <op id="mySmartFuse-monitor-outputpower" name="monitor" interval="2s">
+ <instance_attributes id="mySmartFuse-outputpower-instanceparams">
+ <nvpair id="mySmartFuse-outputpower-requires" name="requires" value="outputpower"/>
+ </instance_attributes>
+ </op>
+ </operations>
+ <instance_attributes id="mySmartFuse-params">
+ <nvpair id="mySmartFuse-params-ip" name="ip" value="192.0.2.10"/>
+ </instance_attributes>
+ <!-- a bit hairy but valid -->
+ <instance_attributes id-ref="mySmartFuse-outputpower-instanceparams"/>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Configure the initial resource - OK (0) =#=#=#=
+* Passed: cibadmin - Configure the initial resource
+=#=#=#= Begin test: Upgrade to latest CIB schema (trigger 2.10.xsl + the wrapping) =#=#=#=
+update_validation debug: Testing 'pacemaker-2.10' validation (13 of X)
+update_validation debug: Upgrading pacemaker-2.10-style configuration to pacemaker-3.0 with upgrade-2.10.xsl
+apply_upgrade debug: Upgrading pacemaker-2.10-style configuration, pre-upgrade phase with upgrade-2.10-enter.xsl
+apply_upgrade debug: Upgrading pacemaker-2.10-style configuration, main phase with upgrade-2.10.xsl
+INFO: Resources-operation instance_attributes: mySmartFuse-monitor-inputpower (rsc=mySmartFuse, meta=mySmartFuse-inputpower-instanceparams): dropping requires
+INFO: Resources-operation instance_attributes: ... only start/promote operation taken into account
+INFO: Resources-operation instance_attributes: mySmartFuse-monitor-outputpower (rsc=mySmartFuse, meta=mySmartFuse-outputpower-instanceparams): dropping requires
+INFO: Resources-operation instance_attributes: ... only start/promote operation taken into account
+apply_upgrade debug: Upgrading pacemaker-2.10-style configuration, post-upgrade phase with upgrade-2.10-leave.xsl
+DEBUG: instance_attributes: original element pointed to with @id-ref (mySmartFuse-outputpower-instanceparams) disappeared during upgrade
+update_validation info: Transformation upgrade-2.10.xsl successful
+update_validation debug: Testing 'pacemaker-3.0' validation (14 of X)
+update_validation debug: pacemaker-3.0-style configuration is also valid for pacemaker-3.1
+update_validation debug: Testing 'pacemaker-3.1' validation (15 of X)
+update_validation debug: Configuration valid for schema: pacemaker-3.1
+update_validation debug: pacemaker-3.1-style configuration is also valid for pacemaker-3.2
+update_validation debug: Testing 'pacemaker-3.2' validation (16 of X)
+update_validation debug: Configuration valid for schema: pacemaker-3.2
+update_validation debug: pacemaker-3.2-style configuration is also valid for pacemaker-3.3
+update_validation debug: Testing 'pacemaker-3.3' validation (17 of X)
+update_validation debug: Configuration valid for schema: pacemaker-3.3
+update_validation debug: pacemaker-3.3-style configuration is also valid for pacemaker-3.4
+update_validation debug: Testing 'pacemaker-3.4' validation (18 of X)
+update_validation debug: Configuration valid for schema: pacemaker-3.4
+update_validation debug: pacemaker-3.4-style configuration is also valid for pacemaker-3.5
+update_validation debug: Testing 'pacemaker-3.5' validation (19 of X)
+update_validation debug: Configuration valid for schema: pacemaker-3.5
+update_validation debug: pacemaker-3.5-style configuration is also valid for pacemaker-3.6
+update_validation debug: Testing 'pacemaker-3.6' validation (20 of X)
+update_validation debug: Configuration valid for schema: pacemaker-3.6
+update_validation debug: pacemaker-3.6-style configuration is also valid for pacemaker-3.7
+update_validation debug: Testing 'pacemaker-3.7' validation (21 of X)
+update_validation debug: Configuration valid for schema: pacemaker-3.7
+update_validation debug: pacemaker-3.7-style configuration is also valid for pacemaker-3.8
+update_validation debug: Testing 'pacemaker-3.8' validation (22 of X)
+update_validation debug: Configuration valid for schema: pacemaker-3.8
+update_validation debug: pacemaker-3.8-style configuration is also valid for pacemaker-3.9
+update_validation debug: Testing 'pacemaker-3.9' validation (23 of X)
+update_validation debug: Configuration valid for schema: pacemaker-3.9
+update_validation trace: Stopping at pacemaker-3.9
+update_validation info: Transformed the configuration from pacemaker-2.10 to pacemaker-3.9
+=#=#=#= Current cib after: Upgrade to latest CIB schema (trigger 2.10.xsl + the wrapping) =#=#=#=
+<cib epoch="2" num_updates="0" admin_epoch="1">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="mySmartFuse" class="ocf" provider="experiment" type="SmartFuse">
+ <operations>
+ <op id="mySmartFuse-start" name="start" interval="0" timeout="40s"/>
+ <op id="mySmartFuse-monitor-inputpower" name="monitor" interval="30s"/>
+ <op id="mySmartFuse-monitor-outputpower" name="monitor" interval="2s"/>
+ </operations>
+ <instance_attributes id="mySmartFuse-params">
+ <nvpair id="mySmartFuse-params-ip" name="ip" value="192.0.2.10"/>
+ </instance_attributes>
+ <!-- a bit hairy but valid -->
+ <instance_attributes id="_cibtr-2_mySmartFuse-outputpower-instanceparams">
+ <nvpair id="__cibtr-2_mySmartFuse-outputpower-instanceparams__mySmartFuse-outputpower-requires" name="requires" value="outputpower"/>
+ </instance_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Upgrade to latest CIB schema (trigger 2.10.xsl + the wrapping) - OK (0) =#=#=#=
+* Passed: cibadmin - Upgrade to latest CIB schema (trigger 2.10.xsl + the wrapping)
+=#=#=#= Begin test: Query a resource instance attribute (shall survive) =#=#=#=
+outputpower
+=#=#=#= Current cib after: Query a resource instance attribute (shall survive) =#=#=#=
+<cib epoch="2" num_updates="0" admin_epoch="1">
+ <configuration>
+ <crm_config>
+ <cluster_property_set id="cib-bootstrap-options">
+ <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
+ </cluster_property_set>
+ </crm_config>
+ <nodes/>
+ <resources>
+ <primitive id="mySmartFuse" class="ocf" provider="experiment" type="SmartFuse">
+ <operations>
+ <op id="mySmartFuse-start" name="start" interval="0" timeout="40s"/>
+ <op id="mySmartFuse-monitor-inputpower" name="monitor" interval="30s"/>
+ <op id="mySmartFuse-monitor-outputpower" name="monitor" interval="2s"/>
+ </operations>
+ <instance_attributes id="mySmartFuse-params">
+ <nvpair id="mySmartFuse-params-ip" name="ip" value="192.0.2.10"/>
+ </instance_attributes>
+ <!-- a bit hairy but valid -->
+ <instance_attributes id="_cibtr-2_mySmartFuse-outputpower-instanceparams">
+ <nvpair id="__cibtr-2_mySmartFuse-outputpower-instanceparams__mySmartFuse-outputpower-requires" name="requires" value="outputpower"/>
+ </instance_attributes>
+ </primitive>
+ </resources>
+ <constraints/>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Query a resource instance attribute (shall survive) - OK (0) =#=#=#=
+* Passed: crm_resource - Query a resource instance attribute (shall survive)
diff --git a/cts/cli/regression.validity.exp b/cts/cli/regression.validity.exp
new file mode 100644
index 0000000..3a62ab4
--- /dev/null
+++ b/cts/cli/regression.validity.exp
@@ -0,0 +1,552 @@
+Created new pacemaker configuration
+A new shadow instance was created. To begin using it, enter the following into your shell:
+ export CIB_shadow=cts-cli
+=#=#=#= Begin test: Try to make resulting CIB invalid (enum violation) =#=#=#=
+ 1 <cib epoch="5" num_updates="0" admin_epoch="0">
+ 2 <configuration>
+ 3 <crm_config/>
+ 4 <nodes/>
+ 5 <resources>
+ 6 <primitive id="dummy1" class="ocf" provider="pacemaker" type="Dummy"/>
+ 7 <primitive id="dummy2" class="ocf" provider="pacemaker" type="Dummy"/>
+ 8 </resources>
+ 9 <constraints>
+ 10 <rsc_order id="ord_1-2" first="dummy1" first-action="break" then="dummy2"/>
+ 11 </constraints>
+ 12 </configuration>
+ 13 <status/>
+ 14 </cib>
+ 15
+Call failed: Update does not conform to the configured schema
+=#=#=#= Current cib after: Try to make resulting CIB invalid (enum violation) =#=#=#=
+<cib epoch="4" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config/>
+ <nodes/>
+ <resources>
+ <primitive id="dummy1" class="ocf" provider="pacemaker" type="Dummy"/>
+ <primitive id="dummy2" class="ocf" provider="pacemaker" type="Dummy"/>
+ </resources>
+ <constraints>
+ <rsc_order id="ord_1-2" first="dummy1" first-action="start" then="dummy2"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Try to make resulting CIB invalid (enum violation) - Invalid configuration (78) =#=#=#=
+* Passed: cibadmin - Try to make resulting CIB invalid (enum violation)
+=#=#=#= Begin test: Run crm_simulate with invalid CIB (enum violation) =#=#=#=
+update_validation debug: Testing 'pacemaker-1.2' validation (1 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-1.2 validation failed
+update_validation debug: Testing 'pacemaker-1.3' validation (2 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-1.3 validation failed
+update_validation debug: Testing 'pacemaker-2.0' validation (3 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-2.0 validation failed
+update_validation debug: Testing 'pacemaker-2.1' validation (4 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-2.1 validation failed
+update_validation debug: Testing 'pacemaker-2.2' validation (5 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-2.2 validation failed
+update_validation debug: Testing 'pacemaker-2.3' validation (6 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-2.3 validation failed
+update_validation debug: Testing 'pacemaker-2.4' validation (7 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-2.4 validation failed
+update_validation debug: Testing 'pacemaker-2.5' validation (8 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-2.5 validation failed
+update_validation debug: Testing 'pacemaker-2.6' validation (9 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-2.6 validation failed
+update_validation debug: Testing 'pacemaker-2.7' validation (10 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-2.7 validation failed
+update_validation debug: Testing 'pacemaker-2.8' validation (11 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-2.8 validation failed
+update_validation debug: Testing 'pacemaker-2.9' validation (12 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-2.9 validation failed
+update_validation debug: Testing 'pacemaker-2.10' validation (13 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-2.10 validation failed
+update_validation debug: Testing 'pacemaker-3.0' validation (14 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-3.0 validation failed
+update_validation debug: Testing 'pacemaker-3.1' validation (15 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-3.1 validation failed
+update_validation debug: Testing 'pacemaker-3.2' validation (16 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-3.2 validation failed
+update_validation debug: Testing 'pacemaker-3.3' validation (17 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-3.3 validation failed
+update_validation debug: Testing 'pacemaker-3.4' validation (18 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-3.4 validation failed
+update_validation debug: Testing 'pacemaker-3.5' validation (19 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-3.5 validation failed
+update_validation debug: Testing 'pacemaker-3.6' validation (20 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-3.6 validation failed
+update_validation debug: Testing 'pacemaker-3.7' validation (21 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-3.7 validation failed
+update_validation debug: Testing 'pacemaker-3.8' validation (22 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-3.8 validation failed
+update_validation debug: Testing 'pacemaker-3.9' validation (23 of X)
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+update_validation trace: pacemaker-3.9 validation failed
+Cannot upgrade configuration (claiming schema pacemaker-1.2) to at least pacemaker-3.0 because it does not validate with any schema from pacemaker-1.2 to pacemaker-3.9
+=#=#=#= End test: Run crm_simulate with invalid CIB (enum violation) - Invalid configuration (78) =#=#=#=
+* Passed: crm_simulate - Run crm_simulate with invalid CIB (enum violation)
+=#=#=#= Begin test: Try to make resulting CIB invalid (unrecognized validate-with) =#=#=#=
+ 1 <cib epoch="4" num_updates="1" admin_epoch="0">
+ 2 <configuration>
+ 3 <crm_config/>
+ 4 <nodes/>
+ 5 <resources>
+ 6 <primitive id="dummy1" class="ocf" provider="pacemaker" type="Dummy"/>
+ 7 <primitive id="dummy2" class="ocf" provider="pacemaker" type="Dummy"/>
+ 8 </resources>
+ 9 <constraints>
+ 10 <rsc_order id="ord_1-2" first="dummy1" first-action="start" then="dummy2"/>
+ 11 </constraints>
+ 12 </configuration>
+ 13 <status/>
+ 14 </cib>
+ 15
+Call failed: Update does not conform to the configured schema
+=#=#=#= Current cib after: Try to make resulting CIB invalid (unrecognized validate-with) =#=#=#=
+<cib epoch="4" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config/>
+ <nodes/>
+ <resources>
+ <primitive id="dummy1" class="ocf" provider="pacemaker" type="Dummy"/>
+ <primitive id="dummy2" class="ocf" provider="pacemaker" type="Dummy"/>
+ </resources>
+ <constraints>
+ <rsc_order id="ord_1-2" first="dummy1" first-action="start" then="dummy2"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Try to make resulting CIB invalid (unrecognized validate-with) - Invalid configuration (78) =#=#=#=
+* Passed: cibadmin - Try to make resulting CIB invalid (unrecognized validate-with)
+=#=#=#= Begin test: Run crm_simulate with invalid CIB (unrecognized validate-with) =#=#=#=
+update_validation debug: Unknown validation schema
+update_validation debug: Testing 'pacemaker-1.0' validation (0 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-1.0 validation failed
+update_validation debug: Testing 'pacemaker-1.2' validation (1 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-1.2 validation failed
+update_validation debug: Testing 'pacemaker-1.3' validation (2 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-1.3 validation failed
+update_validation debug: Testing 'pacemaker-2.0' validation (3 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-2.0 validation failed
+update_validation debug: Testing 'pacemaker-2.1' validation (4 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-2.1 validation failed
+update_validation debug: Testing 'pacemaker-2.2' validation (5 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-2.2 validation failed
+update_validation debug: Testing 'pacemaker-2.3' validation (6 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-2.3 validation failed
+update_validation debug: Testing 'pacemaker-2.4' validation (7 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-2.4 validation failed
+update_validation debug: Testing 'pacemaker-2.5' validation (8 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-2.5 validation failed
+update_validation debug: Testing 'pacemaker-2.6' validation (9 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-2.6 validation failed
+update_validation debug: Testing 'pacemaker-2.7' validation (10 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-2.7 validation failed
+update_validation debug: Testing 'pacemaker-2.8' validation (11 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-2.8 validation failed
+update_validation debug: Testing 'pacemaker-2.9' validation (12 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-2.9 validation failed
+update_validation debug: Testing 'pacemaker-2.10' validation (13 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-2.10 validation failed
+update_validation debug: Testing 'pacemaker-3.0' validation (14 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-3.0 validation failed
+update_validation debug: Testing 'pacemaker-3.1' validation (15 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-3.1 validation failed
+update_validation debug: Testing 'pacemaker-3.2' validation (16 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-3.2 validation failed
+update_validation debug: Testing 'pacemaker-3.3' validation (17 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-3.3 validation failed
+update_validation debug: Testing 'pacemaker-3.4' validation (18 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-3.4 validation failed
+update_validation debug: Testing 'pacemaker-3.5' validation (19 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-3.5 validation failed
+update_validation debug: Testing 'pacemaker-3.6' validation (20 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-3.6 validation failed
+update_validation debug: Testing 'pacemaker-3.7' validation (21 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-3.7 validation failed
+update_validation debug: Testing 'pacemaker-3.8' validation (22 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-3.8 validation failed
+update_validation debug: Testing 'pacemaker-3.9' validation (23 of X)
+element cib: Relax-NG validity error : Invalid attribute validate-with for element cib
+update_validation trace: pacemaker-3.9 validation failed
+Cannot upgrade configuration (claiming schema pacemaker-9999.0) to at least pacemaker-3.0 because it does not validate with any schema from unknown to pacemaker-3.9
+=#=#=#= End test: Run crm_simulate with invalid CIB (unrecognized validate-with) - Invalid configuration (78) =#=#=#=
+* Passed: crm_simulate - Run crm_simulate with invalid CIB (unrecognized validate-with)
+=#=#=#= Begin test: Try to make resulting CIB invalid, but possibly recoverable (valid with X.Y+1) =#=#=#=
+ 1 <cib epoch="4" num_updates="0" admin_epoch="0">
+ 2 <configuration>
+ 3 <crm_config/>
+ 4 <nodes/>
+ 5 <resources>
+ 6 <primitive id="dummy1" class="ocf" provider="pacemaker" type="Dummy"/>
+ 7 <primitive id="dummy2" class="ocf" provider="pacemaker" type="Dummy"/>
+ 8 </resources>
+ 9 <constraints>
+ 10 <rsc_order id="ord_1-2" first="dummy1" first-action="start" then="dummy2"/>
+ 11 </constraints>
+ 12 <tags/>
+ 13 </configuration>
+ 14 <status/>
+ 15 </cib>
+ 16
+Call failed: Update does not conform to the configured schema
+=#=#=#= Current cib after: Try to make resulting CIB invalid, but possibly recoverable (valid with X.Y+1) =#=#=#=
+<cib epoch="4" num_updates="0" admin_epoch="0">
+ <configuration>
+ <crm_config/>
+ <nodes/>
+ <resources>
+ <primitive id="dummy1" class="ocf" provider="pacemaker" type="Dummy"/>
+ <primitive id="dummy2" class="ocf" provider="pacemaker" type="Dummy"/>
+ </resources>
+ <constraints>
+ <rsc_order id="ord_1-2" first="dummy1" first-action="start" then="dummy2"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Try to make resulting CIB invalid, but possibly recoverable (valid with X.Y+1) - Invalid configuration (78) =#=#=#=
+* Passed: cibadmin - Try to make resulting CIB invalid, but possibly recoverable (valid with X.Y+1)
+=#=#=#= Begin test: Run crm_simulate with invalid, but possibly recoverable CIB (valid with X.Y+1) =#=#=#=
+update_validation debug: Testing 'pacemaker-1.2' validation (1 of X)
+element tags: Relax-NG validity error : Element configuration has extra content: tags
+update_validation trace: pacemaker-1.2 validation failed
+update_validation debug: Testing 'pacemaker-1.3' validation (2 of X)
+update_validation debug: pacemaker-1.3-style configuration is also valid for pacemaker-2.0
+update_validation debug: Testing 'pacemaker-2.0' validation (3 of X)
+update_validation debug: Configuration valid for schema: pacemaker-2.0
+update_validation debug: pacemaker-2.0-style configuration is also valid for pacemaker-2.1
+update_validation debug: Testing 'pacemaker-2.1' validation (4 of X)
+update_validation debug: Configuration valid for schema: pacemaker-2.1
+update_validation debug: pacemaker-2.1-style configuration is also valid for pacemaker-2.2
+update_validation debug: Testing 'pacemaker-2.2' validation (5 of X)
+update_validation debug: Configuration valid for schema: pacemaker-2.2
+update_validation debug: pacemaker-2.2-style configuration is also valid for pacemaker-2.3
+update_validation debug: Testing 'pacemaker-2.3' validation (6 of X)
+update_validation debug: Configuration valid for schema: pacemaker-2.3
+update_validation debug: pacemaker-2.3-style configuration is also valid for pacemaker-2.4
+update_validation debug: Testing 'pacemaker-2.4' validation (7 of X)
+update_validation debug: Configuration valid for schema: pacemaker-2.4
+update_validation debug: pacemaker-2.4-style configuration is also valid for pacemaker-2.5
+update_validation debug: Testing 'pacemaker-2.5' validation (8 of X)
+update_validation debug: Configuration valid for schema: pacemaker-2.5
+update_validation debug: pacemaker-2.5-style configuration is also valid for pacemaker-2.6
+update_validation debug: Testing 'pacemaker-2.6' validation (9 of X)
+update_validation debug: Configuration valid for schema: pacemaker-2.6
+update_validation debug: pacemaker-2.6-style configuration is also valid for pacemaker-2.7
+update_validation debug: Testing 'pacemaker-2.7' validation (10 of X)
+update_validation debug: Configuration valid for schema: pacemaker-2.7
+update_validation debug: pacemaker-2.7-style configuration is also valid for pacemaker-2.8
+update_validation debug: Testing 'pacemaker-2.8' validation (11 of X)
+update_validation debug: Configuration valid for schema: pacemaker-2.8
+update_validation debug: pacemaker-2.8-style configuration is also valid for pacemaker-2.9
+update_validation debug: Testing 'pacemaker-2.9' validation (12 of X)
+update_validation debug: Configuration valid for schema: pacemaker-2.9
+update_validation debug: pacemaker-2.9-style configuration is also valid for pacemaker-2.10
+update_validation debug: Testing 'pacemaker-2.10' validation (13 of X)
+update_validation debug: Configuration valid for schema: pacemaker-2.10
+update_validation debug: pacemaker-2.10-style configuration is also valid for pacemaker-3.0
+update_validation debug: Testing 'pacemaker-3.0' validation (14 of X)
+update_validation debug: Configuration valid for schema: pacemaker-3.0
+update_validation debug: pacemaker-3.0-style configuration is also valid for pacemaker-3.1
+update_validation debug: Testing 'pacemaker-3.1' validation (15 of X)
+update_validation debug: Configuration valid for schema: pacemaker-3.1
+update_validation debug: pacemaker-3.1-style configuration is also valid for pacemaker-3.2
+update_validation debug: Testing 'pacemaker-3.2' validation (16 of X)
+update_validation debug: Configuration valid for schema: pacemaker-3.2
+update_validation debug: pacemaker-3.2-style configuration is also valid for pacemaker-3.3
+update_validation debug: Testing 'pacemaker-3.3' validation (17 of X)
+update_validation debug: Configuration valid for schema: pacemaker-3.3
+update_validation debug: pacemaker-3.3-style configuration is also valid for pacemaker-3.4
+update_validation debug: Testing 'pacemaker-3.4' validation (18 of X)
+update_validation debug: Configuration valid for schema: pacemaker-3.4
+update_validation debug: pacemaker-3.4-style configuration is also valid for pacemaker-3.5
+update_validation debug: Testing 'pacemaker-3.5' validation (19 of X)
+update_validation debug: Configuration valid for schema: pacemaker-3.5
+update_validation debug: pacemaker-3.5-style configuration is also valid for pacemaker-3.6
+update_validation debug: Testing 'pacemaker-3.6' validation (20 of X)
+update_validation debug: Configuration valid for schema: pacemaker-3.6
+update_validation debug: pacemaker-3.6-style configuration is also valid for pacemaker-3.7
+update_validation debug: Testing 'pacemaker-3.7' validation (21 of X)
+update_validation debug: Configuration valid for schema: pacemaker-3.7
+update_validation debug: pacemaker-3.7-style configuration is also valid for pacemaker-3.8
+update_validation debug: Testing 'pacemaker-3.8' validation (22 of X)
+update_validation debug: Configuration valid for schema: pacemaker-3.8
+update_validation debug: pacemaker-3.8-style configuration is also valid for pacemaker-3.9
+update_validation debug: Testing 'pacemaker-3.9' validation (23 of X)
+update_validation debug: Configuration valid for schema: pacemaker-3.9
+update_validation trace: Stopping at pacemaker-3.9
+update_validation info: Transformed the configuration from pacemaker-1.2 to pacemaker-3.9
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+Current cluster status:
+ * Full List of Resources:
+ * dummy1 (ocf:pacemaker:Dummy): Stopped
+ * dummy2 (ocf:pacemaker:Dummy): Stopped
+
+Transition Summary:
+
+Executing Cluster Transition:
+
+Revised Cluster Status:
+ * Full List of Resources:
+ * dummy1 (ocf:pacemaker:Dummy): Stopped
+ * dummy2 (ocf:pacemaker:Dummy): Stopped
+=#=#=#= End test: Run crm_simulate with invalid, but possibly recoverable CIB (valid with X.Y+1) - OK (0) =#=#=#=
+* Passed: crm_simulate - Run crm_simulate with invalid, but possibly recoverable CIB (valid with X.Y+1)
+=#=#=#= Begin test: Make resulting CIB valid, although without validate-with attribute =#=#=#=
+=#=#=#= Current cib after: Make resulting CIB valid, although without validate-with attribute =#=#=#=
+<cib epoch="4" num_updates="1" admin_epoch="0" validate-with="none">
+ <configuration>
+ <crm_config/>
+ <nodes/>
+ <resources>
+ <primitive id="dummy1" class="ocf" provider="pacemaker" type="Dummy"/>
+ <primitive id="dummy2" class="ocf" provider="pacemaker" type="Dummy"/>
+ </resources>
+ <constraints>
+ <rsc_order id="ord_1-2" first="dummy1" first-action="start" then="dummy2"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Make resulting CIB valid, although without validate-with attribute - OK (0) =#=#=#=
+* Passed: cibadmin - Make resulting CIB valid, although without validate-with attribute
+=#=#=#= Begin test: Run crm_simulate with valid CIB, but without validate-with attribute =#=#=#=
+Schema validation of configuration is disabled (enabling is encouraged and prevents common misconfigurations)
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+Current cluster status:
+ * Full List of Resources:
+ * dummy1 (ocf:pacemaker:Dummy): Stopped
+ * dummy2 (ocf:pacemaker:Dummy): Stopped
+
+Transition Summary:
+
+Executing Cluster Transition:
+
+Revised Cluster Status:
+ * Full List of Resources:
+ * dummy1 (ocf:pacemaker:Dummy): Stopped
+ * dummy2 (ocf:pacemaker:Dummy): Stopped
+=#=#=#= End test: Run crm_simulate with valid CIB, but without validate-with attribute - OK (0) =#=#=#=
+* Passed: crm_simulate - Run crm_simulate with valid CIB, but without validate-with attribute
+=#=#=#= Begin test: Make resulting CIB invalid, and without validate-with attribute =#=#=#=
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+=#=#=#= Current cib after: Make resulting CIB invalid, and without validate-with attribute =#=#=#=
+<cib epoch="41" num_updates="0" admin_epoch="0" validate-with="none">
+ <configuration>
+ <crm_config/>
+ <nodes/>
+ <resources>
+ <primitive id="dummy1" class="ocf" provider="pacemaker" type="Dummy"/>
+ <primitive id="dummy2" class="ocf" provider="pacemaker" type="Dummy"/>
+ </resources>
+ <constraints>
+ <rsc_order id="ord_1-2" first="dummy1" first-action="break" then="dummy2"/>
+ </constraints>
+ </configuration>
+ <status/>
+</cib>
+=#=#=#= End test: Make resulting CIB invalid, and without validate-with attribute - OK (0) =#=#=#=
+* Passed: cibadmin - Make resulting CIB invalid, and without validate-with attribute
+=#=#=#= Begin test: Run crm_simulate with invalid CIB, also without validate-with attribute =#=#=#=
+Schema validation of configuration is disabled (enabling is encouraged and prevents common misconfigurations)
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order
+validity.bad.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+unpack_resources error: Resource start-up disabled since no STONITH resources have been defined
+unpack_resources error: Either configure some or disable STONITH with the stonith-enabled option
+unpack_resources error: NOTE: Clusters with shared data need STONITH to ensure data integrity
+Current cluster status:
+ * Full List of Resources:
+ * dummy1 (ocf:pacemaker:Dummy): Stopped
+ * dummy2 (ocf:pacemaker:Dummy): Stopped
+
+Transition Summary:
+
+Executing Cluster Transition:
+
+Revised Cluster Status:
+ * Full List of Resources:
+ * dummy1 (ocf:pacemaker:Dummy): Stopped
+ * dummy2 (ocf:pacemaker:Dummy): Stopped
+=#=#=#= End test: Run crm_simulate with invalid CIB, also without validate-with attribute - OK (0) =#=#=#=
+* Passed: crm_simulate - Run crm_simulate with invalid CIB, also without validate-with attribute