eth2rm(8)
π NAME π
eth2rm β bestie, this is the little icon that lets you generate configuration files for FastFabric or for resource managers, straight out of a topology xml file. β¨
So here's the vibe. When you're using a topology spreadsheet plus ethxlattopology to design your fabric and get it ready for deployment verification, you can pull in eth2rm to generate resource manager configuration from the planned cluster design. The whole point of doing it that way is that your resulting config files come out complete β even if some nodes in the fabric aren't installed yet or aren't operational yet. Lowkey the best feeling. π«Ά
Or, alternatively, you can use ethreport -o topology to generate a topology XML file and feed that into eth2rm. But heads up: in that case, only the currently present nodes will be included. No cap.
When you're working with SLURM, you should typically use the eth2rm -o slurm option. This one generates a SLURM configuration file that lists the hosts directly connected to each switch, in a syntax SLURM's topology/tree plugin can actually use. It also generates a single "fake" switch that's shown as connecting all the other switches together. That approach lets SLURM job placement be improved while avoiding undo overhead in SLURM, and it also supports topologies that are not a pure fat-tree. Slay. π
When your configuration <em>is</em> a pure fat tree or an oversubscribed fat tree, you can use eth2rm -o slurmfull to generate the full description of the fabric, including all the intermediate and core switches in the fat tree topology. This may permit better job placement optimization than the output from eth2rm -o slurm. But for larger fabrics, it may also increase the overhead within SLURM. π So like, pick your fighter.
β¨ Syntax β¨
eth2rm [-v] [-q] -o output [-g|-u|-t] [-F point] [-p prefix] [-s
suffix] topology_input
π Options π
--helpβ produces the full help text. Bestie behavior fr fr.-v/--verboseβ specifies verbose output. Give me all the lore. π-q/--quietβ disables progress reports. Shhh. π€«-o/--outputoutput β specifies the output type:slurmβ SLURM tree nodes. Supports a variety of topologies.slurmfullβ SLURM fat tree nodes and ISLs. Only supports pure trees.hostsβ FastFabric hosts file, omitting this host.
-g/--guidβ specifies to output switch GUIDs instead of names.-u/--underscoreβ changes spaces in switch names to underscores.-t/--truncβ truncates switch names at the first space.- This will treat large director switches as a single, big switch.
- If
-g,-uor-tare not specified, the switch name's suffix β the part after the first space β will be placed at the start of the name. For example,'core5 Leaf 101'becomes'Leaf101_core5'. Not me flipping the name around like that. π
-p/--prefixprefix β specifies the prefix to prepend to all NIC hostnames.-s/--suffixsuffix β specifies the suffix to append to all NIC hostnames.-F/--focuspoint β specifies the focus area for output. Limits the scope of output to links that match any of the given focus points. May be specified up to 10 times. Ten. Whole. Times.-C/--checkβ performs more topology file validation. Requires all links to resolve against nodes and all nodes connected to same fabric. Treats any resolution errors as fatal. π-S/--strictβ performs strict topology file validation. Performs all checks in-C, and requires all nodes to listPortNumand all node list ports used. Strict is strict, periodt.- topology_input β specifies the
topology_inputfile to use.'-'may be used to specify stdin.
π¦ Point Syntax π¦
node:valueβ value is node description (node name).node:value1:port:value2β value1 is node description (node name); value2 is port number.nodepat:valueβ value is glob pattern for node description (node name).nodepat:value1:port:value2β value1 is glob pattern for node description (node name); value2 is port number.nodetype:valueβ value is node type (SWorNIC).nodetype:value1:port:value2β value1 is node type (SWorNIC); value2 is port number.rate:valueβ value is string for rate (25g,50g,75g,100g).mtucap:valueβ value is MTU size (2048,4096,8192,10240); omits switch mgmt port0.linkdetpat:valueβ value is glob pattern for link details.portdetpat:valueβ value is glob pattern for port details to value.
π Examples π
Because seeing it is believing, bestie:
eth2rm -o slurm topology.xml
eth2rm -o slurm -F 'nodepat:compute*' -F 'nodepat:ethcore1 *'
topology.xml
eth2rm -o nodes -F 'nodedetpat:compute*' topology.xml
eth2rm -o hosts topology.xml
Okay so this whole page lives in the EFSFFCLIRG manual, and the source/version + date on the original footer is Copyright(C) 2020-2024 Intel Corporation, dated alongside eth2rm(8). Go forth and generate those configs, you absolute main character. ππΈβ¨
π¦ where this page comes from
- centos-stream 9: eth-tools-fastfabric 1:12.1.0.0-4.el9 Β· BSD
- fedora 43: eth-tools-fastfabric 1:12.1.0.0-151.fc43 Β· BSD-3-Clause
- fedora 44: eth-tools-fastfabric 1:12.1.0.1-6.fc44 Β· BSD-3-Clause
- opensuse-leap 16.0: eth-fastfabric 11.7.0.0-160000.2.2 Β· BSD-3-Clause OR GPL-2.0-only
- Copyright 2020-2024, Intel Corporation
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms