3.7. Configuration Validation
3.7. Configuration Validation The cluster configuration is automatically validated according to the cluster schema at /usr/share/cluster/cluster.rng during startup time and when a configuration is reloaded. Also, you can validate a cluster configuration any time by using the ccs_config_validate command. For information on configuration validation when using the ccs command, see Section 6.1.6, "Configuration Validation" . An annotated schema is available for viewing at /usr/share/doc/cman-X.Y.ZZ/cluster_conf.html (for example /usr/share/doc/cman-3.0.12/cluster_conf.html ). Configuration validation checks for the following basic errors: XML validity - Checks that the configuration file is a valid XML file. Configuration options - Checks to make sure that options (XML elements and attributes) are valid. Option values - Checks that the options contain valid data (limited). The following examples show a valid configuration and invalid configurations that illustrate the validation checks: Valid configuration - Example 3.3, " cluster.conf Sample Configuration: Valid File" Invalid XML - Example 3.4, " cluster.conf Sample Configuration: Invalid XML" Invalid option - Example 3.5, " cluster.conf Sample Configuration: Invalid Option" Invalid option value - Example 3.6, " cluster.conf Sample Configuration: Invalid Option Value" Example 3.3. cluster.conf Sample Configuration: Valid File Example 3.4. cluster.conf Sample Configuration: Invalid XML In this example, the last line of the configuration (annotated as "INVALID" here) is missing a slash - it is <cluster> instead of </cluster> . Example 3.5. cluster.conf Sample Configuration: Invalid Option In this example, the second line of the configuration (annotated as "INVALID" here) contains an invalid XML element - it is loging instead of logging . Example 3.6. cluster.conf Sample Configuration: Invalid Option Value In this example, the fourth line of the configuration (annotated as "INVALID" here) contains an invalid value for the XML attribute, nodeid in the clusternode line for node-01.example.com . The value is a negative value ("-1") instead of a positive value ("1"). For the nodeid attribute, the value must be a positive value.
<cluster name="mycluster" config_version="1"> <logging debug="off"/> <clusternodes> <clusternode name="node-01.example.com" nodeid="1"> <fence> </fence> </clusternode> <clusternode name="node-02.example.com" nodeid="2"> <fence> </fence> </clusternode> <clusternode name="node-03.example.com" nodeid="3"> <fence> </fence> </clusternode> </clusternodes> <fencedevices> </fencedevices> <rm> </rm> </cluster> <cluster name="mycluster" config_version="1"> <logging debug="off"/> <clusternodes> <clusternode name="node-01.example.com" nodeid="1"> <fence> </fence> </clusternode> <clusternode name="node-02.example.com" nodeid="2"> <fence> </fence> </clusternode> <clusternode name="node-03.example.com" nodeid="3"> <fence> </fence> </clusternode> </clusternodes> <fencedevices> </fencedevices> <rm> </rm> <cluster> <----------------INVALID <cluster name="mycluster" config_version="1"> <loging debug="off"/> <----------------INVALID <clusternodes> <clusternode name="node-01.example.com" nodeid="1"> <fence> </fence> </clusternode> <clusternode name="node-02.example.com" nodeid="2"> <fence> </fence> </clusternode> <clusternode name="node-03.example.com" nodeid="3"> <fence> </fence> </clusternode> </clusternodes> <fencedevices> </fencedevices> <rm> </rm> <cluster> <cluster name="mycluster" config_version="1"> <loging debug="off"/> <clusternodes> <clusternode name="node-01.example.com" nodeid="-1"> <--------INVALID <fence> </fence> </clusternode> <clusternode name="node-02.example.com" nodeid="2"> <fence> </fence> </clusternode> <clusternode name="node-03.example.com" nodeid="3"> <fence> </fence> </clusternode> </clusternodes> <fencedevices> </fencedevices> <rm> </rm> <cluster>