Networking NVIDIA UFM Cable Validation Tool

Commands APIs

Get Supported Commands

  • Description – Returns supported commands that could be executed via web.

  • Request URL – GET /cablevalidation/commands

  • Response Content Type – application/json

  • Status Codes200 – OK

  • Response Data Example 

    {
    "load_topo": {
    "args": {
    "dns": {
    "type": "bool",
    "mandatory": false
    },
    "files": {
    "type": "list",
    "mandatory": true
    },
    "cluster": {
    "type": "str",
    "mandatory": false
    }
    },
    "is_async": false
    },
    "load_ip": {
    "args": {
    "files": {
    "type": "list",
    "mandatory": true
    },
    "cluster": {
    "type": "str",
    "mandatory": false
    }
    },
    "is_async": false
    },
    …. etc.
    }

Get Command Help

  • Description – Gets command help.

  • Request URL – GET /cablevalidation/commands/<command_name>/help

  • Response Content Type – application/json

  • Status Codes200 – OK404 – NOT FOUND

  • Response Data Example - It depends on the CLI command you need to run. The following is an example of running load_ptp 

    {
      "command": "load_topo",
      "help": [
        "",
        "        load_topo filename [dns=true/false] [type=topo/dot] [cluster=<cluster name>] [servers=true/false]",
        "        loads a topology file",
        "",
        "        Parameters",
        "        1. dns [optional, boolean(true/false), default is true]:",
        "           if dns=true, hostname will be used to communication, otherwise user have to load IP file.",
        "        2. cluster [optional, string, default is 'default`] cluster name.",
        "        3. servers [optional, boolean(true/false), default varies]: flag whether to manage agents on servers.",
        "           default is true for ETH clusters, not supported for IB clusters.",
        "        4. type [optional, string(topo/dot), default varies]",
        "           for IB clusters, the default is `topo`, and for ETH clusters the default is `dot`.",
        ""
      ]
    }



Get Commands Status

  • Description – Returns the status of commands processing, the status is either 'Idle' of 'Executing <cmd_name>' .

  • Request URL – GET /cablevalidation/commands/status

  • Response Content Type – application/json

  • Status Codes200 – OK

  • Response Data Example

    {
    "status": "Idle" or "Executing <cmd_name>"
    }

Run Command

  • Description – Processes a Bringup CLI command.

  • Request URL – POST /cablevalidation/commands/<command_name>

  • Request Data Example – It depends on the CLI command you need to run. The following is an example of running load_ptp. 

    {
    "file":"/cable_bringup_root/data/uploads/topology/ptp/proton-ptp.xlsx"
    }

  • Response Content Type – application/json

  • Status Codes200 – OK400 – BAD REQUEST404 – NOT FOUND

  • Response – text message e.g. Command 'load_ptp' completed successfully

Get Command Output

  • Description – Gets the output of the given command name.

  • Request URL – GET /cablevalidation/commands/<command_name>/output?timestamp=<timestamp>

  • Response Content Type – application/json

  • Status Codes  200 – OK404 – NOT FOUND

  • Response Data Example

    {
        "command": "load_ptp",
        "request_ts": 0,
        "last_ts": 1732376613333429,
        "status": "Completed",
        "content": [
            "Warning: Rack unit mismatch for MQM8700 sw-hdr-proton01: 30, 27",
            "Loaded 1 switches, 2 hosts, 2 links.",
            "Loaded IP addresses of 1 switches/hosts!"
        ]
    }



Last updated: