usage: ./ciblint [-C] -f cib-file ./ciblint [-C] -L ./ciblint [-w] (-A|--list-meta_attributes-config-options ./ciblint [-w] (-l|--list-crm-config-options) ./ciblint [-w] -h --help -f cib-filename analyze CIB from this XML file -L --live-cib analyze live CIB gotten via cibadmin -Q -C --ignore-non-defaults don't print messages for non-default crm_config values -w --wiki-format print usage or crm-config-options in wiki format -l --list-crm_config-options print all valid names for use in <nvpair> sections inside the <crm_config> section -A --list-meta_attributes-config-options print all valid names for use in <nvpair> sections inside <meta_attributes> sections CIB file can either have a status section or not. Either is acceptable. This program is a work-in-progress, but for many CIBs it's probably useful now. It currently looks for a number of classes of possible errors, including these: - Non-unique 'id' strings for the given <tag> - 'id' strings (outside the status section) which are not globally unique - Incorrect <nvpair> 'name's or 'value's - Duplicate <nvpair> 'name's in a list - Incorrect XML attribute names or values - references to non-existent resources - references to non-existent nodes - invalid values for the data type (integer, boolean, enum, etc.) involved - resources you're not monitoring - non-negative values for default-resource-failure-stickiness - STONITH not enabled - No STONITH resources configured - Use of for-testing-only ssh or external/ssh STONITH resource agents - validation of <nvpair> names and values in <meta_attributes> sections - validation of class and type for <primitive> resources - validation of <attributes> names and values in <nvpair>s for <primitive> resources - check if clone form resource names are used for non-clone resources - ensure that clone form resource names have integral clone numbers - check for ids with ":" characters in them in <primitive>, <group>, <clone>, or <master_slave> tags - check for resources with non-zero failcounts - check for <rule> tags with both score and score_attribute - check for missing values and attributes in expressions - make sure attributes mentioned in the CIB are defined somewhere in the cluster More documentation can be found online at http://linux-ha.org/ciblint