View on
MetaCPAN is shutting down
For details read Perl NOC. After June 25th this page will redirect to
Sébastien Aperghis-Tramoni > RackMan-1.14 > racktables-check


Annotate this POD


Open  0
View/Report Bugs
Source   Latest Release: RackMan-1.19


racktables-check - Perform various consistency checks on RackTables objects


    racktables-check [--config /etc/rack.conf] ...
    racktables-check { --help | --man | --version }


Program options

-c, --config path

Specify the path to the configuration file. Default to /usr/local/etc/rack.conf

-F, --format json|yaml

Specify the format for printing or storing the results. Available formats are json and yaml. Default is yaml.

-o, --output path

Specify the file to store the results. If none is specified, the results are printed on standard output.

-v, --verbose

Run the program in verbose mode.

Help options

-h, --help

Print a short usage description, then exit.


Print the manual page of the program, then exit.

-V, --version

Print the program name and version, then exit.


This program is a small consistency checking engine for RackTables objects. You can control what to check and how by defining rules in the configuration file.


racktables-check's configuration is stored in rack(1)'s configuration, with the following additional definitions.

Section [racktables-check]


The general syntax of a rule is:

    [selector] property-name operator operand

The property-name is the only mandatory part. It defines the RackObject property (in a very broad sense of the term) to check. Valid properties are:

When a property returns a list of values, the rule simply is applied to each value. In case of failure, the value is indicated in the message.

The selector makes the rule only check objects corresponding to the given criterion, written as [property-name=value]. valid properties are the same as in the main part of the rule. Multiple values can be given by separating them with a pipe (|).

For example, [type=Server] selects only the servers, [type=PDU|Switch] selects both PDUs and switches. [attr:Use=prod] selects objects with the attribute Use set to prod.

The operator and operand defines the check operation. If none is given, the property is checked to have a defined value. Valid operators are:

Note: To keep the code simple, all names and values in the rules are case sensitive, and must match the way they are entered in RackTables.


This set of rules makes sure that most network properties of servers are correctly defined. It only assumes that servers have a FQDN attribute which contains, obviously, their FQDN:

    enforce_interface_match = 1
    rule = [type=Server] attr:FQDN %check_dns
    rule = [type=Server] gateway
    rule = [type=Server] addresses
    rule = [type=Server] interfaces ~ /(bce|bge|em|eth|fxp|lagg|re|vlan|xl)\d+/


Sebastien Aperghis-Tramoni (

syntax highlighting: