Name
opa2rm — Permits the generation of configuration files for FastFabric or resource managers from a topology XML file.
Syntax
opa2rm [-v] [-q] -o output [-g|-u|-t] [-F point] [-p prefix] [-s suffix] [-C|-S] topology_input
Description
When using a topology spreadsheet and opaxlattopology to design and prepare for deployment verification of a fabric, opa2rm may be used to generate resource manager configuration from the planned cluster design. Using this approach will allow the resulting configuration files to be complete, even if some nodes in the fabric have not yet been installed or made operational. Alternatively, opareport -o topology can be used to generate a topology XML file for input to opa2rm. In this case, only the currently present nodes will be included.
When working with SLURM, the opa2rm -o slurm option should typically be used. This option will generate a SLURM configuration file that lists the hosts directly connected to each switch in a syntax that can be used by SLURM's topology/tree plugin. It also generates a single "fake" switch shown as connecting all the other switches together. This approach allows for SLURM job placement to be improved while avoiding undo overhead in SLURM. This option also allows for topologies that are not a pure fat-tree.
When the configuration is a pure fat tree or oversubscribed fat tree, the opa2rm -o slurmfull option may be used to generate the full description of the fabric, including all intermediate and core switches in the fat tree topology. This option may permit better job placement optimization than the output from the opa2rm -o slurm option. However, for larger fabrics, it may also increase the overhead within SLURM.
Options
--helpProduces full help text.
-v/--verboseSpecifies verbose output.
-q/--quietDisables progress reports.
-o/--outputoutputSpecifies the output type:
slurmSLURM tree nodes. Supports a variety of topologies.
slurmfulSLURM fat tree nodes and ISLs. Only supports pure trees.
hostsFastFabric hosts file omitting this host.
-g/--guidSpecifies the output switch GUIDs instead of names.
-u/--underscoreChanges spaces in switch names to underscores.
-t/--truncTruncates switch names at first space.
This will treat large Director Class Switches as a single, big switch.
If
-g,-u, or-tare not specified, the switch name's suffix, after the first space, will be placed at the start of the name. For example, 'core5 Leaf 101' becomes 'Leaf101_core5'.-F/--focuspointSpecifies the focus area for output. Limits the scope of output to links that match any of the given focus points.
-p/--prefixprefixSpecifies the prefix to prepend to all FI hostnames.
-s/--suffixsuffixSpecifies the suffix to append to all FI hostnames.
-C/--checkPerforms additional topology file validation. Requires all links to resolve against nodes and all nodes must be connected to same fabric. Treats any resolution errors as fatal.
-S/--checkPerforms strict topology file validation. Performs all checks in
-C, and requires all nodes list Port Numbers and all nodes list Ports Used.topology_inputSpecifies the topology_input file to use. '-' may be used to specify stdin.
Point Syntax
node:valueis node description (node name).valuenode:value1:port:value2is node description (node name),value1is port number.value2nodepat:valueisvalueglobpattern for node description (node name).nodepat:value1:port:value2is thevalue1globpattern for the node description (node name),is port number.value2nodetype:valueis node type (SW or FI).valuenodetype:value1:port:value2is node type (SW or FI),value1is port number.value2rate:valueis string for rate (25g, 50g, 75g, 100g), omits switch mgmt port 0.valuemtucap:valueis MTU size (2048, 4096, 8192, 10240), omits switch mgmt port 0.valuelabelpat:valueisvalueglobpattern for cable label.lengthpat:valueisvalueglobpattern for cable length.cabledetpat:valueisvalueglobpattern for cable details.linkdetpat:valueisvalueglobpattern for link details.portdetpat:valueisvalueglobpattern for port details.
Examples
opa2rm -o slurm topology.xml opa2rm -o slurm -p 'opa-' topology.xml opa2rm -o slurm -s '-opa' topology.xml opa2rm -o slurm -F 'nodepat:compute*' -F 'nodepat:opacore1 *' topology.xml opa2rm -o nodes -F 'nodedetpat:compute*' topology.xml opa2rm -o hosts topology.xml