NVIDIA UFM Cable Validation Tool

Reports APIs

Get Validation Report

  • Description – Gets the recent cable validation report

  • Request URL – GET /cablevalidation/report/validation

  • Response Content Type – application/json

  • Status Codes200 – OK404 – NOT FOUND

  • Response Example 

    {
      "report": "ValidationReport",
      "stats": {
        "in_progress": 14,
        "no_issues": 8,
        "not_started": 5
      },
      "issues": [
        {
          "timestamp": 1722290755.0392804,
          "node_desc": "dell001.cm.cluster",
          "rack": "D01",
          "unit": 2,
          "issues": [
            [ "Unreachable-device"]
          ]
        }
      ],
      "metadata": {
        "file_name": "v22_testing_extracable.xlsx",
        "file_hash": "d2a8ce40b613a17245acb3310fa0b810238dc61613e8f683b95139d19567aa5a",
        "load_time": 1722290305.0386324
      }
    }



Get Validation Status

  • Description – Gets validation status.

  • Request URL – GET /cablevalidation/validation/status

  • Response Content Type – application/json

  • Status Codes200 – OK500 – INTERNAL SERVER ERROR

  • Response Data Example: 

    {"status": "not started"}

Get Topology Metadata

  • Description – Gets topology metadata.

  • Request URL – GET /cablevalidation/topology/metadata

  • Response Content Type – application/json

  • Status Codes200 – OK400 – BAD REQUEST

  • Response Data Example 

    {
    "file_name": "proton-ptp.xlsx",
    "file_path": "/cable_bringup_root/data/uploads/topology/ptp/proton-ptp.xlsx",
    "dc_layout_file_path": null,
    "file_hash": "c13187caece919c9aa88d2c1e26404fe5e3d0cd56ea801c4c46a7236e42549fb",
    "load_time": 1732376613.3298793
    }

Get Summary Report

  • Description – Gets cluster summary by name.

  • Request URL – GET /cablevalidation/report/summary

  • Request Paramscluster:  Name of the cluster. If set, the response will return the device health for that specific cluster.Type: stringOptional: trueDefault: default

  • Response Content Type – application/json

  • Status Codes200 – OK400 – BAD REQUEST404 – NOT FOUND

  • Response Example 

    [
      {"syndrome": "No Transceiver","number_of_occurrences": 0,"switches_affected": 0},
      {"syndrome": "Link Down, No signal","number_of_occurrences": 0,"switches_affected": 0},
      {"syndrome": "Wrong-neighbor","number_of_occurrences": 0,"switches_affected": 0},
      ……etc
    ]



Get Circuit Report

  • Description – Gets circuits information.

  • Request URL – GET /cablevalidation/report/circuits

  • Request Paramscluster: - Name of the cluster. If set, the response will return the circuits for that specific cluster.Type: stringOptional: trueDefault: defaultnode - The name of the node.  If set, the response will return the circuits for that specific node.Type: stringOptional: trueport - The name of the port. If set, the response will return the circuits for that specific port.Type: stringOptional: truepage - The name of the page. It can be one of the following values: circuit, flap, or flap_hist.Type: stringOptional: truehealthy - If true, only healthy circuits will be returned.Type: boolOptional: truecircuit_id - circuit id. If set, the response will return the circuit with that id.Type: stringOptional: truereport -  syndrome name, if set, the response will return the circuits with that syndrome

  • Response Content Type – application/json

  • Status Codes200 – OK400 – BAD REQUEST404 – NOT FOUND

  • Response Example 

    [   
      {
        "circuit_id": "c83df4d68b40",
        "a_endpoint": {
          "node_type": "Switch",
          "data_hall": "DH0",
          "su_number": "SU01",
          "node": "sw-hdr-proton01",
          "port": "P4",
          "rack": null,
          "unit": null,
          "actual_node": null,
          "actual_port": null,
          "port_status": "up",
          "plugged": true,
          "advanced_stats": {…}
          "remediation_action": "Check LLDP is enabled on peer; Verify the peer is fully provisioned and reachable",
          "report": "Unknown-neighbor"
        },
        "z_endpoint": {….},
        "healthy": false,
        "status": "Fail"
      }
    ]
    

Get Device Health Report

  • Description – Get device health summary report.

  • Request URL – GET /cablevalidation/report/health

  • Request Paramscluster -  Name of the cluster. If set, the response will return the device health for that specific cluster.Type: stringOptional: trueDefault: defaultcontext - dc, dh, su, rack or nodeitems - The report scope, which typically includes a list of data-halls, scalable-unit/data-hall, racks, or nodes, depending on the selected context. Do not include this item if the context is "dc"

  • Response Content Type – application/json

  • Status Codes200 – OK400 – BAD REQUEST

  • Response Example


[  
    {
        "health_summary": {
            "Power Supply": {
                "failed": 1,
                "active": 1
            },
            "Power Supply Fans": {
                "failed": 1,
                "active": 1
            },
            "Fans": {
                "failed": 0,
                "active": 12
            },
            "Ports": {
                "failed": 0,
                "active": 2
            }
        },
        "data_hall": null,
        "su_number": null,
        "rack": "PXX"
    }
]



Last updated: