opaswitchadmin(8)

✨ NAME ✨

opaswitchadmin β€” bestie, this is the Switch one πŸ’… It runs a whole bunch of multi-step initialization and verification operations against one or more externally managed Intel(R) Omni-Path switches. We're talking initial switch setup, firmware upgrades, chassis reboot, and a few other things too. It's giving main character energy for your fabric, no cap.

Heads up: this is from the IFSFFCLIRG (Man Page), section 8. iykyk.

πŸŽ€ Syntax πŸŽ€

opaswitchadmin [-c] [-N 'nodes'] [-L  nodefile] [-O] [-P  packages]
[-a  action] [-t  portsfile] [-p  ports]  operation ...

🌸 Options 🌸

  • -help β€” spills the full help text. The full tea β˜•
  • -c β€” overwrites result files from any previous run before starting this one. Clean slate, periodt ✨
  • -N nodes β€” tells it the list of nodes to execute the operation against.
  • -L nodefile β€” the file with nodes in the cluster. Default is /etc/opa/switches. πŸ—‚οΈ
  • -P packages β€” for upgrades: names the file or directory where the firmware image is to install. If you hand it a directory, the .emfw file in the directory tree gets used. Shell wild cards may also be used within quotes, slay.
  • -t portsfile β€” the file with the list of local HFI ports used to access fabrics for switch access. Default is /etc/opa/ports.
  • -p ports β€” the list of local HFI ports used to access fabrics for switch access.

Default is first active port. The first HFI in the system is 1. The first port on an HFI is 1. Uses the format hfi:port, for example:

  • 0:0 β€” first active port in system.
  • 0:y β€” port y within system.
  • x:0 β€” first active port on HFI x.
  • x:y β€” HFI x, port y.
  • -a action β€” specifies an action for firmware file for switch upgrade. The action argument can be one or more of the following:
    • select β€” ensures firmware is in primary (Default). πŸ’–
    • run β€” ensures firmware is in primary and running.
  • -O β€” specifies the override for firmware upgrades, bypasses the previous firmware version checks, and forces the update unconditionally. 😀 It does NOT care what the old version thinks.
  • operation β€” performs the specified operation, which can be one or more of the following:
    • reboot β€” reboots switches, ensures they go down and come back.
    • configure β€” runs wizard to set up switch configuration.
⚠️ NOTE: You must reboot the switch for any new settings to be applied. Not optional, bestie, don't skip it πŸ™ˆ
  • upgrade β€” upgrades installation of all switches.
  • info β€” reports firmware and hardware version, part number, and data rate capability of all nodes.
  • hwvpd β€” completes hardware Vital Product Data (VPD) report of all nodes.
  • ping β€” pings all nodes and tests for presence. πŸ‘‹
  • fwverify β€” reports integrity of failsafe firmware of all nodes.
  • getconfig β€” gets port configurations of an externally managed switch.

For more information on operations, see Operation Details ✨


πŸ¦‹ Example πŸ¦‹

opaswitchadmin -c reboot

opaswitchadmin -P /root/ChassisFw X.X.X.X.X upgrade

opaswitchadmin -a run -P '*.emfw' upgrade

πŸ’œ Environment Variables πŸ’œ

The following environment variables are also used by this command:

  • OPASWITCHES β€” list of nodes, used in absence of -N and -L options.
  • OPASWITCHES_FILE β€” file containing list of nodes, used in absence of -N and -L options.
  • FF_MAX_PARALLEL β€” maximum concurrent operations.
  • FF_SERIALIZE_OUTPUT β€” serialize output of parallel operations (yes or no).
  • FF_TIMEOUT_MULT β€” multiplier for all timeouts associated with this command. Used if the systems are slow for some reason. 🐌

🌈 Details 🌈

opaswitchadmin provides detailed logging of its results, fr fr. During each run, the following files are produced:

  • test.res : Appended with summary results of run.
  • test.log : Appended with detailed results of run.
  • save_tmp/ : Contains a directory per failed test with detailed logs.
  • test_tmp*/ : Intermediate result files while test is running.

The -c option removes all log files. 🧹

Results from opaswitchadmin are grouped into test suites, test cases, and test items. A given run of opaswitchadmin represents a single test suite. Within a test suite, multiple test cases occur; typically one test case per chassis being operated on. Some of the more complex operations may have multiple test items per test case. Each test item represents a major step in the overall test case.

Each opaswitchadmin run appends to test.res and test.log and creates temporary files in test_tmp$PID in the current directory. the test.res file provides an overall summary of operations performed and their results. The same information is also displayed while opaswitchadmin is executing. test.log contains detailed information about what was performed, including the specific commands executed and the resulting output. The test_tmp directories contain temporary files that reflect tests in progress (or killed). The logs for any failures are logged in the save_temp directory with a directory per failed test case. If the same test case fails more than once, save_temp retains the information from the first failure. Subsequent runs of opaswitchadmin are appended to test.log. Intel recommends reviewing failures and using the -c option to remove old logs before subsequent runs of opaswitchadmin. opaswitchadmin also appends to punchlist.csv for failing switches. πŸ’€

