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