opadisableports(8)

πŸ‘‘ NAME πŸ‘‘

opadisableports β€” the manual page name is right there bestie, and ngl it does exactly what it says on the tin πŸ’…

(Linux) Okay so here's the vibe: this tool takes a CSV file listing links you wanna disable, and then it actually disables them. Obsessed.

  • For every HFI-SW link, it's the switch side of the link that gets disabled. πŸŽ€
  • For every SW-SW link, it's the switch port closer to this node that gets disabled. πŸ¦‹

The whole point of doing it this way? It generally lets a future opaenableports operation re-enable the port later, once the issue is fixed or you're ready to retest it. Iconic foresight, honestly. ✨

And the list of disabled ports? It's tracked in /etc/opa/disabled*.csv. She keeps receipts. πŸ’–


✨ SYNTAX ✨

opadisableports [-R] [-h  hfi] [-p  port] [ reason] < disable.csv

πŸŽ€ OPTIONS πŸŽ€

  • --help β€” gives you the full help text, no gatekeeping πŸ’œ
  • -R β€” tells it not to go fetch routes for computing distance. Instead, it disables the port of the switch with the lower LID (which is often the side closest to the SM), assuming that one is closer to this node. Lowkey a shortcut, highkey still works 🧚
  • -h hfi β€” picks the HFI, numbered 1..n. If you say 0, that means the -p port you give is a system-wide port number. Default is 0. 🌸
  • -p port β€” picks the port, numbered 1..n. If you say 0, that means the first active port. Default is 0. πŸ“
  • reason β€” optional text explaining why these ports are getting disabled. If you use it, the text gets saved into the reason field of the output file. Tell your story bestie πŸ’…
  • disable.csv β€” the input file listing the links to disable. The list is of the form:
NodeGUID;PortNum;NodeType;NodeDesc;NodeGUID;PortNum;
NodeType;NodeDesc;Reason

The Reason field is optional. An input file like this can be generated by using opaextractbadlinks, opaextractmissinglinks, or opaextractsellinks. Convenient much? 😭

Info about the links that got disabled, plus the reason, is saved (in the same format) into an output file named /etc/opa/disabled:hfi:port.csv β€” where the hfi:port part of the filename gets replaced by the HFI number and the port number being operated on (like 1:1 or 2:1). That CSV file can then be fed right back in as input to opaenableports. Circular queen πŸ‘‘

🌈 -h and -p options permit a variety of selections 🌈

  • -h 0 β€” first active port in system (Default). πŸ’–
  • -h 0 -p 0 β€” first active port in system.
  • -h x β€” first active port on HFI x. ✨
  • -h x -p 0 β€” first active port on HFI x.
  • -h 0 -p y β€” port y within system (no matter which ports are active). πŸ¦‹
  • -h x -p y β€” HFI x, port y. Periodt.

πŸ”₯ EXAMPLES πŸ”₯

opadisableports 'bad cable' < disable.csv
opadisableports -h 1 -p 1 'dead servers' < disable.csv
opaextractsellinks -F lid:3 | opadisableports 'bad server'
opaextractmissinglinks -T /etc/opa/topology.0:0.xml | opadisableports

Piping tools into each other? That's main character energy fr fr 🫢


Copyright(C) 2015-2019 Intel Corporation β€” so this page is from the IFSFFCLIRG man page set, and yeah, that's the whole thing bestie πŸ’– Thanks for reading all the way through, you ate that ngl. Now go disable some ports responsibly, and don't forget to re-enable them later. Mwah πŸŽ€βœ¨πŸ‘‘