NVIDIA UFM Cable Validation Tool

Rack View

The Rack View provides a simulated visual representation of a selected rack, including its devices, ports, and statuses. This view is populated using data from a PTP Excel file.
worddav664f7fa929fce6b9adf3dd3c5ce58353.png
The page is initially blank, and user has 2 options:

Hierarchical Selection Workflow

This hierarchical selection process allows users to navigate from a Data Hall to SU and then to specific Racks. This feature is only available if the user has provided the DC Floor Layout file while loading the P2P file. Below are the steps the user should follow:

  1. Select a Data Hall: Begin by selecting a Data Hall from the dropdown menu or by clicking on one of the DH squares displayed below, which show the number of active and failed components within each Data Hall. This selection determines the scope of available Scalable Units and Racks.

image-2025-8-2_17-31-47.png


         2. Display and Select SU: Once a Data Hall is selected, all associated Scalable Units (SUs) will be displayed in two forms:

    • Dropdown Menu – A list of available SUs for easy selection.

    • Visual Squares – Each square represents an SU and displays the number of active and failed components.

The user can either select an SU from the dropdown or click on one of the SU squares in the visual layout.

image-2025-8-2_17-33-56.png

3. Display and Select Racks: the same as SU,  after selecting an SU, all associated Racks within that SU will be displayed in two forms:

    • Dropdown Menu – A list of all racks within the selected SU.

    • Visual Squares – Each square represents a Rack and includes the number of active and failed components.

The user can either select a rack from the dropdown menu or click on a rack name to view the simulated visual representation of the selected rack.


image-2025-8-2_17-28-48.png

Select a Rack Directly 

If the DC Floor layout is not loaded, user can directly select a rack from the rack menu to see the simulated visual representation for it.
The rack menu will contain all racks recognized by the CVT tool.
worddav53229a24b863df24b1b2dc1d9141df5e.png

Rack-Level Summary

At the top of the view, an aggregated summary for the entire rack is displayed.
image-2025-10-23_14-41-25.png

Front View

Once a rack is selected, the corresponding front view of the rack will be displayed.

The front view is the default Rack View and displays the forward-facing side of the rack.

It shows all devices (switches, servers, and compute trays) mounted in the rack along with their physical port layout, port status coloring, status LEDs, and device summaries.


image-2026-1-26_17-46-33.png

The tool support visualization for the following switches and hosts:

Ethernet

SN5600 SN5600D Switch 

image-2025-10-23_14-21-26.png

SN5610 Switch

image-2025-10-23_14-26-9.png

SMC SuperServer

image-2025-10-23_14-26-57.png

XE9680 Server  

image-2025-10-23_14-29-55.png


InfiniBand

MQM8700 Switch 

image-2025-10-23_14-57-15.png

MQM9700 Switch 

image-2025-10-23_15-10-53.png

XDR 

Quantum-3 XDR Switch 


image-2025-10-23_15-16-1.png

Scaleout Switch

image-2025-10-23_15-21-20.png

Non-Scaleout Switch

image-2026-1-26_14-44-38.png

Non-Scaleout DGX Switch

image-2026-1-26_14-45-51.png

HGX Compute Tray

image-2025-4-6_23-49-40.png

DGX Compute Tray

image-2025-8-2_17-42-33.png

Dell Server 9712a

image-2025-8-2_17-44-5.png

DGX-B300 Server

image-2026-4-22_14-28-43.png

The DGX-B300 server visualization displays two port groups:


  • OSFP Ports — Up to 8 OSFP connector ports (ConnectX-8) arranged in a single row, with a spacing gap after every 4th port to match the physical layout of the device.

  • BlueField NIC Slots (Slot 1, Slot 2) — 2 BlueField NIC slot ports.

The DGX-B300 device occupies 10 rack units in the rack view.

Prerequisite: To view the DGX-B300 correctly in the Rack View, users must fill in the physicalPort column in the Server Profile sheet of the P2P file. Port names should follow the physical port naming convention (e.g., OSFP1 P1OSFP5 P2Slot 1 Port 1Slot 2 Port 2).