opaswitchadmin implicitly performs its operations in parallel. However, as for the other tools, FF_MAX_PARALLEL can be exported to change the degree of parallelism. 1000 parallel operations is the default. πŸ”₯

πŸ’– Operation Details πŸ’–

Okay so first things first, bestie: (Switch) every single operation you throw at Intel(R) Omni-Path Fabric externally-managed switches β€” like, all of them except ping β€” hits those selected switches over a secure connection. πŸ” If a password is already set, you have to use the -S option so it can securely prompt you for it. And plot twist: that same password gets used for all the switches. One password to rule them all, periodt. πŸ’…

πŸ”„ reboot πŸ”„

Reboots the switches you picked. Simple as that.

Use the FF_MAX_PARALLEL value to choose between a rolling reboot or a parallel reboot. Most of the time? Parallel is the move for speed, no cap. πŸƒβ€β™€οΈπŸ’¨

⬆️ upgrade ⬆️

Glow-up time for your switches! ✨ This upgrades the firmware on each specified switch.

The -P option is how you point at either a directory that contains a .emfw file or an explicit .emfw file for the switches. But heads up: if you specify more than one .emfw file, the operation is undefined β€” so don't do that, bestie. 😭

The -a option picks the desired minimal state for the new firmware. For this operation, only the select and run options are valid.

When -a says run, the switches get rebooted. Use FF_MAX_PARALLEL to choose a rolling upgrade or a parallel upgrade. Most of the time, parallel is recommended for expediency β€” go fast, slay. πŸ’…

The upgrade process also sets the switch name. πŸ‘‘

And get this: the upgrade process is also how you set, clear, or change the password of the switches using the -s option. When you use -s, you'll be prompted for a new password to set on the switches. Want to reset (clear) the password? Just press Enter when prompted. This option can configure the switches so they don't require a password for subsequent operations. But important: a password change does not take effect until the next reboot of the switch. So don't be surprised when the old password still works until then. πŸ™ˆ

For more info about switch firmware, check out the Intel(R) Omni-Path Fabric Switches GUI User Guide and the Intel(R) Omni-Path Fabric Switches Release Notes.

πŸ§™ configure πŸ§™

This runs the switch setup wizard, which hits you with a series of questions. Once the wizard is done asking for config info, all the selected switches get configured based on your answers.

For all Intel(R) Omni-Path Switch 100 Series, you can configure these:

  • FM Enabled
  • Link CRC Mode
  • Link Width Supported
  • OPA Node Description
NOTE: Usually, the Node Description gets updated automatically during a firmware upgrade β€” if it's configured properly in the switches file. But you can also update the node description using the configure option without doing a firmware upgrade. So flexible, we love. 🫢
NOTE: You must reboot the switch for any new settings to be applied. No reboot, no vibes. πŸ’€

πŸ” info πŸ”

Queries the switches and spills the tea on:

  • Firmware version
  • Hardware version
  • Hardware part number, including revision information
  • Speed capability
  • Fan status
  • Power supply status

This operation also outputs a summary of various configuration settings for each switch within a fabric. So you get the full picture. πŸ“Έ

🏷️ hwvpd 🏷️

Queries the switches and shows you the Vital Product Data (VPD), which includes:

  • Serial number
  • Part number
  • Model name
  • Hardware version
  • Manufacturer
  • Product description
  • Manufacturer ID
  • Manufacture date
  • Manufacture time

It's giving full identity reveal. πŸ”βœ¨

πŸ“ ping πŸ“

Sends an inband packet to the switches to test if they're there, and reports back on presence/non-presence of each selected switch. Like a little "u up?" text. πŸ“±

NOTE: You do not need to supply a password (using -S) for this operation. No password required, we're just checking vibes. πŸ’–

βœ… fwverify βœ…

Verifies the integrity of the firmware images in the EEPROMs of the selected switches. Making sure everything's legit, no cap. πŸ”₯

πŸ“‹ getconfig πŸ“‹

Gets port configurations of an externally managed switch. This operation also outputs a summary of various configuration settings for each switch within a fabric.

For example, in a fabric with seven switches, a report similar to the following is displayed.

This summary helps you figure out if all switches have the same configuration. If they don't, it tells you how many have each value. And if some values are not what you expected, go look at the test.res file to identify which switches have the undesirable values. Detective mode: activated. πŸ•΅οΈβ€β™€οΈ


That's the whole vibe, bestie! πŸŽ€ This page is from opaswitchadmin(8), and the copyright is 2015-2019 Intel Corporation. Go forth and slay. πŸ’…βœ¨