diff --git a/cts/cli/regression.tools.exp b/cts/cli/regression.tools.exp index 565cacc3ed..0e69d0d226 100644 --- a/cts/cli/regression.tools.exp +++ b/cts/cli/regression.tools.exp @@ -1,4254 +1,4254 @@ 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: Validate CIB =#=#=#= <cib epoch="0" num_updates="0" admin_epoch="0"> <configuration> <crm_config/> <nodes/> <resources/> <constraints/> </configuration> <status/> </cib> =#=#=#= Current cib after: Validate CIB =#=#=#= <cib epoch="0" 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: Configure something before erasing =#=#=#= =#=#=#= Current cib after: Configure something before erasing =#=#=#= <cib epoch="1" 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 =#=#=#= 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="1" 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 =#=#=#= =#=#=#= Current cib after: Allow CIB erasure with --force =#=#=#= <cib epoch="2" num_updates="0" admin_epoch="1"> <configuration> <crm_config/> <nodes/> <resources/> <constraints/> </configuration> <status/> </cib> =#=#=#= End test: Allow CIB erasure with --force - OK (0) =#=#=#= * Passed: cibadmin - Allow CIB erasure with --force =#=#=#= Begin test: Query CIB =#=#=#= =#=#=#= Current cib after: Query CIB =#=#=#= <cib epoch="2" num_updates="0" admin_epoch="1"> <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="3" num_updates="0" admin_epoch="1"> <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="3" num_updates="0" admin_epoch="1"> <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="3" num_updates="0" admin_epoch="1"> <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="4" num_updates="0" admin_epoch="1"> <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="5" num_updates="0" admin_epoch="1"> <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="5" num_updates="0" admin_epoch="1"> <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="6" num_updates="0" admin_epoch="1"> <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="6" num_updates="0" admin_epoch="1"> <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="7" num_updates="0" admin_epoch="1"> <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 =#=#=#= Multiple attributes match name=cluster-delay Value: 60s (id=cib-bootstrap-options-cluster-delay) Value: 40s (id=duplicate-cluster-delay) Please choose from one of the matches above and supply the 'id' with --attr-id =#=#=#= Current cib after: Setting multiply defined cluster option should fail =#=#=#= <cib epoch="7" num_updates="0" admin_epoch="1"> <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="8" num_updates="0" admin_epoch="1"> <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="9" num_updates="0" admin_epoch="1"> <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 =#=#=#= Current cluster status: Performing requested modifications + Bringing node node1 online Transition Summary: Executing cluster transition: Revised cluster status: Online: [ node1 ] =#=#=#= Current cib after: Create node1 and bring it online =#=#=#= <cib epoch="10" num_updates="2" admin_epoch="1"> <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="11" num_updates="0" admin_epoch="1"> <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="11" num_updates="0" admin_epoch="1"> <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: Set a transient (fail-count) node attribute =#=#=#= =#=#=#= Current cib after: Set a transient (fail-count) node attribute =#=#=#= <cib epoch="11" num_updates="1" admin_epoch="1"> <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="11" num_updates="1" admin_epoch="1"> <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: Delete a transient (fail-count) node attribute =#=#=#= Deleted status attribute: id=status-node1-fail-count-foo name=fail-count-foo =#=#=#= Current cib after: Delete a transient (fail-count) node attribute =#=#=#= <cib epoch="11" num_updates="2" admin_epoch="1"> <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 a transient (fail-count) node attribute - OK (0) =#=#=#= * Passed: crm_attribute - Delete a transient (fail-count) node attribute =#=#=#= Begin test: Digest calculation =#=#=#= Digest: =#=#=#= Current cib after: Digest calculation =#=#=#= <cib epoch="11" num_updates="2" admin_epoch="1"> <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: 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="11" num_updates="2" admin_epoch="1"> <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: 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="11" num_updates="2" admin_epoch="1"> <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: Default standby value - OK (0) =#=#=#= * Passed: crm_standby - Default standby value =#=#=#= Begin test: Set standby status =#=#=#= =#=#=#= Current cib after: Set standby status =#=#=#= <cib epoch="12" num_updates="0" admin_epoch="1"> <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> </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="12" num_updates="0" admin_epoch="1"> <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> </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="13" num_updates="0" admin_epoch="1"> <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 standby value - OK (0) =#=#=#= * Passed: crm_standby - Delete standby value =#=#=#= Begin test: Create a resource =#=#=#= =#=#=#= Current cib after: Create a resource =#=#=#= <cib epoch="14" num_updates="0" admin_epoch="1"> <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> <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: Create a resource meta attribute =#=#=#= 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="15" num_updates="0" admin_epoch="1"> <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> <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 =#=#=#= false =#=#=#= Current cib after: Query a resource meta attribute =#=#=#= <cib epoch="15" num_updates="0" admin_epoch="1"> <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> <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 =#=#=#= Deleted 'dummy' option: id=dummy-meta_attributes-is-managed name=is-managed =#=#=#= Current cib after: Remove a resource meta attribute =#=#=#= <cib epoch="16" num_updates="0" admin_epoch="1"> <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> <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 =#=#=#= Set 'dummy' option: id=dummy-meta_attributes-target-role set=dummy-meta_attributes name=target-role value=Stopped =#=#=#= 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 =#=#=#= Resource dummy is not running Configuration specifies 'dummy' should remain stopped =#=#=#= 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 =#=#=#= Deleted 'dummy' option: id=dummy-meta_attributes-target-role name=target-role =#=#=#= End test: Remove another resource meta attribute - OK (0) =#=#=#= * Passed: crm_resource - Remove another resource meta attribute =#=#=#= Begin test: Create a resource attribute =#=#=#= 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="19" num_updates="0" admin_epoch="1"> <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> <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 =#=#=#= Full List of Resources: * dummy (ocf::pacemaker:Dummy): Stopped =#=#=#= Current cib after: List the configured resources =#=#=#= <cib epoch="19" num_updates="0" admin_epoch="1"> <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> <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 IDs of instantiated resources =#=#=#= 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 =#=#=#= 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: Require a destination when migrating a resource that is stopped =#=#=#= crm_resource: Resource 'dummy' not moved: active in 0 locations. To prevent 'dummy' from running on a specific location, specify a node. Error performing operation: Invalid argument =#=#=#= Current cib after: Require a destination when migrating a resource that is stopped =#=#=#= <cib epoch="19" num_updates="0" admin_epoch="1"> <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> <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 =#=#=#= crm_resource: Error performing operation: Node not found =#=#=#= Current cib after: Don't support migration to non-existent locations =#=#=#= <cib epoch="19" num_updates="0" admin_epoch="1"> <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> <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="20" num_updates="0" admin_epoch="1"> <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> <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: Online: [ node1 ] 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: Online: [ node1 ] dummy (ocf::pacemaker:Dummy): Started node1 Fence (stonith:fence_true): Started node1 =#=#=#= Current cib after: Bring resources online =#=#=#= <cib epoch="20" num_updates="4" admin_epoch="1"> <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> <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: Already in requested state =#=#=#= Current cib after: Try to move a resource to its existing location =#=#=#= <cib epoch="20" num_updates="4" admin_epoch="1"> <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> <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: 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="21" num_updates="0" admin_epoch="1"> <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> <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="22" num_updates="0" admin_epoch="1"> <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> <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="22" num_updates="0" admin_epoch="1"> <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> <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="22" num_updates="1" admin_epoch="1"> <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> <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="22" num_updates="1" admin_epoch="1"> <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> <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="22" num_updates="2" admin_epoch="1"> <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> <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="22" num_updates="3" admin_epoch="1"> <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> <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="22" num_updates="3" admin_epoch="1"> <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> <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="22" num_updates="4" admin_epoch="1"> <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> <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="22" num_updates="5" admin_epoch="1"> <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> <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: Error performing operation: Node not found =#=#=#= Current cib after: Ban a resource on unknown node =#=#=#= <cib epoch="22" num_updates="5" admin_epoch="1"> <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> <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: Online: [ node1 ] 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: Online: [ node1 node2 node3 ] 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="24" num_updates="8" admin_epoch="1"> <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> <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="25" num_updates="0" admin_epoch="1"> <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> <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 =#=#=#= dummy: * Locations: * Node node1 (score=-INFINITY, id=cli-ban-dummy-on-node1) =#=#=#= End test: Show constraints on a resource - OK (0) =#=#=#= * Passed: crm_resource - Show constraints on a resource =#=#=#= Begin test: Ban dummy from node2 =#=#=#= WARNING: Creating rsc_location constraint 'cli-ban-dummy-on-node2' with a score of -INFINITY for resource dummy on node2. This will prevent dummy from running on node2 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 node2 is the last node in the cluster =#=#=#= Current cib after: Ban dummy from node2 =#=#=#= <cib epoch="26" num_updates="0" admin_epoch="1"> <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> <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: Online: [ node1 node2 node3 ] 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: Online: [ node1 node2 node3 ] dummy (ocf::pacemaker:Dummy): Started node3 Fence (stonith:fence_true): Started node2 =#=#=#= Current cib after: Relocate resources due to ban =#=#=#= <cib epoch="26" num_updates="2" admin_epoch="1"> <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> <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 =#=#=#= =#=#=#= Current cib after: Move dummy to node1 =#=#=#= <cib epoch="28" num_updates="0" admin_epoch="1"> <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> <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="29" num_updates="0" admin_epoch="1"> <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> <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="31" num_updates="0" admin_epoch="1"> <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> <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="32" num_updates="0" admin_epoch="1"> <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> <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="33" num_updates="0" admin_epoch="1"> <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> <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="34" num_updates="0" admin_epoch="1"> <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> <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="35" num_updates="0" admin_epoch="1"> <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> <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="36" num_updates="0" admin_epoch="1"> <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> <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="37" num_updates="0" admin_epoch="1"> <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> <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="38" num_updates="0" admin_epoch="1"> <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> <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="39" num_updates="0" admin_epoch="1"> <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> <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="40" num_updates="0" admin_epoch="1"> <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> <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="41" num_updates="0" admin_epoch="1"> <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> <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="42" num_updates="0" admin_epoch="1"> <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> <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="43" num_updates="0" admin_epoch="1"> <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> <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 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="45" num_updates="0" admin_epoch="1"> <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> <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="47" num_updates="0" admin_epoch="1"> <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> <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: Specify a lifetime when moving a resource =#=#=#= Migration will take effect until: =#=#=#= Current cib after: Specify a lifetime when moving a resource =#=#=#= <cib epoch="50" num_updates="0" admin_epoch="1"> <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> <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="52" num_updates="0" admin_epoch="1"> <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> <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="53" num_updates="0" admin_epoch="1"> <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> <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="54" num_updates="0" admin_epoch="1"> <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> <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="55" num_updates="0" admin_epoch="1"> <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> <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: Delete a resource =#=#=#= =#=#=#= Current cib after: Delete a resource =#=#=#= <cib epoch="56" num_updates="0" admin_epoch="1"> <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> <node id="node2" uname="node2"/> <node id="node3" uname="node3"/> </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='Fencing']/operations/op[@id='Fencing-start-0']"/> <change operation="modify" path="/cib/configuration/crm_config/cluster_property_set[@id='cib-bootstrap-options']/nvpair[@id='cib-bootstrap-options-cluster-name']"> <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='Fencing']/instance_attributes[@id='Fencing-params']/nvpair[@id='Fencing-pcmk_host_list']"> <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='Fencing']/operations/op[@id='Fencing-monitor-120s']"> <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='dummy']/instance_attributes[@id='dummy-params']/nvpair[@id='dummy-op_sleep']" position="1"/> <change operation="move" path="/cib/configuration/resources/primitive[@id='dummy']/instance_attributes[@id='dummy-params']/nvpair[@id='dummy-fake']" position="2"/> <change operation="modify" path="/cib/configuration/resources/primitive[@id='dummy']/operations/op[@id='dummy-monitor-5s']"> <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 =#=#=#= prim1: * Locations: =#=#=#= 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 =#=#=#= prim1: * Locations: =#=#=#= 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> <resource id="prim1"> <locations/> </resource> </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> <resource id="prim1"> <locations/> </resource> </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 =#=#=#= prim2: * Locations: * Node cluster01 (score=INFINITY, id=prim2-on-cluster1) Colocations: - * prim3 (score=INFINITY, id=colocation-prim2-prim3-INFINITY + * prim3 (score=INFINITY, id=colocation-prim2-prim3-INFINITY) * Locations: =#=#=#= 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 =#=#=#= prim2: * Locations: * Node cluster01 (score=INFINITY, id=prim2-on-cluster1) Colocations: - * prim3 (score=INFINITY, id=colocation-prim2-prim3-INFINITY + * prim3 (score=INFINITY, id=colocation-prim2-prim3-INFINITY) * Locations: =#=#=#= 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> <resource id="prim2"> <locations> <location host="cluster01" id="prim2-on-cluster1" score="INFINITY"/> </locations> </resource> <colocations> <colocation peer="prim3" id="colocation-prim2-prim3-INFINITY" score="INFINITY"/> <locations/> </colocations> </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> <resource id="prim2"> <locations> <location host="cluster01" id="prim2-on-cluster1" score="INFINITY"/> </locations> </resource> <colocations> <colocation peer="prim3" id="colocation-prim2-prim3-INFINITY" score="INFINITY"/> <locations/> </colocations> </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 =#=#=#= Colocations: - * prim2 (score=INFINITY, id=colocation-prim2-prim3-INFINITY + * prim2 (score=INFINITY, id=colocation-prim2-prim3-INFINITY) * Locations: * Node cluster01 (score=INFINITY, id=prim2-on-cluster1) prim3: * Locations: Colocations: - * prim4 (score=INFINITY, id=colocation-prim3-prim4-INFINITY + * prim4 (score=INFINITY, id=colocation-prim3-prim4-INFINITY) * Locations: * Node cluster02 (score=INFINITY, id=prim4-on-cluster2) =#=#=#= 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 =#=#=#= Colocations: - * prim2 (score=INFINITY, id=colocation-prim2-prim3-INFINITY + * prim2 (score=INFINITY, id=colocation-prim2-prim3-INFINITY) * Locations: * Node cluster01 (score=INFINITY, id=prim2-on-cluster1) prim3: * Locations: Colocations: - * prim4 (score=INFINITY, id=colocation-prim3-prim4-INFINITY + * prim4 (score=INFINITY, id=colocation-prim3-prim4-INFINITY) * Locations: * Node cluster02 (score=INFINITY, id=prim4-on-cluster2) =#=#=#= 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> <colocations> <colocation peer="prim2" id="colocation-prim2-prim3-INFINITY" score="INFINITY"/> <locations> <location host="cluster01" id="prim2-on-cluster1" score="INFINITY"/> </locations> </colocations> <resource id="prim3"> <locations/> </resource> <colocations> <colocation peer="prim4" id="colocation-prim3-prim4-INFINITY" score="INFINITY"/> <locations> <location host="cluster02" id="prim4-on-cluster2" score="INFINITY"/> </locations> </colocations> </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> <colocations> <colocation peer="prim2" id="colocation-prim2-prim3-INFINITY" score="INFINITY"/> <locations> <location host="cluster01" id="prim2-on-cluster1" score="INFINITY"/> </locations> </colocations> <resource id="prim3"> <locations/> </resource> <colocations> <colocation peer="prim4" id="colocation-prim3-prim4-INFINITY" score="INFINITY"/> <locations> <location host="cluster02" id="prim4-on-cluster2" score="INFINITY"/> </locations> </colocations> </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 =#=#=#= Colocations: - * prim10 (score=INFINITY, id=colocation-prim10-prim4-INFINITY + * prim10 (score=INFINITY, id=colocation-prim10-prim4-INFINITY) * Locations: - * prim3 (score=INFINITY, id=colocation-prim3-prim4-INFINITY + * prim3 (score=INFINITY, id=colocation-prim3-prim4-INFINITY) * Locations: prim4: * Locations: * Node cluster02 (score=INFINITY, id=prim4-on-cluster2) Colocations: - * prim5 (score=INFINITY, id=colocation-prim4-prim5-INFINITY + * prim5 (score=INFINITY, id=colocation-prim4-prim5-INFINITY) * Locations: =#=#=#= 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 =#=#=#= Colocations: - * prim10 (score=INFINITY, id=colocation-prim10-prim4-INFINITY + * prim10 (score=INFINITY, id=colocation-prim10-prim4-INFINITY) * Locations: - * prim3 (score=INFINITY, id=colocation-prim3-prim4-INFINITY + * prim3 (score=INFINITY, id=colocation-prim3-prim4-INFINITY) * Locations: prim4: * Locations: * Node cluster02 (score=INFINITY, id=prim4-on-cluster2) Colocations: - * prim5 (score=INFINITY, id=colocation-prim4-prim5-INFINITY + * prim5 (score=INFINITY, id=colocation-prim4-prim5-INFINITY) * Locations: =#=#=#= 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> <colocations> <colocation peer="prim10" id="colocation-prim10-prim4-INFINITY" score="INFINITY"/> <locations/> <colocation peer="prim3" id="colocation-prim3-prim4-INFINITY" score="INFINITY"/> <locations/> </colocations> <resource id="prim4"> <locations> <location host="cluster02" id="prim4-on-cluster2" score="INFINITY"/> </locations> </resource> <colocations> <colocation peer="prim5" id="colocation-prim4-prim5-INFINITY" score="INFINITY"/> <locations/> </colocations> </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> <colocations> <colocation peer="prim10" id="colocation-prim10-prim4-INFINITY" score="INFINITY"/> <locations/> <colocation peer="prim3" id="colocation-prim3-prim4-INFINITY" score="INFINITY"/> <locations/> </colocations> <resource id="prim4"> <locations> <location host="cluster02" id="prim4-on-cluster2" score="INFINITY"/> </locations> </resource> <colocations> <colocation peer="prim5" id="colocation-prim4-prim5-INFINITY" score="INFINITY"/> <locations/> </colocations> </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 =#=#=#= Colocations: - * prim4 (score=INFINITY, id=colocation-prim4-prim5-INFINITY + * prim4 (score=INFINITY, id=colocation-prim4-prim5-INFINITY) * Locations: * Node cluster02 (score=INFINITY, id=prim4-on-cluster2) prim5: * Locations: =#=#=#= 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 =#=#=#= Colocations: - * prim4 (score=INFINITY, id=colocation-prim4-prim5-INFINITY + * prim4 (score=INFINITY, id=colocation-prim4-prim5-INFINITY) * Locations: * Node cluster02 (score=INFINITY, id=prim4-on-cluster2) prim5: * Locations: =#=#=#= 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> <colocations> <colocation peer="prim4" id="colocation-prim4-prim5-INFINITY" score="INFINITY"/> <locations> <location host="cluster02" id="prim4-on-cluster2" score="INFINITY"/> </locations> </colocations> <resource id="prim5"> <locations/> </resource> </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> <colocations> <colocation peer="prim4" id="colocation-prim4-prim5-INFINITY" score="INFINITY"/> <locations> <location host="cluster02" id="prim4-on-cluster2" score="INFINITY"/> </locations> </colocations> <resource id="prim5"> <locations/> </resource> </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 =#=#=#= prim6: * Locations: * Node cluster02 (score=-INFINITY, id=prim6-not-on-cluster2) =#=#=#= 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 =#=#=#= prim6: * Locations: * Node cluster02 (score=-INFINITY, id=prim6-not-on-cluster2) =#=#=#= 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> <resource id="prim6"> <locations> <location host="cluster02" id="prim6-not-on-cluster2" score="-INFINITY"/> </locations> </resource> </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> <resource id="prim6"> <locations> <location host="cluster02" id="prim6-not-on-cluster2" score="-INFINITY"/> </locations> </resource> </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 =#=#=#= prim7: * Locations: Colocations: - * group (score=INFINITY, id=colocation-prim7-group-INFINITY + * group (score=INFINITY, id=colocation-prim7-group-INFINITY) * Locations: =#=#=#= 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 =#=#=#= prim7: * Locations: Colocations: - * group (score=INFINITY, id=colocation-prim7-group-INFINITY + * group (score=INFINITY, id=colocation-prim7-group-INFINITY) * Locations: =#=#=#= 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> <resource id="prim7"> <locations/> </resource> <colocations> <colocation peer="group" id="colocation-prim7-group-INFINITY" score="INFINITY"/> <locations/> </colocations> </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> <resource id="prim7"> <locations/> </resource> <colocations> <colocation peer="group" id="colocation-prim7-group-INFINITY" score="INFINITY"/> <locations/> </colocations> </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 =#=#=#= prim8: * Locations: Colocations: - * gr2 (score=INFINITY, id=colocation-prim8-gr2-INFINITY + * gr2 (score=INFINITY, id=colocation-prim8-gr2-INFINITY) * Locations: =#=#=#= 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 =#=#=#= prim8: * Locations: Colocations: - * gr2 (score=INFINITY, id=colocation-prim8-gr2-INFINITY + * gr2 (score=INFINITY, id=colocation-prim8-gr2-INFINITY) * Locations: =#=#=#= 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> <resource id="prim8"> <locations/> </resource> <colocations> <colocation peer="gr2" id="colocation-prim8-gr2-INFINITY" score="INFINITY"/> <locations/> </colocations> </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> <resource id="prim8"> <locations/> </resource> <colocations> <colocation peer="gr2" id="colocation-prim8-gr2-INFINITY" score="INFINITY"/> <locations/> </colocations> </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 =#=#=#= prim9: * Locations: Colocations: - * clone (score=INFINITY, id=colocation-prim9-clone-INFINITY + * clone (score=INFINITY, id=colocation-prim9-clone-INFINITY) * Locations: =#=#=#= 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 =#=#=#= prim9: * Locations: Colocations: - * clone (score=INFINITY, id=colocation-prim9-clone-INFINITY + * clone (score=INFINITY, id=colocation-prim9-clone-INFINITY) * Locations: =#=#=#= 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> <resource id="prim9"> <locations/> </resource> <colocations> <colocation peer="clone" id="colocation-prim9-clone-INFINITY" score="INFINITY"/> <locations/> </colocations> </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> <resource id="prim9"> <locations/> </resource> <colocations> <colocation peer="clone" id="colocation-prim9-clone-INFINITY" score="INFINITY"/> <locations/> </colocations> </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 =#=#=#= prim10: * Locations: Colocations: - * prim4 (score=INFINITY, id=colocation-prim10-prim4-INFINITY + * prim4 (score=INFINITY, id=colocation-prim10-prim4-INFINITY) * Locations: * Node cluster02 (score=INFINITY, id=prim4-on-cluster2) =#=#=#= 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 =#=#=#= prim10: * Locations: Colocations: - * prim4 (score=INFINITY, id=colocation-prim10-prim4-INFINITY + * prim4 (score=INFINITY, id=colocation-prim10-prim4-INFINITY) * Locations: * Node cluster02 (score=INFINITY, id=prim4-on-cluster2) =#=#=#= 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> <resource id="prim10"> <locations/> </resource> <colocations> <colocation peer="prim4" id="colocation-prim10-prim4-INFINITY" score="INFINITY"/> <locations> <location host="cluster02" id="prim4-on-cluster2" score="INFINITY"/> </locations> </colocations> </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> <resource id="prim10"> <locations/> </resource> <colocations> <colocation peer="prim4" id="colocation-prim10-prim4-INFINITY" score="INFINITY"/> <locations> <location host="cluster02" id="prim4-on-cluster2" score="INFINITY"/> </locations> </colocations> </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 =#=#=#= Colocations: - * prim13 (score=INFINITY, id=colocation-prim13-prim11-INFINITY + * prim13 (score=INFINITY, id=colocation-prim13-prim11-INFINITY) * Locations: prim11: * Locations: Colocations: - * prim12 (score=INFINITY, id=colocation-prim11-prim12-INFINITY + * prim12 (score=INFINITY, id=colocation-prim11-prim12-INFINITY) * Locations: =#=#=#= 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 =#=#=#= Colocations: - * prim13 (score=INFINITY, id=colocation-prim13-prim11-INFINITY + * prim13 (score=INFINITY, id=colocation-prim13-prim11-INFINITY) * Locations: prim11: * Locations: Colocations: - * prim12 (score=INFINITY, id=colocation-prim11-prim12-INFINITY + * prim12 (score=INFINITY, id=colocation-prim11-prim12-INFINITY) * Locations: =#=#=#= 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> <colocations> <colocation peer="prim13" id="colocation-prim13-prim11-INFINITY" score="INFINITY"/> <locations/> </colocations> <resource id="prim11"> <locations/> </resource> <colocations> <colocation peer="prim12" id="colocation-prim11-prim12-INFINITY" score="INFINITY"/> <locations/> </colocations> </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> <colocations> <colocation peer="prim13" id="colocation-prim13-prim11-INFINITY" score="INFINITY"/> <locations/> </colocations> <resource id="prim11"> <locations/> </resource> <colocations> <colocation peer="prim12" id="colocation-prim11-prim12-INFINITY" score="INFINITY"/> <locations/> </colocations> </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 =#=#=#= Colocations: - * prim11 (score=INFINITY, id=colocation-prim11-prim12-INFINITY + * prim11 (score=INFINITY, id=colocation-prim11-prim12-INFINITY) * Locations: prim12: * Locations: Colocations: - * prim13 (score=INFINITY, id=colocation-prim12-prim13-INFINITY + * prim13 (score=INFINITY, id=colocation-prim12-prim13-INFINITY) * Locations: =#=#=#= 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 =#=#=#= Colocations: - * prim11 (score=INFINITY, id=colocation-prim11-prim12-INFINITY + * prim11 (score=INFINITY, id=colocation-prim11-prim12-INFINITY) * Locations: prim12: * Locations: Colocations: - * prim13 (score=INFINITY, id=colocation-prim12-prim13-INFINITY + * prim13 (score=INFINITY, id=colocation-prim12-prim13-INFINITY) * Locations: =#=#=#= 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> <colocations> <colocation peer="prim11" id="colocation-prim11-prim12-INFINITY" score="INFINITY"/> <locations/> </colocations> <resource id="prim12"> <locations/> </resource> <colocations> <colocation peer="prim13" id="colocation-prim12-prim13-INFINITY" score="INFINITY"/> <locations/> </colocations> </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> <colocations> <colocation peer="prim11" id="colocation-prim11-prim12-INFINITY" score="INFINITY"/> <locations/> </colocations> <resource id="prim12"> <locations/> </resource> <colocations> <colocation peer="prim13" id="colocation-prim12-prim13-INFINITY" score="INFINITY"/> <locations/> </colocations> </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 =#=#=#= Colocations: - * prim12 (score=INFINITY, id=colocation-prim12-prim13-INFINITY + * prim12 (score=INFINITY, id=colocation-prim12-prim13-INFINITY) * Locations: prim13: * Locations: Colocations: - * prim11 (score=INFINITY, id=colocation-prim13-prim11-INFINITY + * prim11 (score=INFINITY, id=colocation-prim13-prim11-INFINITY) * Locations: =#=#=#= 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 =#=#=#= Colocations: - * prim12 (score=INFINITY, id=colocation-prim12-prim13-INFINITY + * prim12 (score=INFINITY, id=colocation-prim12-prim13-INFINITY) * Locations: prim13: * Locations: Colocations: - * prim11 (score=INFINITY, id=colocation-prim13-prim11-INFINITY + * prim11 (score=INFINITY, id=colocation-prim13-prim11-INFINITY) * Locations: =#=#=#= 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> <colocations> <colocation peer="prim12" id="colocation-prim12-prim13-INFINITY" score="INFINITY"/> <locations/> </colocations> <resource id="prim13"> <locations/> </resource> <colocations> <colocation peer="prim11" id="colocation-prim13-prim11-INFINITY" score="INFINITY"/> <locations/> </colocations> </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> <colocations> <colocation peer="prim12" id="colocation-prim12-prim13-INFINITY" score="INFINITY"/> <locations/> </colocations> <resource id="prim13"> <locations/> </resource> <colocations> <colocation peer="prim11" id="colocation-prim13-prim11-INFINITY" score="INFINITY"/> <locations/> </colocations> </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 =#=#=#= Colocations: - * prim7 (score=INFINITY, id=colocation-prim7-group-INFINITY + * prim7 (score=INFINITY, id=colocation-prim7-group-INFINITY) * Locations: group: * Locations: =#=#=#= 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 =#=#=#= Colocations: - * prim7 (score=INFINITY, id=colocation-prim7-group-INFINITY + * prim7 (score=INFINITY, id=colocation-prim7-group-INFINITY) * Locations: group: * Locations: =#=#=#= 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> <colocations> <colocation peer="prim7" id="colocation-prim7-group-INFINITY" score="INFINITY"/> <locations/> </colocations> <resource id="group"> <locations/> </resource> </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> <colocations> <colocation peer="prim7" id="colocation-prim7-group-INFINITY" score="INFINITY"/> <locations/> </colocations> <resource id="group"> <locations/> </resource> </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 =#=#=#= Colocations: - * prim9 (score=INFINITY, id=colocation-prim9-clone-INFINITY + * prim9 (score=INFINITY, id=colocation-prim9-clone-INFINITY) * Locations: clone: * Locations: =#=#=#= 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 =#=#=#= Colocations: - * prim9 (score=INFINITY, id=colocation-prim9-clone-INFINITY + * prim9 (score=INFINITY, id=colocation-prim9-clone-INFINITY) * Locations: clone: * Locations: =#=#=#= 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> <colocations> <colocation peer="prim9" id="colocation-prim9-clone-INFINITY" score="INFINITY"/> <locations/> </colocations> <resource id="clone"> <locations/> </resource> </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> <colocations> <colocation peer="prim9" id="colocation-prim9-clone-INFINITY" score="INFINITY"/> <locations/> </colocations> <resource id="clone"> <locations/> </resource> </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 diff --git a/lib/pacemaker/pcmk_output.c b/lib/pacemaker/pcmk_output.c index d3e93caec8..8ff3e9d2ca 100644 --- a/lib/pacemaker/pcmk_output.c +++ b/lib/pacemaker/pcmk_output.c @@ -1,532 +1,544 @@ /* * Copyright 2019-2020 the Pacemaker project contributors * * The version control history for this file may have further details. * * This source code is licensed under the GNU General Public License version 2 * or later (GPLv2+) WITHOUT ANY WARRANTY. */ #include <crm_internal.h> #include <crm/common/results.h> #include <crm/common/output_internal.h> #include <crm/stonith-ng.h> #include <crm/fencing/internal.h> #include <libxml/tree.h> #include <pacemaker-internal.h> pcmk__supported_format_t pcmk__out_formats[] = { PCMK__SUPPORTED_FORMAT_XML, { NULL, NULL, NULL } }; int pcmk__out_prologue(pcmk__output_t **out, xmlNodePtr *xml) { int rc = pcmk_rc_ok; if (*xml != NULL) { xmlFreeNode(*xml); } pcmk__register_formats(NULL, pcmk__out_formats); rc = pcmk__output_new(out, "xml", NULL, NULL); if (rc != pcmk_rc_ok) { return rc; } return rc; } void pcmk__out_epilogue(pcmk__output_t *out, xmlNodePtr *xml, int retval) { if (retval == pcmk_rc_ok) { out->finish(out, 0, FALSE, (void **) xml); } pcmk__output_free(out); } +static char * +colocations_header(pe_resource_t *rsc, rsc_colocation_t *cons, + gboolean dependents) { + char *score = NULL; + char *retval = NULL; + + score = score2char(cons->score); + if (cons->role_rh > RSC_ROLE_STARTED) { + retval = crm_strdup_printf("%s (score=%s, %s role=%s, id=%s)", + rsc->id, score, dependents ? "needs" : "with", + role2text(cons->role_rh), cons->id); + } else { + retval = crm_strdup_printf("%s (score=%s, id=%s)", + rsc->id, score, cons->id); + } + + free(score); + return retval; +} + PCMK__OUTPUT_ARGS("colocations-list", "pe_resource_t *", "gboolean", "gboolean") static int colocations_list(pcmk__output_t *out, va_list args) { pe_resource_t *rsc = va_arg(args, pe_resource_t *); gboolean dependents = va_arg(args, gboolean); gboolean recursive = va_arg(args, gboolean); GList *lpc = NULL; GList *list = rsc->rsc_cons; bool printed_header = false; if (dependents) { list = rsc->rsc_cons_lhs; } if (pcmk_is_set(rsc->flags, pe_rsc_allocating)) { return pcmk_rc_no_output; } pe__set_resource_flags(rsc, pe_rsc_allocating); for (lpc = list; lpc != NULL; lpc = lpc->next) { rsc_colocation_t *cons = (rsc_colocation_t *) lpc->data; - - char *score = NULL; pe_resource_t *peer = cons->rsc_rh; + char *hdr = NULL; if (dependents) { peer = cons->rsc_lh; } if (pcmk_is_set(peer->flags, pe_rsc_allocating)) { if (dependents == FALSE) { if (!printed_header) { out->begin_list(out, NULL, NULL, "Colocations"); printed_header = true; } out->list_item(out, NULL, "%s (id=%s - loop)", peer->id, cons->id); } continue; } if (dependents && recursive) { if (!printed_header) { out->begin_list(out, NULL, NULL, "Colocations"); printed_header = true; } out->message(out, "colocations-list", rsc, dependents, recursive); } if (!printed_header) { out->begin_list(out, NULL, NULL, "Colocations"); printed_header = true; } - score = score2char(cons->score); - if (cons->role_rh > RSC_ROLE_STARTED) { - out->list_item(out, NULL, "%s (score=%s, %s role=%s, id=%s", - peer->id, score, dependents ? "needs" : "with", - role2text(cons->role_rh), cons->id); - } else { - out->list_item(out, NULL, "%s (score=%s, id=%s", - peer->id, score, cons->id); - } + hdr = colocations_header(peer, cons, dependents); + out->list_item(out, NULL, "%s", hdr); + free(hdr); - free(score); out->message(out, "locations-list", peer); if (!dependents && recursive) { out->message(out, "colocations-list", rsc, dependents, recursive); } } if (printed_header) { out->end_list(out); } return pcmk_rc_no_output; } PCMK__OUTPUT_ARGS("colocations-list", "pe_resource_t *", "gboolean", "gboolean") static int colocations_list_xml(pcmk__output_t *out, va_list args) { pe_resource_t *rsc = va_arg(args, pe_resource_t *); gboolean dependents = va_arg(args, gboolean); gboolean recursive = va_arg(args, gboolean); GList *lpc = NULL; GList *list = rsc->rsc_cons; bool printed_header = false; if (dependents) { list = rsc->rsc_cons_lhs; } if (pcmk_is_set(rsc->flags, pe_rsc_allocating)) { return pcmk_rc_ok; } pe__set_resource_flags(rsc, pe_rsc_allocating); for (lpc = list; lpc != NULL; lpc = lpc->next) { rsc_colocation_t *cons = (rsc_colocation_t *) lpc->data; pe_resource_t *peer = cons->rsc_rh; char *score = NULL; if (dependents) { peer = cons->rsc_lh; } if (pcmk_is_set(peer->flags, pe_rsc_allocating)) { if (dependents == FALSE) { if (!printed_header) { pcmk__output_xml_create_parent(out, "colocations", NULL); printed_header = true; } pcmk__output_create_xml_node(out, "colocation", "peer", peer->id, "id", cons->id, NULL); } continue; } if (dependents && recursive) { if (!printed_header) { pcmk__output_xml_create_parent(out, "colocations", NULL); printed_header = true; } out->message(out, "colocations-list", rsc, dependents, recursive); } if (!printed_header) { pcmk__output_xml_create_parent(out, "colocations", NULL); printed_header = true; } score = score2char(cons->score); if (cons->role_rh > RSC_ROLE_STARTED) { pcmk__output_create_xml_node(out, "colocation", "peer", peer->id, "id", cons->id, "score", score, "dependents", dependents ? "needs" : "with", "role", role2text(cons->role_rh), NULL); } else { pcmk__output_create_xml_node(out, "colocation", "peer", peer->id, "id", cons->id, "score", score, NULL); } free(score); out->message(out, "locations-list", peer); if (!dependents && recursive) { out->message(out, "colocations-list", rsc, dependents, recursive); } } if (printed_header) { pcmk__output_xml_pop_parent(out); } return pcmk_rc_ok; } PCMK__OUTPUT_ARGS("locations-list", "pe_resource_t *") static int locations_list(pcmk__output_t *out, va_list args) { pe_resource_t *rsc = va_arg(args, pe_resource_t *); GList *lpc = NULL; GList *list = rsc->rsc_location; out->begin_list(out, NULL, NULL, "Locations"); for (lpc = list; lpc != NULL; lpc = lpc->next) { pe__location_t *cons = lpc->data; GList *lpc2 = NULL; for (lpc2 = cons->node_list_rh; lpc2 != NULL; lpc2 = lpc2->next) { pe_node_t *node = (pe_node_t *) lpc2->data; char *score = score2char(node->weight); out->list_item(out, NULL, "Node %s (score=%s, id=%s)", node->details->uname, score, cons->id); free(score); } } out->end_list(out); return pcmk_rc_ok; } PCMK__OUTPUT_ARGS("locations-list", "pe_resource_t *") static int locations_list_xml(pcmk__output_t *out, va_list args) { pe_resource_t *rsc = va_arg(args, pe_resource_t *); GList *lpc = NULL; GList *list = rsc->rsc_location; pcmk__output_xml_create_parent(out, "locations", NULL); for (lpc = list; lpc != NULL; lpc = lpc->next) { pe__location_t *cons = lpc->data; GList *lpc2 = NULL; for (lpc2 = cons->node_list_rh; lpc2 != NULL; lpc2 = lpc2->next) { pe_node_t *node = (pe_node_t *) lpc2->data; char *score = score2char(node->weight); pcmk__output_create_xml_node(out, "location", "host", node->details->uname, "id", cons->id, "score", score, NULL); free(score); } } pcmk__output_xml_pop_parent(out); return pcmk_rc_ok; } PCMK__OUTPUT_ARGS("stacks-constraints", "pe_resource_t *", "pe_working_set_t *", "gboolean") static int stacks_and_constraints(pcmk__output_t *out, va_list args) { pe_resource_t *rsc = va_arg(args, pe_resource_t *); pe_working_set_t *data_set = va_arg(args, pe_working_set_t *); gboolean recursive = va_arg(args, gboolean); xmlNodePtr cib_constraints = get_object_root(XML_CIB_TAG_CONSTRAINTS, data_set->input); unpack_constraints(cib_constraints, data_set); // Constraints apply to group/clone, not member/instance rsc = uber_parent(rsc); pe__clear_resource_flags_on_all(data_set, pe_rsc_allocating); out->message(out, "colocations-list", rsc, TRUE, recursive); out->begin_list(out, NULL, NULL, "%s", rsc->id); out->message(out, "locations-list", rsc); out->end_list(out); pe__clear_resource_flags_on_all(data_set, pe_rsc_allocating); out->message(out, "colocations-list", rsc, FALSE, recursive); return pcmk_rc_ok; } PCMK__OUTPUT_ARGS("stacks-constraints", "pe_resource_t *", "pe_working_set_t *", "gboolean") static int stacks_and_constraints_xml(pcmk__output_t *out, va_list args) { pe_resource_t *rsc = va_arg(args, pe_resource_t *); pe_working_set_t *data_set = va_arg(args, pe_working_set_t *); gboolean recursive = va_arg(args, gboolean); xmlNodePtr cib_constraints = get_object_root(XML_CIB_TAG_CONSTRAINTS, data_set->input); unpack_constraints(cib_constraints, data_set); // Constraints apply to group/clone, not member/instance rsc = uber_parent(rsc); pe__clear_resource_flags_on_all(data_set, pe_rsc_allocating); pcmk__output_xml_create_parent(out, "constraints", NULL); out->message(out, "colocations-list", rsc, TRUE, recursive); pcmk__output_xml_create_parent(out, "resource", "id", rsc->id, NULL); out->message(out, "locations-list", rsc); pcmk__output_xml_pop_parent(out); pe__clear_resource_flags_on_all(data_set, pe_rsc_allocating); out->message(out, "colocations-list", rsc, FALSE, recursive); return pcmk_rc_ok; } PCMK__OUTPUT_ARGS("health", "const char *", "const char *", "const char *", "const char *") static int health_text(pcmk__output_t *out, va_list args) { const char *sys_from = va_arg(args, const char *); const char *host_from = va_arg(args, const char *); const char *fsa_state = va_arg(args, const char *); const char *result = va_arg(args, const char *); if (!out->is_quiet(out)) { out->info(out, "Status of %s@%s: %s (%s)", crm_str(sys_from), crm_str(host_from), crm_str(fsa_state), crm_str(result)); } else if (fsa_state != NULL) { out->info(out, "%s", fsa_state); } return pcmk_rc_ok; } PCMK__OUTPUT_ARGS("health", "const char *", "const char *", "const char *", "const char *") static int health_xml(pcmk__output_t *out, va_list args) { const char *sys_from = va_arg(args, const char *); const char *host_from = va_arg(args, const char *); const char *fsa_state = va_arg(args, const char *); const char *result = va_arg(args, const char *); pcmk__output_create_xml_node(out, crm_str(sys_from), "node_name", crm_str(host_from), "state", crm_str(fsa_state), "result", crm_str(result), NULL); return pcmk_rc_ok; } PCMK__OUTPUT_ARGS("pacemakerd-health", "const char *", "const char *", "const char *") static int pacemakerd_health_text(pcmk__output_t *out, va_list args) { const char *sys_from = va_arg(args, const char *); const char *state = va_arg(args, const char *); const char *last_updated = va_arg(args, const char *); if (!out->is_quiet(out)) { out->info(out, "Status of %s: '%s' %s %s", crm_str(sys_from), crm_str(state), (!pcmk__str_empty(last_updated))? "last updated":"", crm_str(last_updated)); } else { out->info(out, "%s", crm_str(state)); } return pcmk_rc_ok; } PCMK__OUTPUT_ARGS("pacemakerd-health", "const char *", "const char *", "const char *") static int pacemakerd_health_xml(pcmk__output_t *out, va_list args) { const char *sys_from = va_arg(args, const char *); const char *state = va_arg(args, const char *); const char *last_updated = va_arg(args, const char *); pcmk__output_create_xml_node(out, crm_str(sys_from), "state", crm_str(state), "last_updated", crm_str(last_updated), NULL); return pcmk_rc_ok; } PCMK__OUTPUT_ARGS("dc", "const char *") static int dc_text(pcmk__output_t *out, va_list args) { const char *dc = va_arg(args, const char *); if (!out->is_quiet(out)) { out->info(out, "Designated Controller is: %s", crm_str(dc)); } else if (dc != NULL) { out->info(out, "%s", dc); } return pcmk_rc_ok; } PCMK__OUTPUT_ARGS("dc", "const char *") static int dc_xml(pcmk__output_t *out, va_list args) { const char *dc = va_arg(args, const char *); pcmk__output_create_xml_node(out, "dc", "node_name", crm_str(dc), NULL); return pcmk_rc_ok; } PCMK__OUTPUT_ARGS("crmadmin-node-list", "xmlNodePtr", "gboolean") static int crmadmin_node_list(pcmk__output_t *out, va_list args) { xmlNodePtr xml_node = va_arg(args, xmlNodePtr); gboolean BASH_EXPORT = va_arg(args, gboolean); int found = 0; xmlNode *node = NULL; xmlNode *nodes = get_object_root(XML_CIB_TAG_NODES, xml_node); out->begin_list(out, NULL, NULL, "nodes"); for (node = first_named_child(nodes, XML_CIB_TAG_NODE); node != NULL; node = crm_next_same_xml(node)) { const char *node_type = BASH_EXPORT ? NULL : crm_element_value(node, XML_ATTR_TYPE); out->message(out, "crmadmin-node", node_type, crm_str(crm_element_value(node, XML_ATTR_UNAME)), crm_str(crm_element_value(node, XML_ATTR_ID)), BASH_EXPORT); found++; } // @TODO List Pacemaker Remote nodes that don't have a <node> entry out->end_list(out); if (found == 0) { out->info(out, "No nodes configured"); } return pcmk_rc_ok; } PCMK__OUTPUT_ARGS("crmadmin-node", "const char *", "const char *", "const char *", "gboolean") static int crmadmin_node_text(pcmk__output_t *out, va_list args) { const char *type = va_arg(args, const char *); const char *name = va_arg(args, const char *); const char *id = va_arg(args, const char *); gboolean BASH_EXPORT = va_arg(args, gboolean); if (BASH_EXPORT) { out->info(out, "export %s=%s", crm_str(name), crm_str(id)); } else { out->info(out, "%s node: %s (%s)", type ? type : "member", crm_str(name), crm_str(id)); } return pcmk_rc_ok; } PCMK__OUTPUT_ARGS("crmadmin-node", "const char *", "const char *", "const char *", "gboolean") static int crmadmin_node_xml(pcmk__output_t *out, va_list args) { const char *type = va_arg(args, const char *); const char *name = va_arg(args, const char *); const char *id = va_arg(args, const char *); pcmk__output_create_xml_node(out, "node", "type", type ? type : "member", "name", crm_str(name), "id", crm_str(id), NULL); return pcmk_rc_ok; } static pcmk__message_entry_t fmt_functions[] = { { "colocations-list", "default", colocations_list }, { "colocations-list", "xml", colocations_list_xml }, { "locations-list", "default", locations_list }, { "locations-list", "xml", locations_list_xml }, { "stacks-constraints", "default", stacks_and_constraints }, { "stacks-constraints", "xml", stacks_and_constraints_xml }, { "health", "default", health_text }, { "health", "xml", health_xml }, { "pacemakerd-health", "default", pacemakerd_health_text }, { "pacemakerd-health", "xml", pacemakerd_health_xml }, { "dc", "default", dc_text }, { "dc", "xml", dc_xml }, { "crmadmin-node-list", "default", crmadmin_node_list }, { "crmadmin-node", "default", crmadmin_node_text }, { "crmadmin-node", "xml", crmadmin_node_xml }, { NULL, NULL, NULL } }; void pcmk__register_lib_messages(pcmk__output_t *out) { pcmk__register_messages(out, fmt_functions); }