Networking NVIDIA UFM Cable Validation Tool

Reports APIs

Get Validation Report

  • Description – get the recent cable validation report

  • Request URL – GET /cablevalidation/report/validation

  • Request 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 – get validation status.

  • Request URL – GET /cablevalidation/validation/status

  • Request Content Type – application/json

  • Status Codes200 – OK500 – INTERNAL SERVER ERROR

  • Response Data Example: 

    {"status": "not started"}

Get Topology Metadata

  • Description – get topology metadata.

  • Request URL – GET /cablevalidation/topology/metadata

  • Request 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 – get cluster summary by name

  • Request URL – GET /cablevalidation/report/summary?cluster=<cluster name>

  • Request 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 – get circuits information

  • Request URL – GET /cablevalidation/report/ circuits?cluster=<cluster name>& node=<node>&port=<port>&page=circuit&healthy=<true|false&circuit_id=<circuit_id>

  • Argumentscluster (string): The name of the cluster. If the URL does not include the cluster name, the default value will be 'default'.node (string): The name of the node.port (string): The name of the port.page (string): The name of the page. It can be one of the following values: circuit, flap, or flap_hist. Currently, only circuit is supported for XDR.health (bool): If true, only healthy circuits will be returned.

  • Request 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"
      }
    ]
    



Last updated: