Reports APIs
Description – get the recent cable validation report
Request URL – GET /cablevalidation/report/validation
Request Content Type – application/json
Status Codes
200 – OK
404 – 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\} \}
Description – get validation status.
Request URL – GET /cablevalidation/validation/status
Request Content Type – application/json
Status Codes
200 – OK
500 – INTERNAL SERVER ERROR
Response Data Example:
{
"status":"not started"}
Description – get topology metadata.
Request URL – GET /cablevalidation/topology/metadata
Request Content Type – application/json
Status Codes
200 – OK
400 – 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}
Description – get cluster summary by name
Request URL – GET /cablevalidation/report/summary?cluster=<cluster name>
Request Content Type – application/json
Status Codes
200 – OK
400 – BAD REQUEST
404 – 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 \]
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>
Arguments
cluster (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 Codes
200 – OK
400 – BAD REQUEST
404 – 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"\}, \] \\