Set CIB_file to a CIB that requires a transform, for example:
cat >needs-transform.xml <<EOF <cib crm_feature_set="3.19.5" validate-with="pacemaker-1.3" epoch="2" num_updates="0" admin_epoch="0"> <configuration> <crm_config> <cluster_property_set id="cib-bootstrap-options"> <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/> </cluster_property_set> </crm_config> <nodes/> <resources/> <constraints/> <rsc_defaults> <meta_attributes id="build-resource-defaults"> <nvpair id="build-resource-stickiness" name="resource-stickiness" value="1"/> </meta_attributes> </rsc_defaults> <acls> <acl_role id="acl-role"/> <acl_user id="acl-user"> <role_ref id="acl-role"/> </acl_user> </acls> </configuration> <status/> </cib> EOF cp needs-transform.xml test-cib.xml export CIB_file=test-cib.xml
In normal operation, crm_verify -x $CIB_file will succeed with no errors, and cibadmin --upgrade --force will transform acl_user to acl_target and role_ref to role.
Starting with the original (not upgraded) XML again, temporarily make the required XSL unavailable, for example:
cp needs-transform.xml test-cib.xml mv /usr/share/pacemaker/upgrade-1.3.xsl{,.bak}
In this case, crm_verify and cibadmin should give suitable error messages. Currently, crm_verify segfaults, and cibadmin exits success but does nothing.