diff --git a/tools/regression.validity.exp b/tools/regression.validity.exp index 09c5edf801..cb46532b03 100644 --- a/tools/regression.validity.exp +++ b/tools/regression.validity.exp @@ -1,374 +1,388 @@ 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=tools-regression ; export CIB_shadow =#=#=#= Begin test: Try to make resulting CIB invalid (enum violation) =#=#=#= Call failed: Update does not conform to the configured schema =#=#=#= Current cib after: Try to make resulting CIB invalid (enum violation) =#=#=#= <cib epoch="3" num_updates="0" admin_epoch="0"> <configuration> <crm_config/> <nodes/> <resources> <primitive id="dummy1" class="ocf" provider="pacemaker" type="Dummy"/> <primitive id="dummy2" class="ocf" provider="pacemaker" type="Dummy"/> </resources> <constraints> <rsc_order id="ord_1-2" first="dummy1" first-action="start" then="dummy2"/> </constraints> </configuration> <status/> </cib> =#=#=#= End test: Try to make resulting CIB invalid (enum violation) - Update does not conform to the configured schema (203) =#=#=#= * Passed: cibadmin - Try to make resulting CIB invalid (enum violation) =#=#=#= Begin test: Run crm_simulate with invalid CIB (enum violation) =#=#=#= ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-1.2' validation (1 of X) element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order ( schemas.c:NNN ) trace: update_validation: pacemaker-1.2 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-1.3' validation (2 of X) element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order ( schemas.c:NNN ) trace: update_validation: pacemaker-1.3 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.0' validation (3 of X) element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order ( schemas.c:NNN ) trace: update_validation: pacemaker-2.0 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.1' validation (4 of X) element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order ( schemas.c:NNN ) trace: update_validation: pacemaker-2.1 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.2' validation (5 of X) element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order ( schemas.c:NNN ) trace: update_validation: pacemaker-2.2 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.3' validation (6 of X) element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order ( schemas.c:NNN ) trace: update_validation: pacemaker-2.3 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.4' validation (7 of X) element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order ( schemas.c:NNN ) trace: update_validation: pacemaker-2.4 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.5' validation (8 of X) element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order ( schemas.c:NNN ) trace: update_validation: pacemaker-2.5 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.6' validation (9 of X) element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order ( schemas.c:NNN ) trace: update_validation: pacemaker-2.6 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.7' validation (10 of X) element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order ( schemas.c:NNN ) trace: update_validation: pacemaker-2.7 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.8' validation (11 of X) element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order ( schemas.c:NNN ) trace: update_validation: pacemaker-2.8 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.9' validation (12 of X) element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order ( schemas.c:NNN ) trace: update_validation: pacemaker-2.9 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.10' validation (13 of X) element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order ( schemas.c:NNN ) trace: update_validation: pacemaker-2.10 validation failed -Your current configuration pacemaker-1.2 could not validate with any schema in range [pacemaker-1.2, pacemaker-2.10], cannot upgrade to pacemaker-2.0. +( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-3.0' validation (14 of X) +element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order +element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order +( schemas.c:NNN ) trace: update_validation: pacemaker-3.0 validation failed +Your current configuration pacemaker-1.2 could not validate with any schema in range [pacemaker-1.2, pacemaker-3.0], cannot upgrade to pacemaker-3.0. =#=#=#= End test: Run crm_simulate with invalid CIB (enum violation) - Required key not available (126) =#=#=#= * Passed: crm_simulate - Run crm_simulate with invalid CIB (enum violation) =#=#=#= Begin test: Try to make resulting CIB invalid (unrecognized validate-with) =#=#=#= Call failed: Update does not conform to the configured schema =#=#=#= Current cib after: Try to make resulting CIB invalid (unrecognized validate-with) =#=#=#= <cib epoch="3" num_updates="0" admin_epoch="0"> <configuration> <crm_config/> <nodes/> <resources> <primitive id="dummy1" class="ocf" provider="pacemaker" type="Dummy"/> <primitive id="dummy2" class="ocf" provider="pacemaker" type="Dummy"/> </resources> <constraints> <rsc_order id="ord_1-2" first="dummy1" first-action="start" then="dummy2"/> </constraints> </configuration> <status/> </cib> =#=#=#= End test: Try to make resulting CIB invalid (unrecognized validate-with) - Update does not conform to the configured schema (203) =#=#=#= * Passed: cibadmin - Try to make resulting CIB invalid (unrecognized validate-with) =#=#=#= Begin test: Run crm_simulate with invalid CIB (unrecognized validate-with) =#=#=#= ( schemas.c:NNN ) debug: update_validation: Unknown validation schema ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-1.0' validation (0 of X) element cib: Relax-NG validity error : Invalid attribute validate-with for element cib ( schemas.c:NNN ) trace: update_validation: pacemaker-1.0 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-1.2' validation (1 of X) element cib: Relax-NG validity error : Invalid attribute validate-with for element cib ( schemas.c:NNN ) trace: update_validation: pacemaker-1.2 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-1.3' validation (2 of X) element cib: Relax-NG validity error : Invalid attribute validate-with for element cib ( schemas.c:NNN ) trace: update_validation: pacemaker-1.3 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.0' validation (3 of X) element cib: Relax-NG validity error : Invalid attribute validate-with for element cib ( schemas.c:NNN ) trace: update_validation: pacemaker-2.0 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.1' validation (4 of X) element cib: Relax-NG validity error : Invalid attribute validate-with for element cib ( schemas.c:NNN ) trace: update_validation: pacemaker-2.1 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.2' validation (5 of X) element cib: Relax-NG validity error : Invalid attribute validate-with for element cib ( schemas.c:NNN ) trace: update_validation: pacemaker-2.2 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.3' validation (6 of X) element cib: Relax-NG validity error : Invalid attribute validate-with for element cib ( schemas.c:NNN ) trace: update_validation: pacemaker-2.3 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.4' validation (7 of X) element cib: Relax-NG validity error : Invalid attribute validate-with for element cib ( schemas.c:NNN ) trace: update_validation: pacemaker-2.4 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.5' validation (8 of X) element cib: Relax-NG validity error : Invalid attribute validate-with for element cib ( schemas.c:NNN ) trace: update_validation: pacemaker-2.5 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.6' validation (9 of X) element cib: Relax-NG validity error : Invalid attribute validate-with for element cib ( schemas.c:NNN ) trace: update_validation: pacemaker-2.6 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.7' validation (10 of X) element cib: Relax-NG validity error : Invalid attribute validate-with for element cib ( schemas.c:NNN ) trace: update_validation: pacemaker-2.7 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.8' validation (11 of X) element cib: Relax-NG validity error : Invalid attribute validate-with for element cib ( schemas.c:NNN ) trace: update_validation: pacemaker-2.8 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.9' validation (12 of X) element cib: Relax-NG validity error : Invalid attribute validate-with for element cib ( schemas.c:NNN ) trace: update_validation: pacemaker-2.9 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.10' validation (13 of X) element cib: Relax-NG validity error : Invalid attribute validate-with for element cib ( schemas.c:NNN ) trace: update_validation: pacemaker-2.10 validation failed -Your current configuration pacemaker-9999.0 could not validate with any schema in range [unknown, pacemaker-2.10], cannot upgrade to pacemaker-2.0. +( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-3.0' validation (14 of X) +element cib: Relax-NG validity error : Invalid attribute validate-with for element cib +( schemas.c:NNN ) trace: update_validation: pacemaker-3.0 validation failed +Your current configuration pacemaker-9999.0 could not validate with any schema in range [unknown, pacemaker-3.0], cannot upgrade to pacemaker-3.0. =#=#=#= End test: Run crm_simulate with invalid CIB (unrecognized validate-with) - Required key not available (126) =#=#=#= * Passed: crm_simulate - Run crm_simulate with invalid CIB (unrecognized validate-with) =#=#=#= Begin test: Try to make resulting CIB invalid, but possibly recoverable (valid with X.Y+1) =#=#=#= Call failed: Update does not conform to the configured schema =#=#=#= Current cib after: Try to make resulting CIB invalid, but possibly recoverable (valid with X.Y+1) =#=#=#= <cib epoch="3" num_updates="0" admin_epoch="0"> <configuration> <crm_config/> <nodes/> <resources> <primitive id="dummy1" class="ocf" provider="pacemaker" type="Dummy"/> <primitive id="dummy2" class="ocf" provider="pacemaker" type="Dummy"/> </resources> <constraints> <rsc_order id="ord_1-2" first="dummy1" first-action="start" then="dummy2"/> </constraints> </configuration> <status/> </cib> =#=#=#= End test: Try to make resulting CIB invalid, but possibly recoverable (valid with X.Y+1) - Update does not conform to the configured schema (203) =#=#=#= * Passed: cibadmin - Try to make resulting CIB invalid, but possibly recoverable (valid with X.Y+1) =#=#=#= Begin test: Run crm_simulate with invalid, but possibly recoverable CIB (valid with X.Y+1) =#=#=#= ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-1.2' validation (1 of X) element tags: Relax-NG validity error : Element configuration has extra content: tags ( schemas.c:NNN ) trace: update_validation: pacemaker-1.2 validation failed ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-1.3' validation (2 of X) ( schemas.c:NNN ) debug: update_validation: Upgrading pacemaker-1.3-style configuration to pacemaker-2.0 with upgrade-1.3.xsl ( schemas.c:NNN ) info: update_validation: Transformation upgrade-1.3.xsl successful ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.0' validation (3 of X) ( schemas.c:NNN ) debug: update_validation: pacemaker-2.0-style configuration is also valid for pacemaker-2.1 ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.1' validation (4 of X) ( schemas.c:NNN ) debug: update_validation: Configuration valid for schema: pacemaker-2.1 ( schemas.c:NNN ) debug: update_validation: pacemaker-2.1-style configuration is also valid for pacemaker-2.2 ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.2' validation (5 of X) ( schemas.c:NNN ) debug: update_validation: Configuration valid for schema: pacemaker-2.2 ( schemas.c:NNN ) debug: update_validation: pacemaker-2.2-style configuration is also valid for pacemaker-2.3 ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.3' validation (6 of X) ( schemas.c:NNN ) debug: update_validation: Configuration valid for schema: pacemaker-2.3 ( schemas.c:NNN ) debug: update_validation: pacemaker-2.3-style configuration is also valid for pacemaker-2.4 ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.4' validation (7 of X) ( schemas.c:NNN ) debug: update_validation: Configuration valid for schema: pacemaker-2.4 ( schemas.c:NNN ) debug: update_validation: pacemaker-2.4-style configuration is also valid for pacemaker-2.5 ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.5' validation (8 of X) ( schemas.c:NNN ) debug: update_validation: Configuration valid for schema: pacemaker-2.5 ( schemas.c:NNN ) debug: update_validation: pacemaker-2.5-style configuration is also valid for pacemaker-2.6 ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.6' validation (9 of X) ( schemas.c:NNN ) debug: update_validation: Configuration valid for schema: pacemaker-2.6 ( schemas.c:NNN ) debug: update_validation: pacemaker-2.6-style configuration is also valid for pacemaker-2.7 ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.7' validation (10 of X) ( schemas.c:NNN ) debug: update_validation: Configuration valid for schema: pacemaker-2.7 ( schemas.c:NNN ) debug: update_validation: pacemaker-2.7-style configuration is also valid for pacemaker-2.8 ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.8' validation (11 of X) ( schemas.c:NNN ) debug: update_validation: Configuration valid for schema: pacemaker-2.8 ( schemas.c:NNN ) debug: update_validation: pacemaker-2.8-style configuration is also valid for pacemaker-2.9 ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.9' validation (12 of X) ( schemas.c:NNN ) debug: update_validation: Configuration valid for schema: pacemaker-2.9 ( schemas.c:NNN ) debug: update_validation: pacemaker-2.9-style configuration is also valid for pacemaker-2.10 ( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-2.10' validation (13 of X) ( schemas.c:NNN ) debug: update_validation: Configuration valid for schema: pacemaker-2.10 -( schemas.c:NNN ) trace: update_validation: Stopping at pacemaker-2.10 -( schemas.c:NNN ) info: update_validation: Transformed the configuration from pacemaker-1.2 to pacemaker-2.10 +( schemas.c:NNN ) debug: update_validation: Upgrading pacemaker-2.10-style configuration to pacemaker-3.0 with upgrade-2.10.xsl +( schemas.c:NNN ) info: update_validation: Transformation upgrade-2.10.xsl successful +( schemas.c:NNN ) debug: update_validation: Testing 'pacemaker-3.0' validation (14 of X) +( schemas.c:NNN ) trace: update_validation: Stopping at pacemaker-3.0 +( schemas.c:NNN ) info: update_validation: Transformed the configuration from pacemaker-1.2 to pacemaker-3.0 error: unpack_resources: Resource start-up disabled since no STONITH resources have been defined error: unpack_resources: Either configure some or disable STONITH with the stonith-enabled option error: unpack_resources: NOTE: Clusters with shared data need STONITH to ensure data integrity Current cluster status: dummy1 (ocf::pacemaker:Dummy): Stopped dummy2 (ocf::pacemaker:Dummy): Stopped Transition Summary: error: unpack_resources: Resource start-up disabled since no STONITH resources have been defined error: unpack_resources: Either configure some or disable STONITH with the stonith-enabled option error: unpack_resources: NOTE: Clusters with shared data need STONITH to ensure data integrity Executing cluster transition: Revised cluster status: dummy1 (ocf::pacemaker:Dummy): Stopped dummy2 (ocf::pacemaker:Dummy): Stopped =#=#=#= End test: Run crm_simulate with invalid, but possibly recoverable CIB (valid with X.Y+1) - OK (0) =#=#=#= * Passed: crm_simulate - Run crm_simulate with invalid, but possibly recoverable CIB (valid with X.Y+1) =#=#=#= Begin test: Make resulting CIB valid, although without validate-with attribute =#=#=#= =#=#=#= Current cib after: Make resulting CIB valid, although without validate-with attribute =#=#=#= <cib epoch="3" num_updates="1" admin_epoch="0" validate-with="none"> <configuration> <crm_config/> <nodes/> <resources> <primitive id="dummy1" class="ocf" provider="pacemaker" type="Dummy"/> <primitive id="dummy2" class="ocf" provider="pacemaker" type="Dummy"/> </resources> <constraints> <rsc_order id="ord_1-2" first="dummy1" first-action="start" then="dummy2"/> </constraints> </configuration> <status/> </cib> =#=#=#= End test: Make resulting CIB valid, although without validate-with attribute - OK (0) =#=#=#= * Passed: cibadmin - Make resulting CIB valid, although without validate-with attribute =#=#=#= Begin test: Run crm_simulate with valid CIB, but without validate-with attribute =#=#=#= Configuration validation is currently disabled. It is highly encouraged and prevents many common cluster issues. error: unpack_resources: Resource start-up disabled since no STONITH resources have been defined error: unpack_resources: Either configure some or disable STONITH with the stonith-enabled option error: unpack_resources: NOTE: Clusters with shared data need STONITH to ensure data integrity Current cluster status: dummy1 (ocf::pacemaker:Dummy): Stopped dummy2 (ocf::pacemaker:Dummy): Stopped Transition Summary: error: unpack_resources: Resource start-up disabled since no STONITH resources have been defined error: unpack_resources: Either configure some or disable STONITH with the stonith-enabled option error: unpack_resources: NOTE: Clusters with shared data need STONITH to ensure data integrity Executing cluster transition: Revised cluster status: dummy1 (ocf::pacemaker:Dummy): Stopped dummy2 (ocf::pacemaker:Dummy): Stopped =#=#=#= End test: Run crm_simulate with valid CIB, but without validate-with attribute - OK (0) =#=#=#= * Passed: crm_simulate - Run crm_simulate with valid CIB, but without validate-with attribute =#=#=#= Begin test: Make resulting CIB invalid, and without validate-with attribute =#=#=#= element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order +element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order +element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order =#=#=#= Current cib after: Make resulting CIB invalid, and without validate-with attribute =#=#=#= <cib epoch="31" num_updates="0" admin_epoch="0" validate-with="none"> <configuration> <crm_config/> <nodes/> <resources> <primitive id="dummy1" class="ocf" provider="pacemaker" type="Dummy"/> <primitive id="dummy2" class="ocf" provider="pacemaker" type="Dummy"/> </resources> <constraints> <rsc_order id="ord_1-2" first="dummy1" first-action="break" then="dummy2"/> </constraints> </configuration> <status/> </cib> =#=#=#= End test: Make resulting CIB invalid, and without validate-with attribute - OK (0) =#=#=#= * Passed: cibadmin - Make resulting CIB invalid, and without validate-with attribute =#=#=#= Begin test: Run crm_simulate with invalid CIB, also without validate-with attribute =#=#=#= Configuration validation is currently disabled. It is highly encouraged and prevents many common cluster issues. bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order +bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Invalid attribute first-action for element rsc_order +bad-1.2.xml:10: element rsc_order: Relax-NG validity error : Element constraints has extra content: rsc_order error: unpack_resources: Resource start-up disabled since no STONITH resources have been defined error: unpack_resources: Either configure some or disable STONITH with the stonith-enabled option error: unpack_resources: NOTE: Clusters with shared data need STONITH to ensure data integrity (constraints.:NNN ) error: unpack_simple_rsc_order: Cannot invert rsc_order constraint ord_1-2. Please specify the inverse manually. Current cluster status: dummy1 (ocf::pacemaker:Dummy): Stopped dummy2 (ocf::pacemaker:Dummy): Stopped Transition Summary: error: unpack_resources: Resource start-up disabled since no STONITH resources have been defined error: unpack_resources: Either configure some or disable STONITH with the stonith-enabled option error: unpack_resources: NOTE: Clusters with shared data need STONITH to ensure data integrity Executing cluster transition: Revised cluster status: dummy1 (ocf::pacemaker:Dummy): Stopped dummy2 (ocf::pacemaker:Dummy): Stopped =#=#=#= End test: Run crm_simulate with invalid CIB, also without validate-with attribute - OK (0) =#=#=#= * Passed: crm_simulate - Run crm_simulate with invalid CIB, also without validate-with attribute diff --git a/xml/resources-3.0.rng b/xml/resources-3.0.rng new file mode 100644 index 0000000000..ac1b11a16a --- /dev/null +++ b/xml/resources-3.0.rng @@ -0,0 +1,329 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns="http://relaxng.org/ns/structure/1.0" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <start> + <ref name="element-resources"/> + </start> + + <define name="element-resources"> + <element name="resources"> + <zeroOrMore> + <choice> + <ref name="element-primitive"/> + <ref name="element-template"/> + <ref name="element-group"/> + <ref name="element-clone"/> + <ref name="element-master"/> + <ref name="element-bundle"/> + </choice> + </zeroOrMore> + </element> + </define> + + <define name="element-primitive"> + <element name="primitive"> + <interleave> + <attribute name="id"><data type="ID"/></attribute> + <choice> + <group> + <ref name="element-resource-class"/> + <attribute name="type"><text/></attribute> + </group> + <attribute name="template"><data type="IDREF"/></attribute> + </choice> + <optional> + <attribute name="description"><text/></attribute> + </optional> + <ref name="element-resource-extra"/> + <ref name="element-operations"/> + <zeroOrMore> + <element name="utilization"> + <externalRef href="nvset-2.9.rng"/> + </element> + </zeroOrMore> + </interleave> + </element> + </define> + + <define name="element-template"> + <element name="template"> + <interleave> + <attribute name="id"><data type="ID"/></attribute> + <ref name="element-resource-class"/> + <attribute name="type"><text/></attribute> + <optional> + <attribute name="description"><text/></attribute> + </optional> + <ref name="element-resource-extra"/> + <ref name="element-operations"/> + <zeroOrMore> + <element name="utilization"> + <externalRef href="nvset-2.9.rng"/> + </element> + </zeroOrMore> + </interleave> + </element> + </define> + + <define name="element-bundle"> + <element name="bundle"> + <interleave> + <attribute name="id"><data type="ID"/></attribute> + <optional> + <attribute name="description"><text/></attribute> + </optional> + <ref name="element-resource-extra"/> + <choice> + <element name="docker"> + <attribute name="image"><text/></attribute> + <optional> + <attribute name="replicas"><data type="integer"/></attribute> + </optional> + <optional> + <attribute name="replicas-per-host"><data type="integer"/></attribute> + </optional> + <optional> + <attribute name="masters"><data type="integer"/></attribute> + </optional> + <optional> + <attribute name="run-command"> <text/></attribute> + </optional> + <optional> + <attribute name="network"><text/></attribute> + </optional> + <optional> + <attribute name="options"><text/></attribute> + </optional> + </element> + <element name="rkt"> + <attribute name="image"><text/></attribute> + <optional> + <attribute name="replicas"><data type="integer"/></attribute> + </optional> + <optional> + <attribute name="replicas-per-host"><data type="integer"/></attribute> + </optional> + <optional> + <attribute name="masters"><data type="integer"/></attribute> + </optional> + <optional> + <attribute name="run-command"> <text/></attribute> + </optional> + <optional> + <attribute name="network"><text/></attribute> + </optional> + <optional> + <attribute name="options"><text/></attribute> + </optional> + </element> + </choice> + <optional> + <element name="network"> + <optional> + <attribute name="ip-range-start"><text/></attribute> + </optional> + <optional> + <attribute name="control-port"><data type="integer"/></attribute> + </optional> + <optional> + <attribute name="host-interface"><text/></attribute> + </optional> + <optional> + <attribute name="host-netmask"><data type="integer"/></attribute> + </optional> + <zeroOrMore> + <element name="port-mapping"> + <attribute name="id"><data type="ID"/></attribute> + <choice> + <group> + <attribute name="port"><data type="integer"/></attribute> + <optional> + <attribute name="internal-port"><data type="integer"/></attribute> + </optional> + </group> + <attribute name="range"> + <data type="string"> + <param name="pattern">([0-9\-]+)</param> + </data> + </attribute> + </choice> + </element> + </zeroOrMore> + </element> + </optional> + <optional> + <element name="storage"> + <zeroOrMore> + <element name="storage-mapping"> + <attribute name="id"><data type="ID"/></attribute> + <choice> + <attribute name="source-dir"><text/></attribute> + <attribute name="source-dir-root"><text/></attribute> + </choice> + <attribute name="target-dir"><text/></attribute> + <optional> + <attribute name="options"><text/></attribute> + </optional> + </element> + </zeroOrMore> + </element> + </optional> + <optional> + <ref name="element-primitive"/> + </optional> + </interleave> + </element> + </define> + + <define name="element-group"> + <element name="group"> + <attribute name="id"><data type="ID"/></attribute> + <optional> + <attribute name="description"><text/></attribute> + </optional> + <interleave> + <ref name="element-resource-extra"/> + <oneOrMore> + <ref name="element-primitive"/> + </oneOrMore> + </interleave> + </element> + </define> + + <define name="element-clone"> + <element name="clone"> + <attribute name="id"><data type="ID"/></attribute> + <optional> + <attribute name="description"><text/></attribute> + </optional> + <interleave> + <ref name="element-resource-extra"/> + <choice> + <ref name="element-primitive"/> + <ref name="element-group"/> + </choice> + </interleave> + </element> + </define> + + <define name="element-master"> + <element name="master"> + <attribute name="id"><data type="ID"/></attribute> + <optional> + <attribute name="description"><text/></attribute> + </optional> + <interleave> + <ref name="element-resource-extra"/> + <choice> + <ref name="element-primitive"/> + <ref name="element-group"/> + </choice> + </interleave> + </element> + </define> + + <define name="element-resource-extra"> + <zeroOrMore> + <choice> + <element name="meta_attributes"> + <externalRef href="nvset-2.9.rng"/> + </element> + <element name="instance_attributes"> + <externalRef href="nvset-2.9.rng"/> + </element> + </choice> + </zeroOrMore> + </define> + + <define name="element-operations"> + <optional> + <element name="operations"> + <optional> + <attribute name="id"><data type="ID"/></attribute> + </optional> + <optional> + <attribute name="id-ref"><data type="IDREF"/></attribute> + </optional> + <zeroOrMore> + <element name="op"> + <attribute name="id"><data type="ID"/></attribute> + <attribute name="name"><text/></attribute> + <attribute name="interval"><text/></attribute> + <optional> + <attribute name="description"><text/></attribute> + </optional> + <optional> + <choice> + <attribute name="start-delay"><text/></attribute> + <attribute name="interval-origin"><text/></attribute> + </choice> + </optional> + <optional> + <attribute name="timeout"><text/></attribute> + </optional> + <optional> + <attribute name="enabled"><data type="boolean"/></attribute> + </optional> + <optional> + <attribute name="record-pending"><data type="boolean"/></attribute> + </optional> + <optional> + <attribute name="role"> + <choice> + <value>Stopped</value> + <value>Started</value> + <value>Slave</value> + <value>Master</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="requires"> + <choice> + <value>nothing</value> + <value>quorum</value> + <value>fencing</value> + <value>unfencing</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="on-fail"> + <choice> + <value>ignore</value> + <value>block</value> + <value>stop</value> + <value>restart</value> + <value>standby</value> + <value>fence</value> + <value>restart-container</value> + </choice> + </attribute> + </optional> + <ref name="element-resource-extra"/> + </element> + </zeroOrMore> + </element> + </optional> + </define> + + <define name="element-resource-class"> + <choice> + <group> + <attribute name="class"><value>ocf</value></attribute> + <attribute name="provider"><text/></attribute> + </group> + <attribute name="class"> + <choice> + <value>lsb</value> + <value>heartbeat</value> + <value>stonith</value> + <value>upstart</value> + <value>service</value> + <value>systemd</value> + <value>nagios</value> + </choice> + </attribute> + </choice> + </define> +</grammar> diff --git a/xml/upgrade-2.10.xsl b/xml/upgrade-2.10.xsl new file mode 100644 index 0000000000..976db9180d --- /dev/null +++ b/xml/upgrade-2.10.xsl @@ -0,0 +1,10 @@ +<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> +<xsl:output method="xml" encoding="UTF-8" indent="yes"/> + +<xsl:template match="@*|*"> + <xsl:copy> + <xsl:apply-templates select="@*|node()"/> + </xsl:copy> +</xsl:template> + +</xsl:stylesheet>