Default

The default view is used to display devices that don't have a product name.

Default Host

worddav8afab4bd0c2941c19328c7b7e6488e07.png
Default Switch
worddav0562fa3ab0f160c2de51d3ffe8f318b1.png

Port Status Coloring

Each port on the device is color-coded to visually represent its status, making it easier to identify and troubleshoot issues. The status of each port is indicated by the following colors:
Ports are color-coded based on their related issues:

  • worddav155b70fc8a2930e5fb137d19e41b6c17.png White: Null (no connection or data).

  • worddav22d00e6b0d013f975bbda6a8ccc9e7f5.png Green: Active and functioning properly.

  • worddav7812d2e90a8b3206b9e18a604ea6e31d.png Light Red: Indicates issues such as:Unknown Neighbor.Underperforming Link (BER).Extra Cable.

  • worddavd9979a05458cfc0a7187c765f72d952b.png Dark Red: Issues not covered by the above categories.

Split Port Status
Split ports occur when a single physical port is divided into multiple logical ports. For example, in the BlackMamba switch, a single physical port may be divided into two logical ports, named sw<num>p1 and sw<num>p2.
The color-coding system for split ports follows these guidelines:

  1. Uniform Status Across Logical Ports: If all logical ports of a split port share the same status, the coloring will match that of a non-split port.

  2. Mixed Issues with Different Severities: If the logical ports have issues of varying severity, the background color will reflect highest severity.

  3.  Mixed Active and Issue States: If one or more logical ports have issues while others are active, the background color will be orange  worddav48054eef5cd40fda17ca080e66d4e02e.png , indicating a mixed state.

Port Details

When hovering over a port, a tooltip appears displaying:

  • Port-specific information

  • Details about the associated issue (if any)

  • An indication that the port is clickable

image-2025-10-23_14-35-14.png

Clicking on a port opens a popover that displays detailed information about the selected port, including shuffle cable details (if available).

image-2025-10-23_14-35-45.png


Status LEDs

Symbol

Name

Description

Color

worddav9480da5ebe058832eb2059ce6f58c57f.png

Power Supply Unit LED

Shows the health of the power supply units.

Amber if fail, Green if everything ok

worddave4e37e985fd12f6ed26a8a1fe5e0f60a.png

Fan Status LED

Shows the health of the fans

Amber if fail, Green if everything ok

Device Summary

Beside each device in the rack, a summary panel provides an overview of its status, including:

  1. Name

  2. Model

  3. Fans: Count of active and failed fans.

  4. Ports: Count of active and failed ports.

  5. Power Supplies: Count of operational and failed power supply units.

  6. Power Supply Fans: Count of operational and failed power supply fans.

image-2026-1-26_17-49-7.png

Device Model 

The Device Summary displays device images based on the available device model information. The image selection logic uses data from both the system discovery process and the node_model field in the P2P file. Based on the availability and consistency of these values, the Rack View assigns a Model Status to each device.

Model Status Scenarios
  • Model Status: Verified
    Displayed when both the agent-discovered model and the P2P node_model value exist and match.
    This indicates that the device model information has been successfully validated.

image-2026-1-26_20-40-34.png

  • Model Status: Inferred
    Displayed when only the agent-discovered model is available.
    The device model is assumed based on system discovery data.

image-2026-1-26_20-41-27.png

  • Model Status: Mismatch
    Displayed when both the agent-discovered model and the P2P node_model value exist but do not match.
    This indicates a discrepancy that may require user review.

image-2026-1-26_20-42-8.png

  • Model Status: Not Discovered
    Displayed when only the P2P node_model value is available and no agent-discovered data exists.
    The device model is taken from the P2P file without system verification.

image-2026-1-26_20-43-24.png

  • Model Status: Unknown
    Displayed when neither the agent-discovered model nor the P2P node_model value is available.
    The device model cannot be determined.

image-2026-1-26_20-43-46.png


Front / Rear View Toggle

For supported rack types (currently GB200 NVLink racks), the Rack View provides both a front view and a rear view of the rack. A toggle button appears in the rack header when rear-view data is available.

  • Clicking the toggle button switches between the front view (device ports and cables) and the rear view (Cable Cartridge visualization).

  • The active view is persisted while navigating between racks of the same type.

  • For racks without rear-view data, the toggle button is hidden and the front view is shown by default.

image-2026-4-22_12-11-56.png

Rear View — Cable Cartridge Visualization

The rear view displays the Cable Cartridge (CC) layout for racks. Cable Cartridges are physical components accessible from the rear of the rack that connect devices across rack units.

Availability

The rear view is available for the following rack types:

  • GB200 36x1

  • GB200 36x2

  • GB200 72x1

Cable Cartridge Layout

The rear view renders a background image of the rack's rear panel with Cable Cartridge columns overlaid. Each CC column (CC#1 through CC#4) shows the slot blocks corresponding to the devices (switches and computes) connected through that cartridge. Slot blocks are vertically aligned with the rack unit grid.

image-2026-4-22_13-23-35.png

Cable Cartridge Status Coloring

Each cable cartridge and its individual slots are color-coded based on validation status:

Color

Status

Description

Green

ok

All validations passed for this CC/slot.

Red

failed

Validation has detected an issue (e.g., EEPROM read failure, bad CC).

Orange

partial_failure

Some slots on this CC have failed while others are OK.

Grey

not_discovered

No agent has reported data for this CC/slot yet.

The status color is applied to the CC header, column border, and individual slot blocks.

Cable Cartridge Details (CC-Level Popover)

Clicking on a CC header (e.g., "CC#1") opens a popover with cartridge-level details:

  • Serial — Cartridge serial number.

  • Part Number — Cartridge part number.

  • Mfg. Date — Manufacturing date.

  • Status — Current validation status (with color indicator).

  • Syndrome — Validation syndrome name (if any), e.g., CC-EEPROM-Misprogrammed, CC-Bad. Shown only when a syndrome is reported.

  • Description — Brief description of the issue. Shown only when available.

  • Recommended Actions — Numbered remediation steps. Shown only when available.

For partial_failure status, a warning note is displayed indicating that some slots have failed and the user should check the red-colored slots for individual failure details.

image-2026-4-22_13-29-20.png

Slot-Level Details (Slot Popover)

Clicking on an individual slot block within a CC column opens a popover with device-level details:

  • Node — Device/node name.

  • Slot ID — Reported slot ID from the device EEPROM.

  • Expected Slot — Expected slot ID derived from the device's rack unit position. If there is a mismatch between the reported slot ID and the expected slot, the expected slot cell is highlighted in red with a mismatch note.

  • Tray ID — Reported tray ID.

  • Status — Slot-level validation status.

  • Syndrome — Slot-level syndrome (e.g., CC-EEPROM-Read-Failure). Shown only when a syndrome is reported.

  • Description — Brief description of the issue. Shown only when available.

  • Recommended Actions — Numbered remediation steps. Shown only when available.

image-2026-4-22_13-31-40.png image-2026-4-22_13-51-9.png

When a validation issue is detected, the popover displays a Recommended Actions section with numbered steps guiding the operator through remediation. These actions are generated by the Cable Cartridge validation engine based on the specific syndrome detected.


image-2026-4-22_13-47-51.png


Rack Guide

The Rack Guide View helps users understand the rack visualization and port status indicators through an interactive modal guide.

image-2026-1-26_16-4-30.png

It can be accessed by clicking the Rack Guide button in the Rack View, opening a user-friendly modal without leaving the current screen.

image-2026-1-26_17-13-52.png

Interactive tooltips next to Minor and Critical issues provide detailed lists of specific problems.

Custom Device Configuration

The Rack View supports a user-extension device configuration file (devices-configuration.user.json) that allows users to add new device models or override existing built-in device visualizations without modifying the CVT source code.

How It Works

On startup, the Rack View loads the built-in device configurations and then loads the user-extension file. User-defined devices are merged into the built-in configuration:

  • New devices: Added to the Rack View automatically.

  • Existing devices: User entries override the built-in configuration for the same device key.

  • Merge scope: Only the devices section is merged into the built-in configuration. The regexTemplates and modelAliases sections are used only to resolve references within the user-extension file itself and are not merged into the built-in configuration.

  • Validation: The user-extension file is strictly validated on load. If the file contains errors (malformed JSON or invalid structure), it is skipped entirely and a toast notification is displayed with a description of the first error found. If the file is missing, the Rack View silently falls back to the built-in configuration without any notification. In both cases the Rack View continues to function with the built-in configuration only.

File Location

The user-extension file is located in the CVT bringup container at::

/opt/ufm/cablevalidation/media/assets/rack-configurations/devices-configuration.user.json

Configuration Schema

The file follows this JSON structure:


{
  "regexTemplates": {
    "<templateName>": "<regex pattern>"
  },
  "modelAliases": {
    "<aliasDeviceKey>": "<existingDeviceKey>"
  },
  "devices": {
    "<DEVICE_KEY>": {
      "deviceModel": "<string>",
      "rackUnits": <integer>,
      "frontView": {
        "backgroundImage": "<filename.png>",
        "styles": {
          "width": "<px>",
          "height": "<px>"
        },
        "portGroups": {
          "<groupId>": {
            "maxPorts": <integer>,
            "maxRows": <integer>,
            "reverseInterval": <integer>,
            "portRegex": "<regex or $templateRef>",
            "portStyleType": "normal | compressed-vertical | compressed-horizontal",
            "portNumberOffset": <integer>,
            "columnSpacing": [{ "interval": <integer>, "spacing": "<px>" }],
            "rowSpacing": [{ "interval": <integer>, "spacing": "<px>" }],
            "styles": {
              "container": { },
              "portColumn": { },
              "port": { },
              "splitPort": { }
            }
          }
        },
        "ledsGroups": {
          "<groupId>": {
            "backgroundImage": "<filename.png>",
            "maxRows": <integer>,
            "columnSpacing": [{ "interval": <integer>, "spacing": "<px>" }],
            "rowSpacing": [{ "interval": <integer>, "spacing": "<px>" }],
            "styles": {
              "container": { },
              "leds": { },
              "led": { }
            },
            "items": [
              { "title": "<string>", "healthKeys": ["<key1>", "<key2>"] }
            ]
          }
        }
      }
    }
  }
}


Field Reference

Top-Level Fields

Field

Required

Description

regexTemplates

No

Reusable regex patterns that can be referenced in portRegex fields using $templateName syntax.

modelAliases

No

Maps alias device keys to existing device keys, allowing multiple hardware variants to share a single configuration.

devices

No

Map of device configurations keyed by device model identifier.

Device Fields

Field

Required

Description

deviceModel

Yes

Device model identifier string (must match the model reported by the system or specified in the P2P file).

rackUnits

No

Number of rack units the device occupies. Defaults to 2 for switches, 1 for hosts.

frontView

No

Front-view layout configuration. Contains the visual layout for the front-facing side of the device.

View Configuration Fields (frontView)

Field

Required

Description

backgroundImage

Yes

Filename of the device background image (placed in assets/img/).

styles

Yes

CSS styles for the device container (typically width and height in pixels).

portGroups

No

Map of port group configurations (see below).

ledsGroups

No

Map of LED group configurations (see below).

Port Group Fields

Field

Required

Description

maxPorts

Yes

Maximum number of ports in the group.

maxRows

Yes

Number of rows in the port layout.

reverseInterval

No

Number of consecutive rows sharing the same reverse state. E.g., 1 = alternate every row, 2 = alternate every 2 rows.

portRegex

Yes

Regex pattern (or array of patterns) with named capture groups port and optionally s1 for single-level splits and s2 for two-level splits. Use $templateName to reference a regex template defined in the same file's regexTemplates section.

portStyleType

No

Port rendering style: normal (default), compressed-vertical, or compressed-horizontal.

portNumberOffset

No

Offset to add to extracted port numbers (default: 0). Set to 1 for 0-indexed split numbering.

columnSpacing

No

Array of spacing levels. Each entry has interval (apply spacing every N columns) and spacing (CSS value, e.g., "245px").

rowSpacing

No

Array of spacing levels for rows (same format as columnSpacing).

styles

Yes

CSS styles at four levels: container (positions the group on the device), portColumnport, and splitPort. The validator requires styles to be a non-empty object; individual keys (containerportColumn, etc.) are not enforced but container is expected by the renderer.

LED Group Fields

Field

Required

Description

backgroundImage

No

Optional background image for the LED panel.

maxRows

No

Number of LED rows per column. Defaults to 1 (horizontal). Set to items.length for vertical.

columnSpacing

No

Spacing between LED columns (same format as port group columnSpacing). Note: LED spacing fields are not validated on load, unlike port group spacing.

rowSpacing

No

Spacing between LED rows within a column (same format as port group rowSpacing). Note: LED spacing fields are not validated on load, unlike port group spacing.

styles

Yes

CSS styles at three levels: container (positions the LED panel on the device), leds (dot wrapper), and led (individual dot).

items

Yes

Array of LED items (must be non-empty). Each item may include an optional title (tooltip text) and an optional healthKeys (array of health summary keys to evaluate, e.g., ["Power Supply", "Fans"]).

Example

Below is an example configuration for the DGX-B300 server, which has two port groups (OSFP and BlueField) and occupies 10 rack units:

{
  "regexTemplates": {
    "osfp": "OSFP(?<port>\\d+)(?:\\s*P(?<s1>\\d+))?",
    "slot": "Slot\\s*(?<port>\\d+)(?:\\s*Port\\s*(?<s1>\\d+))?",
    "slashSeparatedPort": "[A-Za-z]+(?<port>\\d+)/(?<s1>\\d+)"
  },
  "modelAliases": {
  },
  "devices": {
    "DGXB300": {
      "deviceModel": "DGXB300",
      "rackUnits": 10,
      "frontView": {
        "backgroundImage": "dgx-b300.png",
        "styles": {
          "width": "724px",
          "height": "492px"
        },
        "portGroups": {
          "osfp": {
            "maxPorts": 8,
            "maxRows": 1,
            "portRegex": ["$osfp", "$slashSeparatedPort"],
            "columnSpacing": [
              { "interval": 4, "spacing": "245px" }
            ],
            "styles": {
              "container": { "top": "347px", "left": "61px" },
              "portColumn": { "width": "5.1%", "margin-right": "9px" },
              "splitPort": { "font-size": "12px" }
            }
          },
          "bluefield": {
            "maxPorts": 2,
            "maxRows": 1,
            "portRegex": "$slot",
            "columnSpacing": [
              { "interval": 1, "spacing": "370px" }
            ],
            "styles": {
              "container": { "bottom": "81px", "left": "120px" },
              "port": { "background-color": "transparent !important", "color": "transparent !important", "width": "78px" },
              "splitPort": { "font-size": "12px" }
            }
          }
        }
      }
    }
  }
}



Validation Rules

The user-extension file is validated on load. If any of the following conditions are not met, the entire file is skipped:

  • The file must be valid JSON.

  • deviceModel is required for each device.

  • Within frontViewbackgroundImage and styles are required. portGroups and ledsGroups are optional.

  • Each port group must have maxPortsmaxRowsportRegex, and styles.

  • All portRegex patterns must be valid regular expressions. Template references ($templateName) must resolve to an entry in the same file's regexTemplates section (built-in templates are not available to the user-extension file).

  • Spacing arrays must contain objects with interval (integer) and spacing (string) fields.

  • LED groups must have styles and items fields.

When validation fails, a toast notification is displayed with a description of the first error found.

Last updated